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

Commit d133b00e authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Put package verifier on the power whitelist when invoked"

parents 5e3fafee 860d8b9a
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -258,6 +258,7 @@ import com.android.internal.util.Preconditions;
import com.android.internal.util.XmlUtils;
import com.android.server.AttributeCache;
import com.android.server.BackgroundDexOptJobService;
import com.android.server.DeviceIdleController;
import com.android.server.EventLogTags;
import com.android.server.FgThread;
import com.android.server.IntentResolver;
@@ -850,6 +851,8 @@ public class PackageManagerService extends IPackageManager.Stub {
    private UserManagerInternal mUserManagerInternal;
    private DeviceIdleController.LocalService mDeviceIdleController;
    private File mCacheDir;
    private ArraySet<String> mPrivappPermissionsViolations;
@@ -3855,6 +3858,14 @@ public class PackageManagerService extends IPackageManager.Stub {
        return mUserManagerInternal;
    }
    private DeviceIdleController.LocalService getDeviceIdleController() {
        if (mDeviceIdleController == null) {
            mDeviceIdleController =
                    LocalServices.getService(DeviceIdleController.LocalService.class);
        }
        return mDeviceIdleController;
    }
    /**
     * Update given flags when being used to request {@link PackageInfo}.
     */
@@ -14690,6 +14701,9 @@ public class PackageManagerService extends IPackageManager.Stub {
                    final List<ComponentName> sufficientVerifiers = matchVerifiers(pkgLite,
                            receivers, verificationState);
                    DeviceIdleController.LocalService idleController = getDeviceIdleController();
                    final long idleDuration = getVerificationTimeout();
                    /*
                     * If any sufficient verifiers were listed in the package
                     * manifest, attempt to ask them.
@@ -14702,6 +14716,9 @@ public class PackageManagerService extends IPackageManager.Stub {
                        } else {
                            for (int i = 0; i < N; i++) {
                                final ComponentName verifierComponent = sufficientVerifiers.get(i);
                                idleController.addPowerSaveTempWhitelistApp(Process.myUid(),
                                        verifierComponent.getPackageName(), idleDuration,
                                        verifierUser.getIdentifier(), false, "package verifier");
                                final Intent sufficientIntent = new Intent(verification);
                                sufficientIntent.setComponent(verifierComponent);
@@ -14722,6 +14739,9 @@ public class PackageManagerService extends IPackageManager.Stub {
                         * target BroadcastReceivers have run.
                         */
                        verification.setComponent(requiredVerifierComponent);
                        idleController.addPowerSaveTempWhitelistApp(Process.myUid(),
                                requiredVerifierComponent.getPackageName(), idleDuration,
                                verifierUser.getIdentifier(), false, "package verifier");
                        mContext.sendOrderedBroadcastAsUser(verification, verifierUser,
                                android.Manifest.permission.PACKAGE_VERIFICATION_AGENT,
                                new BroadcastReceiver() {