diff --git a/astrid/res/values/keys.xml b/astrid/res/values/keys.xml index 5ec55a834..d1d91c438 100644 --- a/astrid/res/values/keys.xml +++ b/astrid/res/values/keys.xml @@ -312,8 +312,10 @@ rmd_default_reminder_mode - + p_swipe_lists_perf + + p_swipe_lists_enabled p_use_contact_picker diff --git a/astrid/res/xml/preferences.xml b/astrid/res/xml/preferences.xml index f0e79d11e..7bb219e2c 100644 --- a/astrid/res/xml/preferences.xml +++ b/astrid/res/xml/preferences.xml @@ -79,12 +79,10 @@ android:key="@string/p_force_phone_layout" android:defaultValue="false"/> - + 0) { + Preferences.getBoolean(R.string.p_swipe_lists_enabled, false)) { TaskListActivity tla = (TaskListActivity) activity; if (tla.getFragmentLayout() == AstridActivity.LAYOUT_SINGLE) { TaskListFragmentPagerAdapter adapter = tla.getFragmentPagerAdapter(); diff --git a/astrid/src/com/todoroo/astrid/activity/EditPreferences.java b/astrid/src/com/todoroo/astrid/activity/EditPreferences.java index 7581bccc4..e0139211f 100644 --- a/astrid/src/com/todoroo/astrid/activity/EditPreferences.java +++ b/astrid/src/com/todoroo/astrid/activity/EditPreferences.java @@ -217,7 +217,7 @@ public class EditPreferences extends TodorooPreferenceActivity { if (!AndroidUtilities.isTabletSized(this)) { appearance.removePreference(screen.findPreference(getString(R.string.p_force_phone_layout))); } else { - preference = screen.findPreference(getString(R.string.p_swipe_lists_performance_key)); + preference = screen.findPreference(getString(R.string.p_swipe_lists_enabled)); preference.setEnabled(Preferences.getBoolean(R.string.p_force_phone_layout, false)); } @@ -521,7 +521,15 @@ public class EditPreferences extends TodorooPreferenceActivity { R.string.EPr_statistics_desc_disabled, R.string.EPr_statistics_desc_enabled)); else if (booleanPreference(preference, value, R.string.p_autoIdea, R.string.EPr_ideaAuto_desc_disabled, R.string.EPr_ideaAuto_desc_enabled)); - else if (r.getString(R.string.p_swipe_lists_performance_key).equals(preference.getKey())) { + else if (booleanPreference(preference, value, R.string.p_field_missed_calls, + R.string.MCA_missed_calls_pref_desc_enabled, R.string.MCA_missed_calls_pref_desc_disabled)); + else if (booleanPreference(preference, value, R.string.p_use_contact_picker, + R.string.EPr_use_contact_picker_desc_enabled, R.string.EPr_use_contact_picker_desc_disabled)); + else if (booleanPreference(preference, value, R.string.p_third_party_addons, + R.string.EPr_third_party_addons_desc_enabled, R.string.EPr_third_party_addons_desc_disabled)); + else if (booleanPreference(preference, value, R.string.p_end_at_deadline, + R.string.EPr_cal_start_at_due_time, R.string.EPr_cal_end_at_due_time)); + else if (r.getString(R.string.p_swipe_lists_enabled).equals(preference.getKey())) { preference.setOnPreferenceChangeListener(new SetResultOnPreferenceChangeListener(RESULT_CODE_PERFORMANCE_PREF_CHANGED) { @Override public boolean onPreferenceChange(Preference p, Object newValue) { @@ -530,30 +538,12 @@ public class EditPreferences extends TodorooPreferenceActivity { return super.onPreferenceChange(p, newValue); } }); - - int index = 0; - if(value instanceof String && !TextUtils.isEmpty((String)value)) - index = AndroidUtilities.indexOf(r.getStringArray(R.array.EPr_swipe_lists_performance_mode_values), (String)value); - if (index < 0) - index = 0; - - String name = r.getStringArray(R.array.EPr_swipe_lists_performance_mode)[index]; - String desc = r.getStringArray(R.array.EPr_swipe_lists_performance_desc)[index]; - preference.setSummary(r.getString(R.string.EPr_swipe_lists_display, name, desc)); } - else if (booleanPreference(preference, value, R.string.p_field_missed_calls, - R.string.MCA_missed_calls_pref_desc_enabled, R.string.MCA_missed_calls_pref_desc_disabled)); - else if (booleanPreference(preference, value, R.string.p_use_contact_picker, - R.string.EPr_use_contact_picker_desc_enabled, R.string.EPr_use_contact_picker_desc_disabled)); - else if (booleanPreference(preference, value, R.string.p_third_party_addons, - R.string.EPr_third_party_addons_desc_enabled, R.string.EPr_third_party_addons_desc_disabled)); - else if (booleanPreference(preference, value, R.string.p_end_at_deadline, - R.string.EPr_cal_start_at_due_time, R.string.EPr_cal_end_at_due_time)); else if (r.getString(R.string.p_force_phone_layout).equals(preference.getKey())) { preference.setOnPreferenceChangeListener(new SetResultOnPreferenceChangeListener(RESULT_CODE_PERFORMANCE_PREF_CHANGED) { @Override public boolean onPreferenceChange(Preference p, Object newValue) { - Preference swipe = findPreference(getString(R.string.p_swipe_lists_performance_key)); + Preference swipe = findPreference(getString(R.string.p_swipe_lists_enabled)); swipe.setEnabled((Boolean) newValue); return super.onPreferenceChange(p, newValue); } diff --git a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java index d6283fc8c..b22f3d114 100644 --- a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java @@ -230,7 +230,7 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener protected int getContentView() { if (AstridPreferences.useTabletLayout(this)) return R.layout.task_list_wrapper_activity_3pane; - else if (Preferences.getIntegerFromString(R.string.p_swipe_lists_performance_key, 3) == 0) + else if (!Preferences.getBoolean(R.string.p_swipe_lists_enabled, false)) return R.layout.task_list_wrapper_activity_no_swipe; else return R.layout.task_list_wrapper_activity; diff --git a/astrid/src/com/todoroo/astrid/service/MarketStrategy.java b/astrid/src/com/todoroo/astrid/service/MarketStrategy.java index 53890f384..94de915fe 100644 --- a/astrid/src/com/todoroo/astrid/service/MarketStrategy.java +++ b/astrid/src/com/todoroo/astrid/service/MarketStrategy.java @@ -142,7 +142,7 @@ public abstract class MarketStrategy { R.string.p_theme_widget, R.string.p_voicePrefSection, R.string.p_end_at_deadline, - R.string.p_swipe_lists_performance_key, + R.string.p_swipe_lists_enabled, R.string.p_field_missed_calls }; } @@ -184,7 +184,7 @@ public abstract class MarketStrategy { R.string.p_theme_widget, R.string.p_voicePrefSection, R.string.p_end_at_deadline, - R.string.p_swipe_lists_performance_key, + R.string.p_swipe_lists_enabled, R.string.p_field_missed_calls, R.string.p_ideas_tab_enabled }; diff --git a/astrid/src/com/todoroo/astrid/ui/TaskListFragmentPager.java b/astrid/src/com/todoroo/astrid/ui/TaskListFragmentPager.java index 6dfecbbd4..1e672790b 100644 --- a/astrid/src/com/todoroo/astrid/ui/TaskListFragmentPager.java +++ b/astrid/src/com/todoroo/astrid/ui/TaskListFragmentPager.java @@ -29,8 +29,7 @@ public class TaskListFragmentPager extends ViewPager { public TaskListFragmentPager(Context context, AttributeSet attrs) { super(context, attrs); - int offscreenPageLimit = Preferences.getIntegerFromString(R.string.p_swipe_lists_performance_key, 3); - setOffscreenPageLimit(offscreenPageLimit); + setOffscreenPageLimit(3); setPageMargin(1); setPageMarginDrawable(R.drawable.vertical_separator); } diff --git a/astrid/src/com/todoroo/astrid/utility/AstridPreferences.java b/astrid/src/com/todoroo/astrid/utility/AstridPreferences.java index 2764430c1..d4a690548 100644 --- a/astrid/src/com/todoroo/astrid/utility/AstridPreferences.java +++ b/astrid/src/com/todoroo/astrid/utility/AstridPreferences.java @@ -74,11 +74,19 @@ public class AstridPreferences { Preferences.setIfUnset(prefs, editor, r, R.string.p_showEditToasts, ABChooser.readChoiceForTest(ABTests.AB_TASK_EDIT_TOAST) != 0); - int swipePerformance = 0; - if (ABChooser.readChoiceForTest(ABTests.AB_SWIPE_BETWEEN) == 1) - swipePerformance = 3; + boolean swipeEnabled = false; + String swipePerformanceKey = context.getString(R.string.p_swipe_lists_performance_key); + if (Preferences.isSet(swipePerformanceKey)) { + int setting = Preferences.getIntegerFromString(R.string.p_swipe_lists_performance_key, 3); + if (setting > 0) { + swipeEnabled = true; + } + Preferences.clear(swipePerformanceKey); + } else if (ABChooser.readChoiceForTest(ABTests.AB_SWIPE_BETWEEN) == 1) { + swipeEnabled = true; + } - Preferences.setIfUnset(prefs, editor, r, R.string.p_swipe_lists_performance_key, swipePerformance); + Preferences.setIfUnset(prefs, editor, r, R.string.p_swipe_lists_enabled, swipeEnabled); if ("white-blue".equals(Preferences.getStringValue(R.string.p_theme))) { //$NON-NLS-1$ migrate from when white-blue wasn't the default Preferences.setString(R.string.p_theme, ThemeService.THEME_WHITE);