Merge "Go back to previous state when hitting back from discovery bounce" into ub-launcher3-edmonton
diff --git a/src/com/android/launcher3/AbstractFloatingView.java b/src/com/android/launcher3/AbstractFloatingView.java
index c1f083d..c75509e 100644
--- a/src/com/android/launcher3/AbstractFloatingView.java
+++ b/src/com/android/launcher3/AbstractFloatingView.java
@@ -123,9 +123,11 @@
protected abstract boolean isOfType(@FloatingViewType int type);
- public void onBackPressed() {
+ /** @return Whether the back is consumed. If false, Launcher will handle the back as well. */
+ public boolean onBackPressed() {
logActionCommand(Action.Command.BACK);
close(true);
+ return true;
}
@Override
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 71ce8c4..14390ec 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -1599,8 +1599,8 @@
// by using if-else statements.
UserEventDispatcher ued = getUserEventDispatcher();
AbstractFloatingView topView = AbstractFloatingView.getTopOpenView(this);
- if (topView != null) {
- topView.onBackPressed();
+ if (topView != null && topView.onBackPressed()) {
+ // Handled by the floating view.
} else if (!isInState(NORMAL)) {
LauncherState lastState = mStateManager.getLastState();
ued.logActionCommand(Action.Command.BACK, mStateManager.getState().containerType,
diff --git a/src/com/android/launcher3/allapps/DiscoveryBounce.java b/src/com/android/launcher3/allapps/DiscoveryBounce.java
index deaf8d3..e1cd06a 100644
--- a/src/com/android/launcher3/allapps/DiscoveryBounce.java
+++ b/src/com/android/launcher3/allapps/DiscoveryBounce.java
@@ -84,6 +84,14 @@
}
@Override
+ public boolean onBackPressed() {
+ super.onBackPressed();
+ // Go back to the previous state (from a user's perspective this floating view isn't
+ // something to go back from).
+ return false;
+ }
+
+ @Override
public boolean onControllerInterceptTouchEvent(MotionEvent ev) {
handleClose(false);
return false;
diff --git a/src/com/android/launcher3/folder/Folder.java b/src/com/android/launcher3/folder/Folder.java
index b49952f..6b13da7 100644
--- a/src/com/android/launcher3/folder/Folder.java
+++ b/src/com/android/launcher3/folder/Folder.java
@@ -1437,12 +1437,13 @@
}
@Override
- public void onBackPressed() {
+ public boolean onBackPressed() {
if (isEditingName()) {
mFolderName.dispatchBackKey();
} else {
super.onBackPressed();
}
+ return true;
}
@Override