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

Commit b9fc6225 authored by Kweku Adams's avatar Kweku Adams Committed by Android (Google) Code Review
Browse files

Merge "Minor cleanup." into main

parents 7d6844cb 704be323
Loading
Loading
Loading
Loading
+16 −3
Original line number Original line Diff line number Diff line
@@ -126,6 +126,7 @@ public final class BackgroundJobsController extends StateController {
    }
    }


    @Override
    @Override
    @GuardedBy("mLock")
    public void startTrackingLocked() {
    public void startTrackingLocked() {
        mAppStateTracker.addListener(mForceAppStandbyListener);
        mAppStateTracker.addListener(mForceAppStandbyListener);
        final IntentFilter filter = new IntentFilter();
        final IntentFilter filter = new IntentFilter();
@@ -137,15 +138,18 @@ public final class BackgroundJobsController extends StateController {
    }
    }


    @Override
    @Override
    @GuardedBy("mLock")
    public void maybeStartTrackingJobLocked(JobStatus jobStatus, JobStatus lastJob) {
    public void maybeStartTrackingJobLocked(JobStatus jobStatus, JobStatus lastJob) {
        updateSingleJobRestrictionLocked(jobStatus, sElapsedRealtimeClock.millis(), UNKNOWN);
        updateSingleJobRestrictionLocked(jobStatus, sElapsedRealtimeClock.millis(), UNKNOWN);
    }
    }


    @Override
    @Override
    @GuardedBy("mLock")
    public void maybeStopTrackingJobLocked(JobStatus jobStatus, JobStatus incomingJob) {
    public void maybeStopTrackingJobLocked(JobStatus jobStatus, JobStatus incomingJob) {
    }
    }


    @Override
    @Override
    @GuardedBy("mLock")
    public void evaluateStateLocked(JobStatus jobStatus) {
    public void evaluateStateLocked(JobStatus jobStatus) {
        if (jobStatus.isRequestedExpeditedJob()) {
        if (jobStatus.isRequestedExpeditedJob()) {
            // Only requested-EJs could have their run-in-bg constraint change outside of something
            // Only requested-EJs could have their run-in-bg constraint change outside of something
@@ -155,11 +159,13 @@ public final class BackgroundJobsController extends StateController {
    }
    }


    @Override
    @Override
    @GuardedBy("mLock")
    public void onAppRemovedLocked(String packageName, int uid) {
    public void onAppRemovedLocked(String packageName, int uid) {
        mPackageStoppedState.delete(uid, packageName);
        mPackageStoppedState.delete(uid, packageName);
    }
    }


    @Override
    @Override
    @GuardedBy("mLock")
    public void onUserRemovedLocked(int userId) {
    public void onUserRemovedLocked(int userId) {
        for (int u = mPackageStoppedState.numMaps() - 1; u >= 0; --u) {
        for (int u = mPackageStoppedState.numMaps() - 1; u >= 0; --u) {
            final int uid = mPackageStoppedState.keyAt(u);
            final int uid = mPackageStoppedState.keyAt(u);
@@ -170,6 +176,7 @@ public final class BackgroundJobsController extends StateController {
    }
    }


    @Override
    @Override
    @GuardedBy("mLock")
    public void dumpControllerStateLocked(final IndentingPrintWriter pw,
    public void dumpControllerStateLocked(final IndentingPrintWriter pw,
            final Predicate<JobStatus> predicate) {
            final Predicate<JobStatus> predicate) {
        pw.println("Aconfig flags:");
        pw.println("Aconfig flags:");
@@ -223,6 +230,7 @@ public final class BackgroundJobsController extends StateController {
    }
    }


    @Override
    @Override
    @GuardedBy("mLock")
    public void dumpControllerStateLocked(ProtoOutputStream proto, long fieldId,
    public void dumpControllerStateLocked(ProtoOutputStream proto, long fieldId,
            Predicate<JobStatus> predicate) {
            Predicate<JobStatus> predicate) {
        final long token = proto.start(fieldId);
        final long token = proto.start(fieldId);
@@ -260,14 +268,17 @@ public final class BackgroundJobsController extends StateController {
        proto.end(token);
        proto.end(token);
    }
    }


    @GuardedBy("mLock")
    private void updateAllJobRestrictionsLocked() {
    private void updateAllJobRestrictionsLocked() {
        updateJobRestrictionsLocked(/*filterUid=*/ -1, UNKNOWN);
        updateJobRestrictionsLocked(/*filterUid=*/ -1, UNKNOWN);
    }
    }


    @GuardedBy("mLock")
    private void updateJobRestrictionsForUidLocked(int uid, boolean isActive) {
    private void updateJobRestrictionsForUidLocked(int uid, boolean isActive) {
        updateJobRestrictionsLocked(uid, (isActive) ? KNOWN_ACTIVE : KNOWN_INACTIVE);
        updateJobRestrictionsLocked(uid, (isActive) ? KNOWN_ACTIVE : KNOWN_INACTIVE);
    }
    }


    @GuardedBy("mLock")
    private void updateJobRestrictionsLocked(int filterUid, int newActiveState) {
    private void updateJobRestrictionsLocked(int filterUid, int newActiveState) {
        mUpdateJobFunctor.prepare(newActiveState);
        mUpdateJobFunctor.prepare(newActiveState);


@@ -295,7 +306,8 @@ public final class BackgroundJobsController extends StateController {
        }
        }
    }
    }


    private boolean isPackageStopped(String packageName, int uid) {
    @GuardedBy("mLock")
    private boolean isPackageStoppedLocked(String packageName, int uid) {
        if (mPackageStoppedState.contains(uid, packageName)) {
        if (mPackageStoppedState.contains(uid, packageName)) {
            return mPackageStoppedState.get(uid, packageName);
            return mPackageStoppedState.get(uid, packageName);
        }
        }
@@ -304,19 +316,20 @@ public final class BackgroundJobsController extends StateController {
        return isStopped;
        return isStopped;
    }
    }


    @GuardedBy("mLock")
    boolean updateSingleJobRestrictionLocked(JobStatus jobStatus, final long nowElapsed,
    boolean updateSingleJobRestrictionLocked(JobStatus jobStatus, final long nowElapsed,
            int activeState) {
            int activeState) {
        final int uid = jobStatus.getSourceUid();
        final int uid = jobStatus.getSourceUid();
        final String packageName = jobStatus.getSourcePackageName();
        final String packageName = jobStatus.getSourcePackageName();


        final boolean isSourcePkgStopped =
        final boolean isSourcePkgStopped =
                isPackageStopped(jobStatus.getSourcePackageName(), jobStatus.getSourceUid());
                isPackageStoppedLocked(jobStatus.getSourcePackageName(), jobStatus.getSourceUid());
        final boolean isCallingPkgStopped;
        final boolean isCallingPkgStopped;
        if (!jobStatus.isProxyJob()) {
        if (!jobStatus.isProxyJob()) {
            isCallingPkgStopped = isSourcePkgStopped;
            isCallingPkgStopped = isSourcePkgStopped;
        } else {
        } else {
            isCallingPkgStopped =
            isCallingPkgStopped =
                    isPackageStopped(jobStatus.getCallingPackageName(), jobStatus.getUid());
                    isPackageStoppedLocked(jobStatus.getCallingPackageName(), jobStatus.getUid());
        }
        }
        final boolean isStopped = android.content.pm.Flags.stayStopped()
        final boolean isStopped = android.content.pm.Flags.stayStopped()
                && (isCallingPkgStopped || isSourcePkgStopped);
                && (isCallingPkgStopped || isSourcePkgStopped);
+1 −1
Original line number Original line Diff line number Diff line
/*
/*
 * Copyright (C) 2018 The Android Open Source Project
 * Copyright (C) 2023 The Android Open Source Project
 *
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * you may not use this file except in compliance with the License.