Merge "Introduce LauncherSearchCallback to handle search overlay status." into ub-launcher3-burnaby
This commit is contained in:
@@ -558,6 +558,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;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1207,6 +1236,18 @@ public class Launcher extends Activity
|
|||||||
public void dismissAllApps();
|
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 {
|
public interface LauncherOverlayCallbacks {
|
||||||
/**
|
/**
|
||||||
* This method indicates whether a call to {@link #enterFullImmersion()} will succeed,
|
* This method indicates whether a call to {@link #enterFullImmersion()} will succeed,
|
||||||
|
|||||||
@@ -119,4 +119,11 @@ public interface LauncherCallbacks {
|
|||||||
*/
|
*/
|
||||||
public void setLauncherAppsCallback(Object callbacks);
|
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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -289,6 +289,11 @@ public class LauncherExtension extends Launcher {
|
|||||||
// Do nothing
|
// Do nothing
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setLauncherSearchCallback(Object callbacks) {
|
||||||
|
// Do nothing
|
||||||
|
}
|
||||||
|
|
||||||
class LauncherExtensionOverlay implements LauncherOverlay {
|
class LauncherExtensionOverlay implements LauncherOverlay {
|
||||||
LauncherOverlayCallbacks mLauncherOverlayCallbacks;
|
LauncherOverlayCallbacks mLauncherOverlayCallbacks;
|
||||||
ViewGroup mOverlayView;
|
ViewGroup mOverlayView;
|
||||||
|
|||||||
Reference in New Issue
Block a user