import typing

import android.app
import android.content
import android.location.provider
import android.os
import android.util
import java
import java.chaquopy
import java.lang
import java.util
import java.util.concurrent
import java.util.function

class Address(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[Address]] = ...
    def __init__(self, locale: java.util.Locale, /) -> None: ...
    def clearLatitude(self) -> None: ...
    def clearLongitude(self) -> None: ...
    def describeContents(self) -> int: ...
    def getAddressLine(self, index: int | java.jint | java.lang.Integer, /) -> str: ...
    def getAdminArea(self) -> str: ...
    def getCountryCode(self) -> str: ...
    def getCountryName(self) -> str: ...
    def getExtras(self) -> android.os.Bundle: ...
    def getFeatureName(self) -> str: ...
    def getLatitude(self) -> float: ...
    def getLocale(self) -> java.util.Locale: ...
    def getLocality(self) -> str: ...
    def getLongitude(self) -> float: ...
    def getMaxAddressLineIndex(self) -> int: ...
    def getPhone(self) -> str: ...
    def getPostalCode(self) -> str: ...
    def getPremises(self) -> str: ...
    def getSubAdminArea(self) -> str: ...
    def getSubLocality(self) -> str: ...
    def getSubThoroughfare(self) -> str: ...
    def getThoroughfare(self) -> str: ...
    def getUrl(self) -> str: ...
    def hasLatitude(self) -> bool: ...
    def hasLongitude(self) -> bool: ...
    def setAddressLine(self, index: int | java.jint | java.lang.Integer, line: str | java.lang.String, /) -> None: ...
    def setAdminArea(self, adminArea: str | java.lang.String, /) -> None: ...
    def setCountryCode(self, countryCode: str | java.lang.String, /) -> None: ...
    def setCountryName(self, countryName: str | java.lang.String, /) -> None: ...
    def setExtras(self, extras: android.os.Bundle, /) -> None: ...
    def setFeatureName(self, featureName: str | java.lang.String, /) -> None: ...
    def setLatitude(self, latitude: float | java.jdouble | java.lang.Double, /) -> None: ...
    def setLocality(self, locality: str | java.lang.String, /) -> None: ...
    def setLongitude(self, longitude: float | java.jdouble | java.lang.Double, /) -> None: ...
    def setPhone(self, phone: str | java.lang.String, /) -> None: ...
    def setPostalCode(self, postalCode: str | java.lang.String, /) -> None: ...
    def setPremises(self, premises: str | java.lang.String, /) -> None: ...
    def setSubAdminArea(self, subAdminArea: str | java.lang.String, /) -> None: ...
    def setSubLocality(self, sublocality: str | java.lang.String, /) -> None: ...
    def setSubThoroughfare(self, subthoroughfare: str | java.lang.String, /) -> None: ...
    def setThoroughfare(self, thoroughfare: str | java.lang.String, /) -> None: ...
    def setUrl(self, Url: str | java.lang.String, /) -> None: ...
    def toString(self) -> str: ...
    def writeToParcel(self, parcel: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class Criteria(android.os.Parcelable):
    ACCURACY_COARSE: typing.ClassVar[int] = ...
    ACCURACY_FINE: typing.ClassVar[int] = ...
    ACCURACY_HIGH: typing.ClassVar[int] = ...
    ACCURACY_LOW: typing.ClassVar[int] = ...
    ACCURACY_MEDIUM: typing.ClassVar[int] = ...
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[Criteria]] = ...
    NO_REQUIREMENT: typing.ClassVar[int] = ...
    POWER_HIGH: typing.ClassVar[int] = ...
    POWER_LOW: typing.ClassVar[int] = ...
    POWER_MEDIUM: typing.ClassVar[int] = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, criteria: Criteria, /) -> None: ...
    def describeContents(self) -> int: ...
    def getAccuracy(self) -> int: ...
    def getBearingAccuracy(self) -> int: ...
    def getHorizontalAccuracy(self) -> int: ...
    def getPowerRequirement(self) -> int: ...
    def getSpeedAccuracy(self) -> int: ...
    def getVerticalAccuracy(self) -> int: ...
    def isAltitudeRequired(self) -> bool: ...
    def isBearingRequired(self) -> bool: ...
    def isCostAllowed(self) -> bool: ...
    def isSpeedRequired(self) -> bool: ...
    def setAccuracy(self, accuracy: int | java.jint | java.lang.Integer, /) -> None: ...
    def setAltitudeRequired(self, altitudeRequired: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def setBearingAccuracy(self, accuracy: int | java.jint | java.lang.Integer, /) -> None: ...
    def setBearingRequired(self, bearingRequired: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def setCostAllowed(self, costAllowed: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def setHorizontalAccuracy(self, accuracy: int | java.jint | java.lang.Integer, /) -> None: ...
    def setPowerRequirement(self, powerRequirement: int | java.jint | java.lang.Integer, /) -> None: ...
    def setSpeedAccuracy(self, accuracy: int | java.jint | java.lang.Integer, /) -> None: ...
    def setSpeedRequired(self, speedRequired: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def setVerticalAccuracy(self, accuracy: int | java.jint | java.lang.Integer, /) -> None: ...
    def toString(self) -> str: ...
    def writeToParcel(self, parcel: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class Geocoder(java.lang.Object):
    @typing.overload
    def __init__(self, context: android.content.Context, /) -> None: ...
    @typing.overload
    def __init__(self, context: android.content.Context, locale: java.util.Locale, /) -> None: ...
    @typing.overload
    def getFromLocation(self, latitude: float | java.jdouble | java.lang.Double, longitude: float | java.jdouble | java.lang.Double, maxResults: int | java.jint | java.lang.Integer, /) -> java.util.List[Address] | None: ...
    @typing.overload
    def getFromLocation(self, latitude: float | java.jdouble | java.lang.Double, longitude: float | java.jdouble | java.lang.Double, maxResults: int | java.jint | java.lang.Integer, listener: Geocoder.GeocodeListener, /) -> None: ...
    @typing.overload
    def getFromLocationName(self, locationName: str | java.lang.String, maxResults: int | java.jint | java.lang.Integer, /) -> java.util.List[Address] | None: ...
    @typing.overload
    def getFromLocationName(self, locationName: str | java.lang.String, maxResults: int | java.jint | java.lang.Integer, listener: Geocoder.GeocodeListener, /) -> None: ...
    @typing.overload
    def getFromLocationName(self, locationName: str | java.lang.String, maxResults: int | java.jint | java.lang.Integer, lowerLeftLatitude: float | java.jdouble | java.lang.Double, lowerLeftLongitude: float | java.jdouble | java.lang.Double, upperRightLatitude: float | java.jdouble | java.lang.Double, upperRightLongitude: float | java.jdouble | java.lang.Double, /) -> java.util.List[Address] | None: ...
    @typing.overload
    def getFromLocationName(self, locationName: str | java.lang.String, maxResults: int | java.jint | java.lang.Integer, lowerLeftLatitude: float | java.jdouble | java.lang.Double, lowerLeftLongitude: float | java.jdouble | java.lang.Double, upperRightLatitude: float | java.jdouble | java.lang.Double, upperRightLongitude: float | java.jdouble | java.lang.Double, listener: Geocoder.GeocodeListener, /) -> None: ...
    @staticmethod
    def isPresent() -> bool: ...

    class GeocodeListener(java.lang.Object):
        def onError(self, errorMessage: str | java.lang.String, /) -> None: ...
        def onGeocode(self, arg1: java.util.List[Address], /) -> None: ...

class GnssAntennaInfo(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[GnssAntennaInfo]] = ...
    def describeContents(self) -> int: ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getCarrierFrequencyMHz(self) -> float: ...
    def getPhaseCenterOffset(self) -> GnssAntennaInfo.PhaseCenterOffset: ...
    def getPhaseCenterVariationCorrections(self) -> GnssAntennaInfo.SphericalCorrections | None: ...
    def getSignalGainCorrections(self) -> GnssAntennaInfo.SphericalCorrections | None: ...
    def hashCode(self) -> int: ...
    def toString(self) -> str: ...
    def writeToParcel(self, parcel: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class SphericalCorrections(android.os.Parcelable):
        CREATOR: typing.ClassVar[android.os.Parcelable.Creator[GnssAntennaInfo.SphericalCorrections]] = ...
        def __init__(self, corrections: java.chaquopy.JavaArray[java.chaquopy.JavaArrayJDouble], correctionUncertainties: java.chaquopy.JavaArray[java.chaquopy.JavaArrayJDouble], /) -> None: ...
        def describeContents(self) -> int: ...
        def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getCorrectionUncertaintiesArray(self) -> java.chaquopy.JavaArray[java.chaquopy.JavaArrayJDouble]: ...
        def getCorrectionsArray(self) -> java.chaquopy.JavaArray[java.chaquopy.JavaArrayJDouble]: ...
        def getDeltaPhi(self) -> float: ...
        def getDeltaTheta(self) -> float: ...
        def hashCode(self) -> int: ...
        def toString(self) -> str: ...
        def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class PhaseCenterOffset(android.os.Parcelable):
        CREATOR: typing.ClassVar[android.os.Parcelable.Creator[GnssAntennaInfo.PhaseCenterOffset]] = ...
        def __init__(self, offsetXMm: float | java.jdouble | java.lang.Double, offsetXUncertaintyMm: float | java.jdouble | java.lang.Double, offsetYMm: float | java.jdouble | java.lang.Double, offsetYUncertaintyMm: float | java.jdouble | java.lang.Double, offsetZMm: float | java.jdouble | java.lang.Double, offsetZUncertaintyMm: float | java.jdouble | java.lang.Double, /) -> None: ...
        def describeContents(self) -> int: ...
        def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getXOffsetMm(self) -> float: ...
        def getXOffsetUncertaintyMm(self) -> float: ...
        def getYOffsetMm(self) -> float: ...
        def getYOffsetUncertaintyMm(self) -> float: ...
        def getZOffsetMm(self) -> float: ...
        def getZOffsetUncertaintyMm(self) -> float: ...
        def hashCode(self) -> int: ...
        def toString(self) -> str: ...
        def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class Listener(java.lang.Object):
        def onGnssAntennaInfoReceived(self, arg1: java.util.List[GnssAntennaInfo], /) -> None: ...

    class Builder(java.lang.Object):
        @typing.overload
        def __init__(self) -> None: ...
        @typing.overload
        def __init__(self, antennaInfo: GnssAntennaInfo, /) -> None: ...
        @typing.overload
        def __init__(self, carrierFrequencyMHz: float | java.jdouble | java.lang.Double, phaseCenterOffset: GnssAntennaInfo.PhaseCenterOffset, /) -> None: ...
        def build(self) -> GnssAntennaInfo: ...
        def setCarrierFrequencyMHz(self, carrierFrequencyMHz: float | java.jdouble | java.lang.Double, /) -> GnssAntennaInfo.Builder: ...
        def setPhaseCenterOffset(self, phaseCenterOffset: GnssAntennaInfo.PhaseCenterOffset, /) -> GnssAntennaInfo.Builder: ...
        def setPhaseCenterVariationCorrections(self, phaseCenterVariationCorrections: GnssAntennaInfo.SphericalCorrections, /) -> GnssAntennaInfo.Builder: ...
        def setSignalGainCorrections(self, signalGainCorrections: GnssAntennaInfo.SphericalCorrections, /) -> GnssAntennaInfo.Builder: ...

class GnssAutomaticGainControl(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[GnssAutomaticGainControl]] = ...
    def describeContents(self) -> int: ...
    def equals(self, obj: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getCarrierFrequencyHz(self) -> int: ...
    def getConstellationType(self) -> int: ...
    def getLevelDb(self) -> float: ...
    def hashCode(self) -> int: ...
    def toString(self) -> str: ...
    def writeToParcel(self, parcel: android.os.Parcel, flag: int | java.jint | java.lang.Integer, /) -> None: ...

    class Builder(java.lang.Object):
        @typing.overload
        def __init__(self) -> None: ...
        @typing.overload
        def __init__(self, agc: GnssAutomaticGainControl, /) -> None: ...
        def build(self) -> GnssAutomaticGainControl: ...
        def setCarrierFrequencyHz(self, carrierFrequencyHz: int | java.jlong | java.lang.Long, /) -> GnssAutomaticGainControl.Builder: ...
        def setConstellationType(self, constellationType: int | java.jint | java.lang.Integer, /) -> GnssAutomaticGainControl.Builder: ...
        def setLevelDb(self, levelDb: float | java.jdouble | java.lang.Double, /) -> GnssAutomaticGainControl.Builder: ...

class GnssCapabilities(android.os.Parcelable):
    CAPABILITY_SUPPORTED: typing.ClassVar[int] = ...
    CAPABILITY_UNKNOWN: typing.ClassVar[int] = ...
    CAPABILITY_UNSUPPORTED: typing.ClassVar[int] = ...
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[GnssCapabilities]] = ...
    def describeContents(self) -> int: ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getGnssSignalTypes(self) -> java.util.List[GnssSignalType]: ...
    def hasAccumulatedDeltaRange(self) -> int: ...
    def hasAntennaInfo(self) -> bool: ...
    def hasGeofencing(self) -> bool: ...
    def hasGnssAntennaInfo(self) -> bool: ...
    def hasLowPowerMode(self) -> bool: ...
    def hasMeasurementCorrections(self) -> bool: ...
    def hasMeasurementCorrectionsExcessPathLength(self) -> bool: ...
    def hasMeasurementCorrectionsForDriving(self) -> bool: ...
    def hasMeasurementCorrectionsLosSats(self) -> bool: ...
    def hasMeasurementCorrectionsReflectingPlane(self) -> bool: ...
    def hasMeasurementCorrelationVectors(self) -> bool: ...
    def hasMeasurements(self) -> bool: ...
    def hasMsa(self) -> bool: ...
    def hasMsb(self) -> bool: ...
    def hasNavigationMessages(self) -> bool: ...
    def hasOnDemandTime(self) -> bool: ...
    def hasPowerMultibandAcquisition(self) -> bool: ...
    def hasPowerMultibandTracking(self) -> bool: ...
    def hasPowerOtherModes(self) -> bool: ...
    def hasPowerSinglebandAcquisition(self) -> bool: ...
    def hasPowerSinglebandTracking(self) -> bool: ...
    def hasPowerTotal(self) -> bool: ...
    def hasSatelliteBlocklist(self) -> bool: ...
    def hasSatellitePvt(self) -> bool: ...
    def hasScheduling(self) -> bool: ...
    def hasSingleShotFix(self) -> bool: ...
    def hashCode(self) -> int: ...
    def toString(self) -> str: ...
    def writeToParcel(self, parcel: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class Builder(java.lang.Object):
        @typing.overload
        def __init__(self) -> None: ...
        @typing.overload
        def __init__(self, capabilities: GnssCapabilities, /) -> None: ...
        def build(self) -> GnssCapabilities: ...
        def setGnssSignalTypes(self, gnssSignalTypes: java.util.List[GnssSignalType], /) -> GnssCapabilities.Builder: ...
        def setHasAccumulatedDeltaRange(self, capable: int | java.jint | java.lang.Integer, /) -> GnssCapabilities.Builder: ...
        def setHasAntennaInfo(self, capable: bool | java.jboolean | java.lang.Boolean, /) -> GnssCapabilities.Builder: ...
        def setHasGeofencing(self, capable: bool | java.jboolean | java.lang.Boolean, /) -> GnssCapabilities.Builder: ...
        def setHasLowPowerMode(self, capable: bool | java.jboolean | java.lang.Boolean, /) -> GnssCapabilities.Builder: ...
        def setHasMeasurementCorrections(self, capable: bool | java.jboolean | java.lang.Boolean, /) -> GnssCapabilities.Builder: ...
        def setHasMeasurementCorrectionsExcessPathLength(self, capable: bool | java.jboolean | java.lang.Boolean, /) -> GnssCapabilities.Builder: ...
        def setHasMeasurementCorrectionsForDriving(self, capable: bool | java.jboolean | java.lang.Boolean, /) -> GnssCapabilities.Builder: ...
        def setHasMeasurementCorrectionsLosSats(self, capable: bool | java.jboolean | java.lang.Boolean, /) -> GnssCapabilities.Builder: ...
        def setHasMeasurementCorrectionsReflectingPlane(self, capable: bool | java.jboolean | java.lang.Boolean, /) -> GnssCapabilities.Builder: ...
        def setHasMeasurementCorrelationVectors(self, capable: bool | java.jboolean | java.lang.Boolean, /) -> GnssCapabilities.Builder: ...
        def setHasMeasurements(self, capable: bool | java.jboolean | java.lang.Boolean, /) -> GnssCapabilities.Builder: ...
        def setHasMsa(self, capable: bool | java.jboolean | java.lang.Boolean, /) -> GnssCapabilities.Builder: ...
        def setHasMsb(self, capable: bool | java.jboolean | java.lang.Boolean, /) -> GnssCapabilities.Builder: ...
        def setHasNavigationMessages(self, capable: bool | java.jboolean | java.lang.Boolean, /) -> GnssCapabilities.Builder: ...
        def setHasOnDemandTime(self, capable: bool | java.jboolean | java.lang.Boolean, /) -> GnssCapabilities.Builder: ...
        def setHasPowerMultibandAcquisition(self, capable: bool | java.jboolean | java.lang.Boolean, /) -> GnssCapabilities.Builder: ...
        def setHasPowerMultibandTracking(self, capable: bool | java.jboolean | java.lang.Boolean, /) -> GnssCapabilities.Builder: ...
        def setHasPowerOtherModes(self, capable: bool | java.jboolean | java.lang.Boolean, /) -> GnssCapabilities.Builder: ...
        def setHasPowerSinglebandAcquisition(self, capable: bool | java.jboolean | java.lang.Boolean, /) -> GnssCapabilities.Builder: ...
        def setHasPowerSinglebandTracking(self, capable: bool | java.jboolean | java.lang.Boolean, /) -> GnssCapabilities.Builder: ...
        def setHasPowerTotal(self, capable: bool | java.jboolean | java.lang.Boolean, /) -> GnssCapabilities.Builder: ...
        def setHasSatelliteBlocklist(self, capable: bool | java.jboolean | java.lang.Boolean, /) -> GnssCapabilities.Builder: ...
        def setHasSatellitePvt(self, capable: bool | java.jboolean | java.lang.Boolean, /) -> GnssCapabilities.Builder: ...
        def setHasScheduling(self, capable: bool | java.jboolean | java.lang.Boolean, /) -> GnssCapabilities.Builder: ...
        def setHasSingleShotFix(self, capable: bool | java.jboolean | java.lang.Boolean, /) -> GnssCapabilities.Builder: ...

class GnssClock(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[GnssClock]] = ...
    def describeContents(self) -> int: ...
    def getBiasNanos(self) -> float: ...
    def getBiasUncertaintyNanos(self) -> float: ...
    def getDriftNanosPerSecond(self) -> float: ...
    def getDriftUncertaintyNanosPerSecond(self) -> float: ...
    def getElapsedRealtimeNanos(self) -> int: ...
    def getElapsedRealtimeUncertaintyNanos(self) -> float: ...
    def getFullBiasNanos(self) -> int: ...
    def getHardwareClockDiscontinuityCount(self) -> int: ...
    def getLeapSecond(self) -> int: ...
    def getReferenceCarrierFrequencyHzForIsb(self) -> float: ...
    def getReferenceCodeTypeForIsb(self) -> str: ...
    def getReferenceConstellationTypeForIsb(self) -> int: ...
    def getTimeNanos(self) -> int: ...
    def getTimeUncertaintyNanos(self) -> float: ...
    def hasBiasNanos(self) -> bool: ...
    def hasBiasUncertaintyNanos(self) -> bool: ...
    def hasDriftNanosPerSecond(self) -> bool: ...
    def hasDriftUncertaintyNanosPerSecond(self) -> bool: ...
    def hasElapsedRealtimeNanos(self) -> bool: ...
    def hasElapsedRealtimeUncertaintyNanos(self) -> bool: ...
    def hasFullBiasNanos(self) -> bool: ...
    def hasLeapSecond(self) -> bool: ...
    def hasReferenceCarrierFrequencyHzForIsb(self) -> bool: ...
    def hasReferenceCodeTypeForIsb(self) -> bool: ...
    def hasReferenceConstellationTypeForIsb(self) -> bool: ...
    def hasTimeUncertaintyNanos(self) -> bool: ...
    def toString(self) -> str: ...
    def writeToParcel(self, parcel: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class GnssMeasurement(android.os.Parcelable):
    ADR_STATE_CYCLE_SLIP: typing.ClassVar[int] = ...
    ADR_STATE_HALF_CYCLE_REPORTED: typing.ClassVar[int] = ...
    ADR_STATE_HALF_CYCLE_RESOLVED: typing.ClassVar[int] = ...
    ADR_STATE_RESET: typing.ClassVar[int] = ...
    ADR_STATE_UNKNOWN: typing.ClassVar[int] = ...
    ADR_STATE_VALID: typing.ClassVar[int] = ...
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[GnssMeasurement]] = ...
    MULTIPATH_INDICATOR_DETECTED: typing.ClassVar[int] = ...
    MULTIPATH_INDICATOR_NOT_DETECTED: typing.ClassVar[int] = ...
    MULTIPATH_INDICATOR_UNKNOWN: typing.ClassVar[int] = ...
    STATE_2ND_CODE_LOCK: typing.ClassVar[int] = ...
    STATE_BDS_D2_BIT_SYNC: typing.ClassVar[int] = ...
    STATE_BDS_D2_SUBFRAME_SYNC: typing.ClassVar[int] = ...
    STATE_BIT_SYNC: typing.ClassVar[int] = ...
    STATE_CODE_LOCK: typing.ClassVar[int] = ...
    STATE_GAL_E1BC_CODE_LOCK: typing.ClassVar[int] = ...
    STATE_GAL_E1B_PAGE_SYNC: typing.ClassVar[int] = ...
    STATE_GAL_E1C_2ND_CODE_LOCK: typing.ClassVar[int] = ...
    STATE_GLO_STRING_SYNC: typing.ClassVar[int] = ...
    STATE_GLO_TOD_DECODED: typing.ClassVar[int] = ...
    STATE_GLO_TOD_KNOWN: typing.ClassVar[int] = ...
    STATE_MSEC_AMBIGUOUS: typing.ClassVar[int] = ...
    STATE_SBAS_SYNC: typing.ClassVar[int] = ...
    STATE_SUBFRAME_SYNC: typing.ClassVar[int] = ...
    STATE_SYMBOL_SYNC: typing.ClassVar[int] = ...
    STATE_TOW_DECODED: typing.ClassVar[int] = ...
    STATE_TOW_KNOWN: typing.ClassVar[int] = ...
    STATE_UNKNOWN: typing.ClassVar[int] = ...
    def describeContents(self) -> int: ...
    def getAccumulatedDeltaRangeMeters(self) -> float: ...
    def getAccumulatedDeltaRangeState(self) -> int: ...
    def getAccumulatedDeltaRangeUncertaintyMeters(self) -> float: ...
    def getAutomaticGainControlLevelDb(self) -> float: ...
    def getBasebandCn0DbHz(self) -> float: ...
    def getCarrierCycles(self) -> int: ...
    def getCarrierFrequencyHz(self) -> float: ...
    def getCarrierPhase(self) -> float: ...
    def getCarrierPhaseUncertainty(self) -> float: ...
    def getCn0DbHz(self) -> float: ...
    def getCodeType(self) -> str: ...
    def getConstellationType(self) -> int: ...
    def getFullInterSignalBiasNanos(self) -> float: ...
    def getFullInterSignalBiasUncertaintyNanos(self) -> float: ...
    def getMultipathIndicator(self) -> int: ...
    def getPseudorangeRateMetersPerSecond(self) -> float: ...
    def getPseudorangeRateUncertaintyMetersPerSecond(self) -> float: ...
    def getReceivedSvTimeNanos(self) -> int: ...
    def getReceivedSvTimeUncertaintyNanos(self) -> int: ...
    def getSatelliteInterSignalBiasNanos(self) -> float: ...
    def getSatelliteInterSignalBiasUncertaintyNanos(self) -> float: ...
    def getSnrInDb(self) -> float: ...
    def getState(self) -> int: ...
    def getSvid(self) -> int: ...
    def getTimeOffsetNanos(self) -> float: ...
    def hasAutomaticGainControlLevelDb(self) -> bool: ...
    def hasBasebandCn0DbHz(self) -> bool: ...
    def hasCarrierCycles(self) -> bool: ...
    def hasCarrierFrequencyHz(self) -> bool: ...
    def hasCarrierPhase(self) -> bool: ...
    def hasCarrierPhaseUncertainty(self) -> bool: ...
    def hasCodeType(self) -> bool: ...
    def hasFullInterSignalBiasNanos(self) -> bool: ...
    def hasFullInterSignalBiasUncertaintyNanos(self) -> bool: ...
    def hasSatelliteInterSignalBiasNanos(self) -> bool: ...
    def hasSatelliteInterSignalBiasUncertaintyNanos(self) -> bool: ...
    def hasSnrInDb(self) -> bool: ...
    def toString(self) -> str: ...
    def writeToParcel(self, parcel: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class GnssMeasurementRequest(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[GnssMeasurementRequest]] = ...
    PASSIVE_INTERVAL: typing.ClassVar[int] = ...
    def describeContents(self) -> int: ...
    def equals(self, obj: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getIntervalMillis(self) -> int: ...
    def hashCode(self) -> int: ...
    def isFullTracking(self) -> bool: ...
    def toString(self) -> str: ...
    def writeToParcel(self, parcel: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class Builder(java.lang.Object):
        @typing.overload
        def __init__(self) -> None: ...
        @typing.overload
        def __init__(self, request: GnssMeasurementRequest, /) -> None: ...
        def build(self) -> GnssMeasurementRequest: ...
        def setFullTracking(self, value: bool | java.jboolean | java.lang.Boolean, /) -> GnssMeasurementRequest.Builder: ...
        def setIntervalMillis(self, value: int | java.jint | java.lang.Integer, /) -> GnssMeasurementRequest.Builder: ...

class GnssMeasurementsEvent(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[GnssMeasurementsEvent]] = ...
    def describeContents(self) -> int: ...
    def getClock(self) -> GnssClock: ...
    def getGnssAutomaticGainControls(self) -> java.util.Collection[GnssAutomaticGainControl]: ...
    def getMeasurements(self) -> java.util.Collection[GnssMeasurement]: ...
    def hasIsFullTracking(self) -> bool: ...
    def isFullTracking(self) -> bool: ...
    def toString(self) -> str: ...
    def writeToParcel(self, parcel: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class Callback(java.lang.Object):
        STATUS_LOCATION_DISABLED: typing.ClassVar[int] = ...
        STATUS_NOT_ALLOWED: typing.ClassVar[int] = ...
        STATUS_NOT_SUPPORTED: typing.ClassVar[int] = ...
        STATUS_READY: typing.ClassVar[int] = ...
        def __init__(self) -> None: ...
        def onGnssMeasurementsReceived(self, eventArgs: GnssMeasurementsEvent, /) -> None: ...
        def onStatusChanged(self, status: int | java.jint | java.lang.Integer, /) -> None: ...

    class Builder(java.lang.Object):
        @typing.overload
        def __init__(self) -> None: ...
        @typing.overload
        def __init__(self, event: GnssMeasurementsEvent, /) -> None: ...
        def build(self) -> GnssMeasurementsEvent: ...
        def clearIsFullTracking(self) -> GnssMeasurementsEvent.Builder: ...
        def setClock(self, clock: GnssClock, /) -> GnssMeasurementsEvent.Builder: ...
        def setGnssAutomaticGainControls(self, agcs: java.util.Collection[GnssAutomaticGainControl], /) -> GnssMeasurementsEvent.Builder: ...
        def setIsFullTracking(self, isFullTracking: bool | java.jboolean | java.lang.Boolean, /) -> GnssMeasurementsEvent.Builder: ...
        def setMeasurements(self, measurements: java.util.Collection[GnssMeasurement], /) -> GnssMeasurementsEvent.Builder: ...

class GnssNavigationMessage(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[GnssNavigationMessage]] = ...
    STATUS_PARITY_PASSED: typing.ClassVar[int] = ...
    STATUS_PARITY_REBUILT: typing.ClassVar[int] = ...
    STATUS_UNKNOWN: typing.ClassVar[int] = ...
    TYPE_BDS_CNAV1: typing.ClassVar[int] = ...
    TYPE_BDS_CNAV2: typing.ClassVar[int] = ...
    TYPE_BDS_D1: typing.ClassVar[int] = ...
    TYPE_BDS_D2: typing.ClassVar[int] = ...
    TYPE_GAL_F: typing.ClassVar[int] = ...
    TYPE_GAL_I: typing.ClassVar[int] = ...
    TYPE_GLO_L1CA: typing.ClassVar[int] = ...
    TYPE_GPS_CNAV2: typing.ClassVar[int] = ...
    TYPE_GPS_L1CA: typing.ClassVar[int] = ...
    TYPE_GPS_L2CNAV: typing.ClassVar[int] = ...
    TYPE_GPS_L5CNAV: typing.ClassVar[int] = ...
    TYPE_IRN_L1: typing.ClassVar[int] = ...
    TYPE_IRN_L5: typing.ClassVar[int] = ...
    TYPE_IRN_L5CA: typing.ClassVar[int] = ...
    TYPE_QZS_L1CA: typing.ClassVar[int] = ...
    TYPE_SBS: typing.ClassVar[int] = ...
    TYPE_UNKNOWN: typing.ClassVar[int] = ...
    def describeContents(self) -> int: ...
    def getData(self) -> java.chaquopy.JavaArrayJByte: ...
    def getMessageId(self) -> int: ...
    def getStatus(self) -> int: ...
    def getSubmessageId(self) -> int: ...
    def getSvid(self) -> int: ...
    def getType(self) -> int: ...
    def toString(self) -> str: ...
    def writeToParcel(self, parcel: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class Callback(java.lang.Object):
        STATUS_LOCATION_DISABLED: typing.ClassVar[int] = ...
        STATUS_NOT_SUPPORTED: typing.ClassVar[int] = ...
        STATUS_READY: typing.ClassVar[int] = ...
        def __init__(self) -> None: ...
        def onGnssNavigationMessageReceived(self, event: GnssNavigationMessage, /) -> None: ...
        def onStatusChanged(self, status: int | java.jint | java.lang.Integer, /) -> None: ...

class GnssSignalType(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[GnssSignalType]] = ...
    @staticmethod
    def create(constellationType: int | java.jint | java.lang.Integer, carrierFrequencyHz: float | java.jdouble | java.lang.Double, codeType: str | java.lang.String, /) -> GnssSignalType: ...
    def describeContents(self) -> int: ...
    def equals(self, obj: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getCarrierFrequencyHz(self) -> float: ...
    def getCodeType(self) -> str: ...
    def getConstellationType(self) -> int: ...
    def hashCode(self) -> int: ...
    def toString(self) -> str: ...
    def writeToParcel(self, parcel: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class GnssStatus(android.os.Parcelable):
    CONSTELLATION_BEIDOU: typing.ClassVar[int] = ...
    CONSTELLATION_GALILEO: typing.ClassVar[int] = ...
    CONSTELLATION_GLONASS: typing.ClassVar[int] = ...
    CONSTELLATION_GPS: typing.ClassVar[int] = ...
    CONSTELLATION_IRNSS: typing.ClassVar[int] = ...
    CONSTELLATION_QZSS: typing.ClassVar[int] = ...
    CONSTELLATION_SBAS: typing.ClassVar[int] = ...
    CONSTELLATION_UNKNOWN: typing.ClassVar[int] = ...
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[GnssStatus]] = ...
    def describeContents(self) -> int: ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getAzimuthDegrees(self, satelliteIndex: int | java.jint | java.lang.Integer, /) -> float: ...
    def getBasebandCn0DbHz(self, satelliteIndex: int | java.jint | java.lang.Integer, /) -> float: ...
    def getCarrierFrequencyHz(self, satelliteIndex: int | java.jint | java.lang.Integer, /) -> float: ...
    def getCn0DbHz(self, satelliteIndex: int | java.jint | java.lang.Integer, /) -> float: ...
    def getConstellationType(self, satelliteIndex: int | java.jint | java.lang.Integer, /) -> int: ...
    def getElevationDegrees(self, satelliteIndex: int | java.jint | java.lang.Integer, /) -> float: ...
    def getSatelliteCount(self) -> int: ...
    def getSvid(self, satelliteIndex: int | java.jint | java.lang.Integer, /) -> int: ...
    def hasAlmanacData(self, satelliteIndex: int | java.jint | java.lang.Integer, /) -> bool: ...
    def hasBasebandCn0DbHz(self, satelliteIndex: int | java.jint | java.lang.Integer, /) -> bool: ...
    def hasCarrierFrequencyHz(self, satelliteIndex: int | java.jint | java.lang.Integer, /) -> bool: ...
    def hasEphemerisData(self, satelliteIndex: int | java.jint | java.lang.Integer, /) -> bool: ...
    def hashCode(self) -> int: ...
    def usedInFix(self, satelliteIndex: int | java.jint | java.lang.Integer, /) -> bool: ...
    def writeToParcel(self, parcel: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class Callback(java.lang.Object):
        def __init__(self) -> None: ...
        def onFirstFix(self, ttffMillis: int | java.jint | java.lang.Integer, /) -> None: ...
        def onSatelliteStatusChanged(self, status: GnssStatus, /) -> None: ...
        def onStarted(self) -> None: ...
        def onStopped(self) -> None: ...

    class Builder(java.lang.Object):
        def __init__(self) -> None: ...
        def addSatellite(self, constellationType: int | java.jint | java.lang.Integer, svid: int | java.jint | java.lang.Integer, cn0DbHz: float | java.jfloat | java.lang.Float, elevation: float | java.jfloat | java.lang.Float, azimuth: float | java.jfloat | java.lang.Float, hasEphemeris: bool | java.jboolean | java.lang.Boolean, hasAlmanac: bool | java.jboolean | java.lang.Boolean, usedInFix: bool | java.jboolean | java.lang.Boolean, hasCarrierFrequency: bool | java.jboolean | java.lang.Boolean, carrierFrequency: float | java.jfloat | java.lang.Float, hasBasebandCn0DbHz: bool | java.jboolean | java.lang.Boolean, basebandCn0DbHz: float | java.jfloat | java.lang.Float, /) -> GnssStatus.Builder: ...
        def build(self) -> GnssStatus: ...
        def clearSatellites(self) -> GnssStatus.Builder: ...

class GpsSatellite(java.lang.Object):
    def getAzimuth(self) -> float: ...
    def getElevation(self) -> float: ...
    def getPrn(self) -> int: ...
    def getSnr(self) -> float: ...
    def hasAlmanac(self) -> bool: ...
    def hasEphemeris(self) -> bool: ...
    def usedInFix(self) -> bool: ...

class GpsStatus(java.lang.Object):
    GPS_EVENT_FIRST_FIX: typing.ClassVar[int] = ...
    GPS_EVENT_SATELLITE_STATUS: typing.ClassVar[int] = ...
    GPS_EVENT_STARTED: typing.ClassVar[int] = ...
    GPS_EVENT_STOPPED: typing.ClassVar[int] = ...
    @staticmethod
    def create(gnssStatus: GnssStatus, timeToFirstFix: int | java.jint | java.lang.Integer, /) -> GpsStatus: ...
    def getMaxSatellites(self) -> int: ...
    def getSatellites(self) -> java.lang.Iterable[GpsSatellite]: ...
    def getTimeToFirstFix(self) -> int: ...

    class NmeaListener(java.lang.Object):
        def onNmeaReceived(self, arg1: int | java.jlong | java.lang.Long, arg2: str | java.lang.String, /) -> None: ...

    class Listener(java.lang.Object):
        def onGpsStatusChanged(self, arg1: int | java.jint | java.lang.Integer, /) -> None: ...

class Location(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[Location]] = ...
    FORMAT_DEGREES: typing.ClassVar[int] = ...
    FORMAT_MINUTES: typing.ClassVar[int] = ...
    FORMAT_SECONDS: typing.ClassVar[int] = ...
    @typing.overload
    def __init__(self, location: Location, /) -> None: ...
    @typing.overload
    def __init__(self, provider: str | java.lang.String, /) -> None: ...
    def bearingTo(self, dest: Location, /) -> float: ...
    @typing.overload
    @staticmethod
    def convert(coordinate: str | java.lang.String, /) -> float: ...
    @typing.overload
    @staticmethod
    def convert(coordinate: float | java.jdouble | java.lang.Double, outputType: int | java.jint | java.lang.Integer, /) -> str: ...
    def describeContents(self) -> int: ...
    @staticmethod
    def distanceBetween(startLatitude: float | java.jdouble | java.lang.Double, startLongitude: float | java.jdouble | java.lang.Double, endLatitude: float | java.jdouble | java.lang.Double, endLongitude: float | java.jdouble | java.lang.Double, results: java.chaquopy.JavaArrayJFloat, /) -> None: ...
    def distanceTo(self, dest: Location, /) -> float: ...
    def dump(self, pw: android.util.Printer, prefix: str | java.lang.String, /) -> None: ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getAccuracy(self) -> float: ...
    def getAltitude(self) -> float: ...
    def getBearing(self) -> float: ...
    def getBearingAccuracyDegrees(self) -> float: ...
    @typing.overload
    def getElapsedRealtimeAgeMillis(self) -> int: ...
    @typing.overload
    def getElapsedRealtimeAgeMillis(self, referenceRealtimeMs: int | java.jlong | java.lang.Long, /) -> int: ...
    def getElapsedRealtimeMillis(self) -> int: ...
    def getElapsedRealtimeNanos(self) -> int: ...
    def getElapsedRealtimeUncertaintyNanos(self) -> float: ...
    def getExtras(self) -> android.os.Bundle | None: ...
    def getLatitude(self) -> float: ...
    def getLongitude(self) -> float: ...
    def getMslAltitudeAccuracyMeters(self) -> float: ...
    def getMslAltitudeMeters(self) -> float: ...
    def getProvider(self) -> str | None: ...
    def getSpeed(self) -> float: ...
    def getSpeedAccuracyMetersPerSecond(self) -> float: ...
    def getTime(self) -> int: ...
    def getVerticalAccuracyMeters(self) -> float: ...
    def hasAccuracy(self) -> bool: ...
    def hasAltitude(self) -> bool: ...
    def hasBearing(self) -> bool: ...
    def hasBearingAccuracy(self) -> bool: ...
    def hasElapsedRealtimeUncertaintyNanos(self) -> bool: ...
    def hasMslAltitude(self) -> bool: ...
    def hasMslAltitudeAccuracy(self) -> bool: ...
    def hasSpeed(self) -> bool: ...
    def hasSpeedAccuracy(self) -> bool: ...
    def hasVerticalAccuracy(self) -> bool: ...
    def hashCode(self) -> int: ...
    def isComplete(self) -> bool: ...
    def isFromMockProvider(self) -> bool: ...
    def isMock(self) -> bool: ...
    def removeAccuracy(self) -> None: ...
    def removeAltitude(self) -> None: ...
    def removeBearing(self) -> None: ...
    def removeBearingAccuracy(self) -> None: ...
    def removeElapsedRealtimeUncertaintyNanos(self) -> None: ...
    def removeMslAltitude(self) -> None: ...
    def removeMslAltitudeAccuracy(self) -> None: ...
    def removeSpeed(self) -> None: ...
    def removeSpeedAccuracy(self) -> None: ...
    def removeVerticalAccuracy(self) -> None: ...
    def reset(self) -> None: ...
    def set(self, location: Location, /) -> None: ...
    def setAccuracy(self, horizontalAccuracyMeters: float | java.jfloat | java.lang.Float, /) -> None: ...
    def setAltitude(self, altitudeMeters: float | java.jdouble | java.lang.Double, /) -> None: ...
    def setBearing(self, bearingDegrees: float | java.jfloat | java.lang.Float, /) -> None: ...
    def setBearingAccuracyDegrees(self, bearingAccuracyDegrees: float | java.jfloat | java.lang.Float, /) -> None: ...
    def setElapsedRealtimeNanos(self, elapsedRealtimeNs: int | java.jlong | java.lang.Long, /) -> None: ...
    def setElapsedRealtimeUncertaintyNanos(self, elapsedRealtimeUncertaintyNs: float | java.jdouble | java.lang.Double, /) -> None: ...
    def setExtras(self, extras: android.os.Bundle, /) -> None: ...
    def setLatitude(self, latitudeDegrees: float | java.jdouble | java.lang.Double, /) -> None: ...
    def setLongitude(self, longitudeDegrees: float | java.jdouble | java.lang.Double, /) -> None: ...
    def setMock(self, mock: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def setMslAltitudeAccuracyMeters(self, mslAltitudeAccuracyMeters: float | java.jfloat | java.lang.Float, /) -> None: ...
    def setMslAltitudeMeters(self, mslAltitudeMeters: float | java.jdouble | java.lang.Double, /) -> None: ...
    def setProvider(self, provider: str | java.lang.String, /) -> None: ...
    def setSpeed(self, speedMetersPerSecond: float | java.jfloat | java.lang.Float, /) -> None: ...
    def setSpeedAccuracyMetersPerSecond(self, speedAccuracyMeterPerSecond: float | java.jfloat | java.lang.Float, /) -> None: ...
    def setTime(self, timeMs: int | java.jlong | java.lang.Long, /) -> None: ...
    def setVerticalAccuracyMeters(self, altitudeAccuracyMeters: float | java.jfloat | java.lang.Float, /) -> None: ...
    def toString(self) -> str: ...
    def writeToParcel(self, parcel: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class LocationListener(java.lang.Object):
    def onFlushComplete(self, requestCode: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def onLocationChanged(self, arg1: Location, /) -> None: ...
    @typing.overload
    def onLocationChanged(self, locations: java.util.List[Location], /) -> None: ...
    def onProviderDisabled(self, provider: str | java.lang.String, /) -> None: ...
    def onProviderEnabled(self, provider: str | java.lang.String, /) -> None: ...
    def onStatusChanged(self, provider: str | java.lang.String, status: int | java.jint | java.lang.Integer, extras: android.os.Bundle, /) -> None: ...

class LocationManager(java.lang.Object):
    ACTION_GNSS_CAPABILITIES_CHANGED: typing.ClassVar[str] = ...
    EXTRA_GNSS_CAPABILITIES: typing.ClassVar[str] = ...
    EXTRA_LOCATION_ENABLED: typing.ClassVar[str] = ...
    EXTRA_PROVIDER_ENABLED: typing.ClassVar[str] = ...
    EXTRA_PROVIDER_NAME: typing.ClassVar[str] = ...
    FUSED_PROVIDER: typing.ClassVar[str] = ...
    GPS_PROVIDER: typing.ClassVar[str] = ...
    KEY_FLUSH_COMPLETE: typing.ClassVar[str] = ...
    KEY_LOCATIONS: typing.ClassVar[str] = ...
    KEY_LOCATION_CHANGED: typing.ClassVar[str] = ...
    KEY_PROVIDER_ENABLED: typing.ClassVar[str] = ...
    KEY_PROXIMITY_ENTERING: typing.ClassVar[str] = ...
    KEY_STATUS_CHANGED: typing.ClassVar[str] = ...
    MODE_CHANGED_ACTION: typing.ClassVar[str] = ...
    NETWORK_PROVIDER: typing.ClassVar[str] = ...
    PASSIVE_PROVIDER: typing.ClassVar[str] = ...
    PROVIDERS_CHANGED_ACTION: typing.ClassVar[str] = ...
    def addGpsStatusListener(self, listener: GpsStatus.Listener, /) -> bool: ...
    @typing.overload
    def addNmeaListener(self, listener: GpsStatus.NmeaListener, /) -> bool: ...
    @typing.overload
    def addNmeaListener(self, listener: OnNmeaMessageListener, /) -> bool: ...
    @typing.overload
    def addNmeaListener(self, listener: OnNmeaMessageListener, handler: android.os.Handler, /) -> bool: ...
    @typing.overload
    def addNmeaListener(self, executor: java.util.concurrent.Executor, listener: OnNmeaMessageListener, /) -> bool: ...
    def addProximityAlert(self, latitude: float | java.jdouble | java.lang.Double, longitude: float | java.jdouble | java.lang.Double, radius: float | java.jfloat | java.lang.Float, expiration: int | java.jlong | java.lang.Long, pendingIntent: android.app.PendingIntent, /) -> None: ...
    @typing.overload
    def addTestProvider(self, provider: str | java.lang.String, properties: android.location.provider.ProviderProperties, /) -> None: ...
    @typing.overload
    def addTestProvider(self, provider: str | java.lang.String, properties: android.location.provider.ProviderProperties, extraAttributionTags: java.util.Set[java.lang.String], /) -> None: ...
    @typing.overload
    def addTestProvider(self, provider: str | java.lang.String, requiresNetwork: bool | java.jboolean | java.lang.Boolean, requiresSatellite: bool | java.jboolean | java.lang.Boolean, requiresCell: bool | java.jboolean | java.lang.Boolean, hasMonetaryCost: bool | java.jboolean | java.lang.Boolean, supportsAltitude: bool | java.jboolean | java.lang.Boolean, supportsSpeed: bool | java.jboolean | java.lang.Boolean, supportsBearing: bool | java.jboolean | java.lang.Boolean, powerUsage: int | java.jint | java.lang.Integer, accuracy: int | java.jint | java.lang.Integer, /) -> None: ...
    def clearTestProviderEnabled(self, provider: str | java.lang.String, /) -> None: ...
    def clearTestProviderLocation(self, provider: str | java.lang.String, /) -> None: ...
    def clearTestProviderStatus(self, provider: str | java.lang.String, /) -> None: ...
    def getAllProviders(self) -> java.util.List[java.lang.String]: ...
    def getBestProvider(self, criteria: Criteria, enabledOnly: bool | java.jboolean | java.lang.Boolean, /) -> str | None: ...
    @typing.overload
    def getCurrentLocation(self, provider: str | java.lang.String, cancellationSignal: android.os.CancellationSignal, executor: java.util.concurrent.Executor, consumer: java.util.function.Consumer[Location], /) -> None: ...
    @typing.overload
    def getCurrentLocation(self, provider: str | java.lang.String, locationRequest: LocationRequest, cancellationSignal: android.os.CancellationSignal, executor: java.util.concurrent.Executor, consumer: java.util.function.Consumer[Location], /) -> None: ...
    def getGnssAntennaInfos(self) -> java.util.List[GnssAntennaInfo] | None: ...
    def getGnssCapabilities(self) -> GnssCapabilities: ...
    def getGnssHardwareModelName(self) -> str | None: ...
    def getGnssYearOfHardware(self) -> int: ...
    def getGpsStatus(self, status: GpsStatus, /) -> GpsStatus | None: ...
    def getLastKnownLocation(self, provider: str | java.lang.String, /) -> Location | None: ...
    def getProvider(self, provider: str | java.lang.String, /) -> LocationProvider | None: ...
    def getProviderProperties(self, provider: str | java.lang.String, /) -> android.location.provider.ProviderProperties | None: ...
    @typing.overload
    def getProviders(self, enabledOnly: bool | java.jboolean | java.lang.Boolean, /) -> java.util.List[java.lang.String]: ...
    @typing.overload
    def getProviders(self, criteria: Criteria, enabledOnly: bool | java.jboolean | java.lang.Boolean, /) -> java.util.List[java.lang.String]: ...
    def hasProvider(self, provider: str | java.lang.String, /) -> bool: ...
    def isLocationEnabled(self) -> bool: ...
    def isProviderEnabled(self, provider: str | java.lang.String, /) -> bool: ...
    def registerAntennaInfoListener(self, executor: java.util.concurrent.Executor, listener: GnssAntennaInfo.Listener, /) -> bool: ...
    @typing.overload
    def registerGnssMeasurementsCallback(self, callback: GnssMeasurementsEvent.Callback, /) -> bool: ...
    @typing.overload
    def registerGnssMeasurementsCallback(self, callback: GnssMeasurementsEvent.Callback, handler: android.os.Handler, /) -> bool: ...
    @typing.overload
    def registerGnssMeasurementsCallback(self, executor: java.util.concurrent.Executor, callback: GnssMeasurementsEvent.Callback, /) -> bool: ...
    @typing.overload
    def registerGnssMeasurementsCallback(self, request: GnssMeasurementRequest, executor: java.util.concurrent.Executor, callback: GnssMeasurementsEvent.Callback, /) -> bool: ...
    @typing.overload
    def registerGnssNavigationMessageCallback(self, callback: GnssNavigationMessage.Callback, /) -> bool: ...
    @typing.overload
    def registerGnssNavigationMessageCallback(self, callback: GnssNavigationMessage.Callback, handler: android.os.Handler, /) -> bool: ...
    @typing.overload
    def registerGnssNavigationMessageCallback(self, executor: java.util.concurrent.Executor, callback: GnssNavigationMessage.Callback, /) -> bool: ...
    @typing.overload
    def registerGnssStatusCallback(self, callback: GnssStatus.Callback, /) -> bool: ...
    @typing.overload
    def registerGnssStatusCallback(self, callback: GnssStatus.Callback, handler: android.os.Handler, /) -> bool: ...
    @typing.overload
    def registerGnssStatusCallback(self, executor: java.util.concurrent.Executor, callback: GnssStatus.Callback, /) -> bool: ...
    def removeGpsStatusListener(self, listener: GpsStatus.Listener, /) -> None: ...
    @typing.overload
    def removeNmeaListener(self, listener: GpsStatus.NmeaListener, /) -> None: ...
    @typing.overload
    def removeNmeaListener(self, listener: OnNmeaMessageListener, /) -> None: ...
    def removeProximityAlert(self, intent: android.app.PendingIntent, /) -> None: ...
    def removeTestProvider(self, provider: str | java.lang.String, /) -> None: ...
    @typing.overload
    def removeUpdates(self, pendingIntent: android.app.PendingIntent, /) -> None: ...
    @typing.overload
    def removeUpdates(self, listener: LocationListener, /) -> None: ...
    @typing.overload
    def requestFlush(self, provider: str | java.lang.String, pendingIntent: android.app.PendingIntent, requestCode: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def requestFlush(self, provider: str | java.lang.String, listener: LocationListener, requestCode: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def requestLocationUpdates(self, provider: str | java.lang.String, locationRequest: LocationRequest, pendingIntent: android.app.PendingIntent, /) -> None: ...
    @typing.overload
    def requestLocationUpdates(self, minTimeMs: int | java.jlong | java.lang.Long, minDistanceM: float | java.jfloat | java.lang.Float, criteria: Criteria, pendingIntent: android.app.PendingIntent, /) -> None: ...
    @typing.overload
    def requestLocationUpdates(self, provider: str | java.lang.String, minTimeMs: int | java.jlong | java.lang.Long, minDistanceM: float | java.jfloat | java.lang.Float, pendingIntent: android.app.PendingIntent, /) -> None: ...
    @typing.overload
    def requestLocationUpdates(self, provider: str | java.lang.String, minTimeMs: int | java.jlong | java.lang.Long, minDistanceM: float | java.jfloat | java.lang.Float, listener: LocationListener, /) -> None: ...
    @typing.overload
    def requestLocationUpdates(self, provider: str | java.lang.String, locationRequest: LocationRequest, executor: java.util.concurrent.Executor, listener: LocationListener, /) -> None: ...
    @typing.overload
    def requestLocationUpdates(self, minTimeMs: int | java.jlong | java.lang.Long, minDistanceM: float | java.jfloat | java.lang.Float, criteria: Criteria, listener: LocationListener, looper: android.os.Looper, /) -> None: ...
    @typing.overload
    def requestLocationUpdates(self, minTimeMs: int | java.jlong | java.lang.Long, minDistanceM: float | java.jfloat | java.lang.Float, criteria: Criteria, executor: java.util.concurrent.Executor, listener: LocationListener, /) -> None: ...
    @typing.overload
    def requestLocationUpdates(self, provider: str | java.lang.String, minTimeMs: int | java.jlong | java.lang.Long, minDistanceM: float | java.jfloat | java.lang.Float, listener: LocationListener, looper: android.os.Looper, /) -> None: ...
    @typing.overload
    def requestLocationUpdates(self, provider: str | java.lang.String, minTimeMs: int | java.jlong | java.lang.Long, minDistanceM: float | java.jfloat | java.lang.Float, executor: java.util.concurrent.Executor, listener: LocationListener, /) -> None: ...
    @typing.overload
    def requestSingleUpdate(self, criteria: Criteria, pendingIntent: android.app.PendingIntent, /) -> None: ...
    @typing.overload
    def requestSingleUpdate(self, provider: str | java.lang.String, pendingIntent: android.app.PendingIntent, /) -> None: ...
    @typing.overload
    def requestSingleUpdate(self, criteria: Criteria, listener: LocationListener, looper: android.os.Looper, /) -> None: ...
    @typing.overload
    def requestSingleUpdate(self, provider: str | java.lang.String, listener: LocationListener, looper: android.os.Looper, /) -> None: ...
    def sendExtraCommand(self, provider: str | java.lang.String, command: str | java.lang.String, extras: android.os.Bundle, /) -> bool: ...
    def setTestProviderEnabled(self, provider: str | java.lang.String, enabled: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def setTestProviderLocation(self, provider: str | java.lang.String, location: Location, /) -> None: ...
    def setTestProviderStatus(self, provider: str | java.lang.String, status: int | java.jint | java.lang.Integer, extras: android.os.Bundle, updateTime: int | java.jlong | java.lang.Long, /) -> None: ...
    def unregisterAntennaInfoListener(self, listener: GnssAntennaInfo.Listener, /) -> None: ...
    def unregisterGnssMeasurementsCallback(self, callback: GnssMeasurementsEvent.Callback, /) -> None: ...
    def unregisterGnssNavigationMessageCallback(self, callback: GnssNavigationMessage.Callback, /) -> None: ...
    def unregisterGnssStatusCallback(self, callback: GnssStatus.Callback, /) -> None: ...

class LocationProvider(java.lang.Object):
    AVAILABLE: typing.ClassVar[int] = ...
    OUT_OF_SERVICE: typing.ClassVar[int] = ...
    TEMPORARILY_UNAVAILABLE: typing.ClassVar[int] = ...
    def getAccuracy(self) -> int: ...
    def getName(self) -> str: ...
    def getPowerRequirement(self) -> int: ...
    def hasMonetaryCost(self) -> bool: ...
    def meetsCriteria(self, criteria: Criteria, /) -> bool: ...
    def requiresCell(self) -> bool: ...
    def requiresNetwork(self) -> bool: ...
    def requiresSatellite(self) -> bool: ...
    def supportsAltitude(self) -> bool: ...
    def supportsBearing(self) -> bool: ...
    def supportsSpeed(self) -> bool: ...

class LocationRequest(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[LocationRequest]] = ...
    PASSIVE_INTERVAL: typing.ClassVar[int] = ...
    QUALITY_BALANCED_POWER_ACCURACY: typing.ClassVar[int] = ...
    QUALITY_HIGH_ACCURACY: typing.ClassVar[int] = ...
    QUALITY_LOW_POWER: typing.ClassVar[int] = ...
    def describeContents(self) -> int: ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getDurationMillis(self) -> int: ...
    def getIntervalMillis(self) -> int: ...
    def getMaxUpdateDelayMillis(self) -> int: ...
    def getMaxUpdates(self) -> int: ...
    def getMinUpdateDistanceMeters(self) -> float: ...
    def getMinUpdateIntervalMillis(self) -> int: ...
    def getQuality(self) -> int: ...
    def hashCode(self) -> int: ...
    def toString(self) -> str: ...
    def writeToParcel(self, parcel: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class Builder(java.lang.Object):
        @typing.overload
        def __init__(self, intervalMillis: int | java.jlong | java.lang.Long, /) -> None: ...
        @typing.overload
        def __init__(self, locationRequest: LocationRequest, /) -> None: ...
        def build(self) -> LocationRequest: ...
        def clearMinUpdateIntervalMillis(self) -> LocationRequest.Builder: ...
        def setDurationMillis(self, durationMillis: int | java.jlong | java.lang.Long, /) -> LocationRequest.Builder: ...
        def setIntervalMillis(self, intervalMillis: int | java.jlong | java.lang.Long, /) -> LocationRequest.Builder: ...
        def setMaxUpdateDelayMillis(self, maxUpdateDelayMillis: int | java.jlong | java.lang.Long, /) -> LocationRequest.Builder: ...
        def setMaxUpdates(self, maxUpdates: int | java.jint | java.lang.Integer, /) -> LocationRequest.Builder: ...
        def setMinUpdateDistanceMeters(self, minUpdateDistanceMeters: float | java.jfloat | java.lang.Float, /) -> LocationRequest.Builder: ...
        def setMinUpdateIntervalMillis(self, minUpdateIntervalMillis: int | java.jlong | java.lang.Long, /) -> LocationRequest.Builder: ...
        def setQuality(self, quality: int | java.jint | java.lang.Integer, /) -> LocationRequest.Builder: ...

class OnNmeaMessageListener(java.lang.Object):
    def onNmeaMessage(self, arg1: str | java.lang.String, arg2: int | java.jlong | java.lang.Long, /) -> None: ...

class SettingInjectorService(android.app.Service):
    ACTION_INJECTED_SETTING_CHANGED: typing.ClassVar[str] = ...
    ACTION_SERVICE_INTENT: typing.ClassVar[str] = ...
    ATTRIBUTES_NAME: typing.ClassVar[str] = ...
    META_DATA_NAME: typing.ClassVar[str] = ...
    def __init__(self, name: str | java.lang.String, /) -> None: ...
    def onBind(self, intent: android.content.Intent, /) -> android.os.IBinder: ...
    def onGetEnabled(self) -> bool: ...
    def onGetSummary(self) -> str: ...
    def onStart(self, intent: android.content.Intent, startId: int | java.jint | java.lang.Integer, /) -> None: ...
    def onStartCommand(self, intent: android.content.Intent, flags: int | java.jint | java.lang.Integer, startId: int | java.jint | java.lang.Integer, /) -> int: ...
    @staticmethod
    def refreshSettings(context: android.content.Context, /) -> None: ...
