From 6c862a4eff9df44d215d7dcc2f1c1709a186cb85 Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Tue, 14 Aug 2012 13:32:28 -0700 Subject: [PATCH] Let tablet users choose if they want to use the phone layouts in Astrid Labs --- .../com/todoroo/astrid/actfm/TagSettingsActivity.java | 3 ++- .../com/todoroo/astrid/actfm/TagUpdatesFragment.java | 4 ++-- .../com/todoroo/astrid/actfm/TagViewFragment.java | 4 ++-- .../com/todoroo/astrid/core/CoreFilterExposer.java | 4 ++-- .../com/todoroo/astrid/core/CustomFilterActivity.java | 4 ++-- .../com/todoroo/astrid/core/CustomFilterExposer.java | 5 +++-- .../com/todoroo/astrid/core/LabsPreferences.java | 7 +++++++ .../com/todoroo/astrid/people/PeopleFilterExposer.java | 4 ++-- .../com/todoroo/astrid/people/PeopleListFragment.java | 4 ++-- .../com/todoroo/astrid/tags/TagFilterExposer.java | 3 +-- astrid/plugin-src/com/todoroo/astrid/tags/TagsPlugin.java | 4 ++-- .../com/todoroo/astrid/taskrabbit/TaskRabbitActivity.java | 4 ---- astrid/res/values/keys.xml | 3 +++ astrid/res/values/strings-core.xml | 1 + astrid/res/xml/preferences_labs.xml | 4 ++++ .../com/todoroo/astrid/activity/FilterListFragment.java | 5 +++-- .../src/com/todoroo/astrid/activity/TaskListActivity.java | 5 +++-- .../src/com/todoroo/astrid/activity/TaskListFragment.java | 4 ++-- astrid/src/com/todoroo/astrid/service/ThemeService.java | 3 ++- astrid/src/com/todoroo/astrid/ui/MainMenuPopover.java | 4 ++-- .../src/com/todoroo/astrid/utility/AstridPreferences.java | 5 +++++ astrid/src/com/todoroo/astrid/widget/TasksWidget.java | 2 +- 22 files changed, 53 insertions(+), 33 deletions(-) diff --git a/astrid/plugin-src/com/todoroo/astrid/actfm/TagSettingsActivity.java b/astrid/plugin-src/com/todoroo/astrid/actfm/TagSettingsActivity.java index 4d4ed8544..c23c8906d 100644 --- a/astrid/plugin-src/com/todoroo/astrid/actfm/TagSettingsActivity.java +++ b/astrid/plugin-src/com/todoroo/astrid/actfm/TagSettingsActivity.java @@ -57,6 +57,7 @@ import com.todoroo.astrid.tags.TagFilterExposer; import com.todoroo.astrid.tags.TagService; import com.todoroo.astrid.ui.PeopleContainer; import com.todoroo.astrid.ui.PeopleContainer.ParseSharedException; +import com.todoroo.astrid.utility.AstridPreferences; import com.todoroo.astrid.welcome.HelpInfoPopover; public class TagSettingsActivity extends FragmentActivity { @@ -140,7 +141,7 @@ public class TagSettingsActivity extends FragmentActivity { } private void setupForDialogOrFullscreen() { - isDialog = AndroidUtilities.isTabletSized(this); + isDialog = AstridPreferences.useTabletLayout(this); if (isDialog) setTheme(ThemeService.getDialogTheme()); else diff --git a/astrid/plugin-src/com/todoroo/astrid/actfm/TagUpdatesFragment.java b/astrid/plugin-src/com/todoroo/astrid/actfm/TagUpdatesFragment.java index 3fc77b717..698507dc6 100644 --- a/astrid/plugin-src/com/todoroo/astrid/actfm/TagUpdatesFragment.java +++ b/astrid/plugin-src/com/todoroo/astrid/actfm/TagUpdatesFragment.java @@ -36,7 +36,6 @@ import android.widget.TextView.OnEditorActionListener; import com.timsu.astrid.R; import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.service.DependencyInjectionService; -import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.andlib.utility.Preferences; import com.todoroo.astrid.actfm.ActFmCameraModule.CameraResultCallback; @@ -57,6 +56,7 @@ import com.todoroo.astrid.service.StatisticsConstants; import com.todoroo.astrid.service.StatisticsService; import com.todoroo.astrid.service.TagDataService; import com.todoroo.astrid.tags.TagService; +import com.todoroo.astrid.utility.AstridPreferences; public class TagUpdatesFragment extends ListFragment { @@ -247,7 +247,7 @@ public class TagUpdatesFragment extends ListFragment { } private void addHeaderToListView(ListView listView) { - if (AndroidUtilities.isTabletSized(getActivity()) && tagData != null) { + if (AstridPreferences.useTabletLayout(getActivity()) && tagData != null) { listHeader = (ViewGroup) getActivity().getLayoutInflater().inflate(R.layout.tag_updates_header, listView, false); populateListHeader(listHeader); listView.addHeaderView(listHeader); diff --git a/astrid/plugin-src/com/todoroo/astrid/actfm/TagViewFragment.java b/astrid/plugin-src/com/todoroo/astrid/actfm/TagViewFragment.java index fa90f37cc..bd00b20b5 100644 --- a/astrid/plugin-src/com/todoroo/astrid/actfm/TagViewFragment.java +++ b/astrid/plugin-src/com/todoroo/astrid/actfm/TagViewFragment.java @@ -134,11 +134,11 @@ public class TagViewFragment extends TaskListFragment { @Override public void onClick(View v) { Activity activity = getActivity(); - Class settingsClass = AndroidUtilities.isTabletSized(activity) ? TagSettingsActivityTablet.class : TagSettingsActivity.class; + Class settingsClass = AstridPreferences.useTabletLayout(activity) ? TagSettingsActivityTablet.class : TagSettingsActivity.class; Intent intent = new Intent(getActivity(), settingsClass); intent.putExtra(EXTRA_TAG_DATA, tagData); startActivityForResult(intent, REQUEST_CODE_SETTINGS); - if (!AndroidUtilities.isTabletSized(activity)) { + if (!AstridPreferences.useTabletLayout(activity)) { AndroidUtilities.callOverridePendingTransition(activity, R.anim.slide_left_in, R.anim.slide_left_out); } } diff --git a/astrid/plugin-src/com/todoroo/astrid/core/CoreFilterExposer.java b/astrid/plugin-src/com/todoroo/astrid/core/CoreFilterExposer.java index 8f3cc681d..a4cf15ce0 100644 --- a/astrid/plugin-src/com/todoroo/astrid/core/CoreFilterExposer.java +++ b/astrid/plugin-src/com/todoroo/astrid/core/CoreFilterExposer.java @@ -16,7 +16,6 @@ import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.sql.Criterion; import com.todoroo.andlib.sql.Query; import com.todoroo.andlib.sql.QueryTemplate; -import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.astrid.activity.FilterListFragment; import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.api.AstridFilterExposer; @@ -28,6 +27,7 @@ import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.TaskApiDao.TaskCriteria; import com.todoroo.astrid.service.ThemeService; import com.todoroo.astrid.tags.TagService; +import com.todoroo.astrid.utility.AstridPreferences; /** * Exposes Astrid's built in filters to the {@link FilterListFragment} @@ -70,7 +70,7 @@ public final class CoreFilterExposer extends BroadcastReceiver implements Astrid Criterion.and(MetadataCriteria.withKey(TagService.KEY), TagService.TAG.like("x_%", "x"))))))), //$NON-NLS-1$ //$NON-NLS-2$ null); - boolean isTablet = AndroidUtilities.isTabletSized(ContextManager.getContext()); + boolean isTablet = AstridPreferences.useTabletLayout(ContextManager.getContext()); int themeFlags = isTablet ? ThemeService.FLAG_FORCE_LIGHT : 0; inbox.listingIcon = ((BitmapDrawable)r.getDrawable( ThemeService.getDrawable(R.drawable.filter_inbox, themeFlags))).getBitmap(); diff --git a/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterActivity.java b/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterActivity.java index c69cecfe8..6b6d96b36 100644 --- a/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterActivity.java +++ b/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterActivity.java @@ -45,7 +45,6 @@ import com.todoroo.andlib.sql.Criterion; import com.todoroo.andlib.sql.Field; import com.todoroo.andlib.sql.Query; import com.todoroo.andlib.sql.UnaryCriterion; -import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.astrid.actfm.TagSettingsActivity; import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.api.CustomFilterCriterion; @@ -58,6 +57,7 @@ import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.TaskApiDao.TaskCriteria; import com.todoroo.astrid.service.StatisticsService; import com.todoroo.astrid.service.ThemeService; +import com.todoroo.astrid.utility.AstridPreferences; /** * Activity that allows users to build custom filters @@ -176,7 +176,7 @@ public class CustomFilterActivity extends FragmentActivity { } private void setupForDialogOrFullscreen() { - isDialog = AndroidUtilities.isTabletSized(this); + isDialog = AstridPreferences.useTabletLayout(this); if (isDialog) setTheme(ThemeService.getDialogTheme()); else diff --git a/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterExposer.java b/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterExposer.java index 4fdf9267e..8b464c006 100644 --- a/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterExposer.java +++ b/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterExposer.java @@ -43,6 +43,7 @@ import com.todoroo.astrid.gtasks.GtasksPreferenceService; import com.todoroo.astrid.service.TagDataService; import com.todoroo.astrid.service.ThemeService; import com.todoroo.astrid.taskrabbit.TaskRabbitMetadata; +import com.todoroo.astrid.utility.AstridPreferences; /** * Exposes Astrid's built in filters to the {@link FilterListFragment} @@ -77,7 +78,7 @@ public final class CustomFilterExposer extends BroadcastReceiver implements Astr } private Filter[] buildSavedFilters(Context context, Resources r) { - boolean isTablet = AndroidUtilities.isTabletSized(context); + boolean isTablet = AstridPreferences.useTabletLayout(context); int themeFlags = isTablet ? ThemeService.FLAG_FORCE_LIGHT : 0; StoreObjectDao dao = PluginServices.getStoreObjectDao(); @@ -133,7 +134,7 @@ public final class CustomFilterExposer extends BroadcastReceiver implements Astr } public static Filter getAssignedByMeFilter(Resources r) { - boolean isTablet = AndroidUtilities.isTabletSized(ContextManager.getContext()); + boolean isTablet = AstridPreferences.useTabletLayout(ContextManager.getContext()); int themeFlags = isTablet ? ThemeService.FLAG_FORCE_LIGHT : 0; Filter f = new Filter(r.getString(R.string.BFE_Assigned), r.getString(R.string.BFE_Assigned), diff --git a/astrid/plugin-src/com/todoroo/astrid/core/LabsPreferences.java b/astrid/plugin-src/com/todoroo/astrid/core/LabsPreferences.java index 70e36a347..61ab3680a 100644 --- a/astrid/plugin-src/com/todoroo/astrid/core/LabsPreferences.java +++ b/astrid/plugin-src/com/todoroo/astrid/core/LabsPreferences.java @@ -75,6 +75,13 @@ public class LabsPreferences extends TodorooPreferenceActivity { PreferenceScreen screen = getPreferenceScreen(); screen.removePreference(preference); } + } else if (r.getString(R.string.p_force_phone_layout).equals(key)) { + if (!AndroidUtilities.isTabletSized(this)) { + PreferenceScreen screen = getPreferenceScreen(); + screen.removePreference(preference); + } else { + preference.setOnPreferenceChangeListener(settingChangedListener); + } } } diff --git a/astrid/plugin-src/com/todoroo/astrid/people/PeopleFilterExposer.java b/astrid/plugin-src/com/todoroo/astrid/people/PeopleFilterExposer.java index 22f501989..6d66b016d 100644 --- a/astrid/plugin-src/com/todoroo/astrid/people/PeopleFilterExposer.java +++ b/astrid/plugin-src/com/todoroo/astrid/people/PeopleFilterExposer.java @@ -29,7 +29,6 @@ import com.todoroo.andlib.sql.Join; import com.todoroo.andlib.sql.Order; import com.todoroo.andlib.sql.Query; import com.todoroo.andlib.sql.QueryTemplate; -import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.astrid.actfm.sync.ActFmPreferenceService; import com.todoroo.astrid.actfm.sync.ActFmSyncService; import com.todoroo.astrid.api.AstridApiConstants; @@ -45,6 +44,7 @@ import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.User; import com.todoroo.astrid.service.ThemeService; import com.todoroo.astrid.tags.TagService; +import com.todoroo.astrid.utility.AstridPreferences; public class PeopleFilterExposer extends BroadcastReceiver { @Override @@ -142,7 +142,7 @@ public class PeopleFilterExposer extends BroadcastReceiver { tagsWithMembers.close(); } - boolean isTablet = AndroidUtilities.isTabletSized(context); + boolean isTablet = AstridPreferences.useTabletLayout(context); int themeFlags = isTablet ? ThemeService.FLAG_FORCE_LIGHT : 0; String title = context.getString(R.string.actfm_my_shared_tasks_title); diff --git a/astrid/plugin-src/com/todoroo/astrid/people/PeopleListFragment.java b/astrid/plugin-src/com/todoroo/astrid/people/PeopleListFragment.java index 854546304..a73069b4c 100644 --- a/astrid/plugin-src/com/todoroo/astrid/people/PeopleListFragment.java +++ b/astrid/plugin-src/com/todoroo/astrid/people/PeopleListFragment.java @@ -8,9 +8,9 @@ package com.todoroo.astrid.people; import android.app.Activity; import com.timsu.astrid.R; -import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.astrid.activity.FilterListFragment; import com.todoroo.astrid.adapter.FilterAdapter; +import com.todoroo.astrid.utility.AstridPreferences; public class PeopleListFragment extends FilterListFragment { @@ -21,7 +21,7 @@ public class PeopleListFragment extends FilterListFragment { @Override protected int getLayout(Activity activity) { - if (AndroidUtilities.isTabletSized(activity)) + if (AstridPreferences.useTabletLayout(activity)) return R.layout.people_list_fragment_3pane; else return R.layout.people_list_fragment; diff --git a/astrid/plugin-src/com/todoroo/astrid/tags/TagFilterExposer.java b/astrid/plugin-src/com/todoroo/astrid/tags/TagFilterExposer.java index 60568d298..0d695b170 100644 --- a/astrid/plugin-src/com/todoroo/astrid/tags/TagFilterExposer.java +++ b/astrid/plugin-src/com/todoroo/astrid/tags/TagFilterExposer.java @@ -28,7 +28,6 @@ import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.sql.Criterion; import com.todoroo.andlib.sql.QueryTemplate; -import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.astrid.actfm.TagViewFragment; import com.todoroo.astrid.api.AstridApiConstants; @@ -167,7 +166,7 @@ public class TagFilterExposer extends BroadcastReceiver implements AstridFilterE Context context = ContextManager.getContext(); Resources r = context.getResources(); - boolean isTablet = AndroidUtilities.isTabletSized(context); + boolean isTablet = AstridPreferences.useTabletLayout(context); int themeFlags = isTablet ? ThemeService.FLAG_FORCE_LIGHT : 0; // --- untagged diff --git a/astrid/plugin-src/com/todoroo/astrid/tags/TagsPlugin.java b/astrid/plugin-src/com/todoroo/astrid/tags/TagsPlugin.java index 0347bb473..38d8d2115 100644 --- a/astrid/plugin-src/com/todoroo/astrid/tags/TagsPlugin.java +++ b/astrid/plugin-src/com/todoroo/astrid/tags/TagsPlugin.java @@ -9,11 +9,11 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; -import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.astrid.actfm.TagSettingsActivity; import com.todoroo.astrid.actfm.TagSettingsActivityTablet; import com.todoroo.astrid.api.Addon; import com.todoroo.astrid.api.AstridApiConstants; +import com.todoroo.astrid.utility.AstridPreferences; public class TagsPlugin extends BroadcastReceiver { @@ -36,7 +36,7 @@ public class TagsPlugin extends BroadcastReceiver { * @param activity */ public static Intent newTagDialog(Context context) { - Class settingsComponent = AndroidUtilities.isTabletSized(context) ? TagSettingsActivityTablet.class : TagSettingsActivity.class; + Class settingsComponent = AstridPreferences.useTabletLayout(context) ? TagSettingsActivityTablet.class : TagSettingsActivity.class; Intent intent = new Intent(context, settingsComponent); return intent; } diff --git a/astrid/plugin-src/com/todoroo/astrid/taskrabbit/TaskRabbitActivity.java b/astrid/plugin-src/com/todoroo/astrid/taskrabbit/TaskRabbitActivity.java index 7d28aad84..146ab2e4e 100644 --- a/astrid/plugin-src/com/todoroo/astrid/taskrabbit/TaskRabbitActivity.java +++ b/astrid/plugin-src/com/todoroo/astrid/taskrabbit/TaskRabbitActivity.java @@ -309,10 +309,6 @@ public class TaskRabbitActivity extends FragmentActivity { private void setupForDialogOrFullscreen() { - // isDialog = AndroidUtilities.isTabletSized(this); - // if (isDialog) - // setTheme(ThemeService.getDialogTheme()); - // else ThemeService.applyTheme(this); } diff --git a/astrid/res/values/keys.xml b/astrid/res/values/keys.xml index 8a350b625..87d716d0a 100644 --- a/astrid/res/values/keys.xml +++ b/astrid/res/values/keys.xml @@ -57,6 +57,9 @@ ideas_tab_enabled + + + force_phone_layout diff --git a/astrid/res/values/strings-core.xml b/astrid/res/values/strings-core.xml index dadc5ec2e..616ac90f6 100644 --- a/astrid/res/values/strings-core.xml +++ b/astrid/res/values/strings-core.xml @@ -658,6 +658,7 @@ End calendar events at due time Start calendar events at due time + Use phone layout You will need to restart Astrid for this change to take effect diff --git a/astrid/res/xml/preferences_labs.xml b/astrid/res/xml/preferences_labs.xml index 7624814dc..f5318301a 100644 --- a/astrid/res/xml/preferences_labs.xml +++ b/astrid/res/xml/preferences_labs.xml @@ -30,5 +30,9 @@ + diff --git a/astrid/src/com/todoroo/astrid/activity/FilterListFragment.java b/astrid/src/com/todoroo/astrid/activity/FilterListFragment.java index a5456c1e1..711fa1aa1 100644 --- a/astrid/src/com/todoroo/astrid/activity/FilterListFragment.java +++ b/astrid/src/com/todoroo/astrid/activity/FilterListFragment.java @@ -55,6 +55,7 @@ import com.todoroo.astrid.api.FilterListItem; import com.todoroo.astrid.service.StatisticsService; import com.todoroo.astrid.tags.TagService; import com.todoroo.astrid.tags.TagsPlugin; +import com.todoroo.astrid.utility.AstridPreferences; import com.todoroo.astrid.welcome.HelpInfoPopover; /** @@ -145,7 +146,7 @@ public class FilterListFragment extends ListFragment { } protected int getLayout(Activity activity) { - if (AndroidUtilities.isTabletSized(activity)) { + if (AstridPreferences.useTabletLayout(activity)) { adapter.filterStyle = R.style.TextAppearance_FLA_Filter_Tablet; return R.layout.filter_list_activity_3pane; } else @@ -168,7 +169,7 @@ public class FilterListFragment extends ListFragment { public void onClick(View v) { Intent intent = TagsPlugin.newTagDialog(getActivity()); getActivity().startActivityForResult(intent, REQUEST_NEW_LIST); - if (!AndroidUtilities.isTabletSized(getActivity())) + if (!AstridPreferences.useTabletLayout(getActivity())) AndroidUtilities.callOverridePendingTransition(getActivity(), R.anim.slide_left_in, R.anim.slide_left_out); } }); diff --git a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java index 923272e6d..bcd0794af 100644 --- a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java @@ -60,6 +60,7 @@ import com.todoroo.astrid.ui.FragmentPopover; import com.todoroo.astrid.ui.MainMenuPopover; import com.todoroo.astrid.ui.MainMenuPopover.MainMenuListener; import com.todoroo.astrid.ui.TaskListFragmentPager; +import com.todoroo.astrid.utility.AstridPreferences; import com.todoroo.astrid.utility.Constants; import com.todoroo.astrid.utility.Flags; @@ -216,7 +217,7 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener } protected int getContentView() { - if (AndroidUtilities.isTabletSized(this)) + 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) return R.layout.task_list_wrapper_activity_no_swipe; @@ -312,7 +313,7 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener private void createMainMenuPopover() { int layout; - boolean isTablet = AndroidUtilities.isTabletSized(this); + boolean isTablet = AstridPreferences.useTabletLayout(this); if (isTablet) layout = R.layout.main_menu_popover_tablet; else diff --git a/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java b/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java index 6e3289b5d..52165c22b 100644 --- a/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java @@ -427,7 +427,7 @@ public class TaskListFragment extends ListFragment implements OnScrollListener, if (!isCurrentTaskListFragment()) return; - boolean isTablet = AndroidUtilities.isTabletSized(activity); + boolean isTablet = AstridPreferences.useTabletLayout(activity); if (activity instanceof TaskListActivity) ((TaskListActivity) activity).getMainMenuPopover().clear(); @@ -1004,7 +1004,7 @@ public class TaskListFragment extends ListFragment implements OnScrollListener, R.string.p_showed_lists_help, false)) { AstridActivity activity = (AstridActivity) getActivity(); if (activity != null) { - if (AndroidUtilities.isTabletSized(activity)) { + if (AstridPreferences.useTabletLayout(activity)) { FilterListFragment flf = activity.getFilterListFragment(); if (flf != null) flf.showAddListPopover(); diff --git a/astrid/src/com/todoroo/astrid/service/ThemeService.java b/astrid/src/com/todoroo/astrid/service/ThemeService.java index 09459a263..6d9492b2a 100644 --- a/astrid/src/com/todoroo/astrid/service/ThemeService.java +++ b/astrid/src/com/todoroo/astrid/service/ThemeService.java @@ -14,6 +14,7 @@ import com.timsu.astrid.R; import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.Preferences; +import com.todoroo.astrid.utility.AstridPreferences; import com.todoroo.astrid.widget.TasksWidget; @SuppressWarnings("nls") @@ -140,7 +141,7 @@ public class ThemeService { } if (lightDrawable == R.drawable.icn_menu_refresh && - AndroidUtilities.isTabletSized(ContextManager.getContext())) + AstridPreferences.useTabletLayout(ContextManager.getContext())) return R.drawable.icn_menu_refresh_tablet; if(!darkTheme) diff --git a/astrid/src/com/todoroo/astrid/ui/MainMenuPopover.java b/astrid/src/com/todoroo/astrid/ui/MainMenuPopover.java index f61e0b1d5..e89f30334 100644 --- a/astrid/src/com/todoroo/astrid/ui/MainMenuPopover.java +++ b/astrid/src/com/todoroo/astrid/ui/MainMenuPopover.java @@ -20,10 +20,10 @@ import android.widget.LinearLayout; import android.widget.TextView; import com.timsu.astrid.R; -import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.Preferences; import com.todoroo.astrid.service.ThemeService; import com.todoroo.astrid.ui.TouchInterceptingFrameLayout.InterceptTouchListener; +import com.todoroo.astrid.utility.AstridPreferences; public class MainMenuPopover extends FragmentPopover implements InterceptTouchListener { @@ -63,7 +63,7 @@ public class MainMenuPopover extends FragmentPopover implements InterceptTouchLi } }); - if (AndroidUtilities.isTabletSized(context)) + if (AstridPreferences.useTabletLayout(context)) rowLayout = R.layout.main_menu_row_tablet; else rowLayout = R.layout.main_menu_row; diff --git a/astrid/src/com/todoroo/astrid/utility/AstridPreferences.java b/astrid/src/com/todoroo/astrid/utility/AstridPreferences.java index f0b225fb7..c73d25307 100644 --- a/astrid/src/com/todoroo/astrid/utility/AstridPreferences.java +++ b/astrid/src/com/todoroo/astrid/utility/AstridPreferences.java @@ -14,6 +14,7 @@ import com.timsu.astrid.R; import com.todoroo.andlib.data.TodorooCursor; import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.sql.Query; +import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.Preferences; import com.todoroo.astrid.activity.BeastModePreferences; import com.todoroo.astrid.api.AstridApiConstants; @@ -139,4 +140,8 @@ public class AstridPreferences { return true; } + public static boolean useTabletLayout(Context context) { + return AndroidUtilities.isTabletSized(context) && !Preferences.getBoolean(R.string.p_force_phone_layout, false); + } + } diff --git a/astrid/src/com/todoroo/astrid/widget/TasksWidget.java b/astrid/src/com/todoroo/astrid/widget/TasksWidget.java index a2163dd79..4d1e7d8d6 100644 --- a/astrid/src/com/todoroo/astrid/widget/TasksWidget.java +++ b/astrid/src/com/todoroo/astrid/widget/TasksWidget.java @@ -242,7 +242,7 @@ public class TasksWidget extends AppWidgetProvider { Intent editIntent; - boolean tablet = AndroidUtilities.isTabletSized(context); + boolean tablet = AstridPreferences.useTabletLayout(context); if (tablet) { editIntent = new Intent(context, TaskListActivity.class); editIntent.putExtra(TaskListActivity.OPEN_TASK, 0L);