diff options
author | Svet Ganov <svetoslavganov@google.com> | 2015-08-20 08:17:59 -0700 |
---|---|---|
committer | Jeff Sharkey <jsharkey@android.com> | 2015-08-21 11:38:21 -0700 |
commit | 8dcea3bf077e84eb0ad8e204981b4f20f8ca83ed (patch) | |
tree | 15697393e4cd63f52917438db4b659127de61571 /src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java | |
parent | 9b724fd6ddd5be3b21f9fea7977bd573659e7ecc (diff) | |
download | android_packages_apps_PackageInstaller-8dcea3bf077e84eb0ad8e204981b4f20f8ca83ed.tar.gz android_packages_apps_PackageInstaller-8dcea3bf077e84eb0ad8e204981b4f20f8ca83ed.tar.bz2 android_packages_apps_PackageInstaller-8dcea3bf077e84eb0ad8e204981b4f20f8ca83ed.zip |
Show multi-permission UI in the requested order.
Apps can request several permissions at once but the UI was
not shown in the request order. This is problematic since
apps may show on board UI stating which permissions will be
requested.
Bug: 23314383
Change-Id: I0c59a741fb09e63bead0f76d4d337769d2dff387
Diffstat (limited to 'src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java')
-rw-r--r-- | src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java b/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java index c451dd50..df98d690 100644 --- a/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java +++ b/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java @@ -31,7 +31,6 @@ import android.hardware.camera2.utils.ArrayUtils; import android.os.Bundle; import android.text.SpannableString; import android.text.style.ForegroundColorSpan; -import android.util.ArrayMap; import android.util.Log; import android.view.KeyEvent; import android.view.MotionEvent; @@ -47,6 +46,7 @@ import com.android.packageinstaller.permission.utils.SafetyNetLogger; import com.android.packageinstaller.permission.utils.Utils; import java.util.ArrayList; +import java.util.LinkedHashMap; import java.util.List; public class GrantPermissionsActivity extends OverlayTouchActivity @@ -57,7 +57,7 @@ public class GrantPermissionsActivity extends OverlayTouchActivity private String[] mRequestedPermissions; private int[] mGrantResults; - private ArrayMap<String, GroupState> mRequestGrantPermissionGroups = new ArrayMap<>(); + private LinkedHashMap<String, GroupState> mRequestGrantPermissionGroups = new LinkedHashMap<>(); private GrantPermissionsViewHandler mViewHandler; private AppPermissions mAppPermissions; @@ -178,8 +178,8 @@ public class GrantPermissionsActivity extends OverlayTouchActivity private boolean showNextPermissionGroupGrantRequest() { final int groupCount = mRequestGrantPermissionGroups.size(); - for (int i = 0; i < groupCount; i++) { - GroupState groupState = mRequestGrantPermissionGroups.valueAt(i); + int currentIndex = 0; + for (GroupState groupState : mRequestGrantPermissionGroups.values()) { if (groupState.mState == GroupState.STATE_UNKNOWN) { CharSequence appLabel = mAppPermissions.getAppLabel(); SpannableString message = new SpannableString(getString( @@ -206,11 +206,13 @@ public class GrantPermissionsActivity extends OverlayTouchActivity } int icon = groupState.mGroup.getIconResId(); - mViewHandler.updateUi(groupState.mGroup.getName(), groupCount, i, + mViewHandler.updateUi(groupState.mGroup.getName(), groupCount, currentIndex, Icon.createWithResource(resources, icon), message, groupState.mGroup.isUserSet()); - return true; + return true; } + + currentIndex++; } return false; @@ -350,8 +352,8 @@ public class GrantPermissionsActivity extends OverlayTouchActivity final int groupCount = mRequestGrantPermissionGroups.size(); List<AppPermissionGroup> groups = new ArrayList<>(groupCount); - for (int i = 0; i < groupCount; i++) { - groups.add(mRequestGrantPermissionGroups.valueAt(i).mGroup); + for (GroupState groupState : mRequestGrantPermissionGroups.values()) { + groups.add(groupState.mGroup); } SafetyNetLogger.logPermissionsRequested(mAppPermissions.getPackageInfo(), groups); |