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
DateUtils.setFirstWeekDay(prefs.firstWeekDay)
DateUtils.setFirstWeekDay(4)
DateUtils.setNewDayOffset(prefs.dayHourOffset)
}

@ -60,13 +60,12 @@ public class SettingsActivity extends BaseActivity implements SharedPreferences.
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPref, String key) {
SharedPreferences.Editor editor = sharedPref.edit();
if (key.equalsIgnoreCase("hours_offset")) {
if (key.equalsIgnoreCase("pref_day_hour_offset")) {
int hourOffset = 0;
int dayHourOffset = 0;
try {
hourOffset = Integer.parseInt(sharedPref.getString(key, "0"));
editor.putString(key, String.valueOf(hourOffset));
DateUtils.setNewDayOffset(hourOffset);
dayHourOffset = Integer.parseInt(sharedPref.getString(key, "0"));
DateUtils.setNewDayOffset(dayHourOffset);
} catch (NumberFormatException e) {
e.printStackTrace();
}
@ -76,14 +75,10 @@ public class SettingsActivity extends BaseActivity implements SharedPreferences.
int firstWeekDay = 0;
try {
firstWeekDay = Integer.parseInt(sharedPref.getString(key, "0"));
editor.putString(key, String.valueOf(firstWeekDay));
DateUtils.setFirstWeekDay(firstWeekDay);
} catch (NumberFormatException e) {
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>
~
~ This file is part of Loop Habit Tracker.
@ -67,6 +66,60 @@
<item>7</item>
</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">
<item>@string/every_day</item>
<item>@string/every_week</item>

@ -219,4 +219,7 @@
<string name="example_question_boolean">e.g. Did you exercise today?</string>
<string name="question">Question</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>

@ -107,16 +107,29 @@
android:summary="%s"
android:title="@string/pref_first_week_day_title" />
<EditTextPreference
android:defaultValue="3"
android:dialogTitle="hours_offset"
android:inputType="number"
android:key="hours_offset"
android:selectAllOnFocus="true"
android:summary="hours_offset"
android:title="hours_offset" />
<!--android:maxLength="2"-->
<!--android:numeric="integer"-->
<ListPreference
android:defaultValue="@string/day_hour_offset_default"
android:dialogTitle="@string/day_hour_offset"
android:entries="@array/hours_names"
android:entryValues="@array/hours_values"
android:key="pref_day_hour_offset"
android:summary="%s"
android:title="@string/pref_day_hour_offset_title" />
<!--<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>

@ -128,6 +128,9 @@ public class Preferences {
Calendar calendar = new GregorianCalendar();
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() {
return storage.getString("pref_sync_address", DEFAULT_SYNC_SERVER);

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

Loading…
Cancel
Save