Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 808ba9a7 authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

Allow settingIgnored for DBH request if inEmergency am: 97e162d6 am: 8a1c944d

Change-Id: Ieda5580cd90f629d5f866d2d162bb64c48449806
parents 91a68532 8a1c944d
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -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)
+9 −4
Original line number Diff line number Diff line
@@ -807,11 +807,16 @@ public class GnssLocationProvider extends AbstractLocationProvider implements

        locationRequest.setProvider(provider);

        // Ignore location settings if in emergency mode.
        if (isUserEmergency && mNIHandler.getInEmergency()) {
        // 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,
                String.format(