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

Commit 6e5d7ff8 authored by Kweku Adams's avatar Kweku Adams
Browse files

Migrate to PowerWhitelistManager.

In preparation for DeviceIdle mainlining, we have to define stable APIs
for other modules and the rest of the system to use. This migrates to
the stable PowerWhitelistManager API.

Bug: 142420609
Bug: 144864180
Test: Android builds
Change-Id: I599847a8e07732318e61c77c1c5f084df57eca95
parent 508b765d
Loading
Loading
Loading
Loading
+9 −14
Original line number Diff line number Diff line
@@ -45,9 +45,9 @@ import android.os.Binder;
import android.os.Environment;
import android.os.Handler;
import android.os.IBinder;
import android.os.IDeviceIdleController;
import android.os.IInterface;
import android.os.Parcel;
import android.os.PowerWhitelistManager;
import android.os.Process;
import android.os.RemoteException;
import android.os.ResultReceiver;
@@ -120,7 +120,7 @@ public class CompanionDeviceManagerService extends SystemService implements Bind

    private final CompanionDeviceManagerImpl mImpl;
    private final ConcurrentMap<Integer, AtomicFile> mUidToStorage = new ConcurrentHashMap<>();
    private IDeviceIdleController mIdleController;
    private PowerWhitelistManager mPowerWhitelistManager;
    private PerUser<ServiceConnector<ICompanionDeviceDiscoveryService>> mServiceConnectors;
    private IAppOpsService mAppOpsManager;

@@ -134,8 +134,7 @@ public class CompanionDeviceManagerService extends SystemService implements Bind
    public CompanionDeviceManagerService(Context context) {
        super(context);
        mImpl = new CompanionDeviceManagerImpl();
        mIdleController = IDeviceIdleController.Stub.asInterface(
                ServiceManager.getService(Context.DEVICE_IDLE_CONTROLLER));
        mPowerWhitelistManager = context.getSystemService(PowerWhitelistManager.class);
        mAppOpsManager = IAppOpsService.Stub.asInterface(
                ServiceManager.getService(Context.APP_OPS_SERVICE));

@@ -445,16 +444,12 @@ public class CompanionDeviceManagerService extends SystemService implements Bind
    }

    private void updateSpecialAccessPermissionAsSystem(PackageInfo packageInfo) {
        try {
        if (containsEither(packageInfo.requestedPermissions,
                android.Manifest.permission.RUN_IN_BACKGROUND,
                android.Manifest.permission.REQUEST_COMPANION_RUN_IN_BACKGROUND)) {
                mIdleController.addPowerSaveWhitelistApp(packageInfo.packageName);
            mPowerWhitelistManager.addToWhitelist(packageInfo.packageName);
        } else {
                mIdleController.removePowerSaveWhitelistApp(packageInfo.packageName);
            }
        } catch (RemoteException e) {
            /* ignore - local call */
            mPowerWhitelistManager.removeFromWhitelist(packageInfo.packageName);
        }

        NetworkPolicyManager networkPolicyManager = NetworkPolicyManager.from(getContext());