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
This commit is contained in:
Syaoran Kuo
2021-06-25 13:19:11 +08:00
parent 0470dba81f
commit 5148311d60

View File

@@ -43,10 +43,12 @@ public class AdbUtils {
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);