summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/wm/SplashScreenExceptionList.java3
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/SplashScreenExceptionListTest.java20
2 files changed, 15 insertions, 8 deletions
diff --git a/services/core/java/com/android/server/wm/SplashScreenExceptionList.java b/services/core/java/com/android/server/wm/SplashScreenExceptionList.java
index e815a0e2682a..9ca49fe9557e 100644
--- a/services/core/java/com/android/server/wm/SplashScreenExceptionList.java
+++ b/services/core/java/com/android/server/wm/SplashScreenExceptionList.java
@@ -64,7 +64,8 @@ class SplashScreenExceptionList {
mOnPropertiesChangedListener);
}
- private void updateDeviceConfig(String values) {
+ @VisibleForTesting
+ void updateDeviceConfig(String values) {
parseDeviceConfigPackageList(values);
}
diff --git a/services/tests/wmtests/src/com/android/server/wm/SplashScreenExceptionListTest.java b/services/tests/wmtests/src/com/android/server/wm/SplashScreenExceptionListTest.java
index 3714d9984a0c..f5d915dee257 100644
--- a/services/tests/wmtests/src/com/android/server/wm/SplashScreenExceptionListTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/SplashScreenExceptionListTest.java
@@ -39,6 +39,7 @@ import org.junit.Test;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
+import java.util.function.Consumer;
/**
* Test for the splash screen exception list
@@ -55,7 +56,16 @@ public class SplashScreenExceptionListTest {
private DeviceConfig.Properties mInitialWindowManagerProperties;
private final HandlerExecutor mExecutor = new HandlerExecutor(
new Handler(Looper.getMainLooper()));
- private final SplashScreenExceptionList mList = new SplashScreenExceptionList(mExecutor);
+ private final SplashScreenExceptionList mList = new SplashScreenExceptionList(mExecutor) {
+ @Override
+ void updateDeviceConfig(String rawList) {
+ super.updateDeviceConfig(rawList);
+ if (mOnUpdateDeviceConfig != null) {
+ mOnUpdateDeviceConfig.accept(rawList);
+ }
+ }
+ };
+ private Consumer<String> mOnUpdateDeviceConfig;
@Before
public void setUp() throws Exception {
@@ -91,13 +101,11 @@ public class SplashScreenExceptionListTest {
private void setExceptionListAndWaitForCallback(String commaSeparatedList) {
CountDownLatch latch = new CountDownLatch(1);
- DeviceConfig.OnPropertiesChangedListener onPropertiesChangedListener = (p) -> {
- if (commaSeparatedList.equals(p.getString(KEY_SPLASH_SCREEN_EXCEPTION_LIST, null))) {
+ mOnUpdateDeviceConfig = rawList -> {
+ if (commaSeparatedList.equals(rawList)) {
latch.countDown();
}
};
- DeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_WINDOW_MANAGER,
- mExecutor, onPropertiesChangedListener);
DeviceConfig.setProperty(DeviceConfig.NAMESPACE_WINDOW_MANAGER,
KEY_SPLASH_SCREEN_EXCEPTION_LIST, commaSeparatedList, false);
try {
@@ -105,8 +113,6 @@ public class SplashScreenExceptionListTest {
latch.await(1, TimeUnit.SECONDS));
} catch (InterruptedException e) {
Assert.fail(e.getMessage());
- } finally {
- DeviceConfig.removeOnPropertiesChangedListener(onPropertiesChangedListener);
}
}