From 7b33e45c76cd9822d74378e7a72099b2c690a144 Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Tue, 7 Feb 2012 12:14:42 -0800 Subject: [PATCH] Renamed and reorganized resources to be able to manually control whether or not 3 column layouts are used --- .../task_list_wrapper_activity_3pane.xml} | 0 .../filter_list_activity.xml | 56 ------------------- .../filter_list_activity_3pane.xml} | 0 .../task_edit_wrapper_activity_3pane.xml} | 0 .../task_list_wrapper_activity_3pane.xml} | 0 .../astrid/activity/AstridActivity.java | 19 +++++++ .../astrid/activity/FilterListFragment.java | 7 ++- .../astrid/activity/TaskEditActivity.java | 5 +- .../astrid/activity/TaskListActivity.java | 7 ++- 9 files changed, 35 insertions(+), 59 deletions(-) rename astrid/res/{layout-large-land/task_list_wrapper_activity.xml => layout-land/task_list_wrapper_activity_3pane.xml} (100%) delete mode 100644 astrid/res/layout-large-land/filter_list_activity.xml rename astrid/res/{layout-large/filter_list_activity.xml => layout/filter_list_activity_3pane.xml} (100%) rename astrid/res/{layout-large/task_edit_wrapper_activity.xml => layout/task_edit_wrapper_activity_3pane.xml} (100%) rename astrid/res/{layout-large/task_list_wrapper_activity.xml => layout/task_list_wrapper_activity_3pane.xml} (100%) diff --git a/astrid/res/layout-large-land/task_list_wrapper_activity.xml b/astrid/res/layout-land/task_list_wrapper_activity_3pane.xml similarity index 100% rename from astrid/res/layout-large-land/task_list_wrapper_activity.xml rename to astrid/res/layout-land/task_list_wrapper_activity_3pane.xml diff --git a/astrid/res/layout-large-land/filter_list_activity.xml b/astrid/res/layout-large-land/filter_list_activity.xml deleted file mode 100644 index 004f8f305..000000000 --- a/astrid/res/layout-large-land/filter_list_activity.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/astrid/res/layout-large/filter_list_activity.xml b/astrid/res/layout/filter_list_activity_3pane.xml similarity index 100% rename from astrid/res/layout-large/filter_list_activity.xml rename to astrid/res/layout/filter_list_activity_3pane.xml diff --git a/astrid/res/layout-large/task_edit_wrapper_activity.xml b/astrid/res/layout/task_edit_wrapper_activity_3pane.xml similarity index 100% rename from astrid/res/layout-large/task_edit_wrapper_activity.xml rename to astrid/res/layout/task_edit_wrapper_activity_3pane.xml diff --git a/astrid/res/layout-large/task_list_wrapper_activity.xml b/astrid/res/layout/task_list_wrapper_activity_3pane.xml similarity index 100% rename from astrid/res/layout-large/task_list_wrapper_activity.xml rename to astrid/res/layout/task_list_wrapper_activity_3pane.xml diff --git a/astrid/src/com/todoroo/astrid/activity/AstridActivity.java b/astrid/src/com/todoroo/astrid/activity/AstridActivity.java index 6ab7eee6e..8a3164ab6 100644 --- a/astrid/src/com/todoroo/astrid/activity/AstridActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/AstridActivity.java @@ -4,6 +4,7 @@ import android.app.PendingIntent.CanceledException; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; +import android.content.res.Configuration; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; @@ -48,6 +49,13 @@ public class AstridActivity extends FragmentActivity TaskListFragment.OnTaskListItemClickedListener, TaskEditFragment.OnTaskEditDetailsClickedListener { + /** + * Array of device names that we want to override the layout for + */ + private static final String[] THREE_PANE_DEVICES = new String[] { + "kindle", //$NON-NLS-1$ + }; + public static final int LAYOUT_SINGLE = 0; public static final int LAYOUT_DOUBLE = 1; public static final int LAYOUT_TRIPLE = 2; @@ -292,6 +300,17 @@ public class AstridActivity extends FragmentActivity return fragmentLayout; } + public static boolean shouldUseThreePane(Context context) { + int size = context.getResources().getConfiguration().screenLayout + & Configuration.SCREENLAYOUT_SIZE_MASK; + if (size == Configuration.SCREENLAYOUT_SIZE_XLARGE) return true; + String model = android.os.Build.MODEL.toLowerCase(); + for (String s : THREE_PANE_DEVICES) { + if (model.contains(s)) return true; + } + return false; + } + private class ReminderReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { diff --git a/astrid/src/com/todoroo/astrid/activity/FilterListFragment.java b/astrid/src/com/todoroo/astrid/activity/FilterListFragment.java index f8aa1a874..071eb8fff 100644 --- a/astrid/src/com/todoroo/astrid/activity/FilterListFragment.java +++ b/astrid/src/com/todoroo/astrid/activity/FilterListFragment.java @@ -157,7 +157,12 @@ public class FilterListFragment extends ListFragment { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { Activity activity = getActivity(); - ViewGroup parent = (ViewGroup) activity.getLayoutInflater().inflate(R.layout.filter_list_activity, container, false); + int layout; + if (AstridActivity.shouldUseThreePane(activity)) + layout = R.layout.filter_list_activity_3pane; + else + layout = R.layout.filter_list_activity; + ViewGroup parent = (ViewGroup) activity.getLayoutInflater().inflate(layout, container, false); return parent; } diff --git a/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java index 74e8e4f03..7c73b2f8e 100644 --- a/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java @@ -18,7 +18,10 @@ public class TaskEditActivity extends AstridActivity { protected void onCreate(Bundle savedInstanceState) { ThemeService.applyTheme(this); super.onCreate(savedInstanceState); - setContentView(R.layout.task_edit_wrapper_activity); + if (shouldUseThreePane(this)) + setContentView(R.layout.task_edit_wrapper_activity_3pane); + else + setContentView(R.layout.task_edit_wrapper_activity); ActionBar actionBar = getSupportActionBar(); actionBar.setDisplayShowHomeEnabled(false); diff --git a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java index 238740eda..301e97dc0 100644 --- a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java @@ -42,6 +42,7 @@ import com.todoroo.astrid.welcome.tutorial.WelcomeWalkthrough; public class TaskListActivity extends AstridActivity implements MainMenuListener { public static final String TOKEN_SELECTED_FILTER = "selectedFilter"; //$NON-NLS-1$ + private View listsNav; private ImageView listsNavDisclosure; private TextView lists; @@ -111,7 +112,11 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener protected void onCreate(Bundle savedInstanceState) { ThemeService.applyTheme(this); super.onCreate(savedInstanceState); - setContentView(R.layout.task_list_wrapper_activity); + + if (shouldUseThreePane(this)) + setContentView(R.layout.task_list_wrapper_activity_3pane); + else + setContentView(R.layout.task_list_wrapper_activity); ActionBar actionBar = getSupportActionBar(); actionBar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE);