Correct checking whether activity name contains package.
There are cases where the activity name is null, which leads to a NPE
when checking for the presence of the package. This CL adds the
additional null pointer check.
Change-Id: I5c44eaaa9337a4012ce3be4f50726b035f1f4162
Fixes: 38384921
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test CtsServicesHostTestCases android.server.cts.ActivityManagerDockedStackTests#testLaunchToSide
(cherry picked from commit 637b1d5812753496fdc95378c3eae32e4768e221)
diff --git a/hostsidetests/services/activityandwindowmanager/util/src/android/server/cts/ActivityManagerTestBase.java b/hostsidetests/services/activityandwindowmanager/util/src/android/server/cts/ActivityManagerTestBase.java
index f54e83b..b1cf2a2 100644
--- a/hostsidetests/services/activityandwindowmanager/util/src/android/server/cts/ActivityManagerTestBase.java
+++ b/hostsidetests/services/activityandwindowmanager/util/src/android/server/cts/ActivityManagerTestBase.java
@@ -185,8 +185,13 @@
return getActivityComponentName(componentName, activityName);
}
+ private static boolean isFullyQualifiedActivityName(String name) {
+ return name != null && name.contains(".");
+ }
+
static String getActivityComponentName(final String packageName, final String activityName) {
- return packageName + "/" + (activityName.contains(".") ? "" : ".") + activityName;
+ return packageName + "/" + (isFullyQualifiedActivityName(activityName) ? "" : ".") +
+ activityName;
}
// A little ugly, but lets avoid having to strip static everywhere for
@@ -212,7 +217,8 @@
}
static String getWindowName(final String packageName, final String activityName) {
- return getBaseWindowName(packageName, !activityName.contains(".")) + activityName;
+ return getBaseWindowName(packageName, !isFullyQualifiedActivityName(activityName))
+ + activityName;
}
protected ActivityAndWindowManagersState mAmWmState = new ActivityAndWindowManagersState();