summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndrew Sapperstein <asapperstein@google.com>2014-07-28 18:11:33 -0700
committerAndrew Sapperstein <asapperstein@google.com>2014-07-28 19:23:16 -0700
commitc53c887101aa90b5024af635823023aa801e075f (patch)
tree3824c161547ec403ca4ec4b1cd1644783402bde6 /src
parentc7c1fae9c00ee6d799a7c89955e3e89791b8bddc (diff)
downloadandroid_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.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, 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();
}