From 1f4f26b1d5dd461b786e6113bc466fb639ace327 Mon Sep 17 00:00:00 2001 From: Ruben Brunk Date: Tue, 2 Aug 2016 14:21:36 -0700 Subject: [PATCH] Fix component management in VrManagerService. - Add null checks to avoid crashing in transient state with no enabled packages during user switch. Bug: 30574163 Change-Id: I316373e900d4be35be7691b50057d0701b7fb4a5 --- .../core/java/com/android/server/vr/VrManagerService.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/vr/VrManagerService.java b/services/core/java/com/android/server/vr/VrManagerService.java index 7d209318c0862..bba8667e0c0ea 100644 --- a/services/core/java/com/android/server/vr/VrManagerService.java +++ b/services/core/java/com/android/server/vr/VrManagerService.java @@ -46,6 +46,7 @@ import android.service.vr.IVrListener; import android.service.vr.IVrManager; import android.service.vr.IVrStateCallbacks; import android.service.vr.VrListenerService; +import android.text.TextUtils; import android.util.ArrayMap; import android.util.ArraySet; import android.util.Slog; @@ -643,7 +644,7 @@ public class VrManagerService extends SystemService implements EnabledComponentC for (String c : current) { ComponentName component = ComponentName.unflattenFromString(c); - if (component.getPackageName().equals(pkg)) { + if (component != null && component.getPackageName().equals(pkg)) { toRemove.add(c); } } @@ -671,7 +672,9 @@ public class VrManagerService extends SystemService implements EnabledComponentC if (flat != null) { String[] allowed = flat.split(":"); for (String s : allowed) { - current.add(s); + if (!TextUtils.isEmpty(s)) { + current.add(s); + } } } return current;