From 835fa71144173f6fb1fa24b181b59a1dd75da748 Mon Sep 17 00:00:00 2001 From: Eva Chen Date: Mon, 24 Jan 2022 09:47:28 -0800 Subject: [PATCH] Add gnss suspend commands to LocationShellCommand. Bug: 187348886 Test: Manual Testing on Automotive Seahawk device Change-Id: Ib4900e2d2278f8a7f69d042be7bf37095359ce21 --- .../server/location/LocationShellCommand.java | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/services/core/java/com/android/server/location/LocationShellCommand.java b/services/core/java/com/android/server/location/LocationShellCommand.java index b65338d9691dd..9c85d18515af6 100644 --- a/services/core/java/com/android/server/location/LocationShellCommand.java +++ b/services/core/java/com/android/server/location/LocationShellCommand.java @@ -69,6 +69,14 @@ class LocationShellCommand extends BasicShellCommandHandler { handleSetAdasGnssLocationEnabled(); return 0; } + case "set-automotive-gnss-suspended": { + handleSetAutomotiveGnssSuspended(); + return 0; + } + case "is-automotive-gnss-suspended": { + handleIsAutomotiveGnssSuspended(); + return 0; + } case "providers": { String command = getNextArgRequired(); return parseProvidersCommand(command); @@ -189,6 +197,24 @@ class LocationShellCommand extends BasicShellCommandHandler { mService.setAdasGnssLocationEnabledForUser(enabled, userId); } + private void handleSetAutomotiveGnssSuspended() { + if (!mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE)) { + throw new IllegalStateException("command only recognized on automotive devices"); + } + + boolean suspended = Boolean.parseBoolean(getNextArgRequired()); + + mService.setAutomotiveGnssSuspended(suspended); + } + + private void handleIsAutomotiveGnssSuspended() { + if (!mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE)) { + throw new IllegalStateException("command only recognized on automotive devices"); + } + + getOutPrintWriter().println(mService.isAutomotiveGnssSuspended()); + } + private void handleAddTestProvider() { String provider = getNextArgRequired(); @@ -359,6 +385,10 @@ class LocationShellCommand extends BasicShellCommandHandler { pw.println(" set-adas-gnss-location-enabled true|false [--user ]"); pw.println(" Sets the ADAS GNSS location enabled state. If no user is specified,"); pw.println(" the current user is assumed."); + pw.println(" is-automotive-gnss-suspended"); + pw.println(" Gets the automotive GNSS suspended state."); + pw.println(" set-automotive-gnss-suspended true|false"); + pw.println(" Sets the automotive GNSS suspended state."); } pw.println(" providers"); pw.println(" The providers command is followed by a subcommand, as listed below:");