diff options
author | Vadim Tryshev <vadimt@google.com> | 2018-11-12 16:11:55 -0800 |
---|---|---|
committer | Vadim Tryshev <vadimt@google.com> | 2018-11-12 16:11:55 -0800 |
commit | e45e60140e3d65de8f80e9351071b187d3a54946 (patch) | |
tree | 6445ddba33c537c92b892665f635e1b905cee36e /src/com/android/launcher3/states | |
parent | 7b3c12f90e379974c195fe7f5c109c7c5d5a0e3c (diff) | |
download | android_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.java | 5 |
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; |