Bug fix: null string will cause exception in checkStringInAdbCommandOutput
Bug: 192036015
Test: atest com.android.settings.fuelgauge.batterysaver.BatterySaverButtonPreferenceControllerComponentTest#test_check_battery_saver_button
Change-Id: Ifc73c8c9d6b5fabca6af5ea604f23a789b99d217
https://atp.googleplex.com/test_runs/128222905
diff --git a/tests/componenttests/src/com/android/settings/testutils/AdbUtils.java b/tests/componenttests/src/com/android/settings/testutils/AdbUtils.java
index 81f9854..b6e3c52 100644
--- a/tests/componenttests/src/com/android/settings/testutils/AdbUtils.java
+++ b/tests/componenttests/src/com/android/settings/testutils/AdbUtils.java
@@ -43,10 +43,12 @@
public static boolean checkStringInAdbCommandOutput(String logTag, String command,
String prefix, String target, int timeoutInMillis) throws Exception {
long start = System.nanoTime();
+
//Sometimes the change do no reflect in adn output immediately, so need a wait and poll here
while (System.nanoTime() - start < (timeoutInMillis * 1000000)) {
String result = shell(command);
- if (result.contains(prefix) && result.contains(target)) {
+ if (result.contains(prefix == null ? "" : prefix)
+ && result.contains(target == null ? "" : target)) {
return true;
} else {
Thread.sleep(100);