diff --git a/res/xml/manage_external_storage_permission_details.xml b/res/xml/manage_external_storage_permission_details.xml
index b540ff6687c..29ff297b8c2 100644
--- a/res/xml/manage_external_storage_permission_details.xml
+++ b/res/xml/manage_external_storage_permission_details.xml
@@ -14,7 +14,9 @@
limitations under the License.
-->
-
@@ -22,8 +24,9 @@
android:key="app_ops_settings_switch"
android:title="@string/permit_manage_external_storage"/>
-
+
diff --git a/src/com/android/settings/applications/AppStateAppOpsBridge.java b/src/com/android/settings/applications/AppStateAppOpsBridge.java
index 8c001d841f1..b4f6e483711 100755
--- a/src/com/android/settings/applications/AppStateAppOpsBridge.java
+++ b/src/com/android/settings/applications/AppStateAppOpsBridge.java
@@ -61,6 +61,7 @@ public abstract class AppStateAppOpsBridge extends AppStateBaseBridge {
this(context, appState, callback, appOpsOpCode, permissions,
AppGlobals.getPackageManager());
}
+
AppStateAppOpsBridge(Context context, ApplicationsState appState, Callback callback,
int[] appOpsOpCodes, String[] permissions) {
this(context, appState, callback, appOpsOpCodes, permissions,
@@ -70,9 +71,10 @@ public abstract class AppStateAppOpsBridge extends AppStateBaseBridge {
@VisibleForTesting
AppStateAppOpsBridge(Context context, ApplicationsState appState, Callback callback,
int appOpsOpCode, String[] permissions, IPackageManager packageManager) {
- this(context, appState, callback, new int[] {appOpsOpCode}, permissions,
+ this(context, appState, callback, new int[]{appOpsOpCode}, permissions,
packageManager);
}
+
AppStateAppOpsBridge(Context context, ApplicationsState appState, Callback callback,
int[] appOpsOpCodes, String[] permissions, IPackageManager packageManager) {
super(appState, callback);
@@ -155,8 +157,12 @@ public abstract class AppStateAppOpsBridge extends AppStateBaseBridge {
for (int i = 0; i < N; i++) {
AppEntry app = apps.get(i);
int userId = UserHandle.getUserId(app.info.uid);
- ArrayMap userMap = entries.get(userId);
- app.extraInfo = userMap != null ? userMap.get(app.info.packageName) : null;
+ if (entries != null) {
+ ArrayMap userMap = entries.get(userId);
+ app.extraInfo = userMap != null ? userMap.get(app.info.packageName) : null;
+ } else {
+ app.extraInfo = null;
+ }
}
}
@@ -247,6 +253,10 @@ public abstract class AppStateAppOpsBridge extends AppStateBaseBridge {
* a particular package.
*/
private void loadAppOpsStates(SparseArray> entries) {
+ if (entries == null) {
+ return;
+ }
+
// Find out which packages have been granted permission from AppOps.
final List packageOps = mAppOpsManager.getPackagesForOps(
mAppOpsOpCodes);