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

Commit 979b81ac authored by Anthony Hugh's avatar Anthony Hugh
Browse files

Give Android Wear system apps default permission

This change grants Android Wear system components default
permission.

I have also added a new Intent category to help identify
the main Home handler on Wear.

BUG: 23419042
Change-Id: Ie669a9908bd3b03498f75c5ca22c0fddf52a5203
parent 235a6911
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -3156,6 +3156,13 @@ public class Intent implements Parcelable, Cloneable {
     */
    @SdkConstant(SdkConstantType.INTENT_CATEGORY)
    public static final String CATEGORY_HOME = "android.intent.category.HOME";
    /**
     * This is the home activity that is displayed when the device is finished setting up and ready
     * for use.
     * @hide
     */
    @SdkConstant(SdkConstantType.INTENT_CATEGORY)
    public static final String CATEGORY_HOME_MAIN = "android.intent.category.HOME_MAIN";
    /**
     * This is the setup wizard activity, that is the first activity that is displayed
     * when the user sets up the device for the first time.
+18 −0
Original line number Diff line number Diff line
@@ -571,6 +571,24 @@ final class DefaultPermissionGrantPolicy {
                grantRuntimePermissionsLPw(musicPackage, STORAGE_PERMISSIONS, userId);
            }

            // Android Wear Home
            if (mService.hasSystemFeature(PackageManager.FEATURE_WATCH)) {
                Intent homeIntent = new Intent(Intent.ACTION_MAIN);
                homeIntent.addCategory(Intent.CATEGORY_HOME_MAIN);

                PackageParser.Package wearHomePackage = getDefaultSystemHandlerActivityPackageLPr(
                        homeIntent, userId);

                if (wearHomePackage != null
                        && doesPackageSupportRuntimePermissions(wearHomePackage)) {
                    grantRuntimePermissionsLPw(wearHomePackage, CONTACTS_PERMISSIONS, false,
                            userId);
                    grantRuntimePermissionsLPw(wearHomePackage, PHONE_PERMISSIONS, true, userId);
                    grantRuntimePermissionsLPw(wearHomePackage, MICROPHONE_PERMISSIONS, false,
                            userId);
                }
            }

            mService.mSettings.onDefaultRuntimePermissionsGrantedLPr(userId);
        }
    }