diff options
author | Sam Blitzstein <sblitz@google.com> | 2013-02-26 09:47:52 -0800 |
---|---|---|
committer | Sam Blitzstein <sblitz@google.com> | 2013-02-26 12:51:14 -0800 |
commit | 1bc7c4b149a3696dca055a3d7a45499851e55d50 (patch) | |
tree | 917e327135b8a13193fc7a551ebc2305d1082a11 /src/com/android/calendar/OtherPreferences.java | |
parent | 666123ec1274420a77ace01e32df70baf87fca57 (diff) | |
download | android_packages_apps_Calendar-1bc7c4b149a3696dca055a3d7a45499851e55d50.tar.gz android_packages_apps_Calendar-1bc7c4b149a3696dca055a3d7a45499851e55d50.tar.bz2 android_packages_apps_Calendar-1bc7c4b149a3696dca055a3d7a45499851e55d50.zip |
Refactored strings for experimental reminder setting.
String was too long for setting of skipping reminders for events
that have not been responded to. Reformatted the setting from
checkbox into radio selection with more consice description.
Change-Id: Ic6a689648529212d3ae16359e5386ba0c0f4e587
Diffstat (limited to 'src/com/android/calendar/OtherPreferences.java')
-rw-r--r-- | src/com/android/calendar/OtherPreferences.java | 52 |
1 files changed, 47 insertions, 5 deletions
diff --git a/src/com/android/calendar/OtherPreferences.java b/src/com/android/calendar/OtherPreferences.java index 54ea7ea6..58872916 100644 --- a/src/com/android/calendar/OtherPreferences.java +++ b/src/com/android/calendar/OtherPreferences.java @@ -24,7 +24,9 @@ import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.CheckBoxPreference; +import android.preference.ListPreference; import android.preference.Preference; +import android.preference.Preference.OnPreferenceChangeListener; import android.preference.PreferenceFragment; import android.preference.PreferenceManager; import android.preference.PreferenceScreen; @@ -33,7 +35,7 @@ import android.text.format.Time; import android.util.Log; import android.widget.TimePicker; -public class OtherPreferences extends PreferenceFragment { +public class OtherPreferences extends PreferenceFragment implements OnPreferenceChangeListener{ private static final String TAG = "CalendarOtherPreferences"; // The name of the shared preferences file. This name must be maintained for @@ -43,8 +45,8 @@ public class OtherPreferences extends PreferenceFragment { // Must be the same keys that are used in the other_preferences.xml file. public static final String KEY_OTHER_COPY_DB = "preferences_copy_db"; - public static final String KEY_OTHER_QUIET_HOURS = - "preferences_reminders_quiet_hours"; + public static final String KEY_OTHER_QUIET_HOURS = "preferences_reminders_quiet_hours"; + public static final String KEY_OTHER_REMINDERS_RESPONDED = "preferences_reminders_responded"; public static final String KEY_OTHER_QUIET_HOURS_START = "preferences_reminders_quiet_hours_start"; public static final String KEY_OTHER_QUIET_HOURS_START_HOUR = @@ -58,8 +60,6 @@ public class OtherPreferences extends PreferenceFragment { public static final String KEY_OTHER_QUIET_HOURS_END_MINUTE = "preferences_reminders_quiet_hours_end_minute"; public static final String KEY_OTHER_1 = "preferences_tardis_1"; - public static final String KEY_OTHER_REMINDERS_RESPONDED = - "preferences_reminders_responded"; public static final int QUIET_HOURS_DEFAULT_START_HOUR = 22; public static final int QUIET_HOURS_DEFAULT_START_MINUTE = 0; @@ -72,6 +72,7 @@ public class OtherPreferences extends PreferenceFragment { private static final String format12Hour = "%I:%M%P"; private Preference mCopyDb; + private ListPreference mSkipReminders; private CheckBoxPreference mQuietHours; private Preference mQuietHoursStart; private Preference mQuietHoursEnd; @@ -95,6 +96,9 @@ public class OtherPreferences extends PreferenceFragment { addPreferencesFromResource(R.xml.other_preferences); mCopyDb = findPreference(KEY_OTHER_COPY_DB); + mSkipReminders = (ListPreference) findPreference(KEY_OTHER_REMINDERS_RESPONDED); + updateSkipRemindersSummary(null); + mSkipReminders.setOnPreferenceChangeListener(this); Activity activity = getActivity(); if (activity == null) { @@ -129,6 +133,18 @@ public class OtherPreferences extends PreferenceFragment { } @Override + public boolean onPreferenceChange(Preference preference, Object objValue) { + final String key = preference.getKey(); + + if (KEY_OTHER_REMINDERS_RESPONDED.equals(key)) { + String value = String.valueOf(objValue); + updateSkipRemindersSummary(value); + } + + return true; + } + + @Override public boolean onPreferenceTreeClick(PreferenceScreen screen, Preference preference) { if (preference == mCopyDb) { Intent intent = new Intent(Intent.ACTION_MAIN); @@ -202,4 +218,30 @@ public class OtherPreferences extends PreferenceFragment { String format = mIs24HourMode? format24Hour : format12Hour; return time.format(format); } + + /** + * Update the summary for the SkipReminders preference. + * @param value The corresponding value of which summary to set. If null, the default summary + * will be set, and the value will be set accordingly too. + */ + private void updateSkipRemindersSummary(String value) { + if (mSkipReminders != null) { + // Default to "declined". Must match with R.array.preferences_skip_reminders_values. + int index = 0; + + CharSequence[] values = mSkipReminders.getEntryValues(); + CharSequence[] entries = mSkipReminders.getEntries(); + for(int value_i = 0; value_i < values.length; value_i++) { + if (values[value_i].equals(value)) { + index = value_i; + break; + } + } + mSkipReminders.setSummary(entries[index].toString()); + if (value == null) { + // Value was not known ahead of time, so the default value will be set. + mSkipReminders.setValue(values[index].toString()); + } + } + } }
\ No newline at end of file |