diff options
| author | 2023-03-30 18:34:22 -0700 | |
|---|---|---|
| committer | 2023-03-31 11:24:38 -0700 | |
| commit | eebca7afc76ed8a0a9ff57c84b4d29587e50daae (patch) | |
| tree | 372c894348a1663c9c340cac7df3bbbcd958c76d | |
| parent | 06935f32ef16c7095ff14a1459f75aaaac8d5f37 (diff) | |
ActivityManager: Use the default UidObserver implementation.
A class which overrides IUidObserver.Stub with empty callback
implementations was added in change
I2ff1e868586861e4dcd6586ad22139ba84eaf39c to simplify BroadcastQueue
interface complexity. Using this default implementation will mean less
churn when new callbacks are added to IUidObserver, or existing callback
method signatures are changed.
Also rename ActivityManager.UidObserver to MyUidObserver to remove any
ambiguity.
Bug: 274486653
Test: Presubmit, smoke test on cuttlefish.
Change-Id: I6e30a4e116a7baaca1e411ca0cc4a4dca37a32bd
| -rw-r--r-- | boot/preloaded-classes | 2 | ||||
| -rw-r--r-- | config/preloaded-classes | 2 | ||||
| -rw-r--r-- | core/java/android/app/ActivityManager.java | 24 | ||||
| -rw-r--r-- | services/core/java/com/android/server/am/AppRestrictionController.java | 11 | ||||
| -rw-r--r-- | services/core/java/com/android/server/am/ProcessList.java | 20 |
5 files changed, 11 insertions, 48 deletions
diff --git a/boot/preloaded-classes b/boot/preloaded-classes index d2eb4ce25935..21ae13474d84 100644 --- a/boot/preloaded-classes +++ b/boot/preloaded-classes @@ -211,7 +211,7 @@ android.app.ActivityManager$RunningTaskInfo$1 android.app.ActivityManager$RunningTaskInfo android.app.ActivityManager$TaskDescription$1 android.app.ActivityManager$TaskDescription -android.app.ActivityManager$UidObserver +android.app.ActivityManager$MyUidObserver android.app.ActivityManager android.app.ActivityManagerInternal android.app.ActivityOptions$1 diff --git a/config/preloaded-classes b/config/preloaded-classes index 5e2c02110cba..8e50fe8e4e0f 100644 --- a/config/preloaded-classes +++ b/config/preloaded-classes @@ -211,7 +211,7 @@ android.app.ActivityManager$RunningTaskInfo$1 android.app.ActivityManager$RunningTaskInfo android.app.ActivityManager$TaskDescription$1 android.app.ActivityManager$TaskDescription -android.app.ActivityManager$UidObserver +android.app.ActivityManager$MyUidObserver android.app.ActivityManager android.app.ActivityManagerInternal android.app.ActivityOptions$1 diff --git a/core/java/android/app/ActivityManager.java b/core/java/android/app/ActivityManager.java index 813e32a81983..521bf05d9d4f 100644 --- a/core/java/android/app/ActivityManager.java +++ b/core/java/android/app/ActivityManager.java @@ -193,11 +193,11 @@ public class ActivityManager { */ public static final int INSTR_FLAG_INSTRUMENT_SDK_SANDBOX = 1 << 5; - static final class UidObserver extends IUidObserver.Stub { + static final class MyUidObserver extends UidObserver { final OnUidImportanceListener mListener; final Context mContext; - UidObserver(OnUidImportanceListener listener, Context clientContext) { + MyUidObserver(OnUidImportanceListener listener, Context clientContext) { mListener = listener; mContext = clientContext; } @@ -212,23 +212,9 @@ public class ActivityManager { public void onUidGone(int uid, boolean disabled) { mListener.onUidImportance(uid, RunningAppProcessInfo.IMPORTANCE_GONE); } - - @Override - public void onUidActive(int uid) { - } - - @Override - public void onUidIdle(int uid, boolean disabled) { - } - - @Override public void onUidCachedChanged(int uid, boolean cached) { - } - - @Override public void onUidProcAdjChanged(int uid) { - } } - final ArrayMap<OnUidImportanceListener, UidObserver> mImportanceListeners = new ArrayMap<>(); + final ArrayMap<OnUidImportanceListener, MyUidObserver> mImportanceListeners = new ArrayMap<>(); /** * Map of callbacks that have registered for {@link UidFrozenStateChanged} events. @@ -4273,7 +4259,7 @@ public class ActivityManager { throw new IllegalArgumentException("Listener already registered: " + listener); } // TODO: implement the cut point in the system process to avoid IPCs. - UidObserver observer = new UidObserver(listener, mContext); + MyUidObserver observer = new MyUidObserver(listener, mContext); try { getService().registerUidObserver(observer, UID_OBSERVER_PROCSTATE | UID_OBSERVER_GONE, @@ -4297,7 +4283,7 @@ public class ActivityManager { @RequiresPermission(Manifest.permission.PACKAGE_USAGE_STATS) public void removeOnUidImportanceListener(OnUidImportanceListener listener) { synchronized (this) { - UidObserver observer = mImportanceListeners.remove(listener); + MyUidObserver observer = mImportanceListeners.remove(listener); if (observer == null) { throw new IllegalArgumentException("Listener not registered: " + listener); } diff --git a/services/core/java/com/android/server/am/AppRestrictionController.java b/services/core/java/com/android/server/am/AppRestrictionController.java index 6928bd307af0..37b776d60488 100644 --- a/services/core/java/com/android/server/am/AppRestrictionController.java +++ b/services/core/java/com/android/server/am/AppRestrictionController.java @@ -101,6 +101,7 @@ import android.app.IUidObserver; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; +import android.app.UidObserver; import android.app.role.OnRoleHoldersChangedListener; import android.app.role.RoleManager; import android.app.usage.AppStandbyInfo; @@ -1439,7 +1440,7 @@ public final class AppRestrictionController { }; private final IUidObserver mUidObserver = - new IUidObserver.Stub() { + new UidObserver() { @Override public void onUidStateChanged(int uid, int procState, long procStateSeq, int capability) { @@ -1463,14 +1464,6 @@ public final class AppRestrictionController { public void onUidActive(int uid) { mBgHandler.obtainMessage(BgHandler.MSG_UID_ACTIVE, uid, 0).sendToTarget(); } - - @Override - public void onUidCachedChanged(int uid, boolean cached) { - } - - @Override - public void onUidProcAdjChanged(int uid) { - } }; /** diff --git a/services/core/java/com/android/server/am/ProcessList.java b/services/core/java/com/android/server/am/ProcessList.java index b26a1705b309..b1322ef510d5 100644 --- a/services/core/java/com/android/server/am/ProcessList.java +++ b/services/core/java/com/android/server/am/ProcessList.java @@ -70,7 +70,7 @@ import android.app.ApplicationExitInfo.Reason; import android.app.ApplicationExitInfo.SubReason; import android.app.IApplicationThread; import android.app.IProcessObserver; -import android.app.IUidObserver; +import android.app.UidObserver; import android.compat.annotation.ChangeId; import android.compat.annotation.EnabledAfter; import android.content.BroadcastReceiver; @@ -5281,7 +5281,7 @@ public final class ProcessList { return new Pair<>(numForegroundServices, procs); } - private final class ImperceptibleKillRunner extends IUidObserver.Stub { + private final class ImperceptibleKillRunner extends UidObserver { private static final String EXTRA_PID = "pid"; private static final String EXTRA_UID = "uid"; private static final String EXTRA_TIMESTAMP = "timestamp"; @@ -5537,24 +5537,8 @@ public final class ProcessList { } @Override - public void onUidActive(int uid) { - } - - @Override - public void onUidIdle(int uid, boolean disabled) { - } - - @Override public void onUidStateChanged(int uid, int procState, long procStateSeq, int capability) { mHandler.obtainMessage(H.MSG_UID_STATE_CHANGED, uid, procState).sendToTarget(); } - - @Override - public void onUidCachedChanged(int uid, boolean cached) { - } - - @Override - public void onUidProcAdjChanged(int uid) { - } }; } |