Loading services/core/java/com/android/server/PackageWatchdog.java +14 −13 Original line number Diff line number Diff line Loading @@ -309,13 +309,14 @@ public class PackageWatchdog { */ public void registerHealthObserver(PackageHealthObserver observer) { synchronized (mLock) { ObserverInternal internalObserver = mAllObservers.get(observer.getName()); ObserverInternal internalObserver = mAllObservers.get(observer.getUniqueIdentifier()); if (internalObserver != null) { internalObserver.registeredObserver = observer; } else { internalObserver = new ObserverInternal(observer.getName(), new ArrayList<>()); internalObserver = new ObserverInternal(observer.getUniqueIdentifier(), new ArrayList<>()); internalObserver.registeredObserver = observer; mAllObservers.put(observer.getName(), internalObserver); mAllObservers.put(observer.getUniqueIdentifier(), internalObserver); syncState("added new observer"); } } Loading @@ -342,12 +343,12 @@ public class PackageWatchdog { public void startObservingHealth(PackageHealthObserver observer, List<String> packageNames, long durationMs) { if (packageNames.isEmpty()) { Slog.wtf(TAG, "No packages to observe, " + observer.getName()); Slog.wtf(TAG, "No packages to observe, " + observer.getUniqueIdentifier()); return; } if (durationMs < 1) { Slog.wtf(TAG, "Invalid duration " + durationMs + "ms for observer " + observer.getName() + ". Not observing packages " + packageNames); + observer.getUniqueIdentifier() + ". Not observing packages " + packageNames); durationMs = DEFAULT_OBSERVING_DURATION_MS; } Loading @@ -374,14 +375,14 @@ public class PackageWatchdog { syncState("observing new packages"); synchronized (mLock) { ObserverInternal oldObserver = mAllObservers.get(observer.getName()); ObserverInternal oldObserver = mAllObservers.get(observer.getUniqueIdentifier()); if (oldObserver == null) { Slog.d(TAG, observer.getName() + " started monitoring health " Slog.d(TAG, observer.getUniqueIdentifier() + " started monitoring health " + "of packages " + packageNames); mAllObservers.put(observer.getName(), new ObserverInternal(observer.getName(), packages)); mAllObservers.put(observer.getUniqueIdentifier(), new ObserverInternal(observer.getUniqueIdentifier(), packages)); } else { Slog.d(TAG, observer.getName() + " added the following " Slog.d(TAG, observer.getUniqueIdentifier() + " added the following " + "packages to monitor " + packageNames); oldObserver.updatePackagesLocked(packages); } Loading @@ -405,9 +406,9 @@ public class PackageWatchdog { public void unregisterHealthObserver(PackageHealthObserver observer) { mLongTaskHandler.post(() -> { synchronized (mLock) { mAllObservers.remove(observer.getName()); mAllObservers.remove(observer.getUniqueIdentifier()); } syncState("unregistering observer: " + observer.getName()); syncState("unregistering observer: " + observer.getUniqueIdentifier()); }); } Loading Loading @@ -781,7 +782,7 @@ public class PackageWatchdog { * Identifier for the observer, should not change across device updates otherwise the * watchdog may drop observing packages with the old name. */ String getName(); String getUniqueIdentifier(); /** * An observer will not be pruned if this is set, even if the observer is not explicitly Loading services/core/java/com/android/server/RescueParty.java +1 −1 Original line number Diff line number Diff line Loading @@ -917,7 +917,7 @@ public class RescueParty { } @Override public String getName() { public String getUniqueIdentifier() { return NAME; } Loading services/core/java/com/android/server/rollback/RollbackPackageHealthObserver.java +1 −1 Original line number Diff line number Diff line Loading @@ -230,7 +230,7 @@ public final class RollbackPackageHealthObserver implements PackageHealthObserve @Override public String getName() { public String getUniqueIdentifier() { return NAME; } Loading tests/PackageWatchdog/src/com/android/server/PackageWatchdogTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -1867,7 +1867,7 @@ public class PackageWatchdogTest { return true; } public String getName() { public String getUniqueIdentifier() { return mName; } Loading Loading
services/core/java/com/android/server/PackageWatchdog.java +14 −13 Original line number Diff line number Diff line Loading @@ -309,13 +309,14 @@ public class PackageWatchdog { */ public void registerHealthObserver(PackageHealthObserver observer) { synchronized (mLock) { ObserverInternal internalObserver = mAllObservers.get(observer.getName()); ObserverInternal internalObserver = mAllObservers.get(observer.getUniqueIdentifier()); if (internalObserver != null) { internalObserver.registeredObserver = observer; } else { internalObserver = new ObserverInternal(observer.getName(), new ArrayList<>()); internalObserver = new ObserverInternal(observer.getUniqueIdentifier(), new ArrayList<>()); internalObserver.registeredObserver = observer; mAllObservers.put(observer.getName(), internalObserver); mAllObservers.put(observer.getUniqueIdentifier(), internalObserver); syncState("added new observer"); } } Loading @@ -342,12 +343,12 @@ public class PackageWatchdog { public void startObservingHealth(PackageHealthObserver observer, List<String> packageNames, long durationMs) { if (packageNames.isEmpty()) { Slog.wtf(TAG, "No packages to observe, " + observer.getName()); Slog.wtf(TAG, "No packages to observe, " + observer.getUniqueIdentifier()); return; } if (durationMs < 1) { Slog.wtf(TAG, "Invalid duration " + durationMs + "ms for observer " + observer.getName() + ". Not observing packages " + packageNames); + observer.getUniqueIdentifier() + ". Not observing packages " + packageNames); durationMs = DEFAULT_OBSERVING_DURATION_MS; } Loading @@ -374,14 +375,14 @@ public class PackageWatchdog { syncState("observing new packages"); synchronized (mLock) { ObserverInternal oldObserver = mAllObservers.get(observer.getName()); ObserverInternal oldObserver = mAllObservers.get(observer.getUniqueIdentifier()); if (oldObserver == null) { Slog.d(TAG, observer.getName() + " started monitoring health " Slog.d(TAG, observer.getUniqueIdentifier() + " started monitoring health " + "of packages " + packageNames); mAllObservers.put(observer.getName(), new ObserverInternal(observer.getName(), packages)); mAllObservers.put(observer.getUniqueIdentifier(), new ObserverInternal(observer.getUniqueIdentifier(), packages)); } else { Slog.d(TAG, observer.getName() + " added the following " Slog.d(TAG, observer.getUniqueIdentifier() + " added the following " + "packages to monitor " + packageNames); oldObserver.updatePackagesLocked(packages); } Loading @@ -405,9 +406,9 @@ public class PackageWatchdog { public void unregisterHealthObserver(PackageHealthObserver observer) { mLongTaskHandler.post(() -> { synchronized (mLock) { mAllObservers.remove(observer.getName()); mAllObservers.remove(observer.getUniqueIdentifier()); } syncState("unregistering observer: " + observer.getName()); syncState("unregistering observer: " + observer.getUniqueIdentifier()); }); } Loading Loading @@ -781,7 +782,7 @@ public class PackageWatchdog { * Identifier for the observer, should not change across device updates otherwise the * watchdog may drop observing packages with the old name. */ String getName(); String getUniqueIdentifier(); /** * An observer will not be pruned if this is set, even if the observer is not explicitly Loading
services/core/java/com/android/server/RescueParty.java +1 −1 Original line number Diff line number Diff line Loading @@ -917,7 +917,7 @@ public class RescueParty { } @Override public String getName() { public String getUniqueIdentifier() { return NAME; } Loading
services/core/java/com/android/server/rollback/RollbackPackageHealthObserver.java +1 −1 Original line number Diff line number Diff line Loading @@ -230,7 +230,7 @@ public final class RollbackPackageHealthObserver implements PackageHealthObserve @Override public String getName() { public String getUniqueIdentifier() { return NAME; } Loading
tests/PackageWatchdog/src/com/android/server/PackageWatchdogTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -1867,7 +1867,7 @@ public class PackageWatchdogTest { return true; } public String getName() { public String getUniqueIdentifier() { return mName; } Loading