diff options
author | Svet Ganov <svetoslavganov@google.com> | 2016-03-05 10:27:49 -0800 |
---|---|---|
committer | Svet Ganov <svetoslavganov@google.com> | 2016-03-05 16:02:50 -0800 |
commit | bd6ad3a2b1c30f7a007c4c2ef7e5c273a2f9df10 (patch) | |
tree | ca264fe6cc390630a2b99c2a539b42c6d3429097 /src/com/android/packageinstaller/permission | |
parent | dccf863b897856c37aa26c932e78b9b27808e092 (diff) | |
download | android_packages_apps_PackageInstaller-bd6ad3a2b1c30f7a007c4c2ef7e5c273a2f9df10.tar.gz android_packages_apps_PackageInstaller-bd6ad3a2b1c30f7a007c4c2ef7e5c273a2f9df10.tar.bz2 android_packages_apps_PackageInstaller-bd6ad3a2b1c30f7a007c4c2ef7e5c273a2f9df10.zip |
Support app install from a content URI
bug:24079113
Change-Id: Ide1aa1667370f6b8d00ff269ef28992589656e9a
Diffstat (limited to 'src/com/android/packageinstaller/permission')
17 files changed, 13 insertions, 170 deletions
diff --git a/src/com/android/packageinstaller/permission/model/PermissionApps.java b/src/com/android/packageinstaller/permission/model/PermissionApps.java index 9ff5025c..2c0508a5 100644 --- a/src/com/android/packageinstaller/permission/model/PermissionApps.java +++ b/src/com/android/packageinstaller/permission/model/PermissionApps.java @@ -32,7 +32,7 @@ import android.util.Log; import android.util.SparseArray; import com.android.packageinstaller.R; -import com.android.packageinstaller.permission.utils.Utils; +import com.android.packageinstaller.util.Utils; import java.util.ArrayList; import java.util.Collections; diff --git a/src/com/android/packageinstaller/permission/model/PermissionGroups.java b/src/com/android/packageinstaller/permission/model/PermissionGroups.java index 8ca69f24..04dd07ff 100644 --- a/src/com/android/packageinstaller/permission/model/PermissionGroups.java +++ b/src/com/android/packageinstaller/permission/model/PermissionGroups.java @@ -31,7 +31,7 @@ import android.os.Bundle; import android.util.ArraySet; import com.android.packageinstaller.R; -import com.android.packageinstaller.permission.utils.Utils; +import com.android.packageinstaller.util.Utils; import java.util.ArrayList; import java.util.Collections; diff --git a/src/com/android/packageinstaller/permission/model/PermissionStatusReceiver.java b/src/com/android/packageinstaller/permission/model/PermissionStatusReceiver.java index 810ae8ec..d7e4547a 100644 --- a/src/com/android/packageinstaller/permission/model/PermissionStatusReceiver.java +++ b/src/com/android/packageinstaller/permission/model/PermissionStatusReceiver.java @@ -26,7 +26,7 @@ import android.util.ArrayMap; import android.util.ArraySet; import com.android.packageinstaller.permission.model.PermissionApps.PermissionApp; -import com.android.packageinstaller.permission.utils.Utils; +import com.android.packageinstaller.util.Utils; import java.text.Collator; import java.util.ArrayList; diff --git a/src/com/android/packageinstaller/permission/ui/ReviewPermissionsActivity.java b/src/com/android/packageinstaller/permission/ui/ReviewPermissionsActivity.java index b872983d..38080e6b 100644 --- a/src/com/android/packageinstaller/permission/ui/ReviewPermissionsActivity.java +++ b/src/com/android/packageinstaller/permission/ui/ReviewPermissionsActivity.java @@ -46,7 +46,7 @@ import android.widget.TextView; import com.android.packageinstaller.R; import com.android.packageinstaller.permission.model.AppPermissionGroup; import com.android.packageinstaller.permission.model.AppPermissions; -import com.android.packageinstaller.permission.utils.Utils; +import com.android.packageinstaller.util.Utils; import com.android.packageinstaller.permission.ui.ConfirmActionDialogFragment.OnActionConfirmedListener; import java.util.List; diff --git a/src/com/android/packageinstaller/permission/ui/handheld/AllAppPermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/handheld/AllAppPermissionsFragment.java index 0c249e55..540d8765 100644 --- a/src/com/android/packageinstaller/permission/ui/handheld/AllAppPermissionsFragment.java +++ b/src/com/android/packageinstaller/permission/ui/handheld/AllAppPermissionsFragment.java @@ -37,7 +37,7 @@ import android.provider.Settings; import android.util.Log; import android.view.MenuItem; import com.android.packageinstaller.R; -import com.android.packageinstaller.permission.utils.Utils; +import com.android.packageinstaller.util.Utils; import java.util.ArrayList; import java.util.Collections; diff --git a/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java index d5e649ee..674b562e 100644 --- a/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java +++ b/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java @@ -49,10 +49,9 @@ import android.widget.Toast; import com.android.packageinstaller.R; import com.android.packageinstaller.permission.model.AppPermissionGroup; import com.android.packageinstaller.permission.model.AppPermissions; -import com.android.packageinstaller.permission.ui.OverlayTouchActivity; import com.android.packageinstaller.permission.utils.LocationUtils; import com.android.packageinstaller.permission.utils.SafetyNetLogger; -import com.android.packageinstaller.permission.utils.Utils; +import com.android.packageinstaller.util.Utils; import com.android.settingslib.RestrictedLockUtils; import java.util.ArrayList; diff --git a/src/com/android/packageinstaller/permission/ui/handheld/ManagePermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/handheld/ManagePermissionsFragment.java index c53da879..f5d7020e 100644 --- a/src/com/android/packageinstaller/permission/ui/handheld/ManagePermissionsFragment.java +++ b/src/com/android/packageinstaller/permission/ui/handheld/ManagePermissionsFragment.java @@ -37,7 +37,7 @@ import com.android.packageinstaller.permission.model.PermissionApps; import com.android.packageinstaller.permission.model.PermissionApps.PmCache; import com.android.packageinstaller.permission.model.PermissionGroup; import com.android.packageinstaller.permission.model.PermissionGroups; -import com.android.packageinstaller.permission.utils.Utils; +import com.android.packageinstaller.util.Utils; import java.util.List; diff --git a/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java b/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java index ccf864fb..5e5c42d1 100644 --- a/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java +++ b/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java @@ -43,10 +43,9 @@ import com.android.packageinstaller.permission.model.AppPermissionGroup; import com.android.packageinstaller.permission.model.PermissionApps; import com.android.packageinstaller.permission.model.PermissionApps.Callback; import com.android.packageinstaller.permission.model.PermissionApps.PermissionApp; -import com.android.packageinstaller.permission.ui.OverlayTouchActivity; import com.android.packageinstaller.permission.utils.LocationUtils; import com.android.packageinstaller.permission.utils.SafetyNetLogger; -import com.android.packageinstaller.permission.utils.Utils; +import com.android.packageinstaller.util.Utils; import com.android.settingslib.RestrictedLockUtils; import java.util.ArrayList; diff --git a/src/com/android/packageinstaller/permission/ui/handheld/SettingsWithHeader.java b/src/com/android/packageinstaller/permission/ui/handheld/SettingsWithHeader.java index c15a4287..d5775796 100644 --- a/src/com/android/packageinstaller/permission/ui/handheld/SettingsWithHeader.java +++ b/src/com/android/packageinstaller/permission/ui/handheld/SettingsWithHeader.java @@ -28,7 +28,6 @@ import android.widget.TextView; import com.android.packageinstaller.DeviceUtils; import com.android.packageinstaller.R; -import com.android.packageinstaller.permission.utils.Utils; public abstract class SettingsWithHeader extends PermissionsFrameFragment implements OnClickListener { diff --git a/src/com/android/packageinstaller/permission/ui/television/AllAppPermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/television/AllAppPermissionsFragment.java index 7ea9a258..db99538c 100644 --- a/src/com/android/packageinstaller/permission/ui/television/AllAppPermissionsFragment.java +++ b/src/com/android/packageinstaller/permission/ui/television/AllAppPermissionsFragment.java @@ -45,7 +45,7 @@ import android.view.MenuItem; import com.android.packageinstaller.R; import com.android.packageinstaller.permission.model.AppPermissionGroup; import com.android.packageinstaller.permission.model.AppPermissions; -import com.android.packageinstaller.permission.utils.Utils; +import com.android.packageinstaller.util.Utils; import java.util.ArrayList; import java.util.Collections; diff --git a/src/com/android/packageinstaller/permission/ui/television/AppPermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/television/AppPermissionsFragment.java index 5bb0d01c..4a38af96 100644 --- a/src/com/android/packageinstaller/permission/ui/television/AppPermissionsFragment.java +++ b/src/com/android/packageinstaller/permission/ui/television/AppPermissionsFragment.java @@ -50,11 +50,10 @@ import android.widget.Toast; import com.android.packageinstaller.R; import com.android.packageinstaller.permission.model.AppPermissionGroup; import com.android.packageinstaller.permission.model.AppPermissions; -import com.android.packageinstaller.permission.ui.OverlayTouchActivity; import com.android.packageinstaller.permission.ui.ReviewPermissionsActivity; import com.android.packageinstaller.permission.utils.LocationUtils; import com.android.packageinstaller.permission.utils.SafetyNetLogger; -import com.android.packageinstaller.permission.utils.Utils; +import com.android.packageinstaller.util.Utils; import java.util.ArrayList; import java.util.List; diff --git a/src/com/android/packageinstaller/permission/ui/television/ManagePermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/television/ManagePermissionsFragment.java index 47301f48..81550337 100644 --- a/src/com/android/packageinstaller/permission/ui/television/ManagePermissionsFragment.java +++ b/src/com/android/packageinstaller/permission/ui/television/ManagePermissionsFragment.java @@ -38,7 +38,7 @@ import com.android.packageinstaller.permission.model.PermissionApps; import com.android.packageinstaller.permission.model.PermissionApps.PmCache; import com.android.packageinstaller.permission.model.PermissionGroup; import com.android.packageinstaller.permission.model.PermissionGroups; -import com.android.packageinstaller.permission.utils.Utils; +import com.android.packageinstaller.util.Utils; import java.util.List; diff --git a/src/com/android/packageinstaller/permission/ui/television/PermissionAppsFragment.java b/src/com/android/packageinstaller/permission/ui/television/PermissionAppsFragment.java index 1f4228bb..a5ef5411 100644 --- a/src/com/android/packageinstaller/permission/ui/television/PermissionAppsFragment.java +++ b/src/com/android/packageinstaller/permission/ui/television/PermissionAppsFragment.java @@ -45,11 +45,10 @@ import com.android.packageinstaller.permission.model.AppPermissionGroup; import com.android.packageinstaller.permission.model.PermissionApps; import com.android.packageinstaller.permission.model.PermissionApps.Callback; import com.android.packageinstaller.permission.model.PermissionApps.PermissionApp; -import com.android.packageinstaller.permission.ui.OverlayTouchActivity; import com.android.packageinstaller.permission.ui.ReviewPermissionsActivity; import com.android.packageinstaller.permission.utils.LocationUtils; import com.android.packageinstaller.permission.utils.SafetyNetLogger; -import com.android.packageinstaller.permission.utils.Utils; +import com.android.packageinstaller.util.Utils; import java.util.ArrayList; import java.util.List; diff --git a/src/com/android/packageinstaller/permission/ui/television/PermissionsFrameFragment.java b/src/com/android/packageinstaller/permission/ui/television/PermissionsFrameFragment.java index e81aee86..2c7b91e9 100644 --- a/src/com/android/packageinstaller/permission/ui/television/PermissionsFrameFragment.java +++ b/src/com/android/packageinstaller/permission/ui/television/PermissionsFrameFragment.java @@ -33,7 +33,6 @@ import android.widget.TextView; import com.android.packageinstaller.DeviceUtils; import com.android.packageinstaller.R; -import com.android.packageinstaller.permission.utils.Utils; public abstract class PermissionsFrameFragment extends PreferenceFragment { diff --git a/src/com/android/packageinstaller/permission/ui/television/SettingsWithHeader.java b/src/com/android/packageinstaller/permission/ui/television/SettingsWithHeader.java index 4dae629c..a401426d 100644 --- a/src/com/android/packageinstaller/permission/ui/television/SettingsWithHeader.java +++ b/src/com/android/packageinstaller/permission/ui/television/SettingsWithHeader.java @@ -28,7 +28,6 @@ import android.widget.TextView; import com.android.packageinstaller.DeviceUtils; import com.android.packageinstaller.R; -import com.android.packageinstaller.permission.utils.Utils; public abstract class SettingsWithHeader extends PermissionsFrameFragment implements OnClickListener { diff --git a/src/com/android/packageinstaller/permission/ui/wear/AppPermissionsFragmentWear.java b/src/com/android/packageinstaller/permission/ui/wear/AppPermissionsFragmentWear.java index 6ea34628..13a16d6e 100644 --- a/src/com/android/packageinstaller/permission/ui/wear/AppPermissionsFragmentWear.java +++ b/src/com/android/packageinstaller/permission/ui/wear/AppPermissionsFragmentWear.java @@ -35,12 +35,11 @@ import android.widget.Toast; import com.android.packageinstaller.R; import com.android.packageinstaller.permission.model.AppPermissionGroup; import com.android.packageinstaller.permission.model.AppPermissions; -import com.android.packageinstaller.permission.ui.OverlayTouchActivity; import com.android.packageinstaller.permission.ui.wear.settings.PermissionsSettingsAdapter; import com.android.packageinstaller.permission.ui.wear.settings.SettingsAdapter; import com.android.packageinstaller.permission.utils.LocationUtils; import com.android.packageinstaller.permission.utils.SafetyNetLogger; -import com.android.packageinstaller.permission.utils.Utils; +import com.android.packageinstaller.util.Utils; import java.util.ArrayList; import java.util.List; diff --git a/src/com/android/packageinstaller/permission/utils/Utils.java b/src/com/android/packageinstaller/permission/utils/Utils.java deleted file mode 100644 index 21830378..00000000 --- a/src/com/android/packageinstaller/permission/utils/Utils.java +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Copyright (C) 2015 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.packageinstaller.permission.utils; - -import android.Manifest; -import android.content.Context; -import android.content.Intent; -import android.content.pm.ApplicationInfo; -import android.content.pm.PackageManager; -import android.content.pm.ResolveInfo; -import android.content.res.Configuration; -import android.content.res.Resources; -import android.content.res.Resources.Theme; -import android.graphics.drawable.Drawable; -import android.util.ArraySet; -import android.util.Log; -import android.util.TypedValue; - -import com.android.packageinstaller.permission.model.AppPermissionGroup; -import com.android.packageinstaller.permission.model.AppPermissions; -import com.android.packageinstaller.permission.model.PermissionApps.PermissionApp; - -import java.util.List; - -public class Utils { - - private static final String LOG_TAG = "Utils"; - - public static final String OS_PKG = "android"; - - public static final String[] MODERN_PERMISSION_GROUPS = { - Manifest.permission_group.CALENDAR, - Manifest.permission_group.CAMERA, - Manifest.permission_group.CONTACTS, - Manifest.permission_group.LOCATION, - Manifest.permission_group.SENSORS, - Manifest.permission_group.SMS, - Manifest.permission_group.PHONE, - Manifest.permission_group.MICROPHONE, - Manifest.permission_group.STORAGE - }; - - private static final Intent LAUNCHER_INTENT = new Intent(Intent.ACTION_MAIN, null) - .addCategory(Intent.CATEGORY_LAUNCHER); - - private Utils() { - /* do nothing - hide constructor */ - } - - public static Drawable loadDrawable(PackageManager pm, String pkg, int resId) { - try { - return pm.getResourcesForApplication(pkg).getDrawable(resId, null); - } catch (Resources.NotFoundException | PackageManager.NameNotFoundException e) { - Log.d(LOG_TAG, "Couldn't get resource", e); - return null; - } - } - - public static boolean isModernPermissionGroup(String name) { - for (String modernGroup : MODERN_PERMISSION_GROUPS) { - if (modernGroup.equals(name)) { - return true; - } - } - return false; - } - - public static boolean shouldShowPermission(AppPermissionGroup group, String packageName) { - // We currently will not show permissions fixed by the system. - // which is what the system does for system components. - if (group.isSystemFixed() && !LocationUtils.isLocationGroupAndProvider( - group.getName(), packageName)) { - return false; - } - - final boolean isPlatformPermission = group.getDeclaringPackage().equals(OS_PKG); - // Show legacy permissions only if the user chose that. - if (isPlatformPermission - && !Utils.isModernPermissionGroup(group.getName())) { - return false; - } - return true; - } - - public static boolean shouldShowPermission(PermissionApp app) { - // We currently will not show permissions fixed by the system - // which is what the system does for system components. - if (app.isSystemFixed() && !LocationUtils.isLocationGroupAndProvider( - app.getPermissionGroup().getName(), app.getPackageName())) { - return false; - } - - return true; - } - - public static Drawable applyTint(Context context, Drawable icon, int attr) { - Theme theme = context.getTheme(); - TypedValue typedValue = new TypedValue(); - theme.resolveAttribute(attr, typedValue, true); - icon = icon.mutate(); - icon.setTint(context.getColor(typedValue.resourceId)); - return icon; - } - - public static Drawable applyTint(Context context, int iconResId, int attr) { - return applyTint(context, context.getDrawable(iconResId), attr); - } - - public static ArraySet<String> getLauncherPackages(Context context) { - ArraySet<String> launcherPkgs = new ArraySet<>(); - for (ResolveInfo info : - context.getPackageManager().queryIntentActivities(LAUNCHER_INTENT, 0)) { - launcherPkgs.add(info.activityInfo.packageName); - } - - return launcherPkgs; - } - - public static List<ApplicationInfo> getAllInstalledApplications(Context context) { - return context.getPackageManager().getInstalledApplications(0); - } - - public static boolean isSystem(PermissionApp app, ArraySet<String> launcherPkgs) { - return isSystem(app.getAppInfo(), launcherPkgs); - } - - public static boolean isSystem(AppPermissions app, ArraySet<String> launcherPkgs) { - return isSystem(app.getPackageInfo().applicationInfo, launcherPkgs); - } - - public static boolean isSystem(ApplicationInfo info, ArraySet<String> launcherPkgs) { - return info.isSystemApp() && (info.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) == 0 - && !launcherPkgs.contains(info.packageName); - } -} |