OSDN Git Service

Merge "Take into account default app for default grants"
authorSvetoslav Ganov <svetoslavganov@google.com>
Thu, 5 Nov 2015 02:25:32 +0000 (02:25 +0000)
committerandroid-build-merger <android-build-merger@google.com>
Thu, 5 Nov 2015 02:25:32 +0000 (02:25 +0000)
am: 82eeb2f20c

* commit '82eeb2f20c934ddc97380032b3c8ecacc21d9a04':
  Take into account default app for default grants

1  2 
services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java

@@@ -571,26 -571,6 +571,26 @@@ final class DefaultPermissionGrantPolic
                  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);
 +                    grantRuntimePermissionsLPw(wearHomePackage, LOCATION_PERMISSIONS, false,
 +                            userId);
 +                }
 +            }
 +
              mService.mSettings.onDefaultRuntimePermissionsGrantedLPr(userId);
          }
      }
      private void grantDefaultPermissionsToDefaultSystemDialerAppLPr(
              PackageParser.Package dialerPackage, int userId) {
          if (doesPackageSupportRuntimePermissions(dialerPackage)) {
 -            grantRuntimePermissionsLPw(dialerPackage, PHONE_PERMISSIONS, userId);
 +            boolean isPhonePermFixed =
 +                    mService.hasSystemFeature(PackageManager.FEATURE_WATCH);
 +            grantRuntimePermissionsLPw(
 +                    dialerPackage, PHONE_PERMISSIONS, isPhonePermFixed, userId);
              grantRuntimePermissionsLPw(dialerPackage, CONTACTS_PERMISSIONS, userId);
              grantRuntimePermissionsLPw(dialerPackage, SMS_PERMISSIONS, userId);
              grantRuntimePermissionsLPw(dialerPackage, MICROPHONE_PERMISSIONS, userId);
          }
      }
  
      private void grantDefaultPermissionsToDefaultSystemSmsAppLPr(
              PackageParser.Package smsPackage, int userId) {
          if (doesPackageSupportRuntimePermissions(smsPackage)) {
          }
      }
  
      public void grantDefaultPermissionsToDefaultSmsAppLPr(String packageName, int userId) {
          Log.i(TAG, "Granting permissions to default sms app for user:" + userId);
          if (packageName == null) {
  
      private PackageParser.Package getDefaultSystemHandlerActivityPackageLPr(
              Intent intent, int userId) {
-         List<ResolveInfo> handlers = mService.mActivities.queryIntent(intent,
-                 intent.resolveType(mService.mContext.getContentResolver()),
-                 PackageManager.GET_DISABLED_COMPONENTS, userId);
-         if (handlers == null) {
+         ResolveInfo handler = mService.resolveIntent(intent,
+                 intent.resolveType(mService.mContext.getContentResolver()), 0, userId);
+         if (handler == null) {
              return null;
          }
-         final int handlerCount = handlers.size();
-         for (int i = 0; i < handlerCount; i++) {
-             ResolveInfo handler = handlers.get(i);
-             PackageParser.Package handlerPackage = getSystemPackageLPr(
-                     handler.activityInfo.packageName);
-             if (handlerPackage != null) {
-                 return handlerPackage;
-             }
-         }
-         return null;
+         return getSystemPackageLPr(handler.activityInfo.packageName);
      }
  
      private PackageParser.Package getDefaultSystemHandlerServicePackageLPr(
              Intent intent, int userId) {
          List<ResolveInfo> handlers = mService.queryIntentServices(intent,
-                 intent.resolveType(mService.mContext.getContentResolver()),
-                 PackageManager.GET_DISABLED_COMPONENTS, userId);
+                 intent.resolveType(mService.mContext.getContentResolver()), 0, userId);
          if (handlers == null) {
              return null;
          }
          for (String syncAdapterPackageName : syncAdapterPackageNames) {
              homeIntent.setPackage(syncAdapterPackageName);
  
-             List<ResolveInfo> homeActivities = mService.mActivities.queryIntent(homeIntent,
-                     homeIntent.resolveType(mService.mContext.getContentResolver()),
-                     PackageManager.GET_DISABLED_COMPONENTS, userId);
-             if (!homeActivities.isEmpty()) {
+             ResolveInfo homeActivity = mService.resolveIntent(homeIntent,
+                     homeIntent.resolveType(mService.mContext.getContentResolver()), 0, userId);
+             if (homeActivity != null) {
                  continue;
              }