diff --git a/src/com/android/settings/applications/AppOpsDetails.java b/src/com/android/settings/applications/AppOpsDetails.java index 9bc90a75827..85eba0c5f5f 100644 --- a/src/com/android/settings/applications/AppOpsDetails.java +++ b/src/com/android/settings/applications/AppOpsDetails.java @@ -123,17 +123,19 @@ public class AppOpsDetails extends Fragment { mOperationsSection, false); mOperationsSection.addView(view); String perm = AppOpsManager.opToPermission(op.getOp()); - try { - PermissionInfo pi = mPm.getPermissionInfo(perm, 0); - if (pi.group != null && !lastPermGroup.equals(pi.group)) { - lastPermGroup = pi.group; - PermissionGroupInfo pgi = mPm.getPermissionGroupInfo(pi.group, 0); - if (pgi.icon != 0) { - ((ImageView)view.findViewById(R.id.op_icon)).setImageDrawable( - pgi.loadIcon(mPm)); + if (perm != null) { + try { + PermissionInfo pi = mPm.getPermissionInfo(perm, 0); + if (pi.group != null && !lastPermGroup.equals(pi.group)) { + lastPermGroup = pi.group; + PermissionGroupInfo pgi = mPm.getPermissionGroupInfo(pi.group, 0); + if (pgi.icon != 0) { + ((ImageView)view.findViewById(R.id.op_icon)).setImageDrawable( + pgi.loadIcon(mPm)); + } } + } catch (NameNotFoundException e) { } - } catch (NameNotFoundException e) { } ((TextView)view.findViewById(R.id.op_name)).setText(mState.getLabelText(op)); ((TextView)view.findViewById(R.id.op_time)).setText(mState.getTimeText(op)); diff --git a/src/com/android/settings/applications/AppOpsState.java b/src/com/android/settings/applications/AppOpsState.java index 808afa8e308..40506874771 100644 --- a/src/com/android/settings/applications/AppOpsState.java +++ b/src/com/android/settings/applications/AppOpsState.java @@ -359,7 +359,7 @@ public class AppOpsState { ArrayList permOps = new ArrayList(); for (int i=0; i dummyOps = null; AppOpsManager.PackageOps pkgOps = null; - for (int j=0; j(); - pkgOps = new AppOpsManager.PackageOps( - appInfo.packageName, appInfo.applicationInfo.uid, dummyOps); + if (DEBUG) Log.d(TAG, "Pkg " + appInfo.packageName + ": requested perm " + + appInfo.requestedPermissions[j]); + for (int k=0; k(); + pkgOps = new AppOpsManager.PackageOps( + appInfo.packageName, appInfo.applicationInfo.uid, dummyOps); + } + AppOpsManager.OpEntry opEntry = new AppOpsManager.OpEntry( + permOps.get(k), AppOpsManager.MODE_ALLOWED, 0, 0, 0); + dummyOps.add(opEntry); + addOp(entries, pkgOps, appEntry, opEntry); } - AppOpsManager.OpEntry opEntry = new AppOpsManager.OpEntry( - permOps.get(k), AppOpsManager.MODE_ALLOWED, 0, 0, 0); - dummyOps.add(opEntry); - addOp(entries, pkgOps, appEntry, opEntry); } } }