diff --git a/res/values/arrays.xml b/res/values/arrays.xml index a69d649..2e48284 100644 --- a/res/values/arrays.xml +++ b/res/values/arrays.xml @@ -1,15 +1,15 @@ - @string/mode1 - @string/mode2 - @string/mode3 - @string/mode4 + @string/modeTimeThen + @string/modeTimeStartTimeThen + @string/modeDurationTimeThen + @string/modeTimeStartDuration + 0 1 2 3 - 4 \ No newline at end of file diff --git a/res/values/strings.xml b/res/values/strings.xml index 0cc711f..fc683aa 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -13,10 +13,10 @@ Zeiteinstellung Modus Welche Daten sind gegeben? - Nur Zieldatum - Start- und Zieldatum - Dauer und Zieldatum - Startdatum und Dauer + Nur Zieldatum + Start- und Zieldatum + Dauer und Zieldatum + Startdatum und Dauer Startdatum Wann beginnt der Countdown? Dauer diff --git a/src/de/schatenseite/android/waldemar/WaldemarPreferences.java b/src/de/schatenseite/android/waldemar/WaldemarPreferences.java index e6f5df4..887badf 100644 --- a/src/de/schatenseite/android/waldemar/WaldemarPreferences.java +++ b/src/de/schatenseite/android/waldemar/WaldemarPreferences.java @@ -13,6 +13,10 @@ import de.schatenseite.android.datepreference.DatePreference; public class WaldemarPreferences extends PreferenceActivity { private static final String PREFIX = WaldemarPreferences.class.getPackage().getName() + "."; public static final String PREFERENCES_UPDATED = PREFIX + "PREFERENCES_UPDATED"; + public static final int MODE_TIMETHEN = 0; + public static final int MODE_TIMESTART_TIMETHEN = 1; + public static final int MODE_DURATION_TIMETHEN = 2; + public static final int MODE_TIMESTART_DURATION = 3; int widgetId; public void enableDisablePreferences(String val) { EditTextPreference pref_name = (EditTextPreference)findPreference("pref_name"); @@ -25,8 +29,8 @@ public class WaldemarPreferences extends PreferenceActivity { int index = pref_mode.findIndexOfValue(val); switch (index) { - case 0: - pref_mode.setSummary(R.string.mode1); + case MODE_TIMETHEN: + pref_mode.setSummary(R.string.modeTimeThen); pref_duration.setEnabled(false); pref_duration.setSummary(R.string.duration_summary); pref_dateStart.setEnabled(false); @@ -34,8 +38,8 @@ public class WaldemarPreferences extends PreferenceActivity { pref_dateThen.setEnabled(true); pref_dateThen.setSummary(pref_dateThen.getSummaryString()); break; - case 1: - pref_mode.setSummary(R.string.mode2); + case MODE_TIMESTART_TIMETHEN: + pref_mode.setSummary(R.string.modeTimeStartTimeThen); pref_duration.setEnabled(false); pref_duration.setSummary(R.string.duration_summary); pref_dateStart.setEnabled(true); @@ -43,8 +47,8 @@ public class WaldemarPreferences extends PreferenceActivity { pref_dateThen.setEnabled(true); pref_dateThen.setSummary(pref_dateThen.getSummaryString()); break; - case 2: - pref_mode.setSummary(R.string.mode3); + case MODE_DURATION_TIMETHEN: + pref_mode.setSummary(R.string.modeDurationTimeThen); pref_duration.setEnabled(true); pref_duration.setSummary(pref_duration.getText() + " " + getApplicationContext().getString(R.string.days)); @@ -53,8 +57,8 @@ public class WaldemarPreferences extends PreferenceActivity { pref_dateThen.setEnabled(true); pref_dateThen.setSummary(pref_dateThen.getSummaryString()); break; - case 3: - pref_mode.setSummary(R.string.mode4); + case MODE_TIMESTART_DURATION: + pref_mode.setSummary(R.string.modeTimeStartDuration); pref_duration.setEnabled(true); pref_duration.setSummary(pref_duration.getText() + " " + getApplicationContext().getString(R.string.days)); diff --git a/src/de/schatenseite/android/waldemar/WaldemarWidget.java b/src/de/schatenseite/android/waldemar/WaldemarWidget.java index 029245f..4a31fc6 100644 --- a/src/de/schatenseite/android/waldemar/WaldemarWidget.java +++ b/src/de/schatenseite/android/waldemar/WaldemarWidget.java @@ -1,6 +1,10 @@ package de.schatenseite.android.waldemar; import static de.schatenseite.android.waldemar.WaldemarPreferences.PREFERENCES_UPDATED; +import static de.schatenseite.android.waldemar.WaldemarPreferences.MODE_TIMETHEN; +import static de.schatenseite.android.waldemar.WaldemarPreferences.MODE_TIMESTART_TIMETHEN; +import static de.schatenseite.android.waldemar.WaldemarPreferences.MODE_DURATION_TIMETHEN; +import static de.schatenseite.android.waldemar.WaldemarPreferences.MODE_TIMESTART_DURATION; import java.text.DateFormat; import java.text.SimpleDateFormat; @@ -117,17 +121,17 @@ public class WaldemarWidget extends AppWidgetProvider { long timeThen = calThen.getTimeInMillis(); switch (mode) { - case 1: // only timeThen + case MODE_TIMETHEN: remoteViews.setViewVisibility(R.id.progressBarFrame, View.GONE); break; - case 2: // timeStart and timeThen + case MODE_TIMESTART_TIMETHEN: duration = (int)Math.round((double)(timeThen - timeStart) / MILLISECONDS_PER_DAY); remoteViews.setViewVisibility(R.id.progressBarFrame, View.VISIBLE); break; - case 3: // duration and timeThen + case MODE_DURATION_TIMETHEN: remoteViews.setViewVisibility(R.id.progressBarFrame, View.VISIBLE); break; - case 4: // timeStart and duration + case MODE_TIMESTART_DURATION: timeThen = timeStart + duration * (long)MILLISECONDS_PER_DAY; remoteViews.setViewVisibility(R.id.progressBarFrame, View.VISIBLE); break; @@ -139,8 +143,7 @@ public class WaldemarWidget extends AppWidgetProvider { Integer percent = (int)(((double)(duration - days) / (double)duration)*100); String status = String.valueOf(duration - days)+"/"+String.valueOf(duration)+", "+String.valueOf(percent)+"%"; - if (mode == 1) { - // workaround since we cannot make the progressbar invisible (look above) + if (mode == MODE_TIMETHEN) { duration = days; status = ""; }