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

Commit 3629c673 authored by Dan Aminzade's avatar Dan Aminzade Committed by android-build-merger
Browse files

Automatically grant location and body sensors permissions to system packages...

Automatically grant location and body sensors permissions to system packages that handle the com.android.fitness.TRACK intent.
am: f8d60b19

Change-Id: Ic2cdc9d4562722dd97a0af8e62b5ae93554a077a
parents 5df3738a f8d60b19
Loading
Loading
Loading
Loading
+14 −3
Original line number Diff line number Diff line
@@ -152,6 +152,7 @@ final class DefaultPermissionGrantPolicy {

    private static final String ACTION_TWINNING =
            "com.google.android.clockwork.intent.TWINNING_SETTINGS";
    private static final String ACTION_TRACK = "com.android.fitness.TRACK";

    private final PackageManagerService mService;
    private final Handler mHandler;
@@ -606,9 +607,9 @@ final class DefaultPermissionGrantPolicy {
                grantRuntimePermissionsLPw(musicPackage, STORAGE_PERMISSIONS, userId);
            }

            // Android Wear
            // Watches
            if (mService.hasSystemFeature(PackageManager.FEATURE_WATCH, 0)) {
                // Android Wear Home
                // Home application on watches
                Intent homeIntent = new Intent(Intent.ACTION_MAIN);
                homeIntent.addCategory(Intent.CATEGORY_HOME_MAIN);

@@ -626,7 +627,7 @@ final class DefaultPermissionGrantPolicy {
                            userId);
                }

                // Android Wear Twinning
                // Twinning on watches
                Intent twinningIntent = new Intent(ACTION_TWINNING);
                PackageParser.Package twinningPackage = getDefaultSystemHandlerActivityPackageLPr(
                        twinningIntent, userId);
@@ -636,6 +637,16 @@ final class DefaultPermissionGrantPolicy {
                    grantRuntimePermissionsLPw(twinningPackage, PHONE_PERMISSIONS, false, userId);
                    grantRuntimePermissionsLPw(twinningPackage, SMS_PERMISSIONS, false, userId);
                }

                // Fitness tracking on watches
                Intent trackIntent = new Intent(ACTION_TRACK);
                PackageParser.Package trackPackage = getDefaultSystemHandlerActivityPackageLPr(
                        trackIntent, userId);
                if (trackPackage != null
                        && doesPackageSupportRuntimePermissions(trackPackage)) {
                    grantRuntimePermissionsLPw(trackPackage, SENSORS_PERMISSIONS, false, userId);
                    grantRuntimePermissionsLPw(trackPackage, LOCATION_PERMISSIONS, false, userId);
                }
            }

            // Print Spooler