Merge changes from topic "bt-tile" into main
* changes:
Handle bluetooth callback and toggle switch, also moved `getDeviceItems` to background thread.
Filled in devices for BluetoothTileDialog and implemented click callback.
Create BluetoothTileDialog.
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 700fae9..33cb85c 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -4681,9 +4681,12 @@
@UserIdInt int userId, @NonNull String recentCallingPackage,
@NonNull String debugInfo) {
synchronized (mLock) {
- final PackageUserStateInternal userState = mSettings.getPackageLPr(
- packageName).getUserStateOrDefault(userId);
- if (userState.isQuarantined()) {
+ final PackageSetting pkgSetting = mSettings.getPackageLPr(packageName);
+ // If the package doesn't exist, don't need to proceed to setPackageStoppedState.
+ if (pkgSetting == null) {
+ return;
+ }
+ if (pkgSetting.getUserStateOrDefault(userId).isQuarantined()) {
Slog.i(TAG,
"Component is quarantined+suspended but being used: "
+ packageName + " by " + recentCallingPackage + ", debugInfo: "
diff --git a/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java b/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java
index 1ad5798..901975b 100644
--- a/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java
+++ b/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java
@@ -795,10 +795,19 @@
return false;
}
- // Try pausing the existing resumed activity in the Task if any.
final Task task = r.getTask();
- if (task.pauseActivityIfNeeded(r, "realStart")) {
- return false;
+ if (andResume) {
+ // Try pausing the existing resumed activity in the Task if any.
+ if (task.pauseActivityIfNeeded(r, "realStart")) {
+ return false;
+ }
+ final TaskFragment taskFragment = r.getTaskFragment();
+ if (taskFragment != null && taskFragment.getResumedActivity() != null) {
+ if (taskFragment.startPausing(mUserLeaving, false /* uiSleeping */, r,
+ "realStart")) {
+ return false;
+ }
+ }
}
final Task rootTask = task.getRootTask();