Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5f85780d authored by Bjorn Bringert's avatar Bjorn Bringert
Browse files

Fix NPE in AppWidgetService.addProvidersForPackageLocked()

queryBroadcastReceivers() can return null, so AppWidgetService
should guard against that.

Fixes http://b/issue?id=2418982

Change-Id: I1ba83c0c37622e0280f3dba2fef5eca2cc90c975
parent e4e82f27
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -573,7 +573,7 @@ class AppWidgetService extends IAppWidgetService.Stub
        List<ResolveInfo> broadcastReceivers = pm.queryBroadcastReceivers(intent,
                PackageManager.GET_META_DATA);

        final int N = broadcastReceivers.size();
        final int N = broadcastReceivers == null ? 0 : broadcastReceivers.size();
        for (int i=0; i<N; i++) {
            ResolveInfo ri = broadcastReceivers.get(i);
            addProviderLocked(ri);
@@ -1137,7 +1137,7 @@ class AppWidgetService extends IAppWidgetService.Stub
        List<ResolveInfo> broadcastReceivers = mPackageManager.queryBroadcastReceivers(intent,
                PackageManager.GET_META_DATA);

        final int N = broadcastReceivers.size();
        final int N = broadcastReceivers == null ? 0 : broadcastReceivers.size();
        for (int i=0; i<N; i++) {
            ResolveInfo ri = broadcastReceivers.get(i);
            ActivityInfo ai = ri.activityInfo;
@@ -1156,7 +1156,7 @@ class AppWidgetService extends IAppWidgetService.Stub
                PackageManager.GET_META_DATA);

        // add the missing ones and collect which ones to keep
        int N = broadcastReceivers.size();
        int N = broadcastReceivers == null ? 0 : broadcastReceivers.size();
        for (int i=0; i<N; i++) {
            ResolveInfo ri = broadcastReceivers.get(i);
            ActivityInfo ai = ri.activityInfo;