Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0c1c9cd7 authored by Svet Ganov's avatar Svet Ganov Committed by Svetoslav Ganov
Browse files

Add API to query if a UID is active

Test: cts-tradefed run cts-dev -m CtsCameraTestCases

Bug: 72863398

Change-Id: I4bacfd87cac782ef178e9a279cd833b229150ae1
parent 4acd39d3
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -94,6 +94,7 @@ interface IActivityManager {
    void registerUidObserver(in IUidObserver observer, int which, int cutpoint,
            String callingPackage);
    void unregisterUidObserver(in IUidObserver observer);
    boolean isUidActive(int uid, String callingPackage);
    // =============== End of transactions used on native side as well ============================

    // Special low-level communication with activity manager.
+12 −0
Original line number Diff line number Diff line
@@ -14051,6 +14051,18 @@ public class ActivityManagerService extends IActivityManager.Stub
        }
    }
    @Override
    public boolean isUidActive(int uid, String callingPackage) {
        if (!hasUsageStatsPermission(callingPackage)) {
            enforceCallingPermission(android.Manifest.permission.PACKAGE_USAGE_STATS,
                    "getPackageProcessState");
        }
        synchronized (this) {
            final UidRecord uidRecord = mActiveUids.get(uid);
            return uidRecord != null && !uidRecord.setIdle;
        }
    }
    @Override
    public boolean convertFromTranslucent(IBinder token) {
        final long origId = Binder.clearCallingIdentity();