summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/appops/AppOpsControllerImpl.java3
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/appops/AppOpsControllerTest.java11
2 files changed, 14 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/appops/AppOpsControllerImpl.java b/packages/SystemUI/src/com/android/systemui/appops/AppOpsControllerImpl.java
index 9fd060255e9b..e0f73a63113a 100644
--- a/packages/SystemUI/src/com/android/systemui/appops/AppOpsControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/appops/AppOpsControllerImpl.java
@@ -229,6 +229,9 @@ public class AppOpsControllerImpl extends BroadcastReceiver implements AppOpsCon
private void fetchCurrentActiveOps() {
List<AppOpsManager.PackageOps> packageOps = mAppOps.getPackagesForOps(OPS);
+ if (packageOps == null) {
+ return;
+ }
for (AppOpsManager.PackageOps op : packageOps) {
for (AppOpsManager.OpEntry entry : op.getOps()) {
for (Map.Entry<String, AppOpsManager.AttributedOpEntry> attributedOpEntry :
diff --git a/packages/SystemUI/tests/src/com/android/systemui/appops/AppOpsControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/appops/AppOpsControllerTest.java
index 0b0410aa1670..0d464cfd71f7 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/appops/AppOpsControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/appops/AppOpsControllerTest.java
@@ -180,6 +180,17 @@ public class AppOpsControllerTest extends SysuiTestCase {
assertThat(mController.getActiveAppOps()).isEmpty();
}
+ /** Regression test for b/324329757 */
+ @Test
+ public void startListening_fetchCurrentActive_nullPackageOps() {
+ when(mAppOpsManager.getPackagesForOps(AppOpsControllerImpl.OPS)).thenReturn(null);
+
+ mController.setListening(true);
+ mBgExecutor.runAllReady();
+
+ assertThat(mController.getActiveAppOps()).isEmpty();
+ }
+
/** Regression test for b/294104969. */
@Test
public void startListening_fetchesCurrentActive_oneActive() {