diff options
author | Andrew Sapperstein <asapperstein@google.com> | 2014-07-28 18:11:33 -0700 |
---|---|---|
committer | Andrew Sapperstein <asapperstein@google.com> | 2014-07-28 19:23:16 -0700 |
commit | c53c887101aa90b5024af635823023aa801e075f (patch) | |
tree | 3824c161547ec403ca4ec4b1cd1644783402bde6 /src | |
parent | c7c1fae9c00ee6d799a7c89955e3e89791b8bddc (diff) | |
download | android_packages_apps_UnifiedEmail-c53c887101aa90b5024af635823023aa801e075f.tar.gz android_packages_apps_UnifiedEmail-c53c887101aa90b5024af635823023aa801e075f.tar.bz2 android_packages_apps_UnifiedEmail-c53c887101aa90b5024af635823023aa801e075f.zip |
Revert "Megadrawer" until b/16637856 is fixed.
This reverts commit d4bb2af4a545493b88e900be5262329c715dd38a.
Change-Id: I3c8860d30cde8b70c135c2ef457f5f601b45b8b5
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/mail/ui/AbstractActivityController.java | 51 | ||||
-rw-r--r-- | src/com/android/mail/ui/ActivityController.java | 7 | ||||
-rw-r--r-- | src/com/android/mail/ui/ControllableActivity.java | 2 | ||||
-rw-r--r-- | src/com/android/mail/ui/FolderSelectionActivity.java | 6 | ||||
-rw-r--r-- | src/com/android/mail/ui/MailActivity.java | 11 |
5 files changed, 46 insertions, 31 deletions
diff --git a/src/com/android/mail/ui/AbstractActivityController.java b/src/com/android/mail/ui/AbstractActivityController.java index 9212643a4..10f0fcbd0 100644 --- a/src/com/android/mail/ui/AbstractActivityController.java +++ b/src/com/android/mail/ui/AbstractActivityController.java @@ -114,6 +114,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; +import java.util.Deque; import java.util.HashMap; import java.util.List; import java.util.Set; @@ -491,6 +492,8 @@ public abstract class AbstractActivityController implements ActivityController, */ private Runnable mAutoAdvanceOp = null; + private final Deque<UpOrBackHandler> mUpOrBackHandlers = Lists.newLinkedList(); + protected DrawerLayout mDrawerContainer; protected View mDrawerPullout; protected ActionBarDrawerToggle mDrawerToggle; @@ -515,8 +518,6 @@ public abstract class AbstractActivityController implements ActivityController, } }; - private final HomeButtonListener mHomeButtonListener = new HomeButtonListener(); - public AbstractActivityController(MailActivity activity, ViewMode viewMode) { mActivity = activity; mFragmentManager = mActivity.getFragmentManager(); @@ -1343,13 +1344,7 @@ public abstract class AbstractActivityController implements ActivityController, */ @Override public void onClick(View view) { - final int viewId = view.getId(); - if (viewId == R.id.compose_button) { - ComposeActivity.compose(mActivity.getActivityContext(), getAccount()); - } else if (viewId == android.R.id.home) { - // TODO: b/16627877 - onUpPressed(); - } + ComposeActivity.compose(mActivity.getActivityContext(), getAccount()); } /** @@ -1630,11 +1625,22 @@ public abstract class AbstractActivityController implements ActivityController, @Override public final boolean onUpPressed() { + for (UpOrBackHandler h : mUpOrBackHandlers) { + if (h.onUpPressed()) { + return true; + } + } return handleUpPress(); } @Override public final boolean onBackPressed() { + for (UpOrBackHandler h : mUpOrBackHandlers) { + if (h.onBackPressed()) { + return true; + } + } + if (isDrawerEnabled() && mDrawerContainer.isDrawerVisible(mDrawerPullout)) { mDrawerContainer.closeDrawers(); return true; @@ -1648,6 +1654,19 @@ public abstract class AbstractActivityController implements ActivityController, protected abstract boolean handleUpPress(); @Override + public void addUpOrBackHandler(UpOrBackHandler handler) { + if (mUpOrBackHandlers.contains(handler)) { + return; + } + mUpOrBackHandlers.addFirst(handler); + } + + @Override + public void removeUpOrBackHandler(UpOrBackHandler handler) { + mUpOrBackHandlers.remove(handler); + } + + @Override public void updateConversation(Collection<Conversation> target, ContentValues values) { mConversationListCursor.updateValues(target, values); refreshConversationList(); @@ -4488,18 +4507,4 @@ public abstract class AbstractActivityController implements ActivityController, final Parcelable savedPosition) { mConversationListScrollPositions.putParcelable(folderUri, savedPosition); } - - @Override - public View.OnClickListener getNavigationViewClickListener() { - return mHomeButtonListener; - } - - // TODO: Fold this into the outer class when b/16627877 is fixed - private class HomeButtonListener implements View.OnClickListener { - - @Override - public void onClick(View v) { - onUpPressed(); - } - } } diff --git a/src/com/android/mail/ui/ActivityController.java b/src/com/android/mail/ui/ActivityController.java index 9af3e3987..6b0a6d2c1 100644 --- a/src/com/android/mail/ui/ActivityController.java +++ b/src/com/android/mail/ui/ActivityController.java @@ -27,7 +27,6 @@ import android.view.KeyEvent; import android.view.Menu; import android.view.MenuItem; import android.view.MotionEvent; -import android.view.View; import com.android.mail.ConversationListContext; import com.android.mail.browse.ConversationCursor.ConversationListener; @@ -63,7 +62,7 @@ public interface ActivityController extends LayoutListener, FolderChangeListener, ConversationSetObserver, ConversationListener, FolderSelector, UndoListener, ConversationUpdater, ErrorListener, FolderController, AccountController, ConversationPositionTracker.Callbacks, ConversationListFooterView.FooterViewClickListener, - RecentFolderController, FragmentLauncher { + RecentFolderController, UpOrBackController, FragmentLauncher { // As far as possible, the methods here that correspond to Activity lifecycle have the same name // as their counterpart in the Activity lifecycle. @@ -326,7 +325,7 @@ public interface ActivityController extends LayoutListener, * Currently this is used for when the drawer is open to hide certain * items that are not applicable while the drawer is open. */ - boolean shouldHideMenuItems(); + public boolean shouldHideMenuItems(); DrawerController getDrawerController(); @@ -335,6 +334,4 @@ public interface ActivityController extends LayoutListener, * @return Resource ID */ @LayoutRes int getContentViewResource(); - - View.OnClickListener getNavigationViewClickListener(); } diff --git a/src/com/android/mail/ui/ControllableActivity.java b/src/com/android/mail/ui/ControllableActivity.java index 0600be697..2280e9799 100644 --- a/src/com/android/mail/ui/ControllableActivity.java +++ b/src/com/android/mail/ui/ControllableActivity.java @@ -99,6 +99,8 @@ public interface ControllableActivity extends RestrictedActivity, */ RecentFolderController getRecentFolderController(); + UpOrBackController getUpOrBackController(); + DrawerController getDrawerController(); void startDragMode(); diff --git a/src/com/android/mail/ui/FolderSelectionActivity.java b/src/com/android/mail/ui/FolderSelectionActivity.java index 781f44ef9..48f7f0f8b 100644 --- a/src/com/android/mail/ui/FolderSelectionActivity.java +++ b/src/com/android/mail/ui/FolderSelectionActivity.java @@ -436,6 +436,12 @@ public class FolderSelectionActivity extends Activity implements OnClickListener } @Override + public UpOrBackController getUpOrBackController() { + // Unsupported + return null; + } + + @Override public DrawerController getDrawerController() { // Unsupported return null; diff --git a/src/com/android/mail/ui/MailActivity.java b/src/com/android/mail/ui/MailActivity.java index 9b0acf44a..f8812f395 100644 --- a/src/com/android/mail/ui/MailActivity.java +++ b/src/com/android/mail/ui/MailActivity.java @@ -170,15 +170,15 @@ public class MailActivity extends AbstractMailActivity implements ControllableAc setContentView(mController.getContentViewResource()); + /* + Blocked: b/16491458 if (Utils.isRunningLOrLater()) { final Toolbar toolbar = (Toolbar) findViewById(R.id.action_bar); - // Toolbar is currently only used on phone layout, so this is expected to be null - // on tablets if (toolbar != null) { setActionBar(toolbar); - toolbar.setNavigationOnClickListener(mController.getNavigationViewClickListener()); } } + */ final ActionBar actionBar = getActionBar(); if (actionBar != null) { @@ -415,6 +415,11 @@ public class MailActivity extends AbstractMailActivity implements ControllableAc } @Override + public UpOrBackController getUpOrBackController() { + return mController; + } + + @Override public DrawerController getDrawerController() { return mController.getDrawerController(); } |