diff options
8 files changed, 27 insertions, 8 deletions
diff --git a/core/tests/packagemonitortests/src/com/android/internal/content/PackageMonitorTest.java b/core/tests/packagemonitortests/src/com/android/internal/content/PackageMonitorTest.java index 03cb17e9087f..1d91af57ca56 100644 --- a/core/tests/packagemonitortests/src/com/android/internal/content/PackageMonitorTest.java +++ b/core/tests/packagemonitortests/src/com/android/internal/content/PackageMonitorTest.java @@ -71,7 +71,7 @@ public class PackageMonitorTest { spyPackageMonitor.register(mMockContext, UserHandle.ALL, mMockHandler); assertThat(spyPackageMonitor.getRegisteredHandler()).isEqualTo(mMockHandler); - verify(mMockContext, times(1)).registerReceiverAsUser(any(), eq(UserHandle.ALL), any(), + verify(mMockContext, never()).registerReceiverAsUser(any(), eq(UserHandle.ALL), any(), eq(null), eq(mMockHandler)); assertThrows(IllegalStateException.class, @@ -97,7 +97,7 @@ public class PackageMonitorTest { @Test public void testPackageMonitorNotRegisterWithoutSupportPackageRestartQuery() throws Exception { - PackageMonitor spyPackageMonitor = spy(new TestPackageMonitor(false)); + PackageMonitor spyPackageMonitor = spy(new TestPackageMonitor()); spyPackageMonitor.register(mMockContext, UserHandle.ALL, mMockHandler); @@ -106,6 +106,16 @@ public class PackageMonitorTest { } @Test + public void testPackageMonitorRegisterWithSupportPackageRestartQuery() throws Exception { + PackageMonitor spyPackageMonitor = spy(new TestPackageMonitor(true)); + + spyPackageMonitor.register(mMockContext, UserHandle.ALL, mMockHandler); + + verify(mMockContext, times(1)).registerReceiverAsUser(any(), eq(UserHandle.ALL), any(), + eq(null), eq(mMockHandler)); + } + + @Test public void testPackageMonitorDoHandlePackageEventUidRemoved() throws Exception { PackageMonitor spyPackageMonitor = spy(new TestPackageMonitor()); @@ -487,7 +497,7 @@ public class PackageMonitorTest { } public TestPackageMonitor() { - super(); + super(false); } } } diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java index ad869a181ef5..2bece6cac95a 100644 --- a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java +++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java @@ -852,7 +852,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub } private void registerBroadcastReceivers() { - mPackageMonitor = new PackageMonitor() { + mPackageMonitor = new PackageMonitor(true) { @Override public void onSomePackagesChanged() { if (mTraceManager.isA11yTracingEnabledForTypes(FLAGS_PACKAGE_BROADCAST_RECEIVER)) { diff --git a/services/core/java/com/android/server/infra/AbstractMasterSystemService.java b/services/core/java/com/android/server/infra/AbstractMasterSystemService.java index ef52d2a85959..e28939bc1fbd 100644 --- a/services/core/java/com/android/server/infra/AbstractMasterSystemService.java +++ b/services/core/java/com/android/server/infra/AbstractMasterSystemService.java @@ -986,7 +986,7 @@ public abstract class AbstractMasterSystemService<M extends AbstractMasterSystem } private void startTrackingPackageChanges() { - final PackageMonitor monitor = new PackageMonitor() { + final PackageMonitor monitor = new PackageMonitor(true) { @Override public void onPackageUpdateStarted(@NonNull String packageName, int uid) { diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java index 44a200e87c35..b2b2c0ef57e6 100644 --- a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java +++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java @@ -934,6 +934,10 @@ public final class InputMethodManagerService implements IInputMethodManagerImpl. */ private ArrayList<String> mDataClearedPackages = new ArrayList<>(); + private MyPackageMonitor() { + super(true); + } + @GuardedBy("ImfLock.class") void clearKnownImePackageNamesLocked() { mKnownImePackageNames.clear(); diff --git a/services/core/java/com/android/server/vr/EnabledComponentsObserver.java b/services/core/java/com/android/server/vr/EnabledComponentsObserver.java index 7126cb51b57f..7c2ce6467122 100644 --- a/services/core/java/com/android/server/vr/EnabledComponentsObserver.java +++ b/services/core/java/com/android/server/vr/EnabledComponentsObserver.java @@ -110,7 +110,7 @@ public class EnabledComponentsObserver implements SettingChangeListener { final EnabledComponentsObserver o = new EnabledComponentsObserver(context, settingName, servicePermission, serviceName, lock, listeners); - PackageMonitor packageMonitor = new PackageMonitor() { + PackageMonitor packageMonitor = new PackageMonitor(true) { @Override public void onSomePackagesChanged() { o.onPackagesChanged(); diff --git a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java index f1ba755836b2..d20b3b22d778 100644 --- a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java +++ b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java @@ -1346,6 +1346,10 @@ public class WallpaperManagerService extends IWallpaperManager.Stub } class MyPackageMonitor extends PackageMonitor { + private MyPackageMonitor() { + super(true); + } + @Override public void onPackageUpdateFinished(String packageName, int uid) { synchronized (mLock) { diff --git a/services/print/java/com/android/server/print/PrintManagerService.java b/services/print/java/com/android/server/print/PrintManagerService.java index 4a8d73d23904..07cda375e1d3 100644 --- a/services/print/java/com/android/server/print/PrintManagerService.java +++ b/services/print/java/com/android/server/print/PrintManagerService.java @@ -875,7 +875,7 @@ public final class PrintManagerService extends SystemService { } private void registerBroadcastReceivers() { - PackageMonitor monitor = new PackageMonitor() { + PackageMonitor monitor = new PackageMonitor(true) { /** * Checks if the package contains a print service. * diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java index e5d7b40e7fa1..1d014201cf46 100644 --- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java +++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java @@ -2538,7 +2538,8 @@ public class VoiceInteractionManagerService extends SystemService { } } - PackageMonitor mPackageMonitor = new PackageMonitor() { + PackageMonitor mPackageMonitor = new PackageMonitor( + /* supportsPackageRestartQuery= */ true) { @Override public boolean onHandleForceStop(Intent intent, String[] packages, int uid, |