summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Song Chun Fan <schfan@google.com> 2025-03-05 12:45:03 -0800
committer Android (Google) Code Review <android-gerrit@google.com> 2025-03-05 12:45:03 -0800
commitf0ce57acd66d9182c3288a1f28a18a82fbcfa03f (patch)
tree850068cb3e8efd55ad2e60c69fa4e578680fc37d
parent3eef4944e4e45faea3c0bffb96643a636812665f (diff)
parentd5a9e85c54026ee5450cd9d48d4744c2d10dbc3b (diff)
Merge "[TextClassificationManagerService] hold PackageMonitor object" into main
-rw-r--r--services/core/java/com/android/server/textclassifier/TextClassificationManagerService.java61
1 files changed, 31 insertions, 30 deletions
diff --git a/services/core/java/com/android/server/textclassifier/TextClassificationManagerService.java b/services/core/java/com/android/server/textclassifier/TextClassificationManagerService.java
index 31348cd9156f..17980c02502f 100644
--- a/services/core/java/com/android/server/textclassifier/TextClassificationManagerService.java
+++ b/services/core/java/com/android/server/textclassifier/TextClassificationManagerService.java
@@ -177,6 +177,7 @@ public final class TextClassificationManagerService extends ITextClassifierServi
private final String mDefaultTextClassifierPackage;
@Nullable
private final String mSystemTextClassifierPackage;
+ private final MyPackageMonitor mPackageMonitor;
private TextClassificationManagerService(Context context) {
mContext = Objects.requireNonNull(context);
@@ -187,50 +188,50 @@ public final class TextClassificationManagerService extends ITextClassifierServi
mDefaultTextClassifierPackage = packageManager.getDefaultTextClassifierPackageName();
mSystemTextClassifierPackage = packageManager.getSystemTextClassifierPackageName();
mSessionCache = new SessionCache(mLock);
+ mPackageMonitor = new MyPackageMonitor();
}
private void startListenSettings() {
mSettingsListener.registerObserver();
}
- void startTrackingPackageChanges() {
- final PackageMonitor monitor = new PackageMonitor() {
-
- @Override
- public void onPackageAdded(String packageName, int uid) {
- notifyPackageInstallStatusChange(packageName, /* installed*/ true);
- }
+ private class MyPackageMonitor extends PackageMonitor {
+ @Override
+ public void onPackageAdded(String packageName, int uid) {
+ notifyPackageInstallStatusChange(packageName, /* installed*/ true);
+ }
- @Override
- public void onPackageRemoved(String packageName, int uid) {
- notifyPackageInstallStatusChange(packageName, /* installed= */ false);
- }
+ @Override
+ public void onPackageRemoved(String packageName, int uid) {
+ notifyPackageInstallStatusChange(packageName, /* installed= */ false);
+ }
- @Override
- public void onPackageModified(String packageName) {
- final int userId = getChangingUserId();
- synchronized (mLock) {
- final UserState userState = getUserStateLocked(userId);
- final ServiceState serviceState = userState.getServiceStateLocked(packageName);
- if (serviceState != null) {
- serviceState.onPackageModifiedLocked();
- }
+ @Override
+ public void onPackageModified(String packageName) {
+ final int userId = getChangingUserId();
+ synchronized (mLock) {
+ final UserState userState = getUserStateLocked(userId);
+ final ServiceState serviceState = userState.getServiceStateLocked(packageName);
+ if (serviceState != null) {
+ serviceState.onPackageModifiedLocked();
}
}
+ }
- private void notifyPackageInstallStatusChange(String packageName, boolean installed) {
- final int userId = getChangingUserId();
- synchronized (mLock) {
- final UserState userState = getUserStateLocked(userId);
- final ServiceState serviceState = userState.getServiceStateLocked(packageName);
- if (serviceState != null) {
- serviceState.onPackageInstallStatusChangeLocked(installed);
- }
+ private void notifyPackageInstallStatusChange(String packageName, boolean installed) {
+ final int userId = getChangingUserId();
+ synchronized (mLock) {
+ final UserState userState = getUserStateLocked(userId);
+ final ServiceState serviceState = userState.getServiceStateLocked(packageName);
+ if (serviceState != null) {
+ serviceState.onPackageInstallStatusChangeLocked(installed);
}
}
- };
+ }
+ }
- monitor.register(mContext, null, UserHandle.ALL, true);
+ void startTrackingPackageChanges() {
+ mPackageMonitor.register(mContext, null, UserHandle.ALL, true);
}
@Override