Migrate swipe between lists to a boolean preference

pull/14/head
Sam Bosley 13 years ago
parent 00b53375fb
commit 6ab8402d13

@ -312,9 +312,11 @@
<!-- default reminder mode setting (corresponds to entry in TEA_reminder_mode_once, TEA_reminder_mode_five, TEA_reminder_mode_nonstop) --> <!-- default reminder mode setting (corresponds to entry in TEA_reminder_mode_once, TEA_reminder_mode_five, TEA_reminder_mode_nonstop) -->
<string name="p_default_reminders_mode_key">rmd_default_reminder_mode</string> <string name="p_default_reminders_mode_key">rmd_default_reminder_mode</string>
<!-- swipe between lists performance mode setting --> <!-- swipe between lists performance mode setting (DEPRECATED)-->
<string name="p_swipe_lists_performance_key">p_swipe_lists_perf</string> <string name="p_swipe_lists_performance_key">p_swipe_lists_perf</string>
<string name="p_swipe_lists_enabled">p_swipe_lists_enabled</string>
<!-- use new contact picker setting --> <!-- use new contact picker setting -->
<string name="p_use_contact_picker">p_use_contact_picker</string> <string name="p_use_contact_picker">p_use_contact_picker</string>

@ -79,12 +79,10 @@
android:key="@string/p_force_phone_layout" android:key="@string/p_force_phone_layout"
android:defaultValue="false"/> android:defaultValue="false"/>
<ListPreference <CheckBoxPreference
android:key="@string/p_swipe_lists_performance_key" android:key="@string/p_swipe_lists_enabled"
android:title="@string/EPr_swipe_lists_performance_title" android:title="@string/EPr_swipe_lists_performance_title"
android:entries="@array/EPr_swipe_lists_performance_mode" android:defaultValue="false"/>
android:entryValues="@array/EPr_swipe_lists_performance_mode_values"
android:summary="@string/EPr_swipe_lists_performance_subtitle" />
<CheckBoxPreference <CheckBoxPreference
android:title="@string/EPr_show_featured_lists" android:title="@string/EPr_show_featured_lists"

@ -22,7 +22,7 @@ public class DisposableTaskListFragment extends TaskListFragment {
public void onDetach() { public void onDetach() {
Activity activity = getActivity(); Activity activity = getActivity();
if (activity instanceof TaskListActivity && if (activity instanceof TaskListActivity &&
Preferences.getIntegerFromString(R.string.p_swipe_lists_performance_key, 0) > 0) { Preferences.getBoolean(R.string.p_swipe_lists_enabled, false)) {
TaskListActivity tla = (TaskListActivity) activity; TaskListActivity tla = (TaskListActivity) activity;
if (tla.getFragmentLayout() == AstridActivity.LAYOUT_SINGLE) { if (tla.getFragmentLayout() == AstridActivity.LAYOUT_SINGLE) {
TaskListFragmentPagerAdapter adapter = tla.getFragmentPagerAdapter(); TaskListFragmentPagerAdapter adapter = tla.getFragmentPagerAdapter();

@ -217,7 +217,7 @@ public class EditPreferences extends TodorooPreferenceActivity {
if (!AndroidUtilities.isTabletSized(this)) { if (!AndroidUtilities.isTabletSized(this)) {
appearance.removePreference(screen.findPreference(getString(R.string.p_force_phone_layout))); appearance.removePreference(screen.findPreference(getString(R.string.p_force_phone_layout)));
} else { } 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)); 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)); R.string.EPr_statistics_desc_disabled, R.string.EPr_statistics_desc_enabled));
else if (booleanPreference(preference, value, R.string.p_autoIdea, else if (booleanPreference(preference, value, R.string.p_autoIdea,
R.string.EPr_ideaAuto_desc_disabled, R.string.EPr_ideaAuto_desc_enabled)); 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) { preference.setOnPreferenceChangeListener(new SetResultOnPreferenceChangeListener(RESULT_CODE_PERFORMANCE_PREF_CHANGED) {
@Override @Override
public boolean onPreferenceChange(Preference p, Object newValue) { public boolean onPreferenceChange(Preference p, Object newValue) {
@ -530,30 +538,12 @@ public class EditPreferences extends TodorooPreferenceActivity {
return super.onPreferenceChange(p, newValue); 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())) { else if (r.getString(R.string.p_force_phone_layout).equals(preference.getKey())) {
preference.setOnPreferenceChangeListener(new SetResultOnPreferenceChangeListener(RESULT_CODE_PERFORMANCE_PREF_CHANGED) { preference.setOnPreferenceChangeListener(new SetResultOnPreferenceChangeListener(RESULT_CODE_PERFORMANCE_PREF_CHANGED) {
@Override @Override
public boolean onPreferenceChange(Preference p, Object newValue) { 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); swipe.setEnabled((Boolean) newValue);
return super.onPreferenceChange(p, newValue); return super.onPreferenceChange(p, newValue);
} }

@ -230,7 +230,7 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener
protected int getContentView() { protected int getContentView() {
if (AstridPreferences.useTabletLayout(this)) if (AstridPreferences.useTabletLayout(this))
return R.layout.task_list_wrapper_activity_3pane; 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; return R.layout.task_list_wrapper_activity_no_swipe;
else else
return R.layout.task_list_wrapper_activity; return R.layout.task_list_wrapper_activity;

@ -142,7 +142,7 @@ public abstract class MarketStrategy {
R.string.p_theme_widget, R.string.p_theme_widget,
R.string.p_voicePrefSection, R.string.p_voicePrefSection,
R.string.p_end_at_deadline, 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_field_missed_calls
}; };
} }
@ -184,7 +184,7 @@ public abstract class MarketStrategy {
R.string.p_theme_widget, R.string.p_theme_widget,
R.string.p_voicePrefSection, R.string.p_voicePrefSection,
R.string.p_end_at_deadline, 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_field_missed_calls,
R.string.p_ideas_tab_enabled R.string.p_ideas_tab_enabled
}; };

@ -29,8 +29,7 @@ public class TaskListFragmentPager extends ViewPager {
public TaskListFragmentPager(Context context, AttributeSet attrs) { public TaskListFragmentPager(Context context, AttributeSet attrs) {
super(context, attrs); super(context, attrs);
int offscreenPageLimit = Preferences.getIntegerFromString(R.string.p_swipe_lists_performance_key, 3); setOffscreenPageLimit(3);
setOffscreenPageLimit(offscreenPageLimit);
setPageMargin(1); setPageMargin(1);
setPageMarginDrawable(R.drawable.vertical_separator); setPageMarginDrawable(R.drawable.vertical_separator);
} }

@ -74,11 +74,19 @@ public class AstridPreferences {
Preferences.setIfUnset(prefs, editor, r, R.string.p_showEditToasts, Preferences.setIfUnset(prefs, editor, r, R.string.p_showEditToasts,
ABChooser.readChoiceForTest(ABTests.AB_TASK_EDIT_TOAST) != 0); ABChooser.readChoiceForTest(ABTests.AB_TASK_EDIT_TOAST) != 0);
int swipePerformance = 0; boolean swipeEnabled = false;
if (ABChooser.readChoiceForTest(ABTests.AB_SWIPE_BETWEEN) == 1) String swipePerformanceKey = context.getString(R.string.p_swipe_lists_performance_key);
swipePerformance = 3; 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 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); Preferences.setString(R.string.p_theme, ThemeService.THEME_WHITE);

Loading…
Cancel
Save