diff options
-rw-r--r-- | src/com/android/launcher3/AbstractFloatingView.java | 4 | ||||
-rw-r--r-- | src/com/android/launcher3/Launcher.java | 4 | ||||
-rw-r--r-- | src/com/android/launcher3/allapps/DiscoveryBounce.java | 8 | ||||
-rw-r--r-- | src/com/android/launcher3/folder/Folder.java | 3 |
4 files changed, 15 insertions, 4 deletions
diff --git a/src/com/android/launcher3/AbstractFloatingView.java b/src/com/android/launcher3/AbstractFloatingView.java index 5a1c1580a..b112a8cdf 100644 --- a/src/com/android/launcher3/AbstractFloatingView.java +++ b/src/com/android/launcher3/AbstractFloatingView.java @@ -121,9 +121,11 @@ public abstract class AbstractFloatingView extends LinearLayout implements Touch 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 e851499be..32539cdec 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -1583,8 +1583,8 @@ public class Launcher extends BaseDraggingActivity // 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 deaf8d3c1..e1cd06a8b 100644 --- a/src/com/android/launcher3/allapps/DiscoveryBounce.java +++ b/src/com/android/launcher3/allapps/DiscoveryBounce.java @@ -84,6 +84,14 @@ public class DiscoveryBounce extends AbstractFloatingView { } @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 b49952f15..6b13da70c 100644 --- a/src/com/android/launcher3/folder/Folder.java +++ b/src/com/android/launcher3/folder/Folder.java @@ -1437,12 +1437,13 @@ public class Folder extends AbstractFloatingView implements DragSource, } @Override - public void onBackPressed() { + public boolean onBackPressed() { if (isEditingName()) { mFolderName.dispatchBackKey(); } else { super.onBackPressed(); } + return true; } @Override |