From a272643fa0f176ad3e465648ab3bf813627a54e4 Mon Sep 17 00:00:00 2001 From: Xiaowen Lei Date: Sat, 22 Jan 2022 01:15:08 +0000 Subject: [PATCH] Fix bug that the dream is set to "" when null is passed. Currently if null is passed, the active dream is set to "" instead of null. This is problematic because our code doesn't have logic for handling "" like null. Test: atest NudgeToSetupDreamCallbackTest Test: manually flash device and run Test: atest DreamManagerServiceTests Bug: 213368707 Change-Id: Ic4922fb61f7ceef9fc48e81f1455872861e34af5 --- .../android/server/dreams/DreamManagerService.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/services/core/java/com/android/server/dreams/DreamManagerService.java b/services/core/java/com/android/server/dreams/DreamManagerService.java index 258689a3ed933..611b28850efe2 100644 --- a/services/core/java/com/android/server/dreams/DreamManagerService.java +++ b/services/core/java/com/android/server/dreams/DreamManagerService.java @@ -484,14 +484,15 @@ public final class DreamManagerService extends SystemService { } private static String componentsToString(ComponentName[] componentNames) { + if (componentNames == null) { + return null; + } StringBuilder names = new StringBuilder(); - if (componentNames != null) { - for (ComponentName componentName : componentNames) { - if (names.length() > 0) { - names.append(','); - } - names.append(componentName.flattenToString()); + for (ComponentName componentName : componentNames) { + if (names.length() > 0) { + names.append(','); } + names.append(componentName.flattenToString()); } return names.toString(); }