summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/states
diff options
context:
space:
mode:
authorVadim Tryshev <vadimt@google.com>2018-11-12 16:11:55 -0800
committerVadim Tryshev <vadimt@google.com>2018-11-12 16:11:55 -0800
commite45e60140e3d65de8f80e9351071b187d3a54946 (patch)
tree6445ddba33c537c92b892665f635e1b905cee36e /src/com/android/launcher3/states
parent7b3c12f90e379974c195fe7f5c109c7c5d5a0e3c (diff)
downloadandroid_packages_apps_Trebuchet-e45e60140e3d65de8f80e9351071b187d3a54946.tar.gz
android_packages_apps_Trebuchet-e45e60140e3d65de8f80e9351071b187d3a54946.tar.bz2
android_packages_apps_Trebuchet-e45e60140e3d65de8f80e9351071b187d3a54946.zip
Fix showing strange Launcher on pressing Home.
Bug: 118441555 Test: manual, race condition repro, TaplTests Change-Id: I8b09895558f8baa72eb3a794724170417fadfda6
Diffstat (limited to 'src/com/android/launcher3/states')
-rw-r--r--src/com/android/launcher3/states/InternalStateHandler.java5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/com/android/launcher3/states/InternalStateHandler.java b/src/com/android/launcher3/states/InternalStateHandler.java
index c6370c5c5..d326ff384 100644
--- a/src/com/android/launcher3/states/InternalStateHandler.java
+++ b/src/com/android/launcher3/states/InternalStateHandler.java
@@ -36,6 +36,7 @@ import java.lang.ref.WeakReference;
public abstract class InternalStateHandler extends Binder {
public static final String EXTRA_STATE_HANDLER = "launcher.state_handler";
+ public static final String EXTRA_FROM_HOME_KEY = "android.intent.extra.FROM_HOME_KEY";
private static final Scheduler sScheduler = new Scheduler();
@@ -76,6 +77,10 @@ public abstract class InternalStateHandler extends Binder {
Launcher launcher, Intent intent, boolean alreadyOnHome, boolean explicitIntent) {
boolean result = false;
if (intent != null && intent.getExtras() != null) {
+ // If we know that this the intent comes from pressing Home, defer to the default
+ // processing.
+ if (intent.hasExtra(EXTRA_FROM_HOME_KEY)) return false;
+
IBinder stateBinder = intent.getExtras().getBinder(EXTRA_STATE_HANDLER);
if (stateBinder instanceof InternalStateHandler) {
InternalStateHandler handler = (InternalStateHandler) stateBinder;