am ffb43184: am 3d8e949a: am 9088c083: am 12b05ec2: am 75f6b94a: Merge "Grant default permissions to the setup app robustly." into mnc-dev
* commit 'ffb4318447f7741b4901dd38e3f6d97c94794b42': Grant default permissions to the setup app robustly.
This commit is contained in:
@@ -3093,6 +3093,13 @@ public class Intent implements Parcelable, Cloneable {
|
||||
*/
|
||||
@SdkConstant(SdkConstantType.INTENT_CATEGORY)
|
||||
public static final String CATEGORY_HOME = "android.intent.category.HOME";
|
||||
/**
|
||||
* 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.
|
||||
* @hide
|
||||
*/
|
||||
@SdkConstant(SdkConstantType.INTENT_CATEGORY)
|
||||
public static final String CATEGORY_SETUP_WIZARD = "android.intent.category.SETUP_WIZARD";
|
||||
/**
|
||||
* This activity is a preference panel.
|
||||
*/
|
||||
|
||||
@@ -29,7 +29,6 @@ import android.content.pm.ProviderInfo;
|
||||
import android.content.pm.ResolveInfo;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.Debug;
|
||||
import android.os.UserHandle;
|
||||
import android.provider.CalendarContract;
|
||||
import android.provider.ContactsContract;
|
||||
@@ -120,12 +119,7 @@ final class DefaultPermissionGrantPolicy {
|
||||
|
||||
private static final Set<String> ACCOUNTS_PERMISSIONS = new ArraySet<>();
|
||||
static {
|
||||
//ACCOUNTS_PERMISSIONS.add(Manifest.permission.GET_ACCOUNTS);
|
||||
}
|
||||
|
||||
private static final Set<String> SETTINGS_PERMISSIONS = new ArraySet<>();
|
||||
static {
|
||||
SETTINGS_PERMISSIONS.add(Manifest.permission.WRITE_SETTINGS);
|
||||
ACCOUNTS_PERMISSIONS.add(Manifest.permission.GET_ACCOUNTS);
|
||||
}
|
||||
|
||||
private final PackageManagerService mService;
|
||||
@@ -161,7 +155,7 @@ final class DefaultPermissionGrantPolicy {
|
||||
mDialerAppPackagesProvider = provider;
|
||||
}
|
||||
|
||||
public void setSyncAdapterPackagesProviderrLPw(SyncAdapterPackagesProvider provider) {
|
||||
public void setSyncAdapterPackagesProviderLPw(SyncAdapterPackagesProvider provider) {
|
||||
mSyncAdapterPackagesProvider = provider;
|
||||
}
|
||||
|
||||
@@ -256,7 +250,7 @@ final class DefaultPermissionGrantPolicy {
|
||||
|
||||
// SetupWizard
|
||||
Intent setupIntent = new Intent(Intent.ACTION_MAIN);
|
||||
setupIntent.addCategory(Intent.CATEGORY_HOME);
|
||||
setupIntent.addCategory(Intent.CATEGORY_SETUP_WIZARD);
|
||||
PackageParser.Package setupPackage = getDefaultSystemHandlerActivityPackageLPr(
|
||||
setupIntent, userId);
|
||||
if (setupPackage != null
|
||||
@@ -374,8 +368,7 @@ final class DefaultPermissionGrantPolicy {
|
||||
|
||||
// Calendar provider sync adapters
|
||||
List<PackageParser.Package> calendarSyncAdapters = getHeadlessSyncAdapterPackagesLPr(
|
||||
calendarSyncAdapterPackages,
|
||||
userId);
|
||||
calendarSyncAdapterPackages, userId);
|
||||
final int calendarSyncAdapterCount = calendarSyncAdapters.size();
|
||||
for (int i = 0; i < calendarSyncAdapterCount; i++) {
|
||||
PackageParser.Package calendarSyncAdapter = calendarSyncAdapters.get(i);
|
||||
@@ -398,8 +391,7 @@ final class DefaultPermissionGrantPolicy {
|
||||
|
||||
// Contacts provider sync adapters
|
||||
List<PackageParser.Package> contactsSyncAdapters = getHeadlessSyncAdapterPackagesLPr(
|
||||
contactsSyncAdapterPackages,
|
||||
userId);
|
||||
contactsSyncAdapterPackages, userId);
|
||||
final int contactsSyncAdapterCount = contactsSyncAdapters.size();
|
||||
for (int i = 0; i < contactsSyncAdapterCount; i++) {
|
||||
PackageParser.Package contactsSyncAdapter = contactsSyncAdapters.get(i);
|
||||
@@ -628,10 +620,12 @@ final class DefaultPermissionGrantPolicy {
|
||||
List<ResolveInfo> handlers = mService.mActivities.queryIntent(intent,
|
||||
intent.resolveType(mService.mContext.getContentResolver()),
|
||||
PackageManager.GET_DISABLED_COMPONENTS, userId);
|
||||
if (handlers == null) {
|
||||
return null;
|
||||
}
|
||||
final int handlerCount = handlers.size();
|
||||
for (int i = 0; i < handlerCount; i++) {
|
||||
ResolveInfo handler = handlers.get(i);
|
||||
// TODO: This is a temporary hack to figure out the setup app.
|
||||
PackageParser.Package handlerPackage = getSystemPackageLPr(
|
||||
handler.activityInfo.packageName);
|
||||
if (handlerPackage != null) {
|
||||
|
||||
@@ -16405,7 +16405,7 @@ public class PackageManagerService extends IPackageManager.Stub {
|
||||
@Override
|
||||
public void setSyncAdapterPackagesprovider(SyncAdapterPackagesProvider provider) {
|
||||
synchronized (mPackages) {
|
||||
mDefaultPermissionPolicy.setSyncAdapterPackagesProviderrLPw(provider);
|
||||
mDefaultPermissionPolicy.setSyncAdapterPackagesProviderLPw(provider);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user