From 74ece6b021eaf824ebf9219383d86e6860ac6088 Mon Sep 17 00:00:00 2001 From: James O'Leary Date: Thu, 25 Jul 2019 10:22:02 -0400 Subject: Fix QSB becoming invisible This could not be reproduced until I removed a line that wouldn't call onAssistantVisiblityChanged if the argument was the same value as the argument as the previous call. After that, the bug became readily reproducible. I traced through Launcher till I found that FallbackActivityControllerHelper .onAssistantVisibilityChanged was being called while the screen was locked, proving that onAssistantVisiblityChanged was _not_ reaching launcher. Test: Verify bug no longer reproduces. Bug: 134981174 Bug: 135247753 Bug: 135572849 Bug: 135733393 Bug: 136386749 Bug: 136776987 Bug: 137534772 Bug: 137764419 Change-Id: Ib5e8df3b5030a77c5df351a1fcd993db6bd602fc --- .../src/com/android/quickstep/OverviewComponentObserver.java | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'quickstep/src') diff --git a/quickstep/src/com/android/quickstep/OverviewComponentObserver.java b/quickstep/src/com/android/quickstep/OverviewComponentObserver.java index 4a2ed3a3d..88a4eb6d1 100644 --- a/quickstep/src/com/android/quickstep/OverviewComponentObserver.java +++ b/quickstep/src/com/android/quickstep/OverviewComponentObserver.java @@ -116,6 +116,14 @@ public final class OverviewComponentObserver { .getHomeActivities(new ArrayList<>()); mIsDefaultHome = Objects.equals(mMyHomeIntent.getComponent(), defaultHome); + + // Set assistant visibility to 0 from launcher's perspective, ensures any elements that + // launcher made invisible become visible again before the new activity control helper + // becomes active. + if (mActivityControlHelper != null) { + mActivityControlHelper.onAssistantVisibilityChanged(0.f); + } + if ((mSystemUiStateFlags & SYSUI_STATE_HOME_DISABLED) == 0 && (defaultHome == null || mIsDefaultHome)) { // User default home is same as out home app. Use Overview integrated in Launcher. @@ -131,6 +139,7 @@ public final class OverviewComponentObserver { } } else { // The default home app is a different launcher. Use the fallback Overview instead. + mActivityControlHelper = new FallbackActivityControllerHelper(); mIsHomeAndOverviewSame = false; mOverviewIntent = mFallbackIntent; -- cgit v1.2.3