From 86e5a01708256901cb81d5daeeb24fe946436cf2 Mon Sep 17 00:00:00 2001 From: Felipe Leme Date: Tue, 16 Feb 2016 16:26:05 -0800 Subject: [PATCH] Added extra check to avoid NPE if package does not exist. BUG: 26685616 Change-Id: I244e479fd9668bc4f07b8797ce2fc1e1df7a4d28 --- .../net/NetworkPolicyManagerService.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java index 24bb845de4277..8029432635061 100644 --- a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java +++ b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java @@ -2623,13 +2623,17 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { final int uid = msg.arg1; final PackageManager pm = mContext.getPackageManager(); final String[] packages = pm.getPackagesForUid(uid); - final int userId = UserHandle.getUserId(uid); - for (String packageName : packages) { - final Intent intent = - new Intent(ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED); - intent.setPackage(packageName); - intent.setFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY); - mContext.sendBroadcastAsUser(intent, UserHandle.of(userId)); + if (packages != null) { + final int userId = UserHandle.getUserId(uid); + for (String packageName : packages) { + final Intent intent = new Intent( + ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED); + intent.setPackage(packageName); + intent.setFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY); + mContext.sendBroadcastAsUser(intent, UserHandle.of(userId)); + } + } else { + Slog.w(TAG, "no packages for uid " + uid); } return true; }