diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/recents/Recents.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/recents/Recents.java b/packages/SystemUI/src/com/android/systemui/recents/Recents.java index 1657bfa55bf6..d10e080a5443 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/Recents.java +++ b/packages/SystemUI/src/com/android/systemui/recents/Recents.java @@ -54,6 +54,7 @@ import com.android.systemui.plugins.PluginActivityManager; import com.android.systemui.recents.events.EventBus; import com.android.systemui.recents.events.activity.ConfigurationChangedEvent; import com.android.systemui.recents.events.activity.DockedTopTaskEvent; +import com.android.systemui.recents.events.activity.LaunchTaskFailedEvent; import com.android.systemui.recents.events.activity.RecentsActivityStartingEvent; import com.android.systemui.recents.events.component.RecentsVisibilityChangedEvent; import com.android.systemui.recents.events.component.ScreenPinningRequestEvent; @@ -613,6 +614,14 @@ public class Recents extends SystemUI } }); } + + // This will catch the cases when a user launches from recents to another app + // (and vice versa) that is not in the recents stack (such as home or bugreport) and it + // would not reset the wait for transition flag. This will catch it and make sure that the + // flag is reset. + if (!event.visible) { + mImpl.setWaitingForTransitionStart(false); + } } /** @@ -685,6 +694,11 @@ public class Recents extends SystemUI } } + public final void onBusEvent(LaunchTaskFailedEvent event) { + // Reset the transition when tasks fail to launch + mImpl.setWaitingForTransitionStart(false); + } + public final void onBusEvent(ConfigurationChangedEvent event) { // Update the configuration for the Recents component when the activity configuration // changes as well |