Merge "Fix test flakiness of SplashScreenExceptionListTest"

This commit is contained in:
Riddle Hsu
2022-01-03 07:30:05 +00:00
committed by Android (Google) Code Review
2 changed files with 15 additions and 8 deletions

View File

@@ -64,7 +64,8 @@ class SplashScreenExceptionList {
mOnPropertiesChangedListener);
}
private void updateDeviceConfig(String values) {
@VisibleForTesting
void updateDeviceConfig(String values) {
parseDeviceConfigPackageList(values);
}

View File

@@ -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);
}
}