Allow settingIgnored for DBH request if inEmergency am: 97e162d605 am: 8a1c944d0d

Change-Id: Id405a753e73a0906b6ab37a0aa8764fb15e04e43
This commit is contained in:
Automerger Merge Worker
2020-02-27 04:08:04 +00:00
2 changed files with 15 additions and 7 deletions

View File

@@ -80,7 +80,7 @@ class GnssConfiguration {
// Represents an HAL interface version. Instances of this class are created in the JNI layer
// and returned through native methods.
private static class HalInterfaceVersion {
static class HalInterfaceVersion {
final int mMajor;
final int mMinor;
@@ -206,6 +206,10 @@ class GnssConfiguration {
native_set_satellite_blacklist(constellations, svids);
}
HalInterfaceVersion getHalInterfaceVersion() {
return native_get_gnss_configuration_version();
}
interface SetCarrierProperty {
boolean set(int value);
}
@@ -232,8 +236,7 @@ class GnssConfiguration {
logConfigurations();
final HalInterfaceVersion gnssConfigurationIfaceVersion =
native_get_gnss_configuration_version();
final HalInterfaceVersion gnssConfigurationIfaceVersion = getHalInterfaceVersion();
if (gnssConfigurationIfaceVersion != null) {
// Set to a range checked value.
if (isConfigEsExtensionSecSupported(gnssConfigurationIfaceVersion)

View File

@@ -807,10 +807,15 @@ public class GnssLocationProvider extends AbstractLocationProvider implements
locationRequest.setProvider(provider);
// Ignore location settings if in emergency mode.
if (isUserEmergency && mNIHandler.getInEmergency()) {
locationRequest.setLocationSettingsIgnored(true);
durationMillis *= EMERGENCY_LOCATION_UPDATE_DURATION_MULTIPLIER;
// Ignore location settings if in emergency mode. This is only allowed for
// isUserEmergency request (introduced in HAL v2.0), or DBH request in HAL v1.1.
if (mNIHandler.getInEmergency()) {
GnssConfiguration.HalInterfaceVersion halVersion =
mGnssConfiguration.getHalInterfaceVersion();
if (isUserEmergency || (halVersion.mMajor < 2 && !independentFromGnss)) {
locationRequest.setLocationSettingsIgnored(true);
durationMillis *= EMERGENCY_LOCATION_UPDATE_DURATION_MULTIPLIER;
}
}
Log.i(TAG,