Loading api/current.txt +4 −4 Original line number Diff line number Diff line Loading @@ -23601,13 +23601,13 @@ package android.location { method @FloatRange(from=0, to=63) public double getCn0DbHz(); method @NonNull public String getCodeType(); method public int getConstellationType(); method public double getFullInterSignalBiasNanos(); method @FloatRange(from=0.0) public double getFullInterSignalBiasUncertaintyNanos(); method public int getMultipathIndicator(); method public double getPseudorangeRateMetersPerSecond(); method public double getPseudorangeRateUncertaintyMetersPerSecond(); method public long getReceivedSvTimeNanos(); method public long getReceivedSvTimeUncertaintyNanos(); method public double getReceiverInterSignalBiasNanos(); method @FloatRange(from=0.0) public double getReceiverInterSignalBiasUncertaintyNanos(); method public double getSatelliteInterSignalBiasNanos(); method @FloatRange(from=0.0) public double getSatelliteInterSignalBiasUncertaintyNanos(); method public double getSnrInDb(); Loading @@ -23621,8 +23621,8 @@ package android.location { method @Deprecated public boolean hasCarrierPhase(); method @Deprecated public boolean hasCarrierPhaseUncertainty(); method public boolean hasCodeType(); method public boolean hasReceiverInterSignalBiasNanos(); method public boolean hasReceiverInterSignalBiasUncertaintyNanos(); method public boolean hasFullInterSignalBiasNanos(); method public boolean hasFullInterSignalBiasUncertaintyNanos(); method public boolean hasSatelliteInterSignalBiasNanos(); method public boolean hasSatelliteInterSignalBiasUncertaintyNanos(); method public boolean hasSnrInDb(); api/test-current.txt +4 −4 Original line number Diff line number Diff line Loading @@ -1355,8 +1355,8 @@ package android.location { method @Deprecated public void resetCarrierPhase(); method @Deprecated public void resetCarrierPhaseUncertainty(); method public void resetCodeType(); method public void resetReceiverInterSignalBiasNanos(); method public void resetReceiverInterSignalBiasUncertaintyNanos(); method public void resetFullInterSignalBiasNanos(); method public void resetFullInterSignalBiasUncertaintyNanos(); method public void resetSatelliteInterSignalBiasNanos(); method public void resetSatelliteInterSignalBiasUncertaintyNanos(); method public void resetSnrInDb(); Loading @@ -1373,13 +1373,13 @@ package android.location { method public void setCn0DbHz(double); method public void setCodeType(@NonNull String); method public void setConstellationType(int); method public void setFullInterSignalBiasNanos(double); method public void setFullInterSignalBiasUncertaintyNanos(@FloatRange(from=0.0) double); method public void setMultipathIndicator(int); method public void setPseudorangeRateMetersPerSecond(double); method public void setPseudorangeRateUncertaintyMetersPerSecond(double); method public void setReceivedSvTimeNanos(long); method public void setReceivedSvTimeUncertaintyNanos(long); method public void setReceiverInterSignalBiasNanos(double); method public void setReceiverInterSignalBiasUncertaintyNanos(@FloatRange(from=0.0) double); method public void setSatelliteInterSignalBiasNanos(double); method public void setSatelliteInterSignalBiasUncertaintyNanos(@FloatRange(from=0.0) double); method public void setSnrInDb(double); Loading api/test-lint-baseline.txt +2 −2 Original line number Diff line number Diff line Loading @@ -421,9 +421,9 @@ GetterSetterNames: android.location.GnssMeasurement#setCarrierFrequencyHz(float) GetterSetterNames: android.location.GnssMeasurement#setCodeType(String): GetterSetterNames: android.location.GnssMeasurement#setReceiverInterSignalBiasNanos(double): GetterSetterNames: android.location.GnssMeasurement#setFullInterSignalBiasNanos(double): GetterSetterNames: android.location.GnssMeasurement#setReceiverInterSignalBiasUncertaintyNanos(double): GetterSetterNames: android.location.GnssMeasurement#setFullInterSignalBiasUncertaintyNanos(double): GetterSetterNames: android.location.GnssMeasurement#setSatelliteInterSignalBiasNanos(double): Loading location/java/android/location/GnssMeasurement.java +77 −65 Original line number Diff line number Diff line Loading @@ -21,8 +21,8 @@ import static android.hardware.gnss.V2_1.IGnssMeasurementCallback.GnssMeasuremen import static android.hardware.gnss.V2_1.IGnssMeasurementCallback.GnssMeasurementFlags.HAS_CARRIER_FREQUENCY; import static android.hardware.gnss.V2_1.IGnssMeasurementCallback.GnssMeasurementFlags.HAS_CARRIER_PHASE; import static android.hardware.gnss.V2_1.IGnssMeasurementCallback.GnssMeasurementFlags.HAS_CARRIER_PHASE_UNCERTAINTY; import static android.hardware.gnss.V2_1.IGnssMeasurementCallback.GnssMeasurementFlags.HAS_RECEIVER_ISB; import static android.hardware.gnss.V2_1.IGnssMeasurementCallback.GnssMeasurementFlags.HAS_RECEIVER_ISB_UNCERTAINTY; import static android.hardware.gnss.V2_1.IGnssMeasurementCallback.GnssMeasurementFlags.HAS_FULL_ISB; import static android.hardware.gnss.V2_1.IGnssMeasurementCallback.GnssMeasurementFlags.HAS_FULL_ISB_UNCERTAINTY; import static android.hardware.gnss.V2_1.IGnssMeasurementCallback.GnssMeasurementFlags.HAS_SATELLITE_ISB; import static android.hardware.gnss.V2_1.IGnssMeasurementCallback.GnssMeasurementFlags.HAS_SATELLITE_ISB_UNCERTAINTY; import static android.hardware.gnss.V2_1.IGnssMeasurementCallback.GnssMeasurementFlags.HAS_SNR; Loading Loading @@ -63,8 +63,8 @@ public final class GnssMeasurement implements Parcelable { private double mSnrInDb; private double mAutomaticGainControlLevelInDb; @NonNull private String mCodeType; private double mReceiverInterSignalBiasNanos; private double mReceiverInterSignalBiasUncertaintyNanos; private double mFullInterSignalBiasNanos; private double mFullInterSignalBiasUncertaintyNanos; private double mSatelliteInterSignalBiasNanos; private double mSatelliteInterSignalBiasUncertaintyNanos; Loading Loading @@ -268,9 +268,9 @@ public final class GnssMeasurement implements Parcelable { mSnrInDb = measurement.mSnrInDb; mAutomaticGainControlLevelInDb = measurement.mAutomaticGainControlLevelInDb; mCodeType = measurement.mCodeType; mReceiverInterSignalBiasNanos = measurement.mReceiverInterSignalBiasNanos; mReceiverInterSignalBiasUncertaintyNanos = measurement.mReceiverInterSignalBiasUncertaintyNanos; mFullInterSignalBiasNanos = measurement.mFullInterSignalBiasNanos; mFullInterSignalBiasUncertaintyNanos = measurement.mFullInterSignalBiasUncertaintyNanos; mSatelliteInterSignalBiasNanos = measurement.mSatelliteInterSignalBiasNanos; mSatelliteInterSignalBiasUncertaintyNanos = measurement.mSatelliteInterSignalBiasUncertaintyNanos; Loading Loading @@ -1435,99 +1435,110 @@ public final class GnssMeasurement implements Parcelable { } /** * Returns {@code true} if {@link #getReceiverInterSignalBiasNanos()} is available, * Returns {@code true} if {@link #getFullInterSignalBiasNanos()} is available, * {@code false} otherwise. */ public boolean hasReceiverInterSignalBiasNanos() { return isFlagSet(HAS_RECEIVER_ISB); public boolean hasFullInterSignalBiasNanos() { return isFlagSet(HAS_FULL_ISB); } /** * Gets the GNSS measurement's receiver inter-signal bias in nanoseconds with sub-nanosecond * accuracy. * Gets the GNSS measurement's inter-signal bias in nanoseconds with sub-nanosecond accuracy. * * <p>This value is the estimated receiver-side inter-system (different from the * constellation in {@link GnssClock#getReferenceConstellationTypeForIsb()} bias and * inter-frequency (different from the carrier frequency in * {@link GnssClock#getReferenceCarrierFrequencyHzForIsb()}) bias. The reported receiver * inter-signal bias must include signal delays caused by: * <p>This value is the sum of the estimated receiver-side and the space-segment-side * inter-system bias, inter-frequency bias and inter-code bias, including: * * <ul> * <li>Receiver inter-constellation bias</li> * <li>Receiver inter-frequency bias</li> * <li>Receiver inter-code bias</li> * <li>Receiver inter-constellation bias (with respect to the constellation in * {@link GnssClock#getReferenceConstellationTypeForIsb())</li> * <li>Receiver inter-frequency bias (with respect to the carrier frequency in * {@link GnssClock#getReferenceConstellationTypeForIsb())</li> * <li>Receiver inter-code bias (with respect to the code type in * {@link GnssClock#getReferenceConstellationTypeForIsb())</li> * <li>Master clock bias (e.g., GPS-GAL Time Offset (GGTO), GPS-UTC Time Offset (TauGps), * BDS-GLO Time Offset (BGTO))(with respect to the constellation in * {@link GnssClock#getReferenceConstellationTypeForIsb())</li> * <li>Group delay (e.g., Total Group Delay (TGD))</li> * <li>Satellite inter-frequency bias (GLO only) (with respect to the carrier frequency in * {@link GnssClock#getReferenceConstellationTypeForIsb())</li> * <li>Satellite inter-code bias (e.g., Differential Code Bias (DCB)) (with respect to the code * type in {@link GnssClock#getReferenceConstellationTypeForIsb())</li> * </ul> * * <p>If a component of the above is already compensated in the provided * {@link GnssMeasurement#getReceivedSvTimeNanos()}, then it must not be included in the * reported full ISB. * * <p>The value does not include the inter-frequency Ionospheric bias. * * <p>The value is only available if {@link #hasReceiverInterSignalBiasNanos()} is {@code true}. * <p>The value is only available if {@link #hasFullInterSignalBiasNanos()} is {@code true}. */ public double getReceiverInterSignalBiasNanos() { return mReceiverInterSignalBiasNanos; public double getFullInterSignalBiasNanos() { return mFullInterSignalBiasNanos; } /** * Sets the GNSS measurement's receiver inter-signal bias in nanoseconds. * Sets the GNSS measurement's inter-signal bias in nanoseconds. * * @hide */ @TestApi public void setReceiverInterSignalBiasNanos(double receiverInterSignalBiasNanos) { setFlag(HAS_RECEIVER_ISB); mReceiverInterSignalBiasNanos = receiverInterSignalBiasNanos; public void setFullInterSignalBiasNanos(double fullInterSignalBiasNanos) { setFlag(HAS_FULL_ISB); mFullInterSignalBiasNanos = fullInterSignalBiasNanos; } /** * Resets the GNSS measurement's receiver inter-signal bias in nanoseconds. * Resets the GNSS measurement's inter-signal bias in nanoseconds. * * @hide */ @TestApi public void resetReceiverInterSignalBiasNanos() { resetFlag(HAS_RECEIVER_ISB); public void resetFullInterSignalBiasNanos() { resetFlag(HAS_FULL_ISB); } /** * Returns {@code true} if {@link #getReceiverInterSignalBiasUncertaintyNanos()} is available, * Returns {@code true} if {@link #getFullInterSignalBiasUncertaintyNanos()} is available, * {@code false} otherwise. */ public boolean hasReceiverInterSignalBiasUncertaintyNanos() { return isFlagSet(HAS_RECEIVER_ISB_UNCERTAINTY); public boolean hasFullInterSignalBiasUncertaintyNanos() { return isFlagSet(HAS_FULL_ISB_UNCERTAINTY); } /** * Gets the GNSS measurement's receiver inter-signal bias uncertainty (1 sigma) in * Gets the GNSS measurement's inter-signal bias uncertainty (1 sigma) in * nanoseconds with sub-nanosecond accuracy. * * <p>The value is only available if {@link #hasReceiverInterSignalBiasUncertaintyNanos()} is * <p>The value is only available if {@link #hasFullInterSignalBiasUncertaintyNanos()} is * {@code true}. */ @FloatRange(from = 0.0) public double getReceiverInterSignalBiasUncertaintyNanos() { return mReceiverInterSignalBiasUncertaintyNanos; public double getFullInterSignalBiasUncertaintyNanos() { return mFullInterSignalBiasUncertaintyNanos; } /** * Sets the GNSS measurement's receiver inter-signal bias uncertainty (1 sigma) in nanoseconds. * Sets the GNSS measurement's inter-signal bias uncertainty (1 sigma) in nanoseconds. * * @hide */ @TestApi public void setReceiverInterSignalBiasUncertaintyNanos(@FloatRange(from = 0.0) double receiverInterSignalBiasUncertaintyNanos) { setFlag(HAS_RECEIVER_ISB_UNCERTAINTY); mReceiverInterSignalBiasUncertaintyNanos = receiverInterSignalBiasUncertaintyNanos; public void setFullInterSignalBiasUncertaintyNanos(@FloatRange(from = 0.0) double fullInterSignalBiasUncertaintyNanos) { setFlag(HAS_FULL_ISB_UNCERTAINTY); mFullInterSignalBiasUncertaintyNanos = fullInterSignalBiasUncertaintyNanos; } /** * Resets the GNSS measurement's receiver inter-signal bias uncertainty (1 sigma) in * Resets the GNSS measurement's inter-signal bias uncertainty (1 sigma) in * nanoseconds. * * @hide */ @TestApi public void resetReceiverInterSignalBiasUncertaintyNanos() { resetFlag(HAS_RECEIVER_ISB_UNCERTAINTY); public void resetFullInterSignalBiasUncertaintyNanos() { resetFlag(HAS_FULL_ISB_UNCERTAINTY); } /** Loading @@ -1542,17 +1553,18 @@ public final class GnssMeasurement implements Parcelable { * Gets the GNSS measurement's satellite inter-signal bias in nanoseconds with sub-nanosecond * accuracy. * * <p>This value is the satellite-and-control-segment-side inter-system (different from the * constellation in {@link GnssClock#getReferenceConstellationTypeForIsb()}) bias and * inter-frequency (different from the carrier frequency in * {@link GnssClock#getReferenceCarrierFrequencyHzForIsb()}) bias, including: * <p>This value is the space-segment-side inter-system bias, inter-frequency bias and * inter-code bias, including: * * <ul> * <li>Master clock bias (e.g., GPS-GAL Time Offset (GGTO), GPT-UTC Time Offset (TauGps), * BDS-GLO Time Offset (BGTO))</li> * <li>Master clock bias (e.g., GPS-GAL Time Offset (GGTO), GPS-UTC Time Offset (TauGps), * BDS-GLO Time Offset (BGTO))(with respect to the constellation in * {@link GnssClock#getReferenceConstellationTypeForIsb())</li> * <li>Group delay (e.g., Total Group Delay (TGD))</li> * <li>Satellite inter-signal bias, which includes satellite inter-frequency bias (GLO only), * and satellite inter-code bias (e.g., Differential Code Bias (DCB)).</li> * <li>Satellite inter-frequency bias (GLO only) (with respect to the carrier frequency in * {@link GnssClock#getReferenceConstellationTypeForIsb())</li> * <li>Satellite inter-code bias (e.g., Differential Code Bias (DCB)) (with respect to the code * type in {@link GnssClock#getReferenceConstellationTypeForIsb())</li> * </ul> * * <p>The value is only available if {@link #hasSatelliteInterSignalBiasNanos()} is {@code Loading Loading @@ -1654,8 +1666,8 @@ public final class GnssMeasurement implements Parcelable { gnssMeasurement.mAutomaticGainControlLevelInDb = parcel.readDouble(); gnssMeasurement.mCodeType = parcel.readString(); gnssMeasurement.mBasebandCn0DbHz = parcel.readDouble(); gnssMeasurement.mReceiverInterSignalBiasNanos = parcel.readDouble(); gnssMeasurement.mReceiverInterSignalBiasUncertaintyNanos = parcel.readDouble(); gnssMeasurement.mFullInterSignalBiasNanos = parcel.readDouble(); gnssMeasurement.mFullInterSignalBiasUncertaintyNanos = parcel.readDouble(); gnssMeasurement.mSatelliteInterSignalBiasNanos = parcel.readDouble(); gnssMeasurement.mSatelliteInterSignalBiasUncertaintyNanos = parcel.readDouble(); Loading Loading @@ -1692,8 +1704,8 @@ public final class GnssMeasurement implements Parcelable { parcel.writeDouble(mAutomaticGainControlLevelInDb); parcel.writeString(mCodeType); parcel.writeDouble(mBasebandCn0DbHz); parcel.writeDouble(mReceiverInterSignalBiasNanos); parcel.writeDouble(mReceiverInterSignalBiasUncertaintyNanos); parcel.writeDouble(mFullInterSignalBiasNanos); parcel.writeDouble(mFullInterSignalBiasUncertaintyNanos); parcel.writeDouble(mSatelliteInterSignalBiasNanos); parcel.writeDouble(mSatelliteInterSignalBiasUncertaintyNanos); } Loading Loading @@ -1778,14 +1790,14 @@ public final class GnssMeasurement implements Parcelable { builder.append(String.format(format, "CodeType", mCodeType)); } if (hasReceiverInterSignalBiasNanos() || hasReceiverInterSignalBiasUncertaintyNanos()) { if (hasFullInterSignalBiasNanos() || hasFullInterSignalBiasUncertaintyNanos()) { builder.append(String.format( formatWithUncertainty, "ReceiverInterSignalBiasNs", hasReceiverInterSignalBiasNanos() ? mReceiverInterSignalBiasNanos : null, "ReceiverInterSignalBiasUncertaintyNs", hasReceiverInterSignalBiasUncertaintyNanos() ? mReceiverInterSignalBiasUncertaintyNanos : null)); "InterSignalBiasNs", hasFullInterSignalBiasNanos() ? mFullInterSignalBiasNanos : null, "InterSignalBiasUncertaintyNs", hasFullInterSignalBiasUncertaintyNanos() ? mFullInterSignalBiasUncertaintyNanos : null)); } if (hasSatelliteInterSignalBiasNanos() || hasSatelliteInterSignalBiasUncertaintyNanos()) { Loading Loading @@ -1824,8 +1836,8 @@ public final class GnssMeasurement implements Parcelable { resetAutomaticGainControlLevel(); resetCodeType(); resetBasebandCn0DbHz(); resetReceiverInterSignalBiasNanos(); resetReceiverInterSignalBiasUncertaintyNanos(); resetFullInterSignalBiasNanos(); resetFullInterSignalBiasUncertaintyNanos(); resetSatelliteInterSignalBiasNanos(); resetSatelliteInterSignalBiasUncertaintyNanos(); } Loading services/core/jni/com_android_server_location_GnssLocationProvider.cpp +5 −5 Original line number Diff line number Diff line Loading @@ -1448,13 +1448,13 @@ void GnssMeasurementCallback::translateSingleGnssMeasurement SET(BasebandCn0DbHz, measurement_V2_1->basebandCN0DbHz); if (measurement_V2_1->flags & GnssMeasurementFlags::HAS_RECEIVER_ISB) { SET(ReceiverInterSignalBiasNanos, measurement_V2_1->receiverInterSignalBiasNs); if (measurement_V2_1->flags & GnssMeasurementFlags::HAS_FULL_ISB) { SET(FullInterSignalBiasNanos, measurement_V2_1->fullInterSignalBiasNs); } if (measurement_V2_1->flags & GnssMeasurementFlags::HAS_RECEIVER_ISB_UNCERTAINTY) { SET(ReceiverInterSignalBiasUncertaintyNanos, measurement_V2_1->receiverInterSignalBiasUncertaintyNs); if (measurement_V2_1->flags & GnssMeasurementFlags::HAS_FULL_ISB_UNCERTAINTY) { SET(FullInterSignalBiasUncertaintyNanos, measurement_V2_1->fullInterSignalBiasUncertaintyNs); } if (measurement_V2_1->flags & GnssMeasurementFlags::HAS_SATELLITE_ISB) { Loading Loading
api/current.txt +4 −4 Original line number Diff line number Diff line Loading @@ -23601,13 +23601,13 @@ package android.location { method @FloatRange(from=0, to=63) public double getCn0DbHz(); method @NonNull public String getCodeType(); method public int getConstellationType(); method public double getFullInterSignalBiasNanos(); method @FloatRange(from=0.0) public double getFullInterSignalBiasUncertaintyNanos(); method public int getMultipathIndicator(); method public double getPseudorangeRateMetersPerSecond(); method public double getPseudorangeRateUncertaintyMetersPerSecond(); method public long getReceivedSvTimeNanos(); method public long getReceivedSvTimeUncertaintyNanos(); method public double getReceiverInterSignalBiasNanos(); method @FloatRange(from=0.0) public double getReceiverInterSignalBiasUncertaintyNanos(); method public double getSatelliteInterSignalBiasNanos(); method @FloatRange(from=0.0) public double getSatelliteInterSignalBiasUncertaintyNanos(); method public double getSnrInDb(); Loading @@ -23621,8 +23621,8 @@ package android.location { method @Deprecated public boolean hasCarrierPhase(); method @Deprecated public boolean hasCarrierPhaseUncertainty(); method public boolean hasCodeType(); method public boolean hasReceiverInterSignalBiasNanos(); method public boolean hasReceiverInterSignalBiasUncertaintyNanos(); method public boolean hasFullInterSignalBiasNanos(); method public boolean hasFullInterSignalBiasUncertaintyNanos(); method public boolean hasSatelliteInterSignalBiasNanos(); method public boolean hasSatelliteInterSignalBiasUncertaintyNanos(); method public boolean hasSnrInDb();
api/test-current.txt +4 −4 Original line number Diff line number Diff line Loading @@ -1355,8 +1355,8 @@ package android.location { method @Deprecated public void resetCarrierPhase(); method @Deprecated public void resetCarrierPhaseUncertainty(); method public void resetCodeType(); method public void resetReceiverInterSignalBiasNanos(); method public void resetReceiverInterSignalBiasUncertaintyNanos(); method public void resetFullInterSignalBiasNanos(); method public void resetFullInterSignalBiasUncertaintyNanos(); method public void resetSatelliteInterSignalBiasNanos(); method public void resetSatelliteInterSignalBiasUncertaintyNanos(); method public void resetSnrInDb(); Loading @@ -1373,13 +1373,13 @@ package android.location { method public void setCn0DbHz(double); method public void setCodeType(@NonNull String); method public void setConstellationType(int); method public void setFullInterSignalBiasNanos(double); method public void setFullInterSignalBiasUncertaintyNanos(@FloatRange(from=0.0) double); method public void setMultipathIndicator(int); method public void setPseudorangeRateMetersPerSecond(double); method public void setPseudorangeRateUncertaintyMetersPerSecond(double); method public void setReceivedSvTimeNanos(long); method public void setReceivedSvTimeUncertaintyNanos(long); method public void setReceiverInterSignalBiasNanos(double); method public void setReceiverInterSignalBiasUncertaintyNanos(@FloatRange(from=0.0) double); method public void setSatelliteInterSignalBiasNanos(double); method public void setSatelliteInterSignalBiasUncertaintyNanos(@FloatRange(from=0.0) double); method public void setSnrInDb(double); Loading
api/test-lint-baseline.txt +2 −2 Original line number Diff line number Diff line Loading @@ -421,9 +421,9 @@ GetterSetterNames: android.location.GnssMeasurement#setCarrierFrequencyHz(float) GetterSetterNames: android.location.GnssMeasurement#setCodeType(String): GetterSetterNames: android.location.GnssMeasurement#setReceiverInterSignalBiasNanos(double): GetterSetterNames: android.location.GnssMeasurement#setFullInterSignalBiasNanos(double): GetterSetterNames: android.location.GnssMeasurement#setReceiverInterSignalBiasUncertaintyNanos(double): GetterSetterNames: android.location.GnssMeasurement#setFullInterSignalBiasUncertaintyNanos(double): GetterSetterNames: android.location.GnssMeasurement#setSatelliteInterSignalBiasNanos(double): Loading
location/java/android/location/GnssMeasurement.java +77 −65 Original line number Diff line number Diff line Loading @@ -21,8 +21,8 @@ import static android.hardware.gnss.V2_1.IGnssMeasurementCallback.GnssMeasuremen import static android.hardware.gnss.V2_1.IGnssMeasurementCallback.GnssMeasurementFlags.HAS_CARRIER_FREQUENCY; import static android.hardware.gnss.V2_1.IGnssMeasurementCallback.GnssMeasurementFlags.HAS_CARRIER_PHASE; import static android.hardware.gnss.V2_1.IGnssMeasurementCallback.GnssMeasurementFlags.HAS_CARRIER_PHASE_UNCERTAINTY; import static android.hardware.gnss.V2_1.IGnssMeasurementCallback.GnssMeasurementFlags.HAS_RECEIVER_ISB; import static android.hardware.gnss.V2_1.IGnssMeasurementCallback.GnssMeasurementFlags.HAS_RECEIVER_ISB_UNCERTAINTY; import static android.hardware.gnss.V2_1.IGnssMeasurementCallback.GnssMeasurementFlags.HAS_FULL_ISB; import static android.hardware.gnss.V2_1.IGnssMeasurementCallback.GnssMeasurementFlags.HAS_FULL_ISB_UNCERTAINTY; import static android.hardware.gnss.V2_1.IGnssMeasurementCallback.GnssMeasurementFlags.HAS_SATELLITE_ISB; import static android.hardware.gnss.V2_1.IGnssMeasurementCallback.GnssMeasurementFlags.HAS_SATELLITE_ISB_UNCERTAINTY; import static android.hardware.gnss.V2_1.IGnssMeasurementCallback.GnssMeasurementFlags.HAS_SNR; Loading Loading @@ -63,8 +63,8 @@ public final class GnssMeasurement implements Parcelable { private double mSnrInDb; private double mAutomaticGainControlLevelInDb; @NonNull private String mCodeType; private double mReceiverInterSignalBiasNanos; private double mReceiverInterSignalBiasUncertaintyNanos; private double mFullInterSignalBiasNanos; private double mFullInterSignalBiasUncertaintyNanos; private double mSatelliteInterSignalBiasNanos; private double mSatelliteInterSignalBiasUncertaintyNanos; Loading Loading @@ -268,9 +268,9 @@ public final class GnssMeasurement implements Parcelable { mSnrInDb = measurement.mSnrInDb; mAutomaticGainControlLevelInDb = measurement.mAutomaticGainControlLevelInDb; mCodeType = measurement.mCodeType; mReceiverInterSignalBiasNanos = measurement.mReceiverInterSignalBiasNanos; mReceiverInterSignalBiasUncertaintyNanos = measurement.mReceiverInterSignalBiasUncertaintyNanos; mFullInterSignalBiasNanos = measurement.mFullInterSignalBiasNanos; mFullInterSignalBiasUncertaintyNanos = measurement.mFullInterSignalBiasUncertaintyNanos; mSatelliteInterSignalBiasNanos = measurement.mSatelliteInterSignalBiasNanos; mSatelliteInterSignalBiasUncertaintyNanos = measurement.mSatelliteInterSignalBiasUncertaintyNanos; Loading Loading @@ -1435,99 +1435,110 @@ public final class GnssMeasurement implements Parcelable { } /** * Returns {@code true} if {@link #getReceiverInterSignalBiasNanos()} is available, * Returns {@code true} if {@link #getFullInterSignalBiasNanos()} is available, * {@code false} otherwise. */ public boolean hasReceiverInterSignalBiasNanos() { return isFlagSet(HAS_RECEIVER_ISB); public boolean hasFullInterSignalBiasNanos() { return isFlagSet(HAS_FULL_ISB); } /** * Gets the GNSS measurement's receiver inter-signal bias in nanoseconds with sub-nanosecond * accuracy. * Gets the GNSS measurement's inter-signal bias in nanoseconds with sub-nanosecond accuracy. * * <p>This value is the estimated receiver-side inter-system (different from the * constellation in {@link GnssClock#getReferenceConstellationTypeForIsb()} bias and * inter-frequency (different from the carrier frequency in * {@link GnssClock#getReferenceCarrierFrequencyHzForIsb()}) bias. The reported receiver * inter-signal bias must include signal delays caused by: * <p>This value is the sum of the estimated receiver-side and the space-segment-side * inter-system bias, inter-frequency bias and inter-code bias, including: * * <ul> * <li>Receiver inter-constellation bias</li> * <li>Receiver inter-frequency bias</li> * <li>Receiver inter-code bias</li> * <li>Receiver inter-constellation bias (with respect to the constellation in * {@link GnssClock#getReferenceConstellationTypeForIsb())</li> * <li>Receiver inter-frequency bias (with respect to the carrier frequency in * {@link GnssClock#getReferenceConstellationTypeForIsb())</li> * <li>Receiver inter-code bias (with respect to the code type in * {@link GnssClock#getReferenceConstellationTypeForIsb())</li> * <li>Master clock bias (e.g., GPS-GAL Time Offset (GGTO), GPS-UTC Time Offset (TauGps), * BDS-GLO Time Offset (BGTO))(with respect to the constellation in * {@link GnssClock#getReferenceConstellationTypeForIsb())</li> * <li>Group delay (e.g., Total Group Delay (TGD))</li> * <li>Satellite inter-frequency bias (GLO only) (with respect to the carrier frequency in * {@link GnssClock#getReferenceConstellationTypeForIsb())</li> * <li>Satellite inter-code bias (e.g., Differential Code Bias (DCB)) (with respect to the code * type in {@link GnssClock#getReferenceConstellationTypeForIsb())</li> * </ul> * * <p>If a component of the above is already compensated in the provided * {@link GnssMeasurement#getReceivedSvTimeNanos()}, then it must not be included in the * reported full ISB. * * <p>The value does not include the inter-frequency Ionospheric bias. * * <p>The value is only available if {@link #hasReceiverInterSignalBiasNanos()} is {@code true}. * <p>The value is only available if {@link #hasFullInterSignalBiasNanos()} is {@code true}. */ public double getReceiverInterSignalBiasNanos() { return mReceiverInterSignalBiasNanos; public double getFullInterSignalBiasNanos() { return mFullInterSignalBiasNanos; } /** * Sets the GNSS measurement's receiver inter-signal bias in nanoseconds. * Sets the GNSS measurement's inter-signal bias in nanoseconds. * * @hide */ @TestApi public void setReceiverInterSignalBiasNanos(double receiverInterSignalBiasNanos) { setFlag(HAS_RECEIVER_ISB); mReceiverInterSignalBiasNanos = receiverInterSignalBiasNanos; public void setFullInterSignalBiasNanos(double fullInterSignalBiasNanos) { setFlag(HAS_FULL_ISB); mFullInterSignalBiasNanos = fullInterSignalBiasNanos; } /** * Resets the GNSS measurement's receiver inter-signal bias in nanoseconds. * Resets the GNSS measurement's inter-signal bias in nanoseconds. * * @hide */ @TestApi public void resetReceiverInterSignalBiasNanos() { resetFlag(HAS_RECEIVER_ISB); public void resetFullInterSignalBiasNanos() { resetFlag(HAS_FULL_ISB); } /** * Returns {@code true} if {@link #getReceiverInterSignalBiasUncertaintyNanos()} is available, * Returns {@code true} if {@link #getFullInterSignalBiasUncertaintyNanos()} is available, * {@code false} otherwise. */ public boolean hasReceiverInterSignalBiasUncertaintyNanos() { return isFlagSet(HAS_RECEIVER_ISB_UNCERTAINTY); public boolean hasFullInterSignalBiasUncertaintyNanos() { return isFlagSet(HAS_FULL_ISB_UNCERTAINTY); } /** * Gets the GNSS measurement's receiver inter-signal bias uncertainty (1 sigma) in * Gets the GNSS measurement's inter-signal bias uncertainty (1 sigma) in * nanoseconds with sub-nanosecond accuracy. * * <p>The value is only available if {@link #hasReceiverInterSignalBiasUncertaintyNanos()} is * <p>The value is only available if {@link #hasFullInterSignalBiasUncertaintyNanos()} is * {@code true}. */ @FloatRange(from = 0.0) public double getReceiverInterSignalBiasUncertaintyNanos() { return mReceiverInterSignalBiasUncertaintyNanos; public double getFullInterSignalBiasUncertaintyNanos() { return mFullInterSignalBiasUncertaintyNanos; } /** * Sets the GNSS measurement's receiver inter-signal bias uncertainty (1 sigma) in nanoseconds. * Sets the GNSS measurement's inter-signal bias uncertainty (1 sigma) in nanoseconds. * * @hide */ @TestApi public void setReceiverInterSignalBiasUncertaintyNanos(@FloatRange(from = 0.0) double receiverInterSignalBiasUncertaintyNanos) { setFlag(HAS_RECEIVER_ISB_UNCERTAINTY); mReceiverInterSignalBiasUncertaintyNanos = receiverInterSignalBiasUncertaintyNanos; public void setFullInterSignalBiasUncertaintyNanos(@FloatRange(from = 0.0) double fullInterSignalBiasUncertaintyNanos) { setFlag(HAS_FULL_ISB_UNCERTAINTY); mFullInterSignalBiasUncertaintyNanos = fullInterSignalBiasUncertaintyNanos; } /** * Resets the GNSS measurement's receiver inter-signal bias uncertainty (1 sigma) in * Resets the GNSS measurement's inter-signal bias uncertainty (1 sigma) in * nanoseconds. * * @hide */ @TestApi public void resetReceiverInterSignalBiasUncertaintyNanos() { resetFlag(HAS_RECEIVER_ISB_UNCERTAINTY); public void resetFullInterSignalBiasUncertaintyNanos() { resetFlag(HAS_FULL_ISB_UNCERTAINTY); } /** Loading @@ -1542,17 +1553,18 @@ public final class GnssMeasurement implements Parcelable { * Gets the GNSS measurement's satellite inter-signal bias in nanoseconds with sub-nanosecond * accuracy. * * <p>This value is the satellite-and-control-segment-side inter-system (different from the * constellation in {@link GnssClock#getReferenceConstellationTypeForIsb()}) bias and * inter-frequency (different from the carrier frequency in * {@link GnssClock#getReferenceCarrierFrequencyHzForIsb()}) bias, including: * <p>This value is the space-segment-side inter-system bias, inter-frequency bias and * inter-code bias, including: * * <ul> * <li>Master clock bias (e.g., GPS-GAL Time Offset (GGTO), GPT-UTC Time Offset (TauGps), * BDS-GLO Time Offset (BGTO))</li> * <li>Master clock bias (e.g., GPS-GAL Time Offset (GGTO), GPS-UTC Time Offset (TauGps), * BDS-GLO Time Offset (BGTO))(with respect to the constellation in * {@link GnssClock#getReferenceConstellationTypeForIsb())</li> * <li>Group delay (e.g., Total Group Delay (TGD))</li> * <li>Satellite inter-signal bias, which includes satellite inter-frequency bias (GLO only), * and satellite inter-code bias (e.g., Differential Code Bias (DCB)).</li> * <li>Satellite inter-frequency bias (GLO only) (with respect to the carrier frequency in * {@link GnssClock#getReferenceConstellationTypeForIsb())</li> * <li>Satellite inter-code bias (e.g., Differential Code Bias (DCB)) (with respect to the code * type in {@link GnssClock#getReferenceConstellationTypeForIsb())</li> * </ul> * * <p>The value is only available if {@link #hasSatelliteInterSignalBiasNanos()} is {@code Loading Loading @@ -1654,8 +1666,8 @@ public final class GnssMeasurement implements Parcelable { gnssMeasurement.mAutomaticGainControlLevelInDb = parcel.readDouble(); gnssMeasurement.mCodeType = parcel.readString(); gnssMeasurement.mBasebandCn0DbHz = parcel.readDouble(); gnssMeasurement.mReceiverInterSignalBiasNanos = parcel.readDouble(); gnssMeasurement.mReceiverInterSignalBiasUncertaintyNanos = parcel.readDouble(); gnssMeasurement.mFullInterSignalBiasNanos = parcel.readDouble(); gnssMeasurement.mFullInterSignalBiasUncertaintyNanos = parcel.readDouble(); gnssMeasurement.mSatelliteInterSignalBiasNanos = parcel.readDouble(); gnssMeasurement.mSatelliteInterSignalBiasUncertaintyNanos = parcel.readDouble(); Loading Loading @@ -1692,8 +1704,8 @@ public final class GnssMeasurement implements Parcelable { parcel.writeDouble(mAutomaticGainControlLevelInDb); parcel.writeString(mCodeType); parcel.writeDouble(mBasebandCn0DbHz); parcel.writeDouble(mReceiverInterSignalBiasNanos); parcel.writeDouble(mReceiverInterSignalBiasUncertaintyNanos); parcel.writeDouble(mFullInterSignalBiasNanos); parcel.writeDouble(mFullInterSignalBiasUncertaintyNanos); parcel.writeDouble(mSatelliteInterSignalBiasNanos); parcel.writeDouble(mSatelliteInterSignalBiasUncertaintyNanos); } Loading Loading @@ -1778,14 +1790,14 @@ public final class GnssMeasurement implements Parcelable { builder.append(String.format(format, "CodeType", mCodeType)); } if (hasReceiverInterSignalBiasNanos() || hasReceiverInterSignalBiasUncertaintyNanos()) { if (hasFullInterSignalBiasNanos() || hasFullInterSignalBiasUncertaintyNanos()) { builder.append(String.format( formatWithUncertainty, "ReceiverInterSignalBiasNs", hasReceiverInterSignalBiasNanos() ? mReceiverInterSignalBiasNanos : null, "ReceiverInterSignalBiasUncertaintyNs", hasReceiverInterSignalBiasUncertaintyNanos() ? mReceiverInterSignalBiasUncertaintyNanos : null)); "InterSignalBiasNs", hasFullInterSignalBiasNanos() ? mFullInterSignalBiasNanos : null, "InterSignalBiasUncertaintyNs", hasFullInterSignalBiasUncertaintyNanos() ? mFullInterSignalBiasUncertaintyNanos : null)); } if (hasSatelliteInterSignalBiasNanos() || hasSatelliteInterSignalBiasUncertaintyNanos()) { Loading Loading @@ -1824,8 +1836,8 @@ public final class GnssMeasurement implements Parcelable { resetAutomaticGainControlLevel(); resetCodeType(); resetBasebandCn0DbHz(); resetReceiverInterSignalBiasNanos(); resetReceiverInterSignalBiasUncertaintyNanos(); resetFullInterSignalBiasNanos(); resetFullInterSignalBiasUncertaintyNanos(); resetSatelliteInterSignalBiasNanos(); resetSatelliteInterSignalBiasUncertaintyNanos(); } Loading
services/core/jni/com_android_server_location_GnssLocationProvider.cpp +5 −5 Original line number Diff line number Diff line Loading @@ -1448,13 +1448,13 @@ void GnssMeasurementCallback::translateSingleGnssMeasurement SET(BasebandCn0DbHz, measurement_V2_1->basebandCN0DbHz); if (measurement_V2_1->flags & GnssMeasurementFlags::HAS_RECEIVER_ISB) { SET(ReceiverInterSignalBiasNanos, measurement_V2_1->receiverInterSignalBiasNs); if (measurement_V2_1->flags & GnssMeasurementFlags::HAS_FULL_ISB) { SET(FullInterSignalBiasNanos, measurement_V2_1->fullInterSignalBiasNs); } if (measurement_V2_1->flags & GnssMeasurementFlags::HAS_RECEIVER_ISB_UNCERTAINTY) { SET(ReceiverInterSignalBiasUncertaintyNanos, measurement_V2_1->receiverInterSignalBiasUncertaintyNs); if (measurement_V2_1->flags & GnssMeasurementFlags::HAS_FULL_ISB_UNCERTAINTY) { SET(FullInterSignalBiasUncertaintyNanos, measurement_V2_1->fullInterSignalBiasUncertaintyNs); } if (measurement_V2_1->flags & GnssMeasurementFlags::HAS_SATELLITE_ISB) { Loading