summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2022-09-29 20:39:30 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2022-09-29 20:39:30 +0000
commit677d18848ecbfe6301ab1661de695ac3737fa14d (patch)
treec6c9d86ea512a45a0e27c3ef3d0baf4953a58740
parent67457fc6c1dbce6cfc8d2b4181bb2d58f16ec955 (diff)
parente95e91730e5c72a2a99b7bcc339d45712b54354f (diff)
Merge "Add updateLockTaskPackages API to ActivityTaskManager"
-rw-r--r--core/api/test-current.txt1
-rw-r--r--core/java/android/app/ActivityTaskManager.java10
-rw-r--r--core/java/android/app/IActivityTaskManager.aidl1
-rw-r--r--packages/Shell/AndroidManifest.xml3
4 files changed, 15 insertions, 0 deletions
diff --git a/core/api/test-current.txt b/core/api/test-current.txt
index e08cef92fc6c..fa55178778b9 100644
--- a/core/api/test-current.txt
+++ b/core/api/test-current.txt
@@ -197,6 +197,7 @@ package android.app {
method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public void stopSystemLockTaskMode();
method public static boolean supportsMultiWindow(android.content.Context);
method public static boolean supportsSplitScreenMultiWindow(android.content.Context);
+ method @RequiresPermission("android.permission.UPDATE_LOCK_TASK_PACKAGES") public void updateLockTaskPackages(@NonNull android.content.Context, @NonNull String[]);
field public static final int DEFAULT_MINIMAL_SPLIT_SCREEN_DISPLAY_SIZE_DP = 440; // 0x1b8
field public static final int INVALID_STACK_ID = -1; // 0xffffffff
}
diff --git a/core/java/android/app/ActivityTaskManager.java b/core/java/android/app/ActivityTaskManager.java
index f17d5b7c0190..7cfca979ed0f 100644
--- a/core/java/android/app/ActivityTaskManager.java
+++ b/core/java/android/app/ActivityTaskManager.java
@@ -496,6 +496,16 @@ public class ActivityTaskManager {
}
}
+ /** Update the list of packages allowed in lock task mode. */
+ @RequiresPermission(android.Manifest.permission.UPDATE_LOCK_TASK_PACKAGES)
+ public void updateLockTaskPackages(@NonNull Context context, @NonNull String[] packages) {
+ try {
+ getService().updateLockTaskPackages(context.getUserId(), packages);
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
/**
* Information you can retrieve about a root task in the system.
* @hide
diff --git a/core/java/android/app/IActivityTaskManager.aidl b/core/java/android/app/IActivityTaskManager.aidl
index 6576a1a5d3c2..7c357a62d5b7 100644
--- a/core/java/android/app/IActivityTaskManager.aidl
+++ b/core/java/android/app/IActivityTaskManager.aidl
@@ -173,6 +173,7 @@ interface IActivityTaskManager {
Rect getTaskBounds(int taskId);
void cancelRecentsAnimation(boolean restoreHomeRootTaskPosition);
+ @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.UPDATE_LOCK_TASK_PACKAGES)")
void updateLockTaskPackages(int userId, in String[] packages);
boolean isInLockTaskMode();
int getLockTaskModeState();
diff --git a/packages/Shell/AndroidManifest.xml b/packages/Shell/AndroidManifest.xml
index 6c17036b3f5f..6fe80875c65b 100644
--- a/packages/Shell/AndroidManifest.xml
+++ b/packages/Shell/AndroidManifest.xml
@@ -705,6 +705,9 @@
<!-- Permission required for CTS test - CtsKeystoreTestCases -->
<uses-permission android:name="android.permission.REQUEST_UNIQUE_ID_ATTESTATION" />
+ <!-- Permission required for CTS test - CtsWindowManagerDeviceTestCases-->
+ <uses-permission android:name="android.permission.UPDATE_LOCK_TASK_PACKAGES" />
+
<application android:label="@string/app_label"
android:theme="@android:style/Theme.DeviceDefault.DayNight"
android:defaultToDeviceProtectedStorage="true"