diff options
author | Jun Mukai <mukai@google.com> | 2015-05-12 12:32:12 -0700 |
---|---|---|
committer | Jun Mukai <mukai@google.com> | 2015-05-12 14:34:35 -0700 |
commit | 8af0cd808e62973889cd43e2c989220f27d70dd4 (patch) | |
tree | 337242075af8a9598fcf6b31b3cd22c47f4d8f95 | |
parent | 44d0aacd5f44623ba87f1c8b3693d74df69d50e5 (diff) | |
download | android_packages_apps_Trebuchet-8af0cd808e62973889cd43e2c989220f27d70dd4.tar.gz android_packages_apps_Trebuchet-8af0cd808e62973889cd43e2c989220f27d70dd4.tar.bz2 android_packages_apps_Trebuchet-8af0cd808e62973889cd43e2c989220f27d70dd4.zip |
Introduce LauncherSearchCallback to handle search overlay status.
Bug: 20011047
Change-Id: I93cab4e0614b9658b4b657dd98dca68d42580e63
-rw-r--r-- | src/com/android/launcher3/Launcher.java | 41 | ||||
-rw-r--r-- | src/com/android/launcher3/LauncherCallbacks.java | 7 | ||||
-rw-r--r-- | src/com/android/launcher3/LauncherExtension.java | 5 |
3 files changed, 53 insertions, 0 deletions
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 16e4ce644..3d8890642 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -546,6 +546,35 @@ public class Launcher extends Activity } } }); + mLauncherCallbacks.setLauncherSearchCallback(new Launcher.LauncherSearchCallbacks() { + private boolean mImportanceStored = false; + private int mWorkspaceImportanceForAccessibility = + View.IMPORTANT_FOR_ACCESSIBILITY_AUTO; + private int mHotseatImportanceForAccessibility = View.IMPORTANT_FOR_ACCESSIBILITY_AUTO; + + @Override + public void onSearchOverlayOpened() { + if (mImportanceStored) { + return; + } + // The underlying workspace and hotseat are temporarily suppressed by the search + // overlay. So they sholudn't be accessible. + mWorkspaceImportanceForAccessibility = mWorkspace.getImportantForAccessibility(); + mHotseatImportanceForAccessibility = mHotseat.getImportantForAccessibility(); + mWorkspace.setImportantForAccessibility( + View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS); + mHotseat.setImportantForAccessibility( + View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS); + mImportanceStored = true; + } + + @Override + public void onSearchOverlayClosed() { + mWorkspace.setImportantForAccessibility(mWorkspaceImportanceForAccessibility); + mHotseat.setImportantForAccessibility(mHotseatImportanceForAccessibility); + mImportanceStored = false; + } + }); return true; } @@ -1192,6 +1221,18 @@ public class Launcher extends Activity public void dismissAllApps(); } + public interface LauncherSearchCallbacks { + /** + * Called when the search overlay is shown. + */ + public void onSearchOverlayOpened(); + + /** + * Called when the search overlay is dismissed. + */ + public void onSearchOverlayClosed(); + } + public interface LauncherOverlayCallbacks { /** * This method indicates whether a call to {@link #enterFullImmersion()} will succeed, diff --git a/src/com/android/launcher3/LauncherCallbacks.java b/src/com/android/launcher3/LauncherCallbacks.java index 0124d1f28..a5f36ba93 100644 --- a/src/com/android/launcher3/LauncherCallbacks.java +++ b/src/com/android/launcher3/LauncherCallbacks.java @@ -119,4 +119,11 @@ public interface LauncherCallbacks { */ public void setLauncherAppsCallback(Object callbacks); + /** + * Sets the callbacks to allow reacting the actions of search overlays of the launcher. + * + * @param callbacks A set of callbacks to the Launcher, is actually a LauncherSearchCallback, + * but for implementation purposes is passed around as an object. + */ + public void setLauncherSearchCallback(Object callbacks); } diff --git a/src/com/android/launcher3/LauncherExtension.java b/src/com/android/launcher3/LauncherExtension.java index 14ad6016c..09a105bcc 100644 --- a/src/com/android/launcher3/LauncherExtension.java +++ b/src/com/android/launcher3/LauncherExtension.java @@ -289,6 +289,11 @@ public class LauncherExtension extends Launcher { // Do nothing } + @Override + public void setLauncherSearchCallback(Object callbacks) { + // Do nothing + } + class LauncherExtensionOverlay implements LauncherOverlay { LauncherOverlayCallbacks mLauncherOverlayCallbacks; ViewGroup mOverlayView; |