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

Commit 8a7b7ac4 authored by David Kimmel's avatar David Kimmel
Browse files

Automotive Projection Power Mode Hint

Bug: 300362894
Test: Attach Automotive look for power mode hint
Change-Id: I4191c4713dcb37c3b188517be11dc23c0d7ac857
parent 07c812e2
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import static android.Manifest.permission.ASSOCIATE_COMPANION_DEVICES;
import static android.Manifest.permission.DELIVER_COMPANION_MESSAGES;
import static android.Manifest.permission.MANAGE_COMPANION_DEVICES;
import static android.Manifest.permission.REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE;
import static android.Manifest.permission.REQUEST_COMPANION_PROFILE_AUTOMOTIVE_PROJECTION;
import static android.Manifest.permission.USE_COMPANION_TRANSPORTS;
import static android.app.ActivityManager.RunningAppProcessInfo.IMPORTANCE_VISIBLE;
import static android.companion.AssociationRequest.DEVICE_PROFILE_AUTOMOTIVE_PROJECTION;
@@ -82,6 +83,7 @@ import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManagerInternal;
import android.content.pm.UserInfo;
import android.hardware.power.Mode;
import android.net.MacAddress;
import android.net.NetworkPolicyManager;
import android.os.Binder;
@@ -90,6 +92,7 @@ import android.os.Handler;
import android.os.Message;
import android.os.Parcel;
import android.os.ParcelFileDescriptor;
import android.os.PowerManagerInternal;
import android.os.PowerWhitelistManager;
import android.os.RemoteCallbackList;
import android.os.RemoteException;
@@ -174,6 +177,7 @@ public class CompanionDeviceManagerService extends SystemService {
    private final PowerWhitelistManager mPowerWhitelistManager;
    private final UserManager mUserManager;
    final PackageManagerInternal mPackageManagerInternal;
    private final PowerManagerInternal mPowerManagerInternal;

    /**
     * A structure that consists of two nested maps, and effectively maps (userId + packageName) to
@@ -234,6 +238,7 @@ public class CompanionDeviceManagerService extends SystemService {

        mOnPackageVisibilityChangeListener =
                new OnPackageVisibilityChangeListener(mActivityManager);
        mPowerManagerInternal = LocalServices.getService(PowerManagerInternal.class);
    }

    @Override
@@ -923,6 +928,10 @@ public class CompanionDeviceManagerService extends SystemService {
            mAssociationStore.updateAssociation(association);

            mDevicePresenceMonitor.onSelfManagedDeviceConnected(associationId);

            if (association.getDeviceProfile() == REQUEST_COMPANION_PROFILE_AUTOMOTIVE_PROJECTION) {
                mPowerManagerInternal.setPowerMode(Mode.AUTOMOTIVE_PROJECTION, true);
            }
        }

        @Override
@@ -937,6 +946,10 @@ public class CompanionDeviceManagerService extends SystemService {
            }

            mDevicePresenceMonitor.onSelfManagedDeviceDisconnected(associationId);

            if (association.getDeviceProfile() == REQUEST_COMPANION_PROFILE_AUTOMOTIVE_PROJECTION) {
                mPowerManagerInternal.setPowerMode(Mode.AUTOMOTIVE_PROJECTION, false);
            }
        }

        @Override