summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJun Mukai <mukai@google.com>2015-05-12 12:32:12 -0700
committerJun Mukai <mukai@google.com>2015-05-12 14:34:35 -0700
commit8af0cd808e62973889cd43e2c989220f27d70dd4 (patch)
tree337242075af8a9598fcf6b31b3cd22c47f4d8f95 /src
parent44d0aacd5f44623ba87f1c8b3693d74df69d50e5 (diff)
downloadandroid_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
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher3/Launcher.java41
-rw-r--r--src/com/android/launcher3/LauncherCallbacks.java7
-rw-r--r--src/com/android/launcher3/LauncherExtension.java5
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;