added day hour offset feature as a preference list

pull/349/head
Name 8 years ago
parent 9df0af524a
commit b859c37ab4

@ -49,7 +49,7 @@ class ListHabitsActivity : HabitsActivity() {
// added // added
DateUtils.setFirstWeekDay(prefs.firstWeekDay) DateUtils.setFirstWeekDay(prefs.firstWeekDay)
DateUtils.setFirstWeekDay(4) DateUtils.setNewDayOffset(prefs.dayHourOffset)
} }

@ -60,13 +60,12 @@ public class SettingsActivity extends BaseActivity implements SharedPreferences.
@Override @Override
public void onSharedPreferenceChanged(SharedPreferences sharedPref, String key) { public void onSharedPreferenceChanged(SharedPreferences sharedPref, String key) {
SharedPreferences.Editor editor = sharedPref.edit(); SharedPreferences.Editor editor = sharedPref.edit();
if (key.equalsIgnoreCase("hours_offset")) { if (key.equalsIgnoreCase("pref_day_hour_offset")) {
int hourOffset = 0; int dayHourOffset = 0;
try { try {
hourOffset = Integer.parseInt(sharedPref.getString(key, "0")); dayHourOffset = Integer.parseInt(sharedPref.getString(key, "0"));
editor.putString(key, String.valueOf(hourOffset)); DateUtils.setNewDayOffset(dayHourOffset);
DateUtils.setNewDayOffset(hourOffset);
} catch (NumberFormatException e) { } catch (NumberFormatException e) {
e.printStackTrace(); e.printStackTrace();
} }
@ -76,14 +75,10 @@ public class SettingsActivity extends BaseActivity implements SharedPreferences.
int firstWeekDay = 0; int firstWeekDay = 0;
try { try {
firstWeekDay = Integer.parseInt(sharedPref.getString(key, "0")); firstWeekDay = Integer.parseInt(sharedPref.getString(key, "0"));
editor.putString(key, String.valueOf(firstWeekDay));
DateUtils.setFirstWeekDay(firstWeekDay); DateUtils.setFirstWeekDay(firstWeekDay);
} catch (NumberFormatException e) { } catch (NumberFormatException e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
Log.d("debugging", "hello, key is: " + key+", value: "+ sharedPref.getString(key, "0"));
editor.commit();
} }
} }

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?><!--
<!--
~ Copyright (C) 2016 Álinson Santos Xavier <isoron@gmail.com> ~ Copyright (C) 2016 Álinson Santos Xavier <isoron@gmail.com>
~ ~
~ This file is part of Loop Habit Tracker. ~ This file is part of Loop Habit Tracker.
@ -67,6 +66,60 @@
<item>7</item> <item>7</item>
</string-array> </string-array>
<string-array name="hours_names">
<item>00</item>
<item>01</item>
<item>02</item>
<item>03</item>
<item>04</item>
<item>05</item>
<item>06</item>
<item>07</item>
<item>08</item>
<item>09 (previous day)</item>
<item>10 (previous day)</item>
<item>11 (previous day)</item>
<item>12 (previous day)</item>
<item>13 (previous day)</item>
<item>14 (previous day)</item>
<item>15 (previous day)</item>
<item>16 (previous day)</item>
<item>17 (previous day)</item>
<item>18 (previous day)</item>
<item>19 (previous day)</item>
<item>20 (previous day)</item>
<item>21 (previous day)</item>
<item>22 (previous day)</item>
<item>23 (previous day)</item>
</string-array>
<string-array name="hours_values" translatable="false">
<item>+00</item>
<item>+01</item>
<item>+02</item>
<item>+03</item>
<item>+04</item>
<item>+05</item>
<item>+06</item>
<item>+07</item>
<item>+08</item>
<item>-15</item>
<item>-14</item>
<item>-13</item>
<item>-12</item>
<item>-11</item>
<item>-10</item>
<item>-09</item>
<item>-08</item>
<item>-07</item>
<item>-06</item>
<item>-05</item>
<item>-04</item>
<item>-03</item>
<item>-02</item>
<item>-01</item>
</string-array>
<string-array name="frequencyQuickSelect" translatable="false"> <string-array name="frequencyQuickSelect" translatable="false">
<item>@string/every_day</item> <item>@string/every_day</item>
<item>@string/every_week</item> <item>@string/every_week</item>

@ -219,4 +219,7 @@
<string name="example_question_boolean">e.g. Did you exercise today?</string> <string name="example_question_boolean">e.g. Did you exercise today?</string>
<string name="question">Question</string> <string name="question">Question</string>
<string name="target">Target</string> <string name="target">Target</string>
<string name="day_hour_offset_default">15</string>
<string name="day_hour_offset">Day starting hour</string>
<string name="pref_day_hour_offset_title">Day starting hour</string>
</resources> </resources>

@ -107,16 +107,29 @@
android:summary="%s" android:summary="%s"
android:title="@string/pref_first_week_day_title" /> android:title="@string/pref_first_week_day_title" />
<EditTextPreference <ListPreference
android:defaultValue="3" android:defaultValue="@string/day_hour_offset_default"
android:dialogTitle="hours_offset" android:dialogTitle="@string/day_hour_offset"
android:inputType="number" android:entries="@array/hours_names"
android:key="hours_offset" android:entryValues="@array/hours_values"
android:selectAllOnFocus="true" android:key="pref_day_hour_offset"
android:summary="hours_offset" android:summary="%s"
android:title="hours_offset" /> android:title="@string/pref_day_hour_offset_title" />
<!--android:maxLength="2"-->
<!--android:numeric="integer"-->
<!--<EditTextPreference-->
<!--android:defaultValue="3"-->
<!--android:dialogTitle="hours_offset"-->
<!--android:inputType="phone"-->
<!--android:key="hours_offset"-->
<!--android:digits="0123456789"-->
<!--android:selectAllOnFocus="true"-->
<!--android:summary="hours_offset"-->
<!--android:title="hours_offset" />-->
<!--&lt;!&ndash;android:maxLength="2"&ndash;&gt;-->
<!--&lt;!&ndash;android:numeric="integer"&ndash;&gt;-->
</PreferenceCategory> </PreferenceCategory>

@ -128,6 +128,9 @@ public class Preferences {
Calendar calendar = new GregorianCalendar(); Calendar calendar = new GregorianCalendar();
return Integer.parseInt(storage.getString("pref_first_week_day", String.valueOf(calendar.getFirstDayOfWeek()))); return Integer.parseInt(storage.getString("pref_first_week_day", String.valueOf(calendar.getFirstDayOfWeek())));
} }
public int getDayHourOffset() {
return Integer.parseInt(storage.getString("pref_day_hour_offset", "-15"));
}
public String getSyncAddress() { public String getSyncAddress() {
return storage.getString("pref_sync_address", DEFAULT_SYNC_SERVER); return storage.getString("pref_sync_address", DEFAULT_SYNC_SERVER);

@ -261,6 +261,5 @@ public abstract class DateUtils
FIRST_WEEK_DAY = firstWeekDay; FIRST_WEEK_DAY = firstWeekDay;
} }
} }

Loading…
Cancel
Save