summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Daniel Norman <danielnorman@google.com> 2023-10-11 21:18:51 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2023-10-11 21:18:51 +0000
commite7bb976d294865d992affaf1a12e4925fcc7583b (patch)
tree04a41ee2dbd9626e009e555d8fb1f6193fccbf65
parent4b0765c01e20dd67b556b12f4e2462a0c843ab60 (diff)
parent1d13538e9a3deb91bcb96546468d195f8e7fb7ba (diff)
Merge "Stops using the deprecated PackageListObserver in A11yManagerService." into main
-rw-r--r--services/accessibility/accessibility.aconfig9
-rw-r--r--services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java42
2 files changed, 29 insertions, 22 deletions
diff --git a/services/accessibility/accessibility.aconfig b/services/accessibility/accessibility.aconfig
index 6fa9c0809f75..10ac2ebc9b2f 100644
--- a/services/accessibility/accessibility.aconfig
+++ b/services/accessibility/accessibility.aconfig
@@ -40,4 +40,11 @@ flag {
namespace: "accessibility"
description: "Whether to set min span of ScaleGestureDetector to zero."
bug: "295327792"
-} \ No newline at end of file
+}
+
+flag {
+ name: "deprecate_package_list_observer"
+ namespace: "accessibility"
+ description: "Stops using the deprecated PackageListObserver."
+ bug: "304561459"
+}
diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
index 60d4ee61fdd4..aa6d800510e1 100644
--- a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
+++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
@@ -841,32 +841,32 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
// package changes
monitor.register(mContext, null, UserHandle.ALL, true);
- // Register an additional observer for new packages using PackageManagerInternal, which
- // generally notifies observers much sooner than the BroadcastReceiver-based PackageMonitor.
- final PackageManagerInternal pm = LocalServices.getService(
- PackageManagerInternal.class);
- if (pm != null) {
- pm.getPackageList(new PackageManagerInternal.PackageListObserver() {
- @Override
- public void onPackageAdded(String packageName, int uid) {
- final int userId = UserHandle.getUserId(uid);
- synchronized (mLock) {
- if (userId == mCurrentUserId) {
- onSomePackagesChangedLocked();
+ if (!Flags.deprecatePackageListObserver()) {
+ final PackageManagerInternal pm = LocalServices.getService(
+ PackageManagerInternal.class);
+ if (pm != null) {
+ pm.getPackageList(new PackageManagerInternal.PackageListObserver() {
+ @Override
+ public void onPackageAdded(String packageName, int uid) {
+ final int userId = UserHandle.getUserId(uid);
+ synchronized (mLock) {
+ if (userId == mCurrentUserId) {
+ onSomePackagesChangedLocked();
+ }
}
}
- }
- @Override
- public void onPackageRemoved(String packageName, int uid) {
- final int userId = UserHandle.getUserId(uid);
- synchronized (mLock) {
- if (userId == mCurrentUserId) {
- onPackageRemovedLocked(packageName);
+ @Override
+ public void onPackageRemoved(String packageName, int uid) {
+ final int userId = UserHandle.getUserId(uid);
+ synchronized (mLock) {
+ if (userId == mCurrentUserId) {
+ onPackageRemovedLocked(packageName);
+ }
}
}
- }
- });
+ });
+ }
}
// user change and unlock