Merge "Exposing setRecentsVisibility method and associated callbacks to the Recents components" into pi-dev
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/WindowManagerWrapper.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/WindowManagerWrapper.java
index 68e3b92..1332d38 100644
--- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/WindowManagerWrapper.java
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/WindowManagerWrapper.java
@@ -123,4 +123,12 @@
Log.w(TAG, "Failed to set shelf height");
}
}
+
+ public void setRecentsVisibility(boolean visible) {
+ try {
+ WindowManagerGlobal.getWindowManagerService().setRecentsVisibility(visible);
+ } catch (RemoteException e) {
+ Log.w(TAG, "Failed to set recents visibility");
+ }
+ }
}
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index 7512486..94b853f 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -5943,12 +5943,8 @@
@Override
public void setRecentsVisibility(boolean visible) {
- if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.STATUS_BAR)
- != PackageManager.PERMISSION_GRANTED) {
- throw new SecurityException("Caller does not hold permission "
- + android.Manifest.permission.STATUS_BAR);
- }
-
+ mAmInternal.enforceCallerIsRecentsOrHasPermission(android.Manifest.permission.STATUS_BAR,
+ "setRecentsVisibility()");
synchronized (mWindowMap) {
mPolicy.setRecentsVisibilityLw(visible);
}