am bcb16b98: Check tablet mode through resources

# Via Vikram Aggarwal
* commit 'bcb16b98140a83a4db3c51568d21c839595f73df':
  Check tablet mode through resources
diff --git a/src/com/android/mail/browse/ConversationItemView.java b/src/com/android/mail/browse/ConversationItemView.java
index 597f8b5..786af85 100644
--- a/src/com/android/mail/browse/ConversationItemView.java
+++ b/src/com/android/mail/browse/ConversationItemView.java
@@ -344,9 +344,9 @@
         setClickable(true);
         setLongClickable(true);
         mContext = context.getApplicationContext();
-        mTabletDevice = Utils.useTabletUI(mContext);
+        final Resources res = mContext.getResources();
+        mTabletDevice = Utils.useTabletUI(res);
         mAccount = account;
-        Resources res = mContext.getResources();
 
         if (CHECKMARK_OFF == null) {
             // Initialize static bitmaps.
diff --git a/src/com/android/mail/browse/ConversationListFooterView.java b/src/com/android/mail/browse/ConversationListFooterView.java
index 0fb1c8c..0d72a90 100644
--- a/src/com/android/mail/browse/ConversationListFooterView.java
+++ b/src/com/android/mail/browse/ConversationListFooterView.java
@@ -57,7 +57,7 @@
 
     public ConversationListFooterView(Context context, AttributeSet attrs) {
         super(context, attrs);
-        mTabletDevice = Utils.useTabletUI(context);
+        mTabletDevice = Utils.useTabletUI(context.getResources());
     }
 
     @Override
diff --git a/src/com/android/mail/browse/ConversationPagerAdapter.java b/src/com/android/mail/browse/ConversationPagerAdapter.java
index 855aa13..7512f93 100644
--- a/src/com/android/mail/browse/ConversationPagerAdapter.java
+++ b/src/com/android/mail/browse/ConversationPagerAdapter.java
@@ -39,7 +39,6 @@
 import com.android.mail.utils.FragmentStatePagerAdapter2;
 import com.android.mail.utils.LogTag;
 import com.android.mail.utils.LogUtils;
-import com.android.mail.utils.Utils;
 
 public class ConversationPagerAdapter extends FragmentStatePagerAdapter2
         implements ViewPager.OnPageChangeListener {
diff --git a/src/com/android/mail/ui/AbstractActivityController.java b/src/com/android/mail/ui/AbstractActivityController.java
index 4b29d0b..4cc56f9 100644
--- a/src/com/android/mail/ui/AbstractActivityController.java
+++ b/src/com/android/mail/ui/AbstractActivityController.java
@@ -36,6 +36,7 @@
 import android.content.DialogInterface.OnClickListener;
 import android.content.Intent;
 import android.content.Loader;
+import android.content.res.Resources;
 import android.database.Cursor;
 import android.database.DataSetObservable;
 import android.database.DataSetObserver;
@@ -176,6 +177,9 @@
 
     private boolean mDestroyed;
 
+    /** True if running on tablet */
+    private final boolean mIsTablet;
+
     /**
      * Are we in a point in the Activity/Fragment lifecycle where it's safe to execute fragment
      * transactions? (including back stack manipulation)
@@ -351,11 +355,11 @@
         // aware of the selected set.
         mSelectedSet.addObserver(this);
 
-        mFolderItemUpdateDelayMs =
-                mContext.getResources().getInteger(R.integer.folder_item_refresh_delay_ms);
-        mShowUndoBarDelay =
-                mContext.getResources().getInteger(R.integer.show_undo_bar_delay_ms);
+        final Resources r = mContext.getResources();
+        mFolderItemUpdateDelayMs = r.getInteger(R.integer.folder_item_refresh_delay_ms);
+        mShowUndoBarDelay = r.getInteger(R.integer.show_undo_bar_delay_ms);
         mVeiledMatcher = VeiledAddressMatcher.newInstance(activity.getResources());
+        mIsTablet = Utils.useTabletUI(r);
     }
 
     @Override
@@ -1190,7 +1194,7 @@
         if (currentConversationInView) {
             final int autoAdvanceSetting = mAccount.settings.getAutoAdvanceSetting();
 
-            if (autoAdvanceSetting == AutoAdvance.UNSET && Utils.useTabletUI(mContext)) {
+            if (autoAdvanceSetting == AutoAdvance.UNSET && mIsTablet) {
                 displayAutoAdvanceDialogAndPerformAction(operation);
                 return false;
             } else {
@@ -1801,7 +1805,7 @@
     public final void onConversationSelected(Conversation conversation, boolean inLoaderCallbacks) {
         // Only animate destructive actions if we are going to be showing the
         // conversation list when we show the next conversation.
-        commitDestructiveActions(Utils.useTabletUI(mContext));
+        commitDestructiveActions(mIsTablet);
         showConversation(conversation, inLoaderCallbacks);
     }
 
@@ -2141,7 +2145,7 @@
                 // default recents. The default recents will not stomp on the existing value: it
                 // will be shown in addition to the default folders: the max number of recent
                 // folders is more than 1+num(defaultRecents).
-                if (data != null && data.getCount() <= 1 && !Utils.useTabletUI(mContext)) {
+                if (data != null && data.getCount() <= 1 && !mIsTablet) {
                     final class PopulateDefault extends AsyncTask<Uri, Void, Void> {
                         @Override
                         protected Void doInBackground(Uri... uri) {
diff --git a/src/com/android/mail/ui/ConversationListFragment.java b/src/com/android/mail/ui/ConversationListFragment.java
index 12f31fa..ec4c428 100644
--- a/src/com/android/mail/ui/ConversationListFragment.java
+++ b/src/com/android/mail/ui/ConversationListFragment.java
@@ -274,7 +274,7 @@
         mConversationListStatusObserver = new ConversationListStatusObserver();
         mUpdater = mActivity.getConversationUpdater();
         mUpdater.registerConversationListObserver(mConversationListStatusObserver);
-        mTabletDevice = Utils.useTabletUI(mActivity.getApplicationContext());
+        mTabletDevice = Utils.useTabletUI(mActivity.getApplicationContext().getResources());
         initializeUiForFirstDisplay();
         configureSearchResultHeader();
         // The onViewModeChanged callback doesn't get called when the mode
@@ -444,7 +444,7 @@
         // When a new list item is clicked, commit any existing leave behind
         // items. Wait until we have opened the desired conversation to cause
         // any position changes.
-        commitDestructiveActions(Utils.useTabletUI(mActivity.getActivityContext()));
+        commitDestructiveActions(Utils.useTabletUI(mActivity.getActivityContext().getResources()));
     }
 
     @Override
diff --git a/src/com/android/mail/ui/MailActionBarView.java b/src/com/android/mail/ui/MailActionBarView.java
index ea52172..2790c1d 100644
--- a/src/com/android/mail/ui/MailActionBarView.java
+++ b/src/com/android/mail/ui/MailActionBarView.java
@@ -22,6 +22,7 @@
 import android.app.SearchableInfo;
 import android.content.ContentResolver;
 import android.content.Context;
+import android.content.res.Resources;
 import android.database.Cursor;
 import android.database.DataSetObserver;
 import android.os.Bundle;
@@ -132,8 +133,9 @@
 
     public MailActionBarView(Context context, AttributeSet attrs, int defStyle) {
         super(context, attrs, defStyle);
-        mShowConversationSubject = getResources().getBoolean(R.bool.show_conversation_subject);
-        mIsOnTablet = Utils.useTabletUI(context);
+        final Resources r = getResources();
+        mShowConversationSubject = r.getBoolean(R.bool.show_conversation_subject);
+        mIsOnTablet = Utils.useTabletUI(r);
     }
 
     // update the pager title strip as the Folder's conversation count changes
@@ -238,8 +240,9 @@
         mFolderObserver = new FolderObserver();
         mController.registerFolderObserver(mFolderObserver);
         // We don't want to include the "Show all folders" menu item on tablet devices
-        final boolean showAllFolders = !Utils.useTabletUI(getContext());
-        mSpinnerAdapter = new AccountSpinnerAdapter(activity, getContext(), showAllFolders);
+        final Context context = getContext();
+        final boolean showAllFolders = !Utils.useTabletUI(context.getResources());
+        mSpinnerAdapter = new AccountSpinnerAdapter(activity, context, showAllFolders);
         mSpinner = (MailSpinner) findViewById(R.id.account_spinner);
         mSpinner.setAdapter(mSpinnerAdapter);
         mSpinner.setController(mController);
diff --git a/src/com/android/mail/ui/MailActivity.java b/src/com/android/mail/ui/MailActivity.java
index 470fb16..dc1e452 100644
--- a/src/com/android/mail/ui/MailActivity.java
+++ b/src/com/android/mail/ui/MailActivity.java
@@ -144,7 +144,7 @@
         super.onCreate(savedState);
 
         mViewMode = new ViewMode(this);
-        final boolean tabletUi = Utils.useTabletUI(this);
+        final boolean tabletUi = Utils.useTabletUI(this.getResources());
         mController = ControllerFactory.forActivity(this, mViewMode, tabletUi);
         mController.onCreate(savedState);
 
diff --git a/src/com/android/mail/utils/Utils.java b/src/com/android/mail/utils/Utils.java
index 3ab91ac..5b0bab1 100644
--- a/src/com/android/mail/utils/Utils.java
+++ b/src/com/android/mail/utils/Utils.java
@@ -514,11 +514,10 @@
     /**
      * Returns a boolean indicating whether the table UI should be shown.
      */
-    public static boolean useTabletUI(Context context) {
-        return context.getResources().getInteger(R.integer.use_tablet_ui) != 0;
+    public static boolean useTabletUI(Resources res) {
+        return res.getInteger(R.integer.use_tablet_ui) != 0;
     }
 
-
     /**
      * Returns a boolean indicating whether or not we should animate in the
      * folder list fragment.