diff options
author | Andrew Sapperstein <asapperstein@google.com> | 2014-07-29 02:39:39 +0000 |
---|---|---|
committer | Andrew Sapperstein <asapperstein@google.com> | 2014-08-04 11:18:59 -0700 |
commit | 53de448d6c67e56df4e3bcefb3e2d84c810e2e89 (patch) | |
tree | 88a0bd622d7eef1bdf28a539f1d383728babdfff /src | |
parent | fdc76bfe9457854495638cc4d4e168bf52fcb24b (diff) | |
download | android_packages_apps_UnifiedEmail-53de448d6c67e56df4e3bcefb3e2d84c810e2e89.tar.gz android_packages_apps_UnifiedEmail-53de448d6c67e56df4e3bcefb3e2d84c810e2e89.tar.bz2 android_packages_apps_UnifiedEmail-53de448d6c67e56df4e3bcefb3e2d84c810e2e89.zip |
Revert "Revert "Megadrawer" until b/16637856 is fixed."
Want this to be ready when the bug is fixed.
This reverts commit c53c887101aa90b5024af635823023aa801e075f.
Change-Id: Ice73a0f48cbe1e949fde3db3719ee86995778ebb
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, 31 insertions, 46 deletions
diff --git a/src/com/android/mail/ui/AbstractActivityController.java b/src/com/android/mail/ui/AbstractActivityController.java index 063493af8..3417ea3b7 100644 --- a/src/com/android/mail/ui/AbstractActivityController.java +++ b/src/com/android/mail/ui/AbstractActivityController.java @@ -114,7 +114,6 @@ 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; @@ -492,8 +491,6 @@ 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; @@ -519,6 +516,8 @@ public abstract class AbstractActivityController implements ActivityController, } }; + private final HomeButtonListener mHomeButtonListener = new HomeButtonListener(); + public AbstractActivityController(MailActivity activity, ViewMode viewMode) { mActivity = activity; mFragmentManager = mActivity.getFragmentManager(); @@ -1359,7 +1358,13 @@ public abstract class AbstractActivityController implements ActivityController, */ @Override public void onClick(View view) { - ComposeActivity.compose(mActivity.getActivityContext(), getAccount()); + 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(); + } } /** @@ -1644,22 +1649,11 @@ 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; @@ -1673,19 +1667,6 @@ 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(); @@ -4548,4 +4529,18 @@ 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 6b0a6d2c1..9af3e3987 100644 --- a/src/com/android/mail/ui/ActivityController.java +++ b/src/com/android/mail/ui/ActivityController.java @@ -27,6 +27,7 @@ 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; @@ -62,7 +63,7 @@ public interface ActivityController extends LayoutListener, FolderChangeListener, ConversationSetObserver, ConversationListener, FolderSelector, UndoListener, ConversationUpdater, ErrorListener, FolderController, AccountController, ConversationPositionTracker.Callbacks, ConversationListFooterView.FooterViewClickListener, - RecentFolderController, UpOrBackController, FragmentLauncher { + RecentFolderController, FragmentLauncher { // As far as possible, the methods here that correspond to Activity lifecycle have the same name // as their counterpart in the Activity lifecycle. @@ -325,7 +326,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. */ - public boolean shouldHideMenuItems(); + boolean shouldHideMenuItems(); DrawerController getDrawerController(); @@ -334,4 +335,6 @@ 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 2280e9799..0600be697 100644 --- a/src/com/android/mail/ui/ControllableActivity.java +++ b/src/com/android/mail/ui/ControllableActivity.java @@ -99,8 +99,6 @@ 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 48f7f0f8b..781f44ef9 100644 --- a/src/com/android/mail/ui/FolderSelectionActivity.java +++ b/src/com/android/mail/ui/FolderSelectionActivity.java @@ -436,12 +436,6 @@ 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 f4c08473a..42b6f7a8e 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,11 +415,6 @@ public class MailActivity extends AbstractMailActivity implements ControllableAc } @Override - public UpOrBackController getUpOrBackController() { - return mController; - } - - @Override public DrawerController getDrawerController() { return mController.getDrawerController(); } |