Fix state dumping when service stopped

Avoid a NullPointerException.

Bug: 178169250
Test: Command line testing
Change-Id: If01e31fc72c3284dacef8735fd997a7783faf6e0
This commit is contained in:
Neil Fuller
2021-04-07 20:29:50 +01:00
parent adb4b12d77
commit 9d02a125fb
2 changed files with 10 additions and 2 deletions

View File

@@ -437,8 +437,11 @@ public class LocationTimeZoneManagerService extends Binder {
}, BLOCKING_OP_WAIT_DURATION_MILLIS);
}
/** Returns a snapshot of the current controller state for tests. */
@NonNull
/**
* Returns a snapshot of the current controller state for tests. Returns {@code null} if the
* service is stopped.
*/
@Nullable
LocationTimeZoneManagerServiceState getStateForTests() {
enforceManageTimeZoneDetectorPermission();

View File

@@ -217,6 +217,11 @@ class LocationTimeZoneManagerShellCommand extends ShellCommand {
return 1;
}
if (state == null) {
// Controller is stopped.
return 0;
}
DualDumpOutputStream outputStream;
boolean useProto = Objects.equals(DUMP_STATE_OPTION_PROTO, getNextOption());
if (useProto) {