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.