summaryrefslogtreecommitdiffstats
path: root/src/com/android/packageinstaller/permission/ui/handheld
diff options
context:
space:
mode:
authorGabriele M <moto.falcon.git@gmail.com>2017-03-23 22:52:54 +0100
committerGabriele M <moto.falcon.git@gmail.com>2017-03-23 22:27:04 +0000
commit9b194dd68cf8f3085bec91d5a7939d2eb3815b8c (patch)
tree7781b7db7426099a6101db5cbf5fc49a0f0dd8fe /src/com/android/packageinstaller/permission/ui/handheld
parent6833a1108b7ebc6db4dfd5cfc98e9c05712fdefa (diff)
downloadandroid_packages_apps_PackageInstaller-9b194dd68cf8f3085bec91d5a7939d2eb3815b8c.tar.gz
android_packages_apps_PackageInstaller-9b194dd68cf8f3085bec91d5a7939d2eb3815b8c.tar.bz2
android_packages_apps_PackageInstaller-9b194dd68cf8f3085bec91d5a7939d2eb3815b8c.zip
Revert all the changes introduced with cafrebase
There have been reports of issues with runtime permissions. Revert all the changes introduced with cafrebase. This reverts the following commits: - 64d3812bca7c1121a767e8436b433e8b293e0110 - df27c8179ea9b6ed1c1a16049bdf541091c3126b - e4d18337497cd53ab311fa95acf89951b2d0d478 - b787f076e6cb038717af62f1b6a7b55620dfd626 - 2d5c59ce6a0def14934662b6741cbef6c07c7e71 - be2a8bf78deff2b2db485cc6a247e9a6d49960f6 - c48dd8c1686dc0631dad5b90295e79a3f1ef63c8 BUGBASH-270 BUGBASH-285 Change-Id: I39029116f331835d23bcc1b089972be4cf610519
Diffstat (limited to 'src/com/android/packageinstaller/permission/ui/handheld')
-rw-r--r--src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java119
-rw-r--r--[-rwxr-xr-x]src/com/android/packageinstaller/permission/ui/handheld/GrantPermissionsViewHandlerImpl.java10
2 files changed, 9 insertions, 120 deletions
diff --git a/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java
index b5f57ad0..422fb124 100644
--- a/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java
@@ -27,10 +27,7 @@ import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
-import android.content.pm.PackageManager.NameNotFoundException;
-import android.content.pm.PermissionInfo;
import android.graphics.drawable.Drawable;
-import android.Manifest;
import android.net.Uri;
import android.os.Bundle;
import android.preference.Preference;
@@ -51,7 +48,6 @@ 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.model.Permission;
import com.android.packageinstaller.permission.utils.LocationUtils;
import com.android.packageinstaller.permission.utils.SafetyNetLogger;
import com.android.packageinstaller.permission.utils.Utils;
@@ -77,7 +73,6 @@ public final class AppPermissionsFragment extends SettingsWithHeader
private PreferenceScreen mExtraScreen;
private boolean mHasConfirmedRevoke;
- String mPackageName;
public static AppPermissionsFragment newInstance(String packageName) {
return setPackageName(new AppPermissionsFragment(), packageName);
@@ -100,9 +95,9 @@ public final class AppPermissionsFragment extends SettingsWithHeader
ab.setDisplayHomeAsUpEnabled(true);
}
- mPackageName = getArguments().getString(Intent.EXTRA_PACKAGE_NAME);
+ String packageName = getArguments().getString(Intent.EXTRA_PACKAGE_NAME);
Activity activity = getActivity();
- PackageInfo packageInfo = getPackageInfo(activity, mPackageName);
+ PackageInfo packageInfo = getPackageInfo(activity, packageName);
if (packageInfo == null) {
Toast.makeText(activity, R.string.app_not_found_dlg_title, Toast.LENGTH_LONG).show();
activity.finish();
@@ -242,33 +237,6 @@ public final class AppPermissionsFragment extends SettingsWithHeader
}
mExtraScreen.addPreference(preference);
}
- if (AppPermissionGroup.isStrictOpEnable() && isPlatform) {
- try {
- if (!group.getName().equals(Manifest.permission_group.STORAGE)) {
- PackageManager pm = context.getPackageManager();
- for (Permission permission : group.getPermissions()) {
- PermissionInfo perm = pm.getPermissionInfo(permission.getName(), 0);
- final String[] filterPermissions = new String[]{permission.getName()};
- if (perm.protectionLevel == PermissionInfo.PROTECTION_DANGEROUS) {
- SwitchPreference preference_permission = new SwitchPreference(context);
- preference_permission.setOnPreferenceChangeListener(this);
- preference_permission.setKey(permission.getName());
- preference_permission.setTitle(perm.loadLabel(pm));
- preference_permission.setPersistent(false);
- preference_permission.setEnabled(true);
- AppPermissionGroup permissionGroup = getPermisssionGroup(perm.group);
- preference_permission.setChecked(
- permissionGroup.areRuntimePermissionsGranted(filterPermissions));
- screen.addPreference(preference_permission);
- } else if (perm.protectionLevel == PermissionInfo.PROTECTION_NORMAL) {
- continue;
- }
- }
- }
- } catch (NameNotFoundException e) {
- Log.e(LOG_TAG, "Problem getting package info for " + mPackageName, e);
- }
- }
}
if (mExtraScreen != null) {
@@ -294,79 +262,12 @@ public final class AppPermissionsFragment extends SettingsWithHeader
setLoading(false /* loading */, true /* animate */);
}
- private AppPermissionGroup getPermisssionGroup(String group) {
- for (AppPermissionGroup mGroup : mAppPermissions.getPermissionGroups()) {
- if (group.equals(mGroup.getName())) {
- return mGroup;
- }
- }
- return null;
- }
-
- private void updateEveryPermissionPreference(AppPermissionGroup group) {
- if (group.getName().equals(Manifest.permission_group.STORAGE)) return;
- PackageManager pm = getContext().getPackageManager();
- PreferenceScreen screen = getPreferenceScreen();
- for (Permission permission : group.getPermissions()) {
- Preference permission_preference
- = screen.findPreference((CharSequence) permission.getName());
- try {
- PermissionInfo permInfo = pm.getPermissionInfo(permission.getName(), 0);
- AppPermissionGroup permissionGroup = getPermisssionGroup(permInfo.group);
- final String[] filterPermissions = new String[]{permission.getName()};
- ((SwitchPreference) permission_preference).setChecked(
- permissionGroup.areRuntimePermissionsGranted(filterPermissions));
- } catch (NameNotFoundException e) {
- Log.e(LOG_TAG, "Failed to update permission_preference", e);
- }
- }
- }
-
@Override
public boolean onPreferenceChange(final Preference preference, Object newValue) {
- String key = preference.getKey();
- final String[] filterPermissions = new String[]{key};
- final AppPermissionGroup group = mAppPermissions.getPermissionGroup(key);
- PackageManager pm = getContext().getPackageManager();
+ String groupName = preference.getKey();
+ final AppPermissionGroup group = mAppPermissions.getPermissionGroup(groupName);
if (group == null) {
- if (AppPermissionGroup.isStrictOpEnable()) {
- try {
- PermissionInfo permInfo = pm.getPermissionInfo(key, 0);
- final AppPermissionGroup title_group
- = mAppPermissions.getPermissionGroup(permInfo.group);
- final boolean grantedByDefault = title_group.hasGrantedByDefaultPermission();
- PreferenceScreen screen = getPreferenceScreen();
- Preference group_preference = screen.findPreference((CharSequence) permInfo.group);
- AppPermissionGroup permissionGroup = getPermisssionGroup(permInfo.group);
- if (newValue == Boolean.TRUE) {
- ((SwitchPreference)preference).setChecked(true);
- title_group.grantRuntimePermissions(false, filterPermissions);
- ((SwitchPreference) group_preference).setChecked(
- permissionGroup.areRuntimePermissionsGranted());
- } else {
- //When the permission is off, the application maybe will crash, so need to
- //add a warning dialog when the user revoke the permission.
- new AlertDialog.Builder(getContext())
- .setMessage(grantedByDefault ? R.string.system_warning
- : R.string.old_sdk_deny_warning)
- .setNegativeButton(R.string.cancel, null)
- .setPositiveButton(R.string.grant_dialog_button_deny_anyway,
- new OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- ((SwitchPreference) preference).setChecked(false);
- title_group.revokeRuntimePermissions(false, filterPermissions);
- ((SwitchPreference) group_preference).setChecked(
- permissionGroup.areRuntimePermissionsGranted());
- }
- })
- .show();
- }
- } catch (NameNotFoundException e) {
- Log.e(LOG_TAG, "Problem getting package info for ", e);
- }
- }
return false;
}
@@ -376,13 +277,8 @@ public final class AppPermissionsFragment extends SettingsWithHeader
LocationUtils.showLocationDialog(getContext(), mAppPermissions.getAppLabel());
return false;
}
-
- final boolean isPlatform = group.getDeclaringPackage().equals(Utils.OS_PKG);
if (newValue == Boolean.TRUE) {
group.grantRuntimePermissions(false);
- if (AppPermissionGroup.isStrictOpEnable() && isPlatform) {
- updateEveryPermissionPreference(group);
- }
} else {
final boolean grantedByDefault = group.hasGrantedByDefaultPermission();
if (grantedByDefault || (!group.hasRuntimePermission() && !mHasConfirmedRevoke)) {
@@ -396,9 +292,6 @@ public final class AppPermissionsFragment extends SettingsWithHeader
public void onClick(DialogInterface dialog, int which) {
((SwitchPreference) preference).setChecked(false);
group.revokeRuntimePermissions(false);
- if (AppPermissionGroup.isStrictOpEnable() && isPlatform) {
- updateEveryPermissionPreference(group);
- }
if (!grantedByDefault) {
mHasConfirmedRevoke = true;
}
@@ -408,11 +301,9 @@ public final class AppPermissionsFragment extends SettingsWithHeader
return false;
} else {
group.revokeRuntimePermissions(false);
- if (AppPermissionGroup.isStrictOpEnable() && isPlatform) {
- updateEveryPermissionPreference(group);
- }
}
}
+
return true;
}
diff --git a/src/com/android/packageinstaller/permission/ui/handheld/GrantPermissionsViewHandlerImpl.java b/src/com/android/packageinstaller/permission/ui/handheld/GrantPermissionsViewHandlerImpl.java
index 713b3e27..6342826f 100755..100644
--- a/src/com/android/packageinstaller/permission/ui/handheld/GrantPermissionsViewHandlerImpl.java
+++ b/src/com/android/packageinstaller/permission/ui/handheld/GrantPermissionsViewHandlerImpl.java
@@ -35,7 +35,6 @@ import com.android.packageinstaller.R;
import com.android.packageinstaller.permission.ui.ButtonBarLayout;
import com.android.packageinstaller.permission.ui.GrantPermissionsViewHandler;
import com.android.packageinstaller.permission.ui.ManualLayoutFrame;
-import com.android.packageinstaller.permission.model.AppPermissionGroup;
public final class GrantPermissionsViewHandlerImpl
implements GrantPermissionsViewHandler, OnClickListener {
@@ -314,7 +313,7 @@ public final class GrantPermissionsViewHandlerImpl
}
private void updateDoNotAskCheckBox() {
- if (!mShowDonNotAsk) {
+ if (mShowDonNotAsk) {
mDoNotAskCheckbox.setVisibility(View.VISIBLE);
mDoNotAskCheckbox.setOnClickListener(this);
mDoNotAskCheckbox.setChecked(mDoNotAskChecked);
@@ -330,8 +329,7 @@ public final class GrantPermissionsViewHandlerImpl
case R.id.permission_allow_button:
if (mResultListener != null) {
view.clearAccessibilityFocus();
- mResultListener.onPermissionGrantResult(
- mGroupName, true, AppPermissionGroup.isStrictOpEnable()? false: mDoNotAskCheckbox.isChecked());
+ mResultListener.onPermissionGrantResult(mGroupName, true, false);
}
break;
case R.id.permission_deny_button:
@@ -339,11 +337,11 @@ public final class GrantPermissionsViewHandlerImpl
if (mResultListener != null) {
view.clearAccessibilityFocus();
mResultListener.onPermissionGrantResult(mGroupName, false,
- AppPermissionGroup.isStrictOpEnable()? false: mShowDonNotAsk && mDoNotAskCheckbox.isChecked());
+ mShowDonNotAsk && mDoNotAskCheckbox.isChecked());
}
break;
case R.id.do_not_ask_checkbox:
- //mAllowButton.setEnabled(!mDoNotAskCheckbox.isChecked());
+ mAllowButton.setEnabled(!mDoNotAskCheckbox.isChecked());
break;
}
}