summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndrew Sapperstein <asapperstein@google.com>2014-07-29 02:39:39 +0000
committerAndrew Sapperstein <asapperstein@google.com>2014-08-04 11:18:59 -0700
commit53de448d6c67e56df4e3bcefb3e2d84c810e2e89 (patch)
tree88a0bd622d7eef1bdf28a539f1d383728babdfff /src
parentfdc76bfe9457854495638cc4d4e168bf52fcb24b (diff)
downloadandroid_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.java51
-rw-r--r--src/com/android/mail/ui/ActivityController.java7
-rw-r--r--src/com/android/mail/ui/ControllableActivity.java2
-rw-r--r--src/com/android/mail/ui/FolderSelectionActivity.java6
-rw-r--r--src/com/android/mail/ui/MailActivity.java11
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();
}