Removed references to ATMS.getLockTaskController() from AMS (34/n)
Should only be access from ATMS side.
Bug: 80414790
Test: Existing tests pass
Change-Id: I84d43fdb8654c7f19d39ec660d64b2dabef43b83
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index 9c4f187e..b6f4d7f 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -5815,16 +5815,7 @@
@Override
public void updateLockTaskPackages(int userId, String[] packages) {
- final int callingUid = Binder.getCallingUid();
- if (callingUid != 0 && callingUid != SYSTEM_UID) {
- enforceCallingPermission(android.Manifest.permission.UPDATE_LOCK_TASK_PACKAGES,
- "updateLockTaskPackages()");
- }
- synchronized (this) {
- if (DEBUG_LOCKTASK) Slog.w(TAG_LOCKTASK, "Whitelisting " + userId + ":" +
- Arrays.toString(packages));
- mActivityTaskManager.getLockTaskController().updateLockTaskPackages(userId, packages);
- }
+ mActivityTaskManager.updateLockTaskPackages(userId, packages);
}
@Override
diff --git a/services/core/java/com/android/server/am/ActivityTaskManagerService.java b/services/core/java/com/android/server/am/ActivityTaskManagerService.java
index c89c8db..4ae9856 100644
--- a/services/core/java/com/android/server/am/ActivityTaskManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityTaskManagerService.java
@@ -273,6 +273,7 @@
import java.lang.ref.WeakReference;
import java.text.DateFormat;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
@@ -2512,6 +2513,20 @@
}
@Override
+ public void updateLockTaskPackages(int userId, String[] packages) {
+ final int callingUid = Binder.getCallingUid();
+ if (callingUid != 0 && callingUid != SYSTEM_UID) {
+ mAmInternal.enforceCallingPermission(Manifest.permission.UPDATE_LOCK_TASK_PACKAGES,
+ "updateLockTaskPackages()");
+ }
+ synchronized (this) {
+ if (DEBUG_LOCKTASK) Slog.w(TAG_LOCKTASK, "Whitelisting " + userId + ":"
+ + Arrays.toString(packages));
+ getLockTaskController().updateLockTaskPackages(userId, packages);
+ }
+ }
+
+ @Override
public boolean isInLockTaskMode() {
return getLockTaskModeState() != LOCK_TASK_MODE_NONE;
}
@@ -4613,17 +4628,6 @@
}
}
- void updateUserConfiguration() {
- synchronized (mGlobalLock) {
- final Configuration configuration = new Configuration(getGlobalConfiguration());
- final int currentUserId = mAmInternal.getCurrentUserId();
- Settings.System.adjustConfigurationForUser(mContext.getContentResolver(), configuration,
- currentUserId, Settings.System.canWrite(mContext));
- updateConfigurationLocked(configuration, null /* starting */, false /* initLocale */,
- false /* persistent */, currentUserId, false /* deferResume */);
- }
- }
-
private boolean updateConfigurationLocked(Configuration values, ActivityRecord starting,
boolean initLocale, boolean persistent, int userId, boolean deferResume) {
return updateConfigurationLocked(values, starting, initLocale, persistent, userId,
@@ -6767,5 +6771,25 @@
return mPreviousProcess;
}
}
+
+ @Override
+ public void clearLockedTasks(String reason) {
+ synchronized (mGlobalLock) {
+ getLockTaskController().clearLockedTasks(reason);
+ }
+ }
+
+ @Override
+ public void updateUserConfiguration() {
+ synchronized (mGlobalLock) {
+ final Configuration configuration = new Configuration(getGlobalConfiguration());
+ final int currentUserId = mAmInternal.getCurrentUserId();
+ Settings.System.adjustConfigurationForUser(mContext.getContentResolver(),
+ configuration, currentUserId, Settings.System.canWrite(mContext));
+ updateConfigurationLocked(configuration, null /* starting */,
+ false /* initLocale */, false /* persistent */, currentUserId,
+ false /* deferResume */);
+ }
+ }
}
}
diff --git a/services/core/java/com/android/server/am/LockTaskController.java b/services/core/java/com/android/server/am/LockTaskController.java
index 5b31d5f..d5f2d34 100644
--- a/services/core/java/com/android/server/am/LockTaskController.java
+++ b/services/core/java/com/android/server/am/LockTaskController.java
@@ -78,7 +78,8 @@
* mode that can be launched via System UI as well as the fully locked mode that can be achieved
* on fully managed devices.
*
- * Note: All methods in this class should only be called with the ActivityManagerService lock held.
+ * Note: All methods in this class should only be called with the ActivityTaskManagerService lock
+ * held.
*
* @see Activity#startLockTask()
* @see Activity#stopLockTask()
diff --git a/services/core/java/com/android/server/am/UserController.java b/services/core/java/com/android/server/am/UserController.java
index decb194..81f853d 100644
--- a/services/core/java/com/android/server/am/UserController.java
+++ b/services/core/java/com/android/server/am/UserController.java
@@ -2189,7 +2189,7 @@
}
void updateUserConfiguration() {
- mService.mActivityTaskManager.updateUserConfiguration();
+ mService.mAtmInternal.updateUserConfiguration();
}
void clearBroadcastQueueForUser(int userId) {
@@ -2199,9 +2199,7 @@
}
void loadUserRecents(int userId) {
- synchronized (mService) {
- mService.mAtmInternal.loadRecentTasksForUser(userId);
- }
+ mService.mAtmInternal.loadRecentTasksForUser(userId);
}
void startPersistentApps(int matchFlags) {
@@ -2254,9 +2252,7 @@
}
protected void clearAllLockedTasks(String reason) {
- synchronized (mService) {
- mService.mActivityTaskManager.getLockTaskController().clearLockedTasks(reason);
- }
+ mService.mAtmInternal.clearLockedTasks(reason);
}
protected boolean isCallerRecents(int callingUid) {