diff --git a/astrid/src/com/todoroo/astrid/activity/BeastModePreferences.java b/astrid/src/com/todoroo/astrid/activity/BeastModePreferences.java index 0c1470ab3..f0da1e0f9 100644 --- a/astrid/src/com/todoroo/astrid/activity/BeastModePreferences.java +++ b/astrid/src/com/todoroo/astrid/activity/BeastModePreferences.java @@ -77,10 +77,12 @@ public class BeastModePreferences extends ListActivity { Preferences.setBoolean(BEAST_MODE_ASSERTED_HIDE_ALWAYS, true); } - public static void setDefaultLiteModeOrder(Context context) { - if (Preferences.getStringValue(BEAST_MODE_ORDER_PREF) != null) + public static void setDefaultLiteModeOrder(Context context, boolean force) { + if (Preferences.getStringValue(BEAST_MODE_ORDER_PREF) != null && !force) return; + if (force) + Preferences.clear(BEAST_MODE_ORDER_PREF); ArrayList list = constructOrderedControlList(context); String moreSeparator = context.getResources().getString(R.string.TEA_ctrl_more_pref); String hideSeparator = context.getResources().getString(R.string.TEA_ctrl_hide_section_pref); @@ -110,6 +112,21 @@ public class BeastModePreferences extends ListActivity { Preferences.setString(BEAST_MODE_ORDER_PREF, newSetting.toString()); } + public static void setDefaultOrder(Context context, boolean force) { + if (Preferences.getStringValue(BEAST_MODE_ORDER_PREF) != null && !force) + return; + + if (force) + Preferences.clear(BEAST_MODE_ORDER_PREF); + ArrayList list = constructOrderedControlList(context); + StringBuilder newSetting = new StringBuilder(30); + for (String item : list) { + newSetting.append(item); + newSetting.append(BEAST_MODE_PREF_ITEM_SEPARATOR); + } + Preferences.setString(BEAST_MODE_ORDER_PREF, newSetting.toString()); + } + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/astrid/src/com/todoroo/astrid/utility/AstridDefaultPreferenceSpec.java b/astrid/src/com/todoroo/astrid/utility/AstridDefaultPreferenceSpec.java index fee1bdc49..bd9faf7de 100644 --- a/astrid/src/com/todoroo/astrid/utility/AstridDefaultPreferenceSpec.java +++ b/astrid/src/com/todoroo/astrid/utility/AstridDefaultPreferenceSpec.java @@ -8,6 +8,7 @@ import android.content.res.Resources; import com.timsu.astrid.R; import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.utility.Preferences; +import com.todoroo.astrid.activity.BeastModePreferences; import com.todoroo.astrid.core.SortHelper; import com.todoroo.astrid.data.Task; import com.todoroo.astrid.service.ThemeService; @@ -37,6 +38,7 @@ public class AstridDefaultPreferenceSpec extends AstridPreferenceSpec { } Preferences.setBoolean(dragDropTestInitialized, true); } + BeastModePreferences.setDefaultOrder(context, false); 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); @@ -68,6 +70,8 @@ public class AstridDefaultPreferenceSpec extends AstridPreferenceSpec { } Preferences.setString(R.string.p_theme, ThemeService.THEME_WHITE); setPreference(prefs, editor, r, R.string.p_force_phone_layout, Constants.MARKET_STRATEGY.defaultPhoneLayout(), ifUnset); + + BeastModePreferences.setDefaultOrder(context, true); } }; diff --git a/astrid/src/com/todoroo/astrid/utility/AstridLitePreferenceSpec.java b/astrid/src/com/todoroo/astrid/utility/AstridLitePreferenceSpec.java index 84c1fc1b5..4cd17804d 100644 --- a/astrid/src/com/todoroo/astrid/utility/AstridLitePreferenceSpec.java +++ b/astrid/src/com/todoroo/astrid/utility/AstridLitePreferenceSpec.java @@ -36,7 +36,7 @@ public class AstridLitePreferenceSpec extends AstridPreferenceSpec { Preferences.setBoolean(dragDropTestInitialized, true); } - BeastModePreferences.setDefaultLiteModeOrder(context); + BeastModePreferences.setDefaultLiteModeOrder(context, false); } }; @@ -58,7 +58,7 @@ public class AstridLitePreferenceSpec extends AstridPreferenceSpec { Preferences.setInt(AstridPreferences.P_SUBTASKS_HELP, 1); } } - BeastModePreferences.setDefaultLiteModeOrder(context); + BeastModePreferences.setDefaultLiteModeOrder(context, true); } };