summaryrefslogtreecommitdiffstats
path: root/src/com/android/calendar/OtherPreferences.java
diff options
context:
space:
mode:
authorSam Blitzstein <sblitz@google.com>2013-02-26 09:47:52 -0800
committerSam Blitzstein <sblitz@google.com>2013-02-26 12:51:14 -0800
commit1bc7c4b149a3696dca055a3d7a45499851e55d50 (patch)
tree917e327135b8a13193fc7a551ebc2305d1082a11 /src/com/android/calendar/OtherPreferences.java
parent666123ec1274420a77ace01e32df70baf87fca57 (diff)
downloadandroid_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.java52
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