From bc28ebb78ce04ce3e9ac54d4baa2660f35a3eb33 Mon Sep 17 00:00:00 2001 From: Samuel Fufa Date: Tue, 12 May 2020 01:40:37 -0700 Subject: [PATCH] Resolve NPE on widget.provider.id Test: existing tests should pass Bug: 156120679 Change-Id: I88108ef6825d72561453d57253cd6d5a14951364 --- .../server/appwidget/AppWidgetServiceImpl.java | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java index 74e4e4a431265..d7a3a32f102ac 100644 --- a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java +++ b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java @@ -19,7 +19,6 @@ package com.android.server.appwidget; import static android.content.Context.KEYGUARD_SERVICE; import static android.content.Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS; import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK; - import static com.android.server.pm.PackageManagerService.PLATFORM_PACKAGE_NAME; import android.annotation.UserIdInt; @@ -101,7 +100,6 @@ import android.util.proto.ProtoOutputStream; import android.view.Display; import android.view.View; import android.widget.RemoteViews; - import com.android.internal.R; import com.android.internal.app.SuspendedAppActivity; import com.android.internal.app.UnlaunchableAppActivity; @@ -116,11 +114,6 @@ import com.android.internal.widget.IRemoteViewsFactory; import com.android.server.LocalServices; import com.android.server.WidgetBackupProvider; import com.android.server.policy.IconUtilities; - -import org.xmlpull.v1.XmlPullParser; -import org.xmlpull.v1.XmlPullParserException; -import org.xmlpull.v1.XmlSerializer; - import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; @@ -142,6 +135,9 @@ import java.util.Map; import java.util.Objects; import java.util.Set; import java.util.concurrent.atomic.AtomicLong; +import org.xmlpull.v1.XmlPullParser; +import org.xmlpull.v1.XmlPullParserException; +import org.xmlpull.v1.XmlSerializer; class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBackupProvider, OnCrossProfileWidgetProvidersChangeListener { @@ -4887,7 +4883,7 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku final int widgetCount = mWidgets.size(); for (int i = 0; i < widgetCount; i++) { final Widget widget = mWidgets.get(i); - if (widget.host.id.uid == uid) { + if (widget.host.id.uid == uid && widget.provider != null) { if (widgetPackages == null) { widgetPackages = new ArraySet<>(); }