From 24e489e5a397ff1fc917dcd949fa7ee39baa12e9 Mon Sep 17 00:00:00 2001 From: Govinda Wasserman Date: Thu, 28 Mar 2019 12:23:28 -0400 Subject: [PATCH] Adds the ability for Launcher3 to respond to QSB alpha change requests. Test: Tested locally BUG:124063782 Change-Id: I8c4bfaa62d9608fcfffff5e30b2913f3a6fb2f75 (cherry picked from commit 827f0807d3d7c92874541b540350e53a0a434e19) --- .../com/android/quickstep/GoActivityControlHelper.java | 5 +++++ .../com/android/quickstep/TouchInteractionService.java | 5 +++++ .../quickstep/FallbackActivityControllerHelper.java | 5 +++++ .../quickstep/LauncherActivityControllerHelper.java | 9 +++++++++ .../com/android/quickstep/TouchInteractionService.java | 8 ++++++++ .../src/com/android/quickstep/ActivityControlHelper.java | 2 ++ src/com/android/launcher3/Launcher.java | 7 +++++++ 7 files changed, 41 insertions(+) diff --git a/go/quickstep/src/com/android/quickstep/GoActivityControlHelper.java b/go/quickstep/src/com/android/quickstep/GoActivityControlHelper.java index 7078871e90..8b6f8bcfe0 100644 --- a/go/quickstep/src/com/android/quickstep/GoActivityControlHelper.java +++ b/go/quickstep/src/com/android/quickstep/GoActivityControlHelper.java @@ -33,6 +33,11 @@ public abstract class GoActivityControlHelper im // Go does not support swipe up gesture. } + @Override + public void onAssistantVisibilityChanged(float visibility) { + // Go does not support assistant visibility transitions. + } + @Override public HomeAnimationFactory prepareHomeUI(T activity) { // Go does not support gestures from app to home. diff --git a/go/quickstep/src/com/android/quickstep/TouchInteractionService.java b/go/quickstep/src/com/android/quickstep/TouchInteractionService.java index 89a845426f..bcff4e4ec2 100644 --- a/go/quickstep/src/com/android/quickstep/TouchInteractionService.java +++ b/go/quickstep/src/com/android/quickstep/TouchInteractionService.java @@ -83,6 +83,11 @@ public class TouchInteractionService extends Service { // TODO handle assistant } + @Override + public void onAssistantVisibilityChanged(float visibility) { + // TODO handle assistant + } + /** Deprecated methods **/ public void onQuickStep(MotionEvent motionEvent) { } diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/FallbackActivityControllerHelper.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/FallbackActivityControllerHelper.java index 73fcf78b8b..31d6042153 100644 --- a/quickstep/recents_ui_overrides/src/com/android/quickstep/FallbackActivityControllerHelper.java +++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/FallbackActivityControllerHelper.java @@ -75,6 +75,11 @@ public final class FallbackActivityControllerHelper implements // TODO: } + @Override + public void onAssistantVisibilityChanged(float visibility) { + // TODO: + } + @NonNull @Override public HomeAnimationFactory prepareHomeUI(RecentsActivity activity) { diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/LauncherActivityControllerHelper.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/LauncherActivityControllerHelper.java index df2b687b2a..766f4844ca 100644 --- a/quickstep/recents_ui_overrides/src/com/android/quickstep/LauncherActivityControllerHelper.java +++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/LauncherActivityControllerHelper.java @@ -45,6 +45,7 @@ import com.android.launcher3.LauncherAppState; import com.android.launcher3.LauncherInitListener; import com.android.launcher3.LauncherState; import com.android.launcher3.LauncherStateManager; +import com.android.launcher3.Workspace; import com.android.launcher3.allapps.AllAppsTransitionController; import com.android.launcher3.allapps.DiscoveryBounce; import com.android.launcher3.anim.AnimatorPlaybackController; @@ -98,6 +99,14 @@ public final class LauncherActivityControllerHelper implements ActivityControlHe DiscoveryBounce.showForOverviewIfNeeded(activity); } + @Override + public void onAssistantVisibilityChanged(float visibility) { + Launcher launcher = getCreatedActivity(); + if (launcher != null) { + launcher.setQuickSearchBarAlpha(1f - visibility); + } + } + @NonNull @Override public HomeAnimationFactory prepareHomeUI(Launcher activity) { diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/TouchInteractionService.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/TouchInteractionService.java index 323dd9ab79..396bfc2240 100644 --- a/quickstep/recents_ui_overrides/src/com/android/quickstep/TouchInteractionService.java +++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/TouchInteractionService.java @@ -125,6 +125,14 @@ public class TouchInteractionService extends Service { mAssistantAvailable = available; } + @Override + public void onAssistantVisibilityChanged(float visibility) { + MAIN_THREAD_EXECUTOR.execute(() -> { + mOverviewComponentObserver.getActivityControlHelper() + .onAssistantVisibilityChanged(visibility); + }); + } + /** Deprecated methods **/ public void onQuickStep(MotionEvent motionEvent) { } diff --git a/quickstep/src/com/android/quickstep/ActivityControlHelper.java b/quickstep/src/com/android/quickstep/ActivityControlHelper.java index 418f7f4424..a71b7bb859 100644 --- a/quickstep/src/com/android/quickstep/ActivityControlHelper.java +++ b/quickstep/src/com/android/quickstep/ActivityControlHelper.java @@ -53,6 +53,8 @@ public interface ActivityControlHelper { void onSwipeUpComplete(T activity); + void onAssistantVisibilityChanged(float visibility); + @NonNull HomeAnimationFactory prepareHomeUI(T activity); AnimationFactory prepareRecentsUI(T activity, boolean activityVisible, diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 89236aaa25..f8d99595eb 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -408,6 +408,13 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns, onIdpChanged(idp); } + public void setQuickSearchBarAlpha(float alpha) { + View qsbAllApps = findViewById(R.id.search_container_all_apps); + if (qsbAllApps != null) { + qsbAllApps.setAlpha(alpha); + } + } + private void onIdpChanged(InvariantDeviceProfile idp) { mUserEventDispatcher = null;