diff --git a/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java b/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java index 33c297d2c9077..5016ec0d4be0d 100644 --- a/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java +++ b/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java @@ -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