From 76a620f0482ba54a4921c7c7e7eeb8ea87c12d3e Mon Sep 17 00:00:00 2001 From: Lifu Tang Date: Fri, 26 Feb 2016 19:53:01 -0800 Subject: [PATCH] Addressed the review comments from API Council Following are the review comments from API Council: (Places below that reference "s/foo/bar/" below are suggesting that "foo" be replaced with "bar".) GnssClock -- Class docs should not refer to "GPS" at the top level -- s/InNs/Nanos/ -- s/Sec/Second/ GnssMeasurement -- s/In// for "InUnitname" -- s/Sec/Second/ -- s/Ms/Millis/ -- s/Deg/Degrees/ -- STATUS_GPS_LOCATION_DISABLED -> STATUS_GNSS_LOCATION_DISABLED GnssMeasurementsEvent.Callback -- "returns" -> "reports" in the method docs as the methods return void LocationManager -- register/unregisterGnssMeasurementEventCallback -> register/unregisterGnssMeasurementsEventCallback (plural) GnssNavigationMessage -- MESSAGE_TYPE_ constants -> change to just TYPE_; the "MESSAGE" is redundant with the class name -- is a signed byte/short ok based on the standard here? If not consider using int in the public api GnssStatus -- Make sure @IntDef exists for the constellation type -- Please append unit types for values returned to match GnssMeasurement methods GnssStatusCallback -- Please document time base/units for the time parameter of onFirstFix Bug: 27385557 Change-Id: Ifed6a2eca3fd7ba89b3ded6964a70376235af8f4 --- api/current.txt | 280 +++--- api/system-current.txt | 281 +++--- api/test-current.txt | 280 +++--- location/java/android/location/GnssClock.java | 268 ++--- .../android/location/GnssMeasurement.java | 926 +++--------------- .../location/GnssMeasurementsEvent.java | 20 +- .../location/GnssNavigationMessage.java | 93 +- .../location/GnssNavigationMessageEvent.java | 4 +- .../java/android/location/GnssStatus.java | 32 +- .../android/location/GnssStatusCallback.java | 6 +- location/java/android/location/GpsStatus.java | 6 +- .../android/location/IGnssStatusListener.aidl | 2 +- .../android/location/LocationManager.java | 16 +- .../src/android/location/GpsStatusTest.java | 16 +- .../server/location/GnssLocationProvider.java | 10 +- .../location/GnssMeasurementsProvider.java | 2 +- .../GnssNavigationMessageProvider.java | 3 +- .../location/GnssStatusListenerHelper.java | 4 +- ...d_server_location_GnssLocationProvider.cpp | 198 ++-- 19 files changed, 800 insertions(+), 1647 deletions(-) diff --git a/api/current.txt b/api/current.txt index 7f6ca372e775f..31c7dd7d2fb7f 100644 --- a/api/current.txt +++ b/api/current.txt @@ -19165,168 +19165,110 @@ package android.location { public final class GnssClock implements android.os.Parcelable { method public int describeContents(); - method public double getBiasInNs(); - method public double getBiasUncertaintyInNs(); - method public double getDriftInNsPerSec(); - method public double getDriftUncertaintyInNsPerSec(); - method public long getFullBiasInNs(); + method public double getBiasNanos(); + method public double getBiasUncertaintyNanos(); + method public double getDriftNanosPerSecond(); + method public double getDriftUncertaintyNanosPerSecond(); + method public long getFullBiasNanos(); method public int getHardwareClockDiscontinuityCount(); - method public short getLeapSecond(); - method public long getTimeInNs(); - method public double getTimeUncertaintyInNs(); - method public boolean hasBiasInNs(); - method public boolean hasBiasUncertaintyInNs(); - method public boolean hasDriftInNsPerSec(); - method public boolean hasDriftUncertaintyInNsPerSec(); - method public boolean hasFullBiasInNs(); + method public int getLeapSecond(); + method public long getTimeNanos(); + method public double getTimeUncertaintyNanos(); + method public boolean hasBiasNanos(); + method public boolean hasBiasUncertaintyNanos(); + method public boolean hasDriftNanosPerSecond(); + method public boolean hasDriftUncertaintyNanosPerSecond(); + method public boolean hasFullBiasNanos(); method public boolean hasLeapSecond(); - method public boolean hasTimeUncertaintyInNs(); + method public boolean hasTimeUncertaintyNanos(); method public void reset(); - method public void resetBiasInNs(); - method public void resetBiasUncertaintyInNs(); - method public void resetDriftInNsPerSec(); - method public void resetDriftUncertaintyInNsPerSec(); - method public void resetFullBiasInNs(); + method public void resetBiasNanos(); + method public void resetBiasUncertaintyNanos(); + method public void resetDriftNanosPerSecond(); + method public void resetDriftUncertaintyNanosPerSecond(); + method public void resetFullBiasNanos(); method public void resetLeapSecond(); - method public void resetTimeUncertaintyInNs(); + method public void resetTimeUncertaintyNanos(); method public void set(android.location.GnssClock); - method public void setBiasInNs(double); - method public void setBiasUncertaintyInNs(double); - method public void setDriftInNsPerSec(double); - method public void setDriftUncertaintyInNsPerSec(double); - method public void setFullBiasInNs(long); + method public void setBiasNanos(double); + method public void setBiasUncertaintyNanos(double); + method public void setDriftNanosPerSecond(double); + method public void setDriftUncertaintyNanosPerSecond(double); + method public void setFullBiasNanos(long); method public void setHardwareClockDiscontinuityCount(int); - method public void setLeapSecond(short); - method public void setTimeInNs(long); - method public void setTimeUncertaintyInNs(double); + method public void setLeapSecond(int); + method public void setTimeNanos(long); + method public void setTimeUncertaintyNanos(double); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator CREATOR; } public final class GnssMeasurement implements android.os.Parcelable { method public int describeContents(); - method public double getAccumulatedDeltaRangeInMeters(); - method public short getAccumulatedDeltaRangeState(); - method public double getAccumulatedDeltaRangeUncertaintyInMeters(); - method public double getAzimuthInDeg(); - method public double getAzimuthUncertaintyInDeg(); - method public int getBitNumber(); + method public double getAccumulatedDeltaRangeMeters(); + method public int getAccumulatedDeltaRangeState(); + method public double getAccumulatedDeltaRangeUncertaintyMeters(); method public long getCarrierCycles(); - method public float getCarrierFrequencyInHz(); + method public float getCarrierFrequencyHz(); method public double getCarrierPhase(); method public double getCarrierPhaseUncertainty(); - method public double getCn0InDbHz(); - method public double getCodePhaseInChips(); - method public double getCodePhaseUncertaintyInChips(); - method public byte getConstellationType(); - method public double getDopplerShiftInHz(); - method public double getDopplerShiftUncertaintyInHz(); - method public double getElevationInDeg(); - method public double getElevationUncertaintyInDeg(); - method public byte getLossOfLock(); - method public byte getMultipathIndicator(); - method public double getPseudorangeInMeters(); - method public double getPseudorangeRateInMetersPerSec(); - method public double getPseudorangeRateUncertaintyInMetersPerSec(); - method public double getPseudorangeUncertaintyInMeters(); - method public long getReceivedSvTimeInNs(); - method public long getReceivedSvTimeUncertaintyInNs(); + method public double getCn0DbHz(); + method public int getConstellationType(); + method public int getMultipathIndicator(); + method public double getPseudorangeRateMetersPerSecond(); + method public double getPseudorangeRateUncertaintyMetersPerSecond(); + method public long getReceivedSvTimeNanos(); + method public long getReceivedSvTimeUncertaintyNanos(); method public double getSnrInDb(); - method public short getState(); - method public short getSvid(); - method public short getTimeFromLastBitInMs(); - method public double getTimeOffsetInNs(); - method public boolean hasAzimuthInDeg(); - method public boolean hasAzimuthUncertaintyInDeg(); - method public boolean hasBitNumber(); + method public int getState(); + method public int getSvid(); + method public double getTimeOffsetNanos(); method public boolean hasCarrierCycles(); - method public boolean hasCarrierFrequencyInHz(); + method public boolean hasCarrierFrequencyHz(); method public boolean hasCarrierPhase(); method public boolean hasCarrierPhaseUncertainty(); - method public boolean hasCodePhaseInChips(); - method public boolean hasCodePhaseUncertaintyInChips(); - method public boolean hasDopplerShiftInHz(); - method public boolean hasDopplerShiftUncertaintyInHz(); - method public boolean hasElevationInDeg(); - method public boolean hasElevationUncertaintyInDeg(); - method public boolean hasPseudorangeInMeters(); - method public boolean hasPseudorangeUncertaintyInMeters(); method public boolean hasSnrInDb(); - method public boolean hasTimeFromLastBitInMs(); method public boolean isPseudorangeRateCorrected(); - method public boolean isUsedInFix(); method public void reset(); - method public void resetAzimuthInDeg(); - method public void resetAzimuthUncertaintyInDeg(); - method public void resetBitNumber(); method public void resetCarrierCycles(); - method public void resetCarrierFrequencyInHz(); + method public void resetCarrierFrequencyHz(); method public void resetCarrierPhase(); method public void resetCarrierPhaseUncertainty(); - method public void resetCodePhaseInChips(); - method public void resetCodePhaseUncertaintyInChips(); - method public void resetDopplerShiftInHz(); - method public void resetDopplerShiftUncertaintyInHz(); - method public void resetElevationInDeg(); - method public void resetElevationUncertaintyInDeg(); - method public void resetPseudorangeInMeters(); - method public void resetPseudorangeUncertaintyInMeters(); method public void resetSnrInDb(); - method public void resetTimeFromLastBitInMs(); method public void set(android.location.GnssMeasurement); - method public void setAccumulatedDeltaRangeInMeters(double); - method public void setAccumulatedDeltaRangeState(short); - method public void setAccumulatedDeltaRangeUncertaintyInMeters(double); - method public void setAzimuthInDeg(double); - method public void setAzimuthUncertaintyInDeg(double); - method public void setBitNumber(int); + method public void setAccumulatedDeltaRangeMeters(double); + method public void setAccumulatedDeltaRangeState(int); + method public void setAccumulatedDeltaRangeUncertaintyMeters(double); method public void setCarrierCycles(long); - method public void setCarrierFrequencyInHz(float); + method public void setCarrierFrequencyHz(float); method public void setCarrierPhase(double); method public void setCarrierPhaseUncertainty(double); - method public void setCn0InDbHz(double); - method public void setCodePhaseInChips(double); - method public void setCodePhaseUncertaintyInChips(double); - method public void setConstellationType(byte); - method public void setDopplerShiftInHz(double); - method public void setDopplerShiftUncertaintyInHz(double); - method public void setElevationInDeg(double); - method public void setElevationUncertaintyInDeg(double); - method public void setLossOfLock(byte); - method public void setMultipathIndicator(byte); - method public void setPseudorangeInMeters(double); - method public void setPseudorangeRateInMetersPerSec(double); - method public void setPseudorangeRateUncertaintyInMetersPerSec(double); - method public void setPseudorangeUncertaintyInMeters(double); - method public void setReceivedSvTimeInNs(long); - method public void setReceivedSvTimeUncertaintyInNs(long); + method public void setCn0DbHz(double); + method public void setConstellationType(int); + 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 setSnrInDb(double); - method public void setState(short); - method public void setSvid(short); - method public void setTimeFromLastBitInMs(short); - method public void setTimeOffsetInNs(double); - method public void setUsedInFix(boolean); + method public void setState(int); + method public void setSvid(int); + method public void setTimeOffsetNanos(double); method public void writeToParcel(android.os.Parcel, int); - field public static final short ADR_STATE_CYCLE_SLIP = 4; // 0x4 - field public static final short ADR_STATE_RESET = 2; // 0x2 - field public static final short ADR_STATE_UNKNOWN = 0; // 0x0 - field public static final short ADR_STATE_VALID = 1; // 0x1 + field public static final int ADR_STATE_CYCLE_SLIP = 4; // 0x4 + field public static final int ADR_STATE_RESET = 2; // 0x2 + field public static final int ADR_STATE_UNKNOWN = 0; // 0x0 + field public static final int ADR_STATE_VALID = 1; // 0x1 field public static final android.os.Parcelable.Creator CREATOR; - field public static final byte LOSS_OF_LOCK_CYCLE_SLIP = 2; // 0x2 - field public static final byte LOSS_OF_LOCK_OK = 1; // 0x1 - field public static final byte LOSS_OF_LOCK_UNKNOWN = 0; // 0x0 - field public static final byte MULTIPATH_INDICATOR_DETECTED = 1; // 0x1 - field public static final byte MULTIPATH_INDICATOR_NOT_USED = 2; // 0x2 - field public static final byte MULTIPATH_INDICATOR_UNKNOWN = 0; // 0x0 - field public static final short STATE_BIT_SYNC = 2; // 0x2 - field public static final short STATE_CODE_LOCK = 1; // 0x1 - field public static final short STATE_MSEC_AMBIGUOUS = 16; // 0x10 - field public static final short STATE_SUBFRAME_SYNC = 4; // 0x4 - field public static final short STATE_TOW_DECODED = 8; // 0x8 - field public static final short STATE_UNKNOWN = 0; // 0x0 - } - - public static abstract class GnssMeasurement.LossOfLockStatus implements java.lang.annotation.Annotation { + field public static final int MULTIPATH_INDICATOR_DETECTED = 1; // 0x1 + field public static final int MULTIPATH_INDICATOR_NOT_USED = 2; // 0x2 + field public static final int MULTIPATH_INDICATOR_UNKNOWN = 0; // 0x0 + field public static final int STATE_BIT_SYNC = 2; // 0x2 + field public static final int STATE_CODE_LOCK = 1; // 0x1 + field public static final int STATE_MSEC_AMBIGUOUS = 16; // 0x10 + field public static final int STATE_SUBFRAME_SYNC = 4; // 0x4 + field public static final int STATE_TOW_DECODED = 8; // 0x8 + field public static final int STATE_UNKNOWN = 0; // 0x0 } public static abstract class GnssMeasurement.MultipathIndicator implements java.lang.annotation.Annotation { @@ -19339,7 +19281,7 @@ package android.location { method public java.util.Collection getMeasurements(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator CREATOR; - field public static final int STATUS_GPS_LOCATION_DISABLED = 2; // 0x2 + field public static final int STATUS_GNSS_LOCATION_DISABLED = 2; // 0x2 field public static final int STATUS_NOT_SUPPORTED = 0; // 0x0 field public static final int STATUS_READY = 1; // 0x1 } @@ -19356,34 +19298,34 @@ package android.location { public final class GnssNavigationMessage implements android.os.Parcelable { method public int describeContents(); method public byte[] getData(); - method public short getMessageId(); - method public short getStatus(); - method public short getSubmessageId(); - method public short getSvid(); - method public short getType(); + method public int getMessageId(); + method public int getStatus(); + method public int getSubmessageId(); + method public int getSvid(); + method public int getType(); method public void reset(); method public void set(android.location.GnssNavigationMessage); method public void setData(byte[]); - method public void setMessageId(short); - method public void setStatus(short); - method public void setSubmessageId(short); - method public void setSvid(short); - method public void setType(short); + method public void setMessageId(int); + method public void setStatus(int); + method public void setSubmessageId(int); + method public void setSvid(int); + method public void setType(int); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator CREATOR; - field public static final short MESSAGE_TYPE_BDS_D1 = 1281; // 0x501 - field public static final short MESSAGE_TYPE_BDS_D2 = 1282; // 0x502 - field public static final short MESSAGE_TYPE_GAL_F = 1538; // 0x602 - field public static final short MESSAGE_TYPE_GAL_I = 1537; // 0x601 - field public static final short MESSAGE_TYPE_GLO_L1CA = 769; // 0x301 - field public static final short MESSAGE_TYPE_GPS_CNAV2 = 260; // 0x104 - field public static final short MESSAGE_TYPE_GPS_L1CA = 257; // 0x101 - field public static final short MESSAGE_TYPE_GPS_L2CNAV = 258; // 0x102 - field public static final short MESSAGE_TYPE_GPS_L5CNAV = 259; // 0x103 - field public static final short MESSAGE_TYPE_UNKNOWN = 0; // 0x0 - field public static final short STATUS_PARITY_PASSED = 1; // 0x1 - field public static final short STATUS_PARITY_REBUILT = 2; // 0x2 - field public static final short STATUS_UNKNOWN = 0; // 0x0 + field public static final int STATUS_PARITY_PASSED = 1; // 0x1 + field public static final int STATUS_PARITY_REBUILT = 2; // 0x2 + field public static final int STATUS_UNKNOWN = 0; // 0x0 + field public static final int TYPE_BDS_D1 = 1281; // 0x501 + field public static final int TYPE_BDS_D2 = 1282; // 0x502 + field public static final int TYPE_GAL_F = 1538; // 0x602 + field public static final int TYPE_GAL_I = 1537; // 0x601 + field public static final int TYPE_GLO_L1CA = 769; // 0x301 + field public static final int TYPE_GPS_CNAV2 = 260; // 0x104 + field public static final int TYPE_GPS_L1CA = 257; // 0x101 + field public static final int TYPE_GPS_L2CNAV = 258; // 0x102 + field public static final int TYPE_GPS_L5CNAV = 259; // 0x103 + field public static final int TYPE_UNKNOWN = 0; // 0x0 } public static abstract class GnssNavigationMessage.GnssNavigationMessageType implements java.lang.annotation.Annotation { @@ -19395,7 +19337,7 @@ package android.location { method public android.location.GnssNavigationMessage getNavigationMessage(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator CREATOR; - field public static final int STATUS_GPS_LOCATION_DISABLED = 2; // 0x2 + field public static final int STATUS_GNSS_LOCATION_DISABLED = 2; // 0x2 field public static final int STATUS_NOT_SUPPORTED = 0; // 0x0 field public static final int STATUS_READY = 1; // 0x1 } @@ -19414,22 +19356,22 @@ package android.location { } public final class GnssStatus { - method public float getAzimuth(int); - method public byte getConstellationType(int); - method public float getElevation(int); + method public float getAzimuthDegrees(int); + method public float getCn0DbHz(int); + method public int getConstellationType(int); + method public float getElevationDegrees(int); method public int getNumSatellites(); - method public float getSnr(int); method public int getSvid(int); method public boolean hasAlmanac(int); method public boolean hasEphemeris(int); method public boolean usedInFix(int); - field public static final byte CONSTELLATION_BEIDOU = 5; // 0x5 - field public static final byte CONSTELLATION_GALILEO = 6; // 0x6 - field public static final byte CONSTELLATION_GLONASS = 3; // 0x3 - field public static final byte CONSTELLATION_GPS = 1; // 0x1 - field public static final byte CONSTELLATION_QZSS = 4; // 0x4 - field public static final byte CONSTELLATION_SBAS = 2; // 0x2 - field public static final byte CONSTELLATION_UNKNOWN = 0; // 0x0 + field public static final int CONSTELLATION_BEIDOU = 5; // 0x5 + field public static final int CONSTELLATION_GALILEO = 6; // 0x6 + field public static final int CONSTELLATION_GLONASS = 3; // 0x3 + field public static final int CONSTELLATION_GPS = 1; // 0x1 + field public static final int CONSTELLATION_QZSS = 4; // 0x4 + field public static final int CONSTELLATION_SBAS = 2; // 0x2 + field public static final int CONSTELLATION_UNKNOWN = 0; // 0x0 } public static abstract class GnssStatus.ConstellationType implements java.lang.annotation.Annotation { @@ -19544,8 +19486,8 @@ package android.location { method public java.util.List getProviders(boolean); method public java.util.List getProviders(android.location.Criteria, boolean); method public boolean isProviderEnabled(java.lang.String); - method public boolean registerGnssMeasurementCallback(android.location.GnssMeasurementsEvent.Callback); - method public boolean registerGnssMeasurementCallback(android.location.GnssMeasurementsEvent.Callback, android.os.Handler); + method public boolean registerGnssMeasurementsCallback(android.location.GnssMeasurementsEvent.Callback); + method public boolean registerGnssMeasurementsCallback(android.location.GnssMeasurementsEvent.Callback, android.os.Handler); method public boolean registerGnssNavigationMessageCallback(android.location.GnssNavigationMessageEvent.Callback); method public boolean registerGnssNavigationMessageCallback(android.location.GnssNavigationMessageEvent.Callback, android.os.Handler); method public boolean registerGnssStatusCallback(android.location.GnssStatusCallback); @@ -19570,7 +19512,7 @@ package android.location { method public void setTestProviderEnabled(java.lang.String, boolean); method public void setTestProviderLocation(java.lang.String, android.location.Location); method public void setTestProviderStatus(java.lang.String, int, android.os.Bundle, long); - method public void unregisterGnssMeasurementCallback(android.location.GnssMeasurementsEvent.Callback); + method public void unregisterGnssMeasurementsCallback(android.location.GnssMeasurementsEvent.Callback); method public void unregisterGnssNavigationMessageCallback(android.location.GnssNavigationMessageEvent.Callback); method public void unregisterGnssStatusCallback(android.location.GnssStatusCallback); field public static final java.lang.String GPS_PROVIDER = "gps"; @@ -34542,7 +34484,7 @@ package android.service.notification { method public void onNotificationRemoved(android.service.notification.StatusBarNotification, android.service.notification.NotificationListenerService.RankingMap); method public final void requestInterruptionFilter(int); method public final void requestListenerHints(int); - method public static final void requestRebind(android.content.ComponentName) throws android.os.RemoteException; + method public static void requestRebind(android.content.ComponentName) throws android.os.RemoteException; method public final void requestUnbind() throws android.os.RemoteException; method public final void setNotificationsShown(java.lang.String[]); field public static final java.lang.String CATEGORY_VR_NOTIFICATIONS = "android.intent.category.vr.notifications"; diff --git a/api/system-current.txt b/api/system-current.txt index 759876f53b465..5b01f448c03da 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -20354,168 +20354,110 @@ package android.location { public final class GnssClock implements android.os.Parcelable { method public int describeContents(); - method public double getBiasInNs(); - method public double getBiasUncertaintyInNs(); - method public double getDriftInNsPerSec(); - method public double getDriftUncertaintyInNsPerSec(); - method public long getFullBiasInNs(); + method public double getBiasNanos(); + method public double getBiasUncertaintyNanos(); + method public double getDriftNanosPerSecond(); + method public double getDriftUncertaintyNanosPerSecond(); + method public long getFullBiasNanos(); method public int getHardwareClockDiscontinuityCount(); - method public short getLeapSecond(); - method public long getTimeInNs(); - method public double getTimeUncertaintyInNs(); - method public boolean hasBiasInNs(); - method public boolean hasBiasUncertaintyInNs(); - method public boolean hasDriftInNsPerSec(); - method public boolean hasDriftUncertaintyInNsPerSec(); - method public boolean hasFullBiasInNs(); + method public int getLeapSecond(); + method public long getTimeNanos(); + method public double getTimeUncertaintyNanos(); + method public boolean hasBiasNanos(); + method public boolean hasBiasUncertaintyNanos(); + method public boolean hasDriftNanosPerSecond(); + method public boolean hasDriftUncertaintyNanosPerSecond(); + method public boolean hasFullBiasNanos(); method public boolean hasLeapSecond(); - method public boolean hasTimeUncertaintyInNs(); + method public boolean hasTimeUncertaintyNanos(); method public void reset(); - method public void resetBiasInNs(); - method public void resetBiasUncertaintyInNs(); - method public void resetDriftInNsPerSec(); - method public void resetDriftUncertaintyInNsPerSec(); - method public void resetFullBiasInNs(); + method public void resetBiasNanos(); + method public void resetBiasUncertaintyNanos(); + method public void resetDriftNanosPerSecond(); + method public void resetDriftUncertaintyNanosPerSecond(); + method public void resetFullBiasNanos(); method public void resetLeapSecond(); - method public void resetTimeUncertaintyInNs(); + method public void resetTimeUncertaintyNanos(); method public void set(android.location.GnssClock); - method public void setBiasInNs(double); - method public void setBiasUncertaintyInNs(double); - method public void setDriftInNsPerSec(double); - method public void setDriftUncertaintyInNsPerSec(double); - method public void setFullBiasInNs(long); + method public void setBiasNanos(double); + method public void setBiasUncertaintyNanos(double); + method public void setDriftNanosPerSecond(double); + method public void setDriftUncertaintyNanosPerSecond(double); + method public void setFullBiasNanos(long); method public void setHardwareClockDiscontinuityCount(int); - method public void setLeapSecond(short); - method public void setTimeInNs(long); - method public void setTimeUncertaintyInNs(double); + method public void setLeapSecond(int); + method public void setTimeNanos(long); + method public void setTimeUncertaintyNanos(double); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator CREATOR; } public final class GnssMeasurement implements android.os.Parcelable { method public int describeContents(); - method public double getAccumulatedDeltaRangeInMeters(); - method public short getAccumulatedDeltaRangeState(); - method public double getAccumulatedDeltaRangeUncertaintyInMeters(); - method public double getAzimuthInDeg(); - method public double getAzimuthUncertaintyInDeg(); - method public int getBitNumber(); + method public double getAccumulatedDeltaRangeMeters(); + method public int getAccumulatedDeltaRangeState(); + method public double getAccumulatedDeltaRangeUncertaintyMeters(); method public long getCarrierCycles(); - method public float getCarrierFrequencyInHz(); + method public float getCarrierFrequencyHz(); method public double getCarrierPhase(); method public double getCarrierPhaseUncertainty(); - method public double getCn0InDbHz(); - method public double getCodePhaseInChips(); - method public double getCodePhaseUncertaintyInChips(); - method public byte getConstellationType(); - method public double getDopplerShiftInHz(); - method public double getDopplerShiftUncertaintyInHz(); - method public double getElevationInDeg(); - method public double getElevationUncertaintyInDeg(); - method public byte getLossOfLock(); - method public byte getMultipathIndicator(); - method public double getPseudorangeInMeters(); - method public double getPseudorangeRateInMetersPerSec(); - method public double getPseudorangeRateUncertaintyInMetersPerSec(); - method public double getPseudorangeUncertaintyInMeters(); - method public long getReceivedSvTimeInNs(); - method public long getReceivedSvTimeUncertaintyInNs(); + method public double getCn0DbHz(); + method public int getConstellationType(); + method public int getMultipathIndicator(); + method public double getPseudorangeRateMetersPerSecond(); + method public double getPseudorangeRateUncertaintyMetersPerSecond(); + method public long getReceivedSvTimeNanos(); + method public long getReceivedSvTimeUncertaintyNanos(); method public double getSnrInDb(); - method public short getState(); - method public short getSvid(); - method public short getTimeFromLastBitInMs(); - method public double getTimeOffsetInNs(); - method public boolean hasAzimuthInDeg(); - method public boolean hasAzimuthUncertaintyInDeg(); - method public boolean hasBitNumber(); + method public int getState(); + method public int getSvid(); + method public double getTimeOffsetNanos(); method public boolean hasCarrierCycles(); - method public boolean hasCarrierFrequencyInHz(); + method public boolean hasCarrierFrequencyHz(); method public boolean hasCarrierPhase(); method public boolean hasCarrierPhaseUncertainty(); - method public boolean hasCodePhaseInChips(); - method public boolean hasCodePhaseUncertaintyInChips(); - method public boolean hasDopplerShiftInHz(); - method public boolean hasDopplerShiftUncertaintyInHz(); - method public boolean hasElevationInDeg(); - method public boolean hasElevationUncertaintyInDeg(); - method public boolean hasPseudorangeInMeters(); - method public boolean hasPseudorangeUncertaintyInMeters(); method public boolean hasSnrInDb(); - method public boolean hasTimeFromLastBitInMs(); method public boolean isPseudorangeRateCorrected(); - method public boolean isUsedInFix(); method public void reset(); - method public void resetAzimuthInDeg(); - method public void resetAzimuthUncertaintyInDeg(); - method public void resetBitNumber(); method public void resetCarrierCycles(); - method public void resetCarrierFrequencyInHz(); + method public void resetCarrierFrequencyHz(); method public void resetCarrierPhase(); method public void resetCarrierPhaseUncertainty(); - method public void resetCodePhaseInChips(); - method public void resetCodePhaseUncertaintyInChips(); - method public void resetDopplerShiftInHz(); - method public void resetDopplerShiftUncertaintyInHz(); - method public void resetElevationInDeg(); - method public void resetElevationUncertaintyInDeg(); - method public void resetPseudorangeInMeters(); - method public void resetPseudorangeUncertaintyInMeters(); method public void resetSnrInDb(); - method public void resetTimeFromLastBitInMs(); method public void set(android.location.GnssMeasurement); - method public void setAccumulatedDeltaRangeInMeters(double); - method public void setAccumulatedDeltaRangeState(short); - method public void setAccumulatedDeltaRangeUncertaintyInMeters(double); - method public void setAzimuthInDeg(double); - method public void setAzimuthUncertaintyInDeg(double); - method public void setBitNumber(int); + method public void setAccumulatedDeltaRangeMeters(double); + method public void setAccumulatedDeltaRangeState(int); + method public void setAccumulatedDeltaRangeUncertaintyMeters(double); method public void setCarrierCycles(long); - method public void setCarrierFrequencyInHz(float); + method public void setCarrierFrequencyHz(float); method public void setCarrierPhase(double); method public void setCarrierPhaseUncertainty(double); - method public void setCn0InDbHz(double); - method public void setCodePhaseInChips(double); - method public void setCodePhaseUncertaintyInChips(double); - method public void setConstellationType(byte); - method public void setDopplerShiftInHz(double); - method public void setDopplerShiftUncertaintyInHz(double); - method public void setElevationInDeg(double); - method public void setElevationUncertaintyInDeg(double); - method public void setLossOfLock(byte); - method public void setMultipathIndicator(byte); - method public void setPseudorangeInMeters(double); - method public void setPseudorangeRateInMetersPerSec(double); - method public void setPseudorangeRateUncertaintyInMetersPerSec(double); - method public void setPseudorangeUncertaintyInMeters(double); - method public void setReceivedSvTimeInNs(long); - method public void setReceivedSvTimeUncertaintyInNs(long); + method public void setCn0DbHz(double); + method public void setConstellationType(int); + 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 setSnrInDb(double); - method public void setState(short); - method public void setSvid(short); - method public void setTimeFromLastBitInMs(short); - method public void setTimeOffsetInNs(double); - method public void setUsedInFix(boolean); + method public void setState(int); + method public void setSvid(int); + method public void setTimeOffsetNanos(double); method public void writeToParcel(android.os.Parcel, int); - field public static final short ADR_STATE_CYCLE_SLIP = 4; // 0x4 - field public static final short ADR_STATE_RESET = 2; // 0x2 - field public static final short ADR_STATE_UNKNOWN = 0; // 0x0 - field public static final short ADR_STATE_VALID = 1; // 0x1 + field public static final int ADR_STATE_CYCLE_SLIP = 4; // 0x4 + field public static final int ADR_STATE_RESET = 2; // 0x2 + field public static final int ADR_STATE_UNKNOWN = 0; // 0x0 + field public static final int ADR_STATE_VALID = 1; // 0x1 field public static final android.os.Parcelable.Creator CREATOR; - field public static final byte LOSS_OF_LOCK_CYCLE_SLIP = 2; // 0x2 - field public static final byte LOSS_OF_LOCK_OK = 1; // 0x1 - field public static final byte LOSS_OF_LOCK_UNKNOWN = 0; // 0x0 - field public static final byte MULTIPATH_INDICATOR_DETECTED = 1; // 0x1 - field public static final byte MULTIPATH_INDICATOR_NOT_USED = 2; // 0x2 - field public static final byte MULTIPATH_INDICATOR_UNKNOWN = 0; // 0x0 - field public static final short STATE_BIT_SYNC = 2; // 0x2 - field public static final short STATE_CODE_LOCK = 1; // 0x1 - field public static final short STATE_MSEC_AMBIGUOUS = 16; // 0x10 - field public static final short STATE_SUBFRAME_SYNC = 4; // 0x4 - field public static final short STATE_TOW_DECODED = 8; // 0x8 - field public static final short STATE_UNKNOWN = 0; // 0x0 - } - - public static abstract class GnssMeasurement.LossOfLockStatus implements java.lang.annotation.Annotation { + field public static final int MULTIPATH_INDICATOR_DETECTED = 1; // 0x1 + field public static final int MULTIPATH_INDICATOR_NOT_USED = 2; // 0x2 + field public static final int MULTIPATH_INDICATOR_UNKNOWN = 0; // 0x0 + field public static final int STATE_BIT_SYNC = 2; // 0x2 + field public static final int STATE_CODE_LOCK = 1; // 0x1 + field public static final int STATE_MSEC_AMBIGUOUS = 16; // 0x10 + field public static final int STATE_SUBFRAME_SYNC = 4; // 0x4 + field public static final int STATE_TOW_DECODED = 8; // 0x8 + field public static final int STATE_UNKNOWN = 0; // 0x0 } public static abstract class GnssMeasurement.MultipathIndicator implements java.lang.annotation.Annotation { @@ -20528,7 +20470,7 @@ package android.location { method public java.util.Collection getMeasurements(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator CREATOR; - field public static final int STATUS_GPS_LOCATION_DISABLED = 2; // 0x2 + field public static final int STATUS_GNSS_LOCATION_DISABLED = 2; // 0x2 field public static final int STATUS_NOT_SUPPORTED = 0; // 0x0 field public static final int STATUS_READY = 1; // 0x1 } @@ -20545,34 +20487,34 @@ package android.location { public final class GnssNavigationMessage implements android.os.Parcelable { method public int describeContents(); method public byte[] getData(); - method public short getMessageId(); - method public short getStatus(); - method public short getSubmessageId(); - method public short getSvid(); - method public short getType(); + method public int getMessageId(); + method public int getStatus(); + method public int getSubmessageId(); + method public int getSvid(); + method public int getType(); method public void reset(); method public void set(android.location.GnssNavigationMessage); method public void setData(byte[]); - method public void setMessageId(short); - method public void setStatus(short); - method public void setSubmessageId(short); - method public void setSvid(short); - method public void setType(short); + method public void setMessageId(int); + method public void setStatus(int); + method public void setSubmessageId(int); + method public void setSvid(int); + method public void setType(int); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator CREATOR; - field public static final short MESSAGE_TYPE_BDS_D1 = 1281; // 0x501 - field public static final short MESSAGE_TYPE_BDS_D2 = 1282; // 0x502 - field public static final short MESSAGE_TYPE_GAL_F = 1538; // 0x602 - field public static final short MESSAGE_TYPE_GAL_I = 1537; // 0x601 - field public static final short MESSAGE_TYPE_GLO_L1CA = 769; // 0x301 - field public static final short MESSAGE_TYPE_GPS_CNAV2 = 260; // 0x104 - field public static final short MESSAGE_TYPE_GPS_L1CA = 257; // 0x101 - field public static final short MESSAGE_TYPE_GPS_L2CNAV = 258; // 0x102 - field public static final short MESSAGE_TYPE_GPS_L5CNAV = 259; // 0x103 - field public static final short MESSAGE_TYPE_UNKNOWN = 0; // 0x0 - field public static final short STATUS_PARITY_PASSED = 1; // 0x1 - field public static final short STATUS_PARITY_REBUILT = 2; // 0x2 - field public static final short STATUS_UNKNOWN = 0; // 0x0 + field public static final int STATUS_PARITY_PASSED = 1; // 0x1 + field public static final int STATUS_PARITY_REBUILT = 2; // 0x2 + field public static final int STATUS_UNKNOWN = 0; // 0x0 + field public static final int TYPE_BDS_D1 = 1281; // 0x501 + field public static final int TYPE_BDS_D2 = 1282; // 0x502 + field public static final int TYPE_GAL_F = 1538; // 0x602 + field public static final int TYPE_GAL_I = 1537; // 0x601 + field public static final int TYPE_GLO_L1CA = 769; // 0x301 + field public static final int TYPE_GPS_CNAV2 = 260; // 0x104 + field public static final int TYPE_GPS_L1CA = 257; // 0x101 + field public static final int TYPE_GPS_L2CNAV = 258; // 0x102 + field public static final int TYPE_GPS_L5CNAV = 259; // 0x103 + field public static final int TYPE_UNKNOWN = 0; // 0x0 } public static abstract class GnssNavigationMessage.GnssNavigationMessageType implements java.lang.annotation.Annotation { @@ -20584,7 +20526,7 @@ package android.location { method public android.location.GnssNavigationMessage getNavigationMessage(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator CREATOR; - field public static final int STATUS_GPS_LOCATION_DISABLED = 2; // 0x2 + field public static final int STATUS_GNSS_LOCATION_DISABLED = 2; // 0x2 field public static final int STATUS_NOT_SUPPORTED = 0; // 0x0 field public static final int STATUS_READY = 1; // 0x1 } @@ -20603,22 +20545,22 @@ package android.location { } public final class GnssStatus { - method public float getAzimuth(int); - method public byte getConstellationType(int); - method public float getElevation(int); + method public float getAzimuthDegrees(int); + method public float getCn0DbHz(int); + method public int getConstellationType(int); + method public float getElevationDegrees(int); method public int getNumSatellites(); - method public float getSnr(int); method public int getSvid(int); method public boolean hasAlmanac(int); method public boolean hasEphemeris(int); method public boolean usedInFix(int); - field public static final byte CONSTELLATION_BEIDOU = 5; // 0x5 - field public static final byte CONSTELLATION_GALILEO = 6; // 0x6 - field public static final byte CONSTELLATION_GLONASS = 3; // 0x3 - field public static final byte CONSTELLATION_GPS = 1; // 0x1 - field public static final byte CONSTELLATION_QZSS = 4; // 0x4 - field public static final byte CONSTELLATION_SBAS = 2; // 0x2 - field public static final byte CONSTELLATION_UNKNOWN = 0; // 0x0 + field public static final int CONSTELLATION_BEIDOU = 5; // 0x5 + field public static final int CONSTELLATION_GALILEO = 6; // 0x6 + field public static final int CONSTELLATION_GLONASS = 3; // 0x3 + field public static final int CONSTELLATION_GPS = 1; // 0x1 + field public static final int CONSTELLATION_QZSS = 4; // 0x4 + field public static final int CONSTELLATION_SBAS = 2; // 0x2 + field public static final int CONSTELLATION_UNKNOWN = 0; // 0x0 } public static abstract class GnssStatus.ConstellationType implements java.lang.annotation.Annotation { @@ -20980,8 +20922,8 @@ package android.location { method public java.util.List getProviders(boolean); method public java.util.List getProviders(android.location.Criteria, boolean); method public boolean isProviderEnabled(java.lang.String); - method public boolean registerGnssMeasurementCallback(android.location.GnssMeasurementsEvent.Callback); - method public boolean registerGnssMeasurementCallback(android.location.GnssMeasurementsEvent.Callback, android.os.Handler); + method public boolean registerGnssMeasurementsCallback(android.location.GnssMeasurementsEvent.Callback); + method public boolean registerGnssMeasurementsCallback(android.location.GnssMeasurementsEvent.Callback, android.os.Handler); method public boolean registerGnssNavigationMessageCallback(android.location.GnssNavigationMessageEvent.Callback); method public boolean registerGnssNavigationMessageCallback(android.location.GnssNavigationMessageEvent.Callback, android.os.Handler); method public boolean registerGnssStatusCallback(android.location.GnssStatusCallback); @@ -21010,7 +20952,7 @@ package android.location { method public void setTestProviderEnabled(java.lang.String, boolean); method public void setTestProviderLocation(java.lang.String, android.location.Location); method public void setTestProviderStatus(java.lang.String, int, android.os.Bundle, long); - method public void unregisterGnssMeasurementCallback(android.location.GnssMeasurementsEvent.Callback); + method public void unregisterGnssMeasurementsCallback(android.location.GnssMeasurementsEvent.Callback); method public void unregisterGnssNavigationMessageCallback(android.location.GnssNavigationMessageEvent.Callback); method public void unregisterGnssStatusCallback(android.location.GnssStatusCallback); field public static final java.lang.String GPS_PROVIDER = "gps"; @@ -37031,6 +36973,7 @@ package android.service.notification { public abstract class NotificationAssistantService extends android.service.notification.NotificationListenerService { ctor public NotificationAssistantService(); method public final void adjustImportance(java.lang.String, android.service.notification.NotificationAssistantService.Adjustment); + method public final android.os.IBinder onBind(android.content.Intent); method public void onNotificationActionClick(java.lang.String, long, int); method public void onNotificationClick(java.lang.String, long); method public abstract android.service.notification.NotificationAssistantService.Adjustment onNotificationEnqueued(android.service.notification.StatusBarNotification, int, boolean); @@ -37083,7 +37026,7 @@ package android.service.notification { method public void registerAsSystemService(android.content.Context, android.content.ComponentName, int) throws android.os.RemoteException; method public final void requestInterruptionFilter(int); method public final void requestListenerHints(int); - method public static final void requestRebind(android.content.ComponentName) throws android.os.RemoteException; + method public static void requestRebind(android.content.ComponentName) throws android.os.RemoteException; method public final void requestUnbind() throws android.os.RemoteException; method public final void setNotificationsShown(java.lang.String[]); method public final void setOnNotificationPostedTrim(int); diff --git a/api/test-current.txt b/api/test-current.txt index 372ca3edcd41f..dc9d6a9fd09fa 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -19173,168 +19173,110 @@ package android.location { public final class GnssClock implements android.os.Parcelable { method public int describeContents(); - method public double getBiasInNs(); - method public double getBiasUncertaintyInNs(); - method public double getDriftInNsPerSec(); - method public double getDriftUncertaintyInNsPerSec(); - method public long getFullBiasInNs(); + method public double getBiasNanos(); + method public double getBiasUncertaintyNanos(); + method public double getDriftNanosPerSecond(); + method public double getDriftUncertaintyNanosPerSecond(); + method public long getFullBiasNanos(); method public int getHardwareClockDiscontinuityCount(); - method public short getLeapSecond(); - method public long getTimeInNs(); - method public double getTimeUncertaintyInNs(); - method public boolean hasBiasInNs(); - method public boolean hasBiasUncertaintyInNs(); - method public boolean hasDriftInNsPerSec(); - method public boolean hasDriftUncertaintyInNsPerSec(); - method public boolean hasFullBiasInNs(); + method public int getLeapSecond(); + method public long getTimeNanos(); + method public double getTimeUncertaintyNanos(); + method public boolean hasBiasNanos(); + method public boolean hasBiasUncertaintyNanos(); + method public boolean hasDriftNanosPerSecond(); + method public boolean hasDriftUncertaintyNanosPerSecond(); + method public boolean hasFullBiasNanos(); method public boolean hasLeapSecond(); - method public boolean hasTimeUncertaintyInNs(); + method public boolean hasTimeUncertaintyNanos(); method public void reset(); - method public void resetBiasInNs(); - method public void resetBiasUncertaintyInNs(); - method public void resetDriftInNsPerSec(); - method public void resetDriftUncertaintyInNsPerSec(); - method public void resetFullBiasInNs(); + method public void resetBiasNanos(); + method public void resetBiasUncertaintyNanos(); + method public void resetDriftNanosPerSecond(); + method public void resetDriftUncertaintyNanosPerSecond(); + method public void resetFullBiasNanos(); method public void resetLeapSecond(); - method public void resetTimeUncertaintyInNs(); + method public void resetTimeUncertaintyNanos(); method public void set(android.location.GnssClock); - method public void setBiasInNs(double); - method public void setBiasUncertaintyInNs(double); - method public void setDriftInNsPerSec(double); - method public void setDriftUncertaintyInNsPerSec(double); - method public void setFullBiasInNs(long); + method public void setBiasNanos(double); + method public void setBiasUncertaintyNanos(double); + method public void setDriftNanosPerSecond(double); + method public void setDriftUncertaintyNanosPerSecond(double); + method public void setFullBiasNanos(long); method public void setHardwareClockDiscontinuityCount(int); - method public void setLeapSecond(short); - method public void setTimeInNs(long); - method public void setTimeUncertaintyInNs(double); + method public void setLeapSecond(int); + method public void setTimeNanos(long); + method public void setTimeUncertaintyNanos(double); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator CREATOR; } public final class GnssMeasurement implements android.os.Parcelable { method public int describeContents(); - method public double getAccumulatedDeltaRangeInMeters(); - method public short getAccumulatedDeltaRangeState(); - method public double getAccumulatedDeltaRangeUncertaintyInMeters(); - method public double getAzimuthInDeg(); - method public double getAzimuthUncertaintyInDeg(); - method public int getBitNumber(); + method public double getAccumulatedDeltaRangeMeters(); + method public int getAccumulatedDeltaRangeState(); + method public double getAccumulatedDeltaRangeUncertaintyMeters(); method public long getCarrierCycles(); - method public float getCarrierFrequencyInHz(); + method public float getCarrierFrequencyHz(); method public double getCarrierPhase(); method public double getCarrierPhaseUncertainty(); - method public double getCn0InDbHz(); - method public double getCodePhaseInChips(); - method public double getCodePhaseUncertaintyInChips(); - method public byte getConstellationType(); - method public double getDopplerShiftInHz(); - method public double getDopplerShiftUncertaintyInHz(); - method public double getElevationInDeg(); - method public double getElevationUncertaintyInDeg(); - method public byte getLossOfLock(); - method public byte getMultipathIndicator(); - method public double getPseudorangeInMeters(); - method public double getPseudorangeRateInMetersPerSec(); - method public double getPseudorangeRateUncertaintyInMetersPerSec(); - method public double getPseudorangeUncertaintyInMeters(); - method public long getReceivedSvTimeInNs(); - method public long getReceivedSvTimeUncertaintyInNs(); + method public double getCn0DbHz(); + method public int getConstellationType(); + method public int getMultipathIndicator(); + method public double getPseudorangeRateMetersPerSecond(); + method public double getPseudorangeRateUncertaintyMetersPerSecond(); + method public long getReceivedSvTimeNanos(); + method public long getReceivedSvTimeUncertaintyNanos(); method public double getSnrInDb(); - method public short getState(); - method public short getSvid(); - method public short getTimeFromLastBitInMs(); - method public double getTimeOffsetInNs(); - method public boolean hasAzimuthInDeg(); - method public boolean hasAzimuthUncertaintyInDeg(); - method public boolean hasBitNumber(); + method public int getState(); + method public int getSvid(); + method public double getTimeOffsetNanos(); method public boolean hasCarrierCycles(); - method public boolean hasCarrierFrequencyInHz(); + method public boolean hasCarrierFrequencyHz(); method public boolean hasCarrierPhase(); method public boolean hasCarrierPhaseUncertainty(); - method public boolean hasCodePhaseInChips(); - method public boolean hasCodePhaseUncertaintyInChips(); - method public boolean hasDopplerShiftInHz(); - method public boolean hasDopplerShiftUncertaintyInHz(); - method public boolean hasElevationInDeg(); - method public boolean hasElevationUncertaintyInDeg(); - method public boolean hasPseudorangeInMeters(); - method public boolean hasPseudorangeUncertaintyInMeters(); method public boolean hasSnrInDb(); - method public boolean hasTimeFromLastBitInMs(); method public boolean isPseudorangeRateCorrected(); - method public boolean isUsedInFix(); method public void reset(); - method public void resetAzimuthInDeg(); - method public void resetAzimuthUncertaintyInDeg(); - method public void resetBitNumber(); method public void resetCarrierCycles(); - method public void resetCarrierFrequencyInHz(); + method public void resetCarrierFrequencyHz(); method public void resetCarrierPhase(); method public void resetCarrierPhaseUncertainty(); - method public void resetCodePhaseInChips(); - method public void resetCodePhaseUncertaintyInChips(); - method public void resetDopplerShiftInHz(); - method public void resetDopplerShiftUncertaintyInHz(); - method public void resetElevationInDeg(); - method public void resetElevationUncertaintyInDeg(); - method public void resetPseudorangeInMeters(); - method public void resetPseudorangeUncertaintyInMeters(); method public void resetSnrInDb(); - method public void resetTimeFromLastBitInMs(); method public void set(android.location.GnssMeasurement); - method public void setAccumulatedDeltaRangeInMeters(double); - method public void setAccumulatedDeltaRangeState(short); - method public void setAccumulatedDeltaRangeUncertaintyInMeters(double); - method public void setAzimuthInDeg(double); - method public void setAzimuthUncertaintyInDeg(double); - method public void setBitNumber(int); + method public void setAccumulatedDeltaRangeMeters(double); + method public void setAccumulatedDeltaRangeState(int); + method public void setAccumulatedDeltaRangeUncertaintyMeters(double); method public void setCarrierCycles(long); - method public void setCarrierFrequencyInHz(float); + method public void setCarrierFrequencyHz(float); method public void setCarrierPhase(double); method public void setCarrierPhaseUncertainty(double); - method public void setCn0InDbHz(double); - method public void setCodePhaseInChips(double); - method public void setCodePhaseUncertaintyInChips(double); - method public void setConstellationType(byte); - method public void setDopplerShiftInHz(double); - method public void setDopplerShiftUncertaintyInHz(double); - method public void setElevationInDeg(double); - method public void setElevationUncertaintyInDeg(double); - method public void setLossOfLock(byte); - method public void setMultipathIndicator(byte); - method public void setPseudorangeInMeters(double); - method public void setPseudorangeRateInMetersPerSec(double); - method public void setPseudorangeRateUncertaintyInMetersPerSec(double); - method public void setPseudorangeUncertaintyInMeters(double); - method public void setReceivedSvTimeInNs(long); - method public void setReceivedSvTimeUncertaintyInNs(long); + method public void setCn0DbHz(double); + method public void setConstellationType(int); + 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 setSnrInDb(double); - method public void setState(short); - method public void setSvid(short); - method public void setTimeFromLastBitInMs(short); - method public void setTimeOffsetInNs(double); - method public void setUsedInFix(boolean); + method public void setState(int); + method public void setSvid(int); + method public void setTimeOffsetNanos(double); method public void writeToParcel(android.os.Parcel, int); - field public static final short ADR_STATE_CYCLE_SLIP = 4; // 0x4 - field public static final short ADR_STATE_RESET = 2; // 0x2 - field public static final short ADR_STATE_UNKNOWN = 0; // 0x0 - field public static final short ADR_STATE_VALID = 1; // 0x1 + field public static final int ADR_STATE_CYCLE_SLIP = 4; // 0x4 + field public static final int ADR_STATE_RESET = 2; // 0x2 + field public static final int ADR_STATE_UNKNOWN = 0; // 0x0 + field public static final int ADR_STATE_VALID = 1; // 0x1 field public static final android.os.Parcelable.Creator CREATOR; - field public static final byte LOSS_OF_LOCK_CYCLE_SLIP = 2; // 0x2 - field public static final byte LOSS_OF_LOCK_OK = 1; // 0x1 - field public static final byte LOSS_OF_LOCK_UNKNOWN = 0; // 0x0 - field public static final byte MULTIPATH_INDICATOR_DETECTED = 1; // 0x1 - field public static final byte MULTIPATH_INDICATOR_NOT_USED = 2; // 0x2 - field public static final byte MULTIPATH_INDICATOR_UNKNOWN = 0; // 0x0 - field public static final short STATE_BIT_SYNC = 2; // 0x2 - field public static final short STATE_CODE_LOCK = 1; // 0x1 - field public static final short STATE_MSEC_AMBIGUOUS = 16; // 0x10 - field public static final short STATE_SUBFRAME_SYNC = 4; // 0x4 - field public static final short STATE_TOW_DECODED = 8; // 0x8 - field public static final short STATE_UNKNOWN = 0; // 0x0 - } - - public static abstract class GnssMeasurement.LossOfLockStatus implements java.lang.annotation.Annotation { + field public static final int MULTIPATH_INDICATOR_DETECTED = 1; // 0x1 + field public static final int MULTIPATH_INDICATOR_NOT_USED = 2; // 0x2 + field public static final int MULTIPATH_INDICATOR_UNKNOWN = 0; // 0x0 + field public static final int STATE_BIT_SYNC = 2; // 0x2 + field public static final int STATE_CODE_LOCK = 1; // 0x1 + field public static final int STATE_MSEC_AMBIGUOUS = 16; // 0x10 + field public static final int STATE_SUBFRAME_SYNC = 4; // 0x4 + field public static final int STATE_TOW_DECODED = 8; // 0x8 + field public static final int STATE_UNKNOWN = 0; // 0x0 } public static abstract class GnssMeasurement.MultipathIndicator implements java.lang.annotation.Annotation { @@ -19347,7 +19289,7 @@ package android.location { method public java.util.Collection getMeasurements(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator CREATOR; - field public static final int STATUS_GPS_LOCATION_DISABLED = 2; // 0x2 + field public static final int STATUS_GNSS_LOCATION_DISABLED = 2; // 0x2 field public static final int STATUS_NOT_SUPPORTED = 0; // 0x0 field public static final int STATUS_READY = 1; // 0x1 } @@ -19364,34 +19306,34 @@ package android.location { public final class GnssNavigationMessage implements android.os.Parcelable { method public int describeContents(); method public byte[] getData(); - method public short getMessageId(); - method public short getStatus(); - method public short getSubmessageId(); - method public short getSvid(); - method public short getType(); + method public int getMessageId(); + method public int getStatus(); + method public int getSubmessageId(); + method public int getSvid(); + method public int getType(); method public void reset(); method public void set(android.location.GnssNavigationMessage); method public void setData(byte[]); - method public void setMessageId(short); - method public void setStatus(short); - method public void setSubmessageId(short); - method public void setSvid(short); - method public void setType(short); + method public void setMessageId(int); + method public void setStatus(int); + method public void setSubmessageId(int); + method public void setSvid(int); + method public void setType(int); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator CREATOR; - field public static final short MESSAGE_TYPE_BDS_D1 = 1281; // 0x501 - field public static final short MESSAGE_TYPE_BDS_D2 = 1282; // 0x502 - field public static final short MESSAGE_TYPE_GAL_F = 1538; // 0x602 - field public static final short MESSAGE_TYPE_GAL_I = 1537; // 0x601 - field public static final short MESSAGE_TYPE_GLO_L1CA = 769; // 0x301 - field public static final short MESSAGE_TYPE_GPS_CNAV2 = 260; // 0x104 - field public static final short MESSAGE_TYPE_GPS_L1CA = 257; // 0x101 - field public static final short MESSAGE_TYPE_GPS_L2CNAV = 258; // 0x102 - field public static final short MESSAGE_TYPE_GPS_L5CNAV = 259; // 0x103 - field public static final short MESSAGE_TYPE_UNKNOWN = 0; // 0x0 - field public static final short STATUS_PARITY_PASSED = 1; // 0x1 - field public static final short STATUS_PARITY_REBUILT = 2; // 0x2 - field public static final short STATUS_UNKNOWN = 0; // 0x0 + field public static final int STATUS_PARITY_PASSED = 1; // 0x1 + field public static final int STATUS_PARITY_REBUILT = 2; // 0x2 + field public static final int STATUS_UNKNOWN = 0; // 0x0 + field public static final int TYPE_BDS_D1 = 1281; // 0x501 + field public static final int TYPE_BDS_D2 = 1282; // 0x502 + field public static final int TYPE_GAL_F = 1538; // 0x602 + field public static final int TYPE_GAL_I = 1537; // 0x601 + field public static final int TYPE_GLO_L1CA = 769; // 0x301 + field public static final int TYPE_GPS_CNAV2 = 260; // 0x104 + field public static final int TYPE_GPS_L1CA = 257; // 0x101 + field public static final int TYPE_GPS_L2CNAV = 258; // 0x102 + field public static final int TYPE_GPS_L5CNAV = 259; // 0x103 + field public static final int TYPE_UNKNOWN = 0; // 0x0 } public static abstract class GnssNavigationMessage.GnssNavigationMessageType implements java.lang.annotation.Annotation { @@ -19403,7 +19345,7 @@ package android.location { method public android.location.GnssNavigationMessage getNavigationMessage(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator CREATOR; - field public static final int STATUS_GPS_LOCATION_DISABLED = 2; // 0x2 + field public static final int STATUS_GNSS_LOCATION_DISABLED = 2; // 0x2 field public static final int STATUS_NOT_SUPPORTED = 0; // 0x0 field public static final int STATUS_READY = 1; // 0x1 } @@ -19422,22 +19364,22 @@ package android.location { } public final class GnssStatus { - method public float getAzimuth(int); - method public byte getConstellationType(int); - method public float getElevation(int); + method public float getAzimuthDegrees(int); + method public float getCn0DbHz(int); + method public int getConstellationType(int); + method public float getElevationDegrees(int); method public int getNumSatellites(); - method public float getSnr(int); method public int getSvid(int); method public boolean hasAlmanac(int); method public boolean hasEphemeris(int); method public boolean usedInFix(int); - field public static final byte CONSTELLATION_BEIDOU = 5; // 0x5 - field public static final byte CONSTELLATION_GALILEO = 6; // 0x6 - field public static final byte CONSTELLATION_GLONASS = 3; // 0x3 - field public static final byte CONSTELLATION_GPS = 1; // 0x1 - field public static final byte CONSTELLATION_QZSS = 4; // 0x4 - field public static final byte CONSTELLATION_SBAS = 2; // 0x2 - field public static final byte CONSTELLATION_UNKNOWN = 0; // 0x0 + field public static final int CONSTELLATION_BEIDOU = 5; // 0x5 + field public static final int CONSTELLATION_GALILEO = 6; // 0x6 + field public static final int CONSTELLATION_GLONASS = 3; // 0x3 + field public static final int CONSTELLATION_GPS = 1; // 0x1 + field public static final int CONSTELLATION_QZSS = 4; // 0x4 + field public static final int CONSTELLATION_SBAS = 2; // 0x2 + field public static final int CONSTELLATION_UNKNOWN = 0; // 0x0 } public static abstract class GnssStatus.ConstellationType implements java.lang.annotation.Annotation { @@ -19553,8 +19495,8 @@ package android.location { method public java.util.List getProviders(boolean); method public java.util.List getProviders(android.location.Criteria, boolean); method public boolean isProviderEnabled(java.lang.String); - method public boolean registerGnssMeasurementCallback(android.location.GnssMeasurementsEvent.Callback); - method public boolean registerGnssMeasurementCallback(android.location.GnssMeasurementsEvent.Callback, android.os.Handler); + method public boolean registerGnssMeasurementsCallback(android.location.GnssMeasurementsEvent.Callback); + method public boolean registerGnssMeasurementsCallback(android.location.GnssMeasurementsEvent.Callback, android.os.Handler); method public boolean registerGnssNavigationMessageCallback(android.location.GnssNavigationMessageEvent.Callback); method public boolean registerGnssNavigationMessageCallback(android.location.GnssNavigationMessageEvent.Callback, android.os.Handler); method public boolean registerGnssStatusCallback(android.location.GnssStatusCallback); @@ -19579,7 +19521,7 @@ package android.location { method public void setTestProviderEnabled(java.lang.String, boolean); method public void setTestProviderLocation(java.lang.String, android.location.Location); method public void setTestProviderStatus(java.lang.String, int, android.os.Bundle, long); - method public void unregisterGnssMeasurementCallback(android.location.GnssMeasurementsEvent.Callback); + method public void unregisterGnssMeasurementsCallback(android.location.GnssMeasurementsEvent.Callback); method public void unregisterGnssNavigationMessageCallback(android.location.GnssNavigationMessageEvent.Callback); method public void unregisterGnssStatusCallback(android.location.GnssStatusCallback); field public static final java.lang.String GPS_PROVIDER = "gps"; @@ -34557,7 +34499,7 @@ package android.service.notification { method public void onNotificationRemoved(android.service.notification.StatusBarNotification, android.service.notification.NotificationListenerService.RankingMap); method public final void requestInterruptionFilter(int); method public final void requestListenerHints(int); - method public static final void requestRebind(android.content.ComponentName) throws android.os.RemoteException; + method public static void requestRebind(android.content.ComponentName) throws android.os.RemoteException; method public final void requestUnbind() throws android.os.RemoteException; method public final void setNotificationsShown(java.lang.String[]); field public static final java.lang.String CATEGORY_VR_NOTIFICATIONS = "android.intent.category.vr.notifications"; diff --git a/location/java/android/location/GnssClock.java b/location/java/android/location/GnssClock.java index 3c8a78d4d18d4..6a7801e37f307 100644 --- a/location/java/android/location/GnssClock.java +++ b/location/java/android/location/GnssClock.java @@ -26,26 +26,26 @@ import android.os.Parcelable; public final class GnssClock implements Parcelable { // The following enumerations must be in sync with the values declared in gps.h - private static final short HAS_NO_FLAGS = 0; - private static final short HAS_LEAP_SECOND = (1<<0); - private static final short HAS_TIME_UNCERTAINTY = (1<<1); - private static final short HAS_FULL_BIAS = (1<<2); - private static final short HAS_BIAS = (1<<3); - private static final short HAS_BIAS_UNCERTAINTY = (1<<4); - private static final short HAS_DRIFT = (1<<5); - private static final short HAS_DRIFT_UNCERTAINTY = (1<<6); + private static final int HAS_NO_FLAGS = 0; + private static final int HAS_LEAP_SECOND = (1<<0); + private static final int HAS_TIME_UNCERTAINTY = (1<<1); + private static final int HAS_FULL_BIAS = (1<<2); + private static final int HAS_BIAS = (1<<3); + private static final int HAS_BIAS_UNCERTAINTY = (1<<4); + private static final int HAS_DRIFT = (1<<5); + private static final int HAS_DRIFT_UNCERTAINTY = (1<<6); // End enumerations in sync with gps.h - private short mFlags; - private short mLeapSecond; - private long mTimeInNs; - private double mTimeUncertaintyInNs; - private long mFullBiasInNs; - private double mBiasInNs; - private double mBiasUncertaintyInNs; - private double mDriftInNsPerSec; - private double mDriftUncertaintyInNsPerSec; + private int mFlags; + private int mLeapSecond; + private long mTimeNanos; + private double mTimeUncertaintyNanos; + private long mFullBiasNanos; + private double mBiasNanos; + private double mBiasUncertaintyNanos; + private double mDriftNanosPerSecond; + private double mDriftUncertaintyNanosPerSecond; private int mHardwareClockDiscontinuityCount; GnssClock() { @@ -58,13 +58,13 @@ public final class GnssClock implements Parcelable { public void set(GnssClock clock) { mFlags = clock.mFlags; mLeapSecond = clock.mLeapSecond; - mTimeInNs = clock.mTimeInNs; - mTimeUncertaintyInNs = clock.mTimeUncertaintyInNs; - mFullBiasInNs = clock.mFullBiasInNs; - mBiasInNs = clock.mBiasInNs; - mBiasUncertaintyInNs = clock.mBiasUncertaintyInNs; - mDriftInNsPerSec = clock.mDriftInNsPerSec; - mDriftUncertaintyInNsPerSec = clock.mDriftUncertaintyInNsPerSec; + mTimeNanos = clock.mTimeNanos; + mTimeUncertaintyNanos = clock.mTimeUncertaintyNanos; + mFullBiasNanos = clock.mFullBiasNanos; + mBiasNanos = clock.mBiasNanos; + mBiasUncertaintyNanos = clock.mBiasUncertaintyNanos; + mDriftNanosPerSecond = clock.mDriftNanosPerSecond; + mDriftUncertaintyNanosPerSecond = clock.mDriftUncertaintyNanosPerSecond; mHardwareClockDiscontinuityCount = clock.mHardwareClockDiscontinuityCount; } @@ -89,14 +89,14 @@ public final class GnssClock implements Parcelable { * * The value is only available if {@link #hasLeapSecond()} is true. */ - public short getLeapSecond() { + public int getLeapSecond() { return mLeapSecond; } /** * Sets the leap second associated with the clock's time. */ - public void setLeapSecond(short leapSecond) { + public void setLeapSecond(int leapSecond) { setFlag(HAS_LEAP_SECOND); mLeapSecond = leapSecond; } @@ -106,7 +106,7 @@ public final class GnssClock implements Parcelable { */ public void resetLeapSecond() { resetFlag(HAS_LEAP_SECOND); - mLeapSecond = Short.MIN_VALUE; + mLeapSecond = Integer.MIN_VALUE; } /** @@ -114,30 +114,30 @@ public final class GnssClock implements Parcelable { * * For 'local hardware clock' this value is expected to be monotonically increasing during the * reporting session. The real GPS time can be derived by compensating - * {@link #getFullBiasInNs()} (when it is available) from this value. + * {@link #getFullBiasNanos()} (when it is available) from this value. * * For 'GPS time' this value is expected to be the best estimation of current GPS time that GPS - * receiver can achieve. {@link #getTimeUncertaintyInNs()} should be available when GPS time is + * receiver can achieve. {@link #getTimeUncertaintyNanos()} should be available when GPS time is * specified. * - * Sub-nanosecond accuracy can be provided by means of {@link #getBiasInNs()}. - * The reported time includes {@link #getTimeUncertaintyInNs()}. + * Sub-nanosecond accuracy can be provided by means of {@link #getBiasNanos()}. + * The reported time includes {@link #getTimeUncertaintyNanos()}. */ - public long getTimeInNs() { - return mTimeInNs; + public long getTimeNanos() { + return mTimeNanos; } /** - * Sets the GPS receiver internal clock in nanoseconds. + * Sets the GNSS receiver internal clock in nanoseconds. */ - public void setTimeInNs(long timeInNs) { - mTimeInNs = timeInNs; + public void setTimeNanos(long timeNanos) { + mTimeNanos = timeNanos; } /** - * Returns true if {@link #getTimeUncertaintyInNs()} is available, false otherwise. + * Returns true if {@link #getTimeUncertaintyNanos()} is available, false otherwise. */ - public boolean hasTimeUncertaintyInNs() { + public boolean hasTimeUncertaintyNanos() { return isFlagSet(HAS_TIME_UNCERTAINTY); } @@ -145,189 +145,189 @@ public final class GnssClock implements Parcelable { * Gets the clock's time Uncertainty (1-Sigma) in nanoseconds. * The uncertainty is represented as an absolute (single sided) value. * - * The value is only available if {@link #hasTimeUncertaintyInNs()} is true. + * The value is only available if {@link #hasTimeUncertaintyNanos()} is true. */ - public double getTimeUncertaintyInNs() { - return mTimeUncertaintyInNs; + public double getTimeUncertaintyNanos() { + return mTimeUncertaintyNanos; } /** * Sets the clock's Time Uncertainty (1-Sigma) in nanoseconds. */ - public void setTimeUncertaintyInNs(double timeUncertaintyInNs) { + public void setTimeUncertaintyNanos(double timeUncertaintyNanos) { setFlag(HAS_TIME_UNCERTAINTY); - mTimeUncertaintyInNs = timeUncertaintyInNs; + mTimeUncertaintyNanos = timeUncertaintyNanos; } /** * Resets the clock's Time Uncertainty (1-Sigma) in nanoseconds. */ - public void resetTimeUncertaintyInNs() { + public void resetTimeUncertaintyNanos() { resetFlag(HAS_TIME_UNCERTAINTY); - mTimeUncertaintyInNs = Double.NaN; + mTimeUncertaintyNanos = Double.NaN; } /** - * Returns true if {@link #getFullBiasInNs()} is available, false otherwise. + * Returns true if {@link #getFullBiasNanos()} is available, false otherwise. */ - public boolean hasFullBiasInNs() { + public boolean hasFullBiasNanos() { return isFlagSet(HAS_FULL_BIAS); } /** - * Gets the difference between hardware clock ({@link #getTimeInNs()}) inside GPS receiver and + * Gets the difference between hardware clock ({@link #getTimeNanos()}) inside GPS receiver and * the true GPS time since 0000Z, January 6, 1980, in nanoseconds. * * This value is available if the receiver has estimated GPS time. If the computed time is for a * non-GPS constellation, the time offset of that constellation to GPS has to be applied to fill - * this value. The value contains the 'bias uncertainty' {@link #getBiasUncertaintyInNs()} in + * this value. The value contains the 'bias uncertainty' {@link #getBiasUncertaintyNanos()} in * it, and it should be used for quality check. The value is only available if - * {@link #hasFullBiasInNs()} is true. + * {@link #hasFullBiasNanos()} is true. * * The sign of the value is defined by the following equation: * local estimate of GPS time = time_ns + (full_bias_ns + bias_ns) */ - public long getFullBiasInNs() { - return mFullBiasInNs; + public long getFullBiasNanos() { + return mFullBiasNanos; } /** * Sets the full bias in nanoseconds. */ - public void setFullBiasInNs(long value) { + public void setFullBiasNanos(long value) { setFlag(HAS_FULL_BIAS); - mFullBiasInNs = value; + mFullBiasNanos = value; } /** * Resets the full bias in nanoseconds. */ - public void resetFullBiasInNs() { + public void resetFullBiasNanos() { resetFlag(HAS_FULL_BIAS); - mFullBiasInNs = Long.MIN_VALUE; + mFullBiasNanos = Long.MIN_VALUE; } /** - * Returns true if {@link #getBiasInNs()} is available, false otherwise. + * Returns true if {@link #getBiasNanos()} is available, false otherwise. */ - public boolean hasBiasInNs() { + public boolean hasBiasNanos() { return isFlagSet(HAS_BIAS); } /** * Gets the clock's sub-nanosecond bias. - * The reported bias includes {@link #getBiasUncertaintyInNs()}. + * The reported bias includes {@link #getBiasUncertaintyNanos()}. * - * The value is only available if {@link #hasBiasInNs()} is true. + * The value is only available if {@link #hasBiasNanos()} is true. */ - public double getBiasInNs() { - return mBiasInNs; + public double getBiasNanos() { + return mBiasNanos; } /** * Sets the sub-nanosecond bias. */ - public void setBiasInNs(double biasInNs) { + public void setBiasNanos(double biasNanos) { setFlag(HAS_BIAS); - mBiasInNs = biasInNs; + mBiasNanos = biasNanos; } /** * Resets the clock's Bias in nanoseconds. */ - public void resetBiasInNs() { + public void resetBiasNanos() { resetFlag(HAS_BIAS); - mBiasInNs = Double.NaN; + mBiasNanos = Double.NaN; } /** - * Returns true if {@link #getBiasUncertaintyInNs()} is available, false otherwise. + * Returns true if {@link #getBiasUncertaintyNanos()} is available, false otherwise. */ - public boolean hasBiasUncertaintyInNs() { + public boolean hasBiasUncertaintyNanos() { return isFlagSet(HAS_BIAS_UNCERTAINTY); } /** * Gets the clock's Bias Uncertainty (1-Sigma) in nanoseconds. * - * The value is only available if {@link #hasBiasUncertaintyInNs()} is true. + * The value is only available if {@link #hasBiasUncertaintyNanos()} is true. */ - public double getBiasUncertaintyInNs() { - return mBiasUncertaintyInNs; + public double getBiasUncertaintyNanos() { + return mBiasUncertaintyNanos; } /** * Sets the clock's Bias Uncertainty (1-Sigma) in nanoseconds. */ - public void setBiasUncertaintyInNs(double biasUncertaintyInNs) { + public void setBiasUncertaintyNanos(double biasUncertaintyNanos) { setFlag(HAS_BIAS_UNCERTAINTY); - mBiasUncertaintyInNs = biasUncertaintyInNs; + mBiasUncertaintyNanos = biasUncertaintyNanos; } /** * Resets the clock's Bias Uncertainty (1-Sigma) in nanoseconds. */ - public void resetBiasUncertaintyInNs() { + public void resetBiasUncertaintyNanos() { resetFlag(HAS_BIAS_UNCERTAINTY); - mBiasUncertaintyInNs = Double.NaN; + mBiasUncertaintyNanos = Double.NaN; } /** - * Returns true if {@link #getDriftInNsPerSec()} is available, false otherwise. + * Returns true if {@link #getDriftNanosPerSecond()} is available, false otherwise. */ - public boolean hasDriftInNsPerSec() { + public boolean hasDriftNanosPerSecond() { return isFlagSet(HAS_DRIFT); } /** * Gets the clock's Drift in nanoseconds per second. * A positive value indicates that the frequency is higher than the nominal frequency. - * The reported drift includes {@link #getDriftUncertaintyInNsPerSec()}. + * The reported drift includes {@link #getDriftUncertaintyNanosPerSecond()}. * - * The value is only available if {@link #hasDriftInNsPerSec()} is true. + * The value is only available if {@link #hasDriftNanosPerSecond()} is true. */ - public double getDriftInNsPerSec() { - return mDriftInNsPerSec; + public double getDriftNanosPerSecond() { + return mDriftNanosPerSecond; } /** * Sets the clock's Drift in nanoseconds per second. */ - public void setDriftInNsPerSec(double driftInNsPerSec) { + public void setDriftNanosPerSecond(double driftNanosPerSecond) { setFlag(HAS_DRIFT); - mDriftInNsPerSec = driftInNsPerSec; + mDriftNanosPerSecond = driftNanosPerSecond; } /** * Resets the clock's Drift in nanoseconds per second. */ - public void resetDriftInNsPerSec() { + public void resetDriftNanosPerSecond() { resetFlag(HAS_DRIFT); - mDriftInNsPerSec = Double.NaN; + mDriftNanosPerSecond = Double.NaN; } /** - * Returns true if {@link #getDriftUncertaintyInNsPerSec()} is available, false otherwise. + * Returns true if {@link #getDriftUncertaintyNanosPerSecond()} is available, false otherwise. */ - public boolean hasDriftUncertaintyInNsPerSec() { + public boolean hasDriftUncertaintyNanosPerSecond() { return isFlagSet(HAS_DRIFT_UNCERTAINTY); } /** * Gets the clock's Drift Uncertainty (1-Sigma) in nanoseconds per second. * - * The value is only available if {@link #hasDriftUncertaintyInNsPerSec()} is true. + * The value is only available if {@link #hasDriftUncertaintyNanosPerSecond()} is true. */ - public double getDriftUncertaintyInNsPerSec() { - return mDriftUncertaintyInNsPerSec; + public double getDriftUncertaintyNanosPerSecond() { + return mDriftUncertaintyNanosPerSecond; } /** * Sets the clock's Drift Uncertainty (1-Sigma) in nanoseconds per second. */ - public void setDriftUncertaintyInNsPerSec(double driftUncertaintyInNsPerSec) { + public void setDriftUncertaintyNanosPerSecond(double driftUncertaintyNanosPerSecond) { setFlag(HAS_DRIFT_UNCERTAINTY); - mDriftUncertaintyInNsPerSec = driftUncertaintyInNsPerSec; + mDriftUncertaintyNanosPerSecond = driftUncertaintyNanosPerSecond; } /** @@ -347,9 +347,9 @@ public final class GnssClock implements Parcelable { /** * Resets the clock's Drift Uncertainty (1-Sigma) in nanoseconds per second. */ - public void resetDriftUncertaintyInNsPerSec() { + public void resetDriftUncertaintyNanosPerSecond() { resetFlag(HAS_DRIFT_UNCERTAINTY); - mDriftUncertaintyInNsPerSec = Double.NaN; + mDriftUncertaintyNanosPerSecond = Double.NaN; } public static final Creator CREATOR = new Creator() { @@ -357,15 +357,15 @@ public final class GnssClock implements Parcelable { public GnssClock createFromParcel(Parcel parcel) { GnssClock gpsClock = new GnssClock(); - gpsClock.mFlags = (short) parcel.readInt(); - gpsClock.mLeapSecond = (short) parcel.readInt(); - gpsClock.mTimeInNs = parcel.readLong(); - gpsClock.mTimeUncertaintyInNs = parcel.readDouble(); - gpsClock.mFullBiasInNs = parcel.readLong(); - gpsClock.mBiasInNs = parcel.readDouble(); - gpsClock.mBiasUncertaintyInNs = parcel.readDouble(); - gpsClock.mDriftInNsPerSec = parcel.readDouble(); - gpsClock.mDriftUncertaintyInNsPerSec = parcel.readDouble(); + gpsClock.mFlags = parcel.readInt(); + gpsClock.mLeapSecond = parcel.readInt(); + gpsClock.mTimeNanos = parcel.readLong(); + gpsClock.mTimeUncertaintyNanos = parcel.readDouble(); + gpsClock.mFullBiasNanos = parcel.readLong(); + gpsClock.mBiasNanos = parcel.readDouble(); + gpsClock.mBiasUncertaintyNanos = parcel.readDouble(); + gpsClock.mDriftNanosPerSecond = parcel.readDouble(); + gpsClock.mDriftUncertaintyNanosPerSecond = parcel.readDouble(); gpsClock.mHardwareClockDiscontinuityCount = parcel.readInt(); return gpsClock; @@ -381,13 +381,13 @@ public final class GnssClock implements Parcelable { public void writeToParcel(Parcel parcel, int flags) { parcel.writeInt(mFlags); parcel.writeInt(mLeapSecond); - parcel.writeLong(mTimeInNs); - parcel.writeDouble(mTimeUncertaintyInNs); - parcel.writeLong(mFullBiasInNs); - parcel.writeDouble(mBiasInNs); - parcel.writeDouble(mBiasUncertaintyInNs); - parcel.writeDouble(mDriftInNsPerSec); - parcel.writeDouble(mDriftUncertaintyInNsPerSec); + parcel.writeLong(mTimeNanos); + parcel.writeDouble(mTimeUncertaintyNanos); + parcel.writeLong(mFullBiasNanos); + parcel.writeDouble(mBiasNanos); + parcel.writeDouble(mBiasUncertaintyNanos); + parcel.writeDouble(mDriftNanosPerSecond); + parcel.writeDouble(mDriftUncertaintyNanosPerSecond); parcel.writeInt(mHardwareClockDiscontinuityCount); } @@ -406,29 +406,29 @@ public final class GnssClock implements Parcelable { builder.append(String.format( formatWithUncertainty, - "TimeInNs", - mTimeInNs, - "TimeUncertaintyInNs", - hasTimeUncertaintyInNs() ? mTimeUncertaintyInNs : null)); + "TimeNanos", + mTimeNanos, + "TimeUncertaintyNanos", + hasTimeUncertaintyNanos() ? mTimeUncertaintyNanos : null)); builder.append(String.format( format, - "FullBiasInNs", - hasFullBiasInNs() ? mFullBiasInNs : null)); + "FullBiasNanos", + hasFullBiasNanos() ? mFullBiasNanos : null)); builder.append(String.format( formatWithUncertainty, - "BiasInNs", - hasBiasInNs() ? mBiasInNs : null, - "BiasUncertaintyInNs", - hasBiasUncertaintyInNs() ? mBiasUncertaintyInNs : null)); + "BiasNanos", + hasBiasNanos() ? mBiasNanos : null, + "BiasUncertaintyNanos", + hasBiasUncertaintyNanos() ? mBiasUncertaintyNanos : null)); builder.append(String.format( formatWithUncertainty, - "DriftInNsPerSec", - hasDriftInNsPerSec() ? mDriftInNsPerSec : null, - "DriftUncertaintyInNsPerSec", - hasDriftUncertaintyInNsPerSec() ? mDriftUncertaintyInNsPerSec : null)); + "DriftNanosPerSecond", + hasDriftNanosPerSecond() ? mDriftNanosPerSecond : null, + "DriftUncertaintyNanosPerSecond", + hasDriftUncertaintyNanosPerSecond() ? mDriftUncertaintyNanosPerSecond : null)); return builder.toString(); } @@ -436,25 +436,25 @@ public final class GnssClock implements Parcelable { private void initialize() { mFlags = HAS_NO_FLAGS; resetLeapSecond(); - setTimeInNs(Long.MIN_VALUE); - resetTimeUncertaintyInNs(); - resetFullBiasInNs(); - resetBiasInNs(); - resetBiasUncertaintyInNs(); - resetDriftInNsPerSec(); - resetDriftUncertaintyInNsPerSec(); + setTimeNanos(Long.MIN_VALUE); + resetTimeUncertaintyNanos(); + resetFullBiasNanos(); + resetBiasNanos(); + resetBiasUncertaintyNanos(); + resetDriftNanosPerSecond(); + resetDriftUncertaintyNanosPerSecond(); setHardwareClockDiscontinuityCount(Integer.MIN_VALUE); } - private void setFlag(short flag) { + private void setFlag(int flag) { mFlags |= flag; } - private void resetFlag(short flag) { + private void resetFlag(int flag) { mFlags &= ~flag; } - private boolean isFlagSet(short flag) { + private boolean isFlagSet(int flag) { return (mFlags & flag) == flag; } } diff --git a/location/java/android/location/GnssMeasurement.java b/location/java/android/location/GnssMeasurement.java index abdc13c1dfb78..367c52fcf6113 100644 --- a/location/java/android/location/GnssMeasurement.java +++ b/location/java/android/location/GnssMeasurement.java @@ -28,82 +28,35 @@ import java.lang.annotation.RetentionPolicy; */ public final class GnssMeasurement implements Parcelable { private int mFlags; - private short mSvid; - private byte mConstellationType; - private double mTimeOffsetInNs; - private short mState; - private long mReceivedSvTimeInNs; - private long mReceivedSvTimeUncertaintyInNs; - private double mCn0InDbHz; - private double mPseudorangeRateInMetersPerSec; - private double mPseudorangeRateUncertaintyInMetersPerSec; - private short mAccumulatedDeltaRangeState; - private double mAccumulatedDeltaRangeInMeters; - private double mAccumulatedDeltaRangeUncertaintyInMeters; - private double mPseudorangeInMeters; - private double mPseudorangeUncertaintyInMeters; - private double mCodePhaseInChips; - private double mCodePhaseUncertaintyInChips; - private float mCarrierFrequencyInHz; + private int mSvid; + private int mConstellationType; + private double mTimeOffsetNanos; + private int mState; + private long mReceivedSvTimeNanos; + private long mReceivedSvTimeUncertaintyNanos; + private double mCn0DbHz; + private double mPseudorangeRateMetersPerSecond; + private double mPseudorangeRateUncertaintyMetersPerSecond; + private int mAccumulatedDeltaRangeState; + private double mAccumulatedDeltaRangeMeters; + private double mAccumulatedDeltaRangeUncertaintyMeters; + private float mCarrierFrequencyHz; private long mCarrierCycles; private double mCarrierPhase; private double mCarrierPhaseUncertainty; - private byte mLossOfLock; - private int mBitNumber; - private short mTimeFromLastBitInMs; - private double mDopplerShiftInHz; - private double mDopplerShiftUncertaintyInHz; - private byte mMultipathIndicator; + private int mMultipathIndicator; private double mSnrInDb; - private double mElevationInDeg; - private double mElevationUncertaintyInDeg; - private double mAzimuthInDeg; - private double mAzimuthUncertaintyInDeg; - private boolean mUsedInFix; // The following enumerations must be in sync with the values declared in gps.h private static final int HAS_NO_FLAGS = 0; private static final int HAS_SNR = (1<<0); - private static final int HAS_ELEVATION = (1<<1); - private static final int HAS_ELEVATION_UNCERTAINTY = (1<<2); - private static final int HAS_AZIMUTH = (1<<3); - private static final int HAS_AZIMUTH_UNCERTAINTY = (1<<4); - private static final int HAS_PSEUDORANGE = (1<<5); - private static final int HAS_PSEUDORANGE_UNCERTAINTY = (1<<6); - private static final int HAS_CODE_PHASE = (1<<7); - private static final int HAS_CODE_PHASE_UNCERTAINTY = (1<<8); private static final int HAS_CARRIER_FREQUENCY = (1<<9); private static final int HAS_CARRIER_CYCLES = (1<<10); private static final int HAS_CARRIER_PHASE = (1<<11); private static final int HAS_CARRIER_PHASE_UNCERTAINTY = (1<<12); - private static final int HAS_BIT_NUMBER = (1<<13); - private static final int HAS_TIME_FROM_LAST_BIT = (1<<14); - private static final int HAS_DOPPLER_SHIFT = (1<<15); - private static final int HAS_DOPPLER_SHIFT_UNCERTAINTY = (1<<16); - // private static final int HAS_USED_IN_FIX = (1<<17); private static final int HAS_UNCORRECTED_PSEUDORANGE_RATE = (1<<18); - /** The status of 'loss of lock'. */ - @Retention(RetentionPolicy.SOURCE) - @IntDef({LOSS_OF_LOCK_UNKNOWN, LOSS_OF_LOCK_OK, LOSS_OF_LOCK_CYCLE_SLIP}) - public @interface LossOfLockStatus {} - - /** - * The indicator is not available or it is unknown. - */ - public static final byte LOSS_OF_LOCK_UNKNOWN = 0; - - /** - * The measurement does not present any indication of 'loss of lock'. - */ - public static final byte LOSS_OF_LOCK_OK = 1; - - /** - * 'Loss of lock' detected between the previous and current observation: cycle slip possible. - */ - public static final byte LOSS_OF_LOCK_CYCLE_SLIP = 2; - /** The status of multipath. */ @Retention(RetentionPolicy.SOURCE) @IntDef({MULTIPATH_INDICATOR_UNKNOWN, MULTIPATH_INDICATOR_DETECTED, @@ -113,78 +66,78 @@ public final class GnssMeasurement implements Parcelable { /** * The indicator is not available or it is unknown. */ - public static final byte MULTIPATH_INDICATOR_UNKNOWN = 0; + public static final int MULTIPATH_INDICATOR_UNKNOWN = 0; /** * The measurement has been indicated to use multi-path. */ - public static final byte MULTIPATH_INDICATOR_DETECTED = 1; + public static final int MULTIPATH_INDICATOR_DETECTED = 1; /** * The measurement has been indicated not tu use multi-path. */ - public static final byte MULTIPATH_INDICATOR_NOT_USED = 2; + public static final int MULTIPATH_INDICATOR_NOT_USED = 2; /** * The state of GNSS receiver the measurement is invalid or unknown. */ - public static final short STATE_UNKNOWN = 0; + public static final int STATE_UNKNOWN = 0; /** * The state of the GNSS receiver is ranging code lock. */ - public static final short STATE_CODE_LOCK = (1<<0); + public static final int STATE_CODE_LOCK = (1<<0); /** * The state of the GNSS receiver is in bit sync. */ - public static final short STATE_BIT_SYNC = (1<<1); + public static final int STATE_BIT_SYNC = (1<<1); /** *The state of the GNSS receiver is in sub-frame sync. */ - public static final short STATE_SUBFRAME_SYNC = (1<<2); + public static final int STATE_SUBFRAME_SYNC = (1<<2); /** * The state of the GNSS receiver has TOW decoded. */ - public static final short STATE_TOW_DECODED = (1<<3); + public static final int STATE_TOW_DECODED = (1<<3); /** * The state of the GNSS receiver contains millisecond ambiguity. */ - public static final short STATE_MSEC_AMBIGUOUS = (1<<4); + public static final int STATE_MSEC_AMBIGUOUS = (1<<4); /** * All the GNSS receiver state flags. */ - private static final short STATE_ALL = STATE_CODE_LOCK | STATE_BIT_SYNC | STATE_SUBFRAME_SYNC + private static final int STATE_ALL = STATE_CODE_LOCK | STATE_BIT_SYNC | STATE_SUBFRAME_SYNC | STATE_TOW_DECODED | STATE_MSEC_AMBIGUOUS; /** * The state of the 'Accumulated Delta Range' is invalid or unknown. */ - public static final short ADR_STATE_UNKNOWN = 0; + public static final int ADR_STATE_UNKNOWN = 0; /** * The state of the 'Accumulated Delta Range' is valid. */ - public static final short ADR_STATE_VALID = (1<<0); + public static final int ADR_STATE_VALID = (1<<0); /** * The state of the 'Accumulated Delta Range' has detected a reset. */ - public static final short ADR_STATE_RESET = (1<<1); + public static final int ADR_STATE_RESET = (1<<1); /** * The state of the 'Accumulated Delta Range' has a cycle slip detected. */ - public static final short ADR_STATE_CYCLE_SLIP = (1<<2); + public static final int ADR_STATE_CYCLE_SLIP = (1<<2); /** * All the 'Accumulated Delta Range' flags. */ - private static final short ADR_ALL = ADR_STATE_VALID | ADR_STATE_RESET | ADR_STATE_CYCLE_SLIP; + private static final int ADR_ALL = ADR_STATE_VALID | ADR_STATE_RESET | ADR_STATE_CYCLE_SLIP; // End enumerations in sync with gps.h @@ -199,38 +152,24 @@ public final class GnssMeasurement implements Parcelable { mFlags = measurement.mFlags; mSvid = measurement.mSvid; mConstellationType = measurement.mConstellationType; - mTimeOffsetInNs = measurement.mTimeOffsetInNs; + mTimeOffsetNanos = measurement.mTimeOffsetNanos; mState = measurement.mState; - mReceivedSvTimeInNs = measurement.mReceivedSvTimeInNs; - mReceivedSvTimeUncertaintyInNs = measurement.mReceivedSvTimeUncertaintyInNs; - mCn0InDbHz = measurement.mCn0InDbHz; - mPseudorangeRateInMetersPerSec = measurement.mPseudorangeRateInMetersPerSec; - mPseudorangeRateUncertaintyInMetersPerSec = - measurement.mPseudorangeRateUncertaintyInMetersPerSec; + mReceivedSvTimeNanos = measurement.mReceivedSvTimeNanos; + mReceivedSvTimeUncertaintyNanos = measurement.mReceivedSvTimeUncertaintyNanos; + mCn0DbHz = measurement.mCn0DbHz; + mPseudorangeRateMetersPerSecond = measurement.mPseudorangeRateMetersPerSecond; + mPseudorangeRateUncertaintyMetersPerSecond = + measurement.mPseudorangeRateUncertaintyMetersPerSecond; mAccumulatedDeltaRangeState = measurement.mAccumulatedDeltaRangeState; - mAccumulatedDeltaRangeInMeters = measurement.mAccumulatedDeltaRangeInMeters; - mAccumulatedDeltaRangeUncertaintyInMeters = - measurement.mAccumulatedDeltaRangeUncertaintyInMeters; - mPseudorangeInMeters = measurement.mPseudorangeInMeters; - mPseudorangeUncertaintyInMeters = measurement.mPseudorangeUncertaintyInMeters; - mCodePhaseInChips = measurement.mCodePhaseInChips; - mCodePhaseUncertaintyInChips = measurement.mCodePhaseUncertaintyInChips; - mCarrierFrequencyInHz = measurement.mCarrierFrequencyInHz; + mAccumulatedDeltaRangeMeters = measurement.mAccumulatedDeltaRangeMeters; + mAccumulatedDeltaRangeUncertaintyMeters = + measurement.mAccumulatedDeltaRangeUncertaintyMeters; + mCarrierFrequencyHz = measurement.mCarrierFrequencyHz; mCarrierCycles = measurement.mCarrierCycles; mCarrierPhase = measurement.mCarrierPhase; mCarrierPhaseUncertainty = measurement.mCarrierPhaseUncertainty; - mLossOfLock = measurement.mLossOfLock; - mBitNumber = measurement.mBitNumber; - mTimeFromLastBitInMs = measurement.mTimeFromLastBitInMs; - mDopplerShiftInHz = measurement.mDopplerShiftInHz; - mDopplerShiftUncertaintyInHz = measurement.mDopplerShiftUncertaintyInHz; mMultipathIndicator = measurement.mMultipathIndicator; mSnrInDb = measurement.mSnrInDb; - mElevationInDeg = measurement.mElevationInDeg; - mElevationUncertaintyInDeg = measurement.mElevationUncertaintyInDeg; - mAzimuthInDeg = measurement.mAzimuthInDeg; - mAzimuthUncertaintyInDeg = measurement.mAzimuthUncertaintyInDeg; - mUsedInFix = measurement.mUsedInFix; } /** @@ -244,14 +183,14 @@ public final class GnssMeasurement implements Parcelable { * Gets the Pseudo-random number (PRN). * Range: [1, 32] */ - public short getSvid() { + public int getSvid() { return mSvid; } /** * Sets the Pseud-random number (PRN). */ - public void setSvid(short value) { + public void setSvid(int value) { mSvid = value; } @@ -259,14 +198,14 @@ public final class GnssMeasurement implements Parcelable { * Getst the constellation type. */ @GnssStatus.ConstellationType - public byte getConstellationType() { + public int getConstellationType() { return mConstellationType; } /** * Sets the constellation type. */ - public void setConstellationType(@GnssStatus.ConstellationType byte value) { + public void setConstellationType(@GnssStatus.ConstellationType int value) { mConstellationType = value; } @@ -274,7 +213,7 @@ public final class GnssMeasurement implements Parcelable { * Gets the time offset at which the measurement was taken in nanoseconds. * * The reference receiver's time from which this is offset is specified by - * {@link GnssClock#getTimeInNs()}. + * {@link GnssClock#getTimeNanos()}. * * The sign of this value is given by the following equation: * measurement time = time_ns + time_offset_ns @@ -282,31 +221,31 @@ public final class GnssMeasurement implements Parcelable { * The value provides an individual time-stamp for the measurement, and allows sub-nanosecond * accuracy. */ - public double getTimeOffsetInNs() { - return mTimeOffsetInNs; + public double getTimeOffsetNanos() { + return mTimeOffsetNanos; } /** * Sets the time offset at which the measurement was taken in nanoseconds. */ - public void setTimeOffsetInNs(double value) { - mTimeOffsetInNs = value; + public void setTimeOffsetNanos(double value) { + mTimeOffsetNanos = value; } /** * Gets per-satellite sync state. * It represents the current sync state for the associated satellite. * - * This value helps interpret {@link #getReceivedSvTimeInNs()}. + * This value helps interpret {@link #getReceivedSvTimeNanos()}. */ - public short getState() { + public int getState() { return mState; } /** * Sets the sync state. */ - public void setState(short value) { + public void setState(int value) { mState = value; } @@ -408,29 +347,29 @@ public final class GnssMeasurement implements Parcelable { * Symbol sync : [ 0 2ms ] : STATE_SYMBOL_SYNC is set * Message : [ 0 1s ] : STATE_SBAS_SYNC is set */ - public long getReceivedSvTimeInNs() { - return mReceivedSvTimeInNs; + public long getReceivedSvTimeNanos() { + return mReceivedSvTimeNanos; } /** * Sets the received GNSS time in nanoseconds. */ - public void setReceivedSvTimeInNs(long value) { - mReceivedSvTimeInNs = value; + public void setReceivedSvTimeNanos(long value) { + mReceivedSvTimeNanos = value; } /** * Gets the received GNSS time uncertainty (1-Sigma) in nanoseconds. */ - public long getReceivedSvTimeUncertaintyInNs() { - return mReceivedSvTimeUncertaintyInNs; + public long getReceivedSvTimeUncertaintyNanos() { + return mReceivedSvTimeUncertaintyNanos; } /** * Sets the received GNSS time uncertainty (1-Sigma) in nanoseconds. */ - public void setReceivedSvTimeUncertaintyInNs(long value) { - mReceivedSvTimeUncertaintyInNs = value; + public void setReceivedSvTimeUncertaintyNanos(long value) { + mReceivedSvTimeUncertaintyNanos = value; } /** @@ -439,45 +378,46 @@ public final class GnssMeasurement implements Parcelable { * * The value contains the measured C/N0 for the signal at the antenna input. */ - public double getCn0InDbHz() { - return mCn0InDbHz; + public double getCn0DbHz() { + return mCn0DbHz; } /** * Sets the carrier-to-noise density in dB-Hz. */ - public void setCn0InDbHz(double value) { - mCn0InDbHz = value; + public void setCn0DbHz(double value) { + mCn0DbHz = value; } /** * Gets the Pseudorange rate at the timestamp in m/s. - * The reported value includes {@link #getPseudorangeRateUncertaintyInMetersPerSec()}. * - * The correction of a given Pseudorange Rate value includes corrections from receiver and - * satellite clock frequency errors. - * {@link #isPseudorangeRateCorrected()} identifies the type of value reported. + * The reported value includes {@link #getPseudorangeRateUncertaintyMetersPerSecond()}. + * + * The value is uncorrected, hence corrections for receiver and satellite clock frequency errors + * should not be included. + * + * A positive 'uncorrected' value indicates that the SV is moving away from the receiver. The + * sign of the 'uncorrected' 'pseudorange rate' and its relation to the sign of 'doppler shift' + * is given by the equation: * - * A positive 'uncorrected' value indicates that the SV is moving away from the receiver. - * The sign of the 'uncorrected' Pseudorange Rate and its relation to the sign of - * {@link #getDopplerShiftInHz()} is given by the equation: * pseudorange rate = -k * doppler shift (where k is a constant) */ - public double getPseudorangeRateInMetersPerSec() { - return mPseudorangeRateInMetersPerSec; + public double getPseudorangeRateMetersPerSecond() { + return mPseudorangeRateMetersPerSecond; } /** * Sets the pseudorange rate at the timestamp in m/s. */ - public void setPseudorangeRateInMetersPerSec(double value) { - mPseudorangeRateInMetersPerSec = value; + public void setPseudorangeRateMetersPerSecond(double value) { + mPseudorangeRateMetersPerSecond = value; } /** - * See {@link #getPseudorangeRateInMetersPerSec()} for more details. + * See {@link #getPseudorangeRateMetersPerSecond()} for more details. * - * @return {@code true} if {@link #getPseudorangeRateInMetersPerSec()} contains a corrected + * @return {@code true} if {@link #getPseudorangeRateMetersPerSecond()} contains a corrected * value, {@code false} if it contains an uncorrected value. */ public boolean isPseudorangeRateCorrected() { @@ -488,30 +428,30 @@ public final class GnssMeasurement implements Parcelable { * Gets the pseudorange's rate uncertainty (1-Sigma) in m/s. * The uncertainty is represented as an absolute (single sided) value. */ - public double getPseudorangeRateUncertaintyInMetersPerSec() { - return mPseudorangeRateUncertaintyInMetersPerSec; + public double getPseudorangeRateUncertaintyMetersPerSecond() { + return mPseudorangeRateUncertaintyMetersPerSecond; } /** * Sets the pseudorange's rate uncertainty (1-Sigma) in m/s. */ - public void setPseudorangeRateUncertaintyInMetersPerSec(double value) { - mPseudorangeRateUncertaintyInMetersPerSec = value; + public void setPseudorangeRateUncertaintyMetersPerSecond(double value) { + mPseudorangeRateUncertaintyMetersPerSecond = value; } /** * Gets 'Accumulated Delta Range' state. - * It indicates whether {@link #getAccumulatedDeltaRangeInMeters()} is reset or there is a + * It indicates whether {@link #getAccumulatedDeltaRangeMeters()} is reset or there is a * cycle slip (indicating 'loss of lock'). */ - public short getAccumulatedDeltaRangeState() { + public int getAccumulatedDeltaRangeState() { return mAccumulatedDeltaRangeState; } /** * Sets the 'Accumulated Delta Range' state. */ - public void setAccumulatedDeltaRangeState(short value) { + public void setAccumulatedDeltaRangeState(int value) { mAccumulatedDeltaRangeState = value; } @@ -545,24 +485,24 @@ public final class GnssMeasurement implements Parcelable { /** * Gets the accumulated delta range since the last channel reset, in meters. - * The reported value includes {@link #getAccumulatedDeltaRangeUncertaintyInMeters()}. + * The reported value includes {@link #getAccumulatedDeltaRangeUncertaintyMeters()}. * * The availability of the value is represented by {@link #getAccumulatedDeltaRangeState()}. * * A positive value indicates that the SV is moving away from the receiver. - * The sign of {@link #getAccumulatedDeltaRangeInMeters()} and its relation to the sign of + * The sign of {@link #getAccumulatedDeltaRangeMeters()} and its relation to the sign of * {@link #getCarrierPhase()} is given by the equation: * accumulated delta range = -k * carrier phase (where k is a constant) */ - public double getAccumulatedDeltaRangeInMeters() { - return mAccumulatedDeltaRangeInMeters; + public double getAccumulatedDeltaRangeMeters() { + return mAccumulatedDeltaRangeMeters; } /** * Sets the accumulated delta range in meters. */ - public void setAccumulatedDeltaRangeInMeters(double value) { - mAccumulatedDeltaRangeInMeters = value; + public void setAccumulatedDeltaRangeMeters(double value) { + mAccumulatedDeltaRangeMeters = value; } /** @@ -571,8 +511,8 @@ public final class GnssMeasurement implements Parcelable { * * The status of the value is represented by {@link #getAccumulatedDeltaRangeState()}. */ - public double getAccumulatedDeltaRangeUncertaintyInMeters() { - return mAccumulatedDeltaRangeUncertaintyInMeters; + public double getAccumulatedDeltaRangeUncertaintyMeters() { + return mAccumulatedDeltaRangeUncertaintyMeters; } /** @@ -580,149 +520,14 @@ public final class GnssMeasurement implements Parcelable { * * The status of the value is represented by {@link #getAccumulatedDeltaRangeState()}. */ - public void setAccumulatedDeltaRangeUncertaintyInMeters(double value) { - mAccumulatedDeltaRangeUncertaintyInMeters = value; + public void setAccumulatedDeltaRangeUncertaintyMeters(double value) { + mAccumulatedDeltaRangeUncertaintyMeters = value; } /** - * Returns true if {@link #getPseudorangeInMeters()} is available, false otherwise. + * Returns true if {@link #getCarrierFrequencyHz()} is available, false otherwise. */ - public boolean hasPseudorangeInMeters() { - return isFlagSet(HAS_PSEUDORANGE); - } - - /** - * Gets the best derived pseudorange by the chipset, in meters. - * The reported pseudorange includes {@link #getPseudorangeUncertaintyInMeters()}. - * - * The value is only available if {@link #hasPseudorangeInMeters()} is true. - */ - public double getPseudorangeInMeters() { - return mPseudorangeInMeters; - } - - /** - * Sets the Pseudo-range in meters. - */ - public void setPseudorangeInMeters(double value) { - setFlag(HAS_PSEUDORANGE); - mPseudorangeInMeters = value; - } - - /** - * Resets the Pseudo-range in meters. - */ - public void resetPseudorangeInMeters() { - resetFlag(HAS_PSEUDORANGE); - mPseudorangeInMeters = Double.NaN; - } - - /** - * Returns true if {@link #getPseudorangeUncertaintyInMeters()} is available, false otherwise. - */ - public boolean hasPseudorangeUncertaintyInMeters() { - return isFlagSet(HAS_PSEUDORANGE_UNCERTAINTY); - } - - /** - * Gets the pseudorange's uncertainty (1-Sigma) in meters. - * The value contains the 'pseudorange' and 'clock' uncertainty in it. - * The uncertainty is represented as an absolute (single sided) value. - * - * The value is only available if {@link #hasPseudorangeUncertaintyInMeters()} is true. - */ - public double getPseudorangeUncertaintyInMeters() { - return mPseudorangeUncertaintyInMeters; - } - - /** - * Sets the pseudo-range's uncertainty (1-Sigma) in meters. - */ - public void setPseudorangeUncertaintyInMeters(double value) { - setFlag(HAS_PSEUDORANGE_UNCERTAINTY); - mPseudorangeUncertaintyInMeters = value; - } - - /** - * Resets the pseudo-range's uncertainty (1-Sigma) in meters. - */ - public void resetPseudorangeUncertaintyInMeters() { - resetFlag(HAS_PSEUDORANGE_UNCERTAINTY); - mPseudorangeUncertaintyInMeters = Double.NaN; - } - - /** - * Returns true if {@link #getCodePhaseInChips()} is available, false otherwise. - */ - public boolean hasCodePhaseInChips() { - return isFlagSet(HAS_CODE_PHASE); - } - - /** - * Gets the fraction of the current C/A code cycle. - * Range: [0, 1023] - * The reference frequency is given by the value of {@link #getCarrierFrequencyInHz()}. - * The reported code-phase includes {@link #getCodePhaseUncertaintyInChips()}. - * - * The value is only available if {@link #hasCodePhaseInChips()} is true. - */ - public double getCodePhaseInChips() { - return mCodePhaseInChips; - } - - /** - * Sets the Code-phase in chips. - */ - public void setCodePhaseInChips(double value) { - setFlag(HAS_CODE_PHASE); - mCodePhaseInChips = value; - } - - /** - * Resets the Code-phase in chips. - */ - public void resetCodePhaseInChips() { - resetFlag(HAS_CODE_PHASE); - mCodePhaseInChips = Double.NaN; - } - - /** - * Returns true if {@link #getCodePhaseUncertaintyInChips()} is available, false otherwise. - */ - public boolean hasCodePhaseUncertaintyInChips() { - return isFlagSet(HAS_CODE_PHASE_UNCERTAINTY); - } - - /** - * Gets the code-phase's uncertainty (1-Sigma) as a fraction of chips. - * The uncertainty is represented as an absolute (single sided) value. - * - * The value is only available if {@link #hasCodePhaseUncertaintyInChips()} is true. - */ - public double getCodePhaseUncertaintyInChips() { - return mCodePhaseUncertaintyInChips; - } - - /** - * Sets the Code-phase's uncertainty (1-Sigma) in fractions of chips. - */ - public void setCodePhaseUncertaintyInChips(double value) { - setFlag(HAS_CODE_PHASE_UNCERTAINTY); - mCodePhaseUncertaintyInChips = value; - } - - /** - * Resets the Code-phase's uncertainty (1-Sigma) in fractions of chips. - */ - public void resetCodePhaseUncertaintyInChips() { - resetFlag(HAS_CODE_PHASE_UNCERTAINTY); - mCodePhaseUncertaintyInChips = Double.NaN; - } - - /** - * Returns true if {@link #getCarrierFrequencyInHz()} is available, false otherwise. - */ - public boolean hasCarrierFrequencyInHz() { + public boolean hasCarrierFrequencyHz() { return isFlagSet(HAS_CARRIER_FREQUENCY); } @@ -730,26 +535,26 @@ public final class GnssMeasurement implements Parcelable { * Gets the carrier frequency at which codes and messages are modulated, it can be L1 or L2. * If the field is not set, the carrier frequency corresponds to L1. * - * The value is only available if {@link #hasCarrierFrequencyInHz()} is true. + * The value is only available if {@link #hasCarrierFrequencyHz()} is true. */ - public float getCarrierFrequencyInHz() { - return mCarrierFrequencyInHz; + public float getCarrierFrequencyHz() { + return mCarrierFrequencyHz; } /** * Sets the Carrier frequency (L1 or L2) in Hz. */ - public void setCarrierFrequencyInHz(float carrierFrequencyInHz) { + public void setCarrierFrequencyHz(float carrierFrequencyHz) { setFlag(HAS_CARRIER_FREQUENCY); - mCarrierFrequencyInHz = carrierFrequencyInHz; + mCarrierFrequencyHz = carrierFrequencyHz; } /** * Resets the Carrier frequency (L1 or L2) in Hz. */ - public void resetCarrierFrequencyInHz() { + public void resetCarrierFrequencyHz() { resetFlag(HAS_CARRIER_FREQUENCY); - mCarrierFrequencyInHz = Float.NaN; + mCarrierFrequencyHz = Float.NaN; } /** @@ -761,7 +566,7 @@ public final class GnssMeasurement implements Parcelable { /** * The number of full carrier cycles between the satellite and the receiver. - * The reference frequency is given by the value of {@link #getCarrierFrequencyInHz()}. + * The reference frequency is given by the value of {@link #getCarrierFrequencyHz()}. * * The value is only available if {@link #hasCarrierCycles()} is true. */ @@ -797,7 +602,7 @@ public final class GnssMeasurement implements Parcelable { * Range: [0.0, 1.0]. * This is usually the fractional part of the complete carrier phase measurement. * - * The reference frequency is given by the value of {@link #getCarrierFrequencyInHz()}. + * The reference frequency is given by the value of {@link #getCarrierFrequencyHz()}. * The reported carrier-phase includes {@link #getCarrierPhaseUncertainty()}. * * The value is only available if {@link #hasCarrierPhase()} is true. @@ -855,184 +660,18 @@ public final class GnssMeasurement implements Parcelable { mCarrierPhaseUncertainty = Double.NaN; } - /** - * Gets a value indicating the 'loss of lock' state of the event. - */ - @LossOfLockStatus - public byte getLossOfLock() { - return mLossOfLock; - } - - /** - * Sets the 'loss of lock' status. - */ - public void setLossOfLock(@LossOfLockStatus byte value) { - mLossOfLock = value; - } - - /** - * Gets a string representation of the 'loss of lock'. - * For internal and logging use only. - */ - private String getLossOfLockString() { - switch (mLossOfLock) { - case LOSS_OF_LOCK_UNKNOWN: - return "Unknown"; - case LOSS_OF_LOCK_OK: - return "Ok"; - case LOSS_OF_LOCK_CYCLE_SLIP: - return "CycleSlip"; - default: - return ""; - } - } - - /** - * Returns true if {@link #getBitNumber()} is available, false otherwise. - */ - public boolean hasBitNumber() { - return isFlagSet(HAS_BIT_NUMBER); - } - - /** - * Gets the number of GPS bits transmitted since Sat-Sun midnight (GPS week). - * - * The value is only available if {@link #hasBitNumber()} is true. - */ - public int getBitNumber() { - return mBitNumber; - } - - /** - * Sets the bit number within the broadcast frame. - */ - public void setBitNumber(int bitNumber) { - setFlag(HAS_BIT_NUMBER); - mBitNumber = bitNumber; - } - - /** - * Resets the bit number within the broadcast frame. - */ - public void resetBitNumber() { - resetFlag(HAS_BIT_NUMBER); - mBitNumber = Integer.MIN_VALUE; - } - - /** - * Returns true if {@link #getTimeFromLastBitInMs()} is available, false otherwise. - */ - public boolean hasTimeFromLastBitInMs() { - return isFlagSet(HAS_TIME_FROM_LAST_BIT); - } - - /** - * Gets the elapsed time since the last received bit in milliseconds. - * Range: [0, 20]. - * - * The value is only available if {@link #hasTimeFromLastBitInMs()} is true. - */ - public short getTimeFromLastBitInMs() { - return mTimeFromLastBitInMs; - } - - /** - * Sets the elapsed time since the last received bit in milliseconds. - */ - public void setTimeFromLastBitInMs(short value) { - setFlag(HAS_TIME_FROM_LAST_BIT); - mTimeFromLastBitInMs = value; - } - - /** - * Resets the elapsed time since the last received bit in milliseconds. - */ - public void resetTimeFromLastBitInMs() { - resetFlag(HAS_TIME_FROM_LAST_BIT); - mTimeFromLastBitInMs = Short.MIN_VALUE; - } - - /** - * Returns true if {@link #getDopplerShiftInHz()} is available, false otherwise. - */ - public boolean hasDopplerShiftInHz() { - return isFlagSet(HAS_DOPPLER_SHIFT); - } - - /** - * Gets the Doppler Shift in Hz. - * A positive value indicates that the SV is moving toward the receiver. - * - * The reference frequency is given by the value of {@link #getCarrierFrequencyInHz()}. - * The reported doppler shift includes {@link #getDopplerShiftUncertaintyInHz()}. - * - * The value is only available if {@link #hasDopplerShiftInHz()} is true. - */ - public double getDopplerShiftInHz() { - return mDopplerShiftInHz; - } - - /** - * Sets the Doppler shift in Hz. - */ - public void setDopplerShiftInHz(double value) { - setFlag(HAS_DOPPLER_SHIFT); - mDopplerShiftInHz = value; - } - - /** - * Resets the Doppler shift in Hz. - */ - public void resetDopplerShiftInHz() { - resetFlag(HAS_DOPPLER_SHIFT); - mDopplerShiftInHz = Double.NaN; - } - - /** - * Returns true if {@link #getDopplerShiftUncertaintyInHz()} is available, false otherwise. - */ - public boolean hasDopplerShiftUncertaintyInHz() { - return isFlagSet(HAS_DOPPLER_SHIFT_UNCERTAINTY); - } - - /** - * Gets the Doppler's Shift uncertainty (1-Sigma) in Hz. - * The uncertainty is represented as an absolute (single sided) value. - * - * The value is only available if {@link #hasDopplerShiftUncertaintyInHz()} is true. - */ - public double getDopplerShiftUncertaintyInHz() { - return mDopplerShiftUncertaintyInHz; - } - - /** - * Sets the Doppler's shift uncertainty (1-Sigma) in Hz. - */ - public void setDopplerShiftUncertaintyInHz(double value) { - setFlag(HAS_DOPPLER_SHIFT_UNCERTAINTY); - mDopplerShiftUncertaintyInHz = value; - } - - /** - * Resets the Doppler's shift uncertainty (1-Sigma) in Hz. - */ - public void resetDopplerShiftUncertaintyInHz() { - resetFlag(HAS_DOPPLER_SHIFT_UNCERTAINTY); - mDopplerShiftUncertaintyInHz = Double.NaN; - } - /** * Gets a value indicating the 'multipath' state of the event. */ @MultipathIndicator - public byte getMultipathIndicator() { + public int getMultipathIndicator() { return mMultipathIndicator; } /** * Sets the 'multi-path' indicator. */ - public void setMultipathIndicator(@MultipathIndicator byte value) { + public void setMultipathIndicator(@MultipathIndicator int value) { mMultipathIndicator = value; } @@ -1085,200 +724,30 @@ public final class GnssMeasurement implements Parcelable { mSnrInDb = Double.NaN; } - /** - * Returns true if {@link #getElevationInDeg()} is available, false otherwise. - */ - public boolean hasElevationInDeg() { - return isFlagSet(HAS_ELEVATION); - } - - /** - * Gets the Elevation in degrees. - * Range: [-90, 90] - * The reported elevation includes {@link #getElevationUncertaintyInDeg()}. - * - * The value is only available if {@link #hasElevationInDeg()} is true. - */ - public double getElevationInDeg() { - return mElevationInDeg; - } - - /** - * Sets the Elevation in degrees. - */ - public void setElevationInDeg(double elevationInDeg) { - setFlag(HAS_ELEVATION); - mElevationInDeg = elevationInDeg; - } - - /** - * Resets the Elevation in degrees. - */ - public void resetElevationInDeg() { - resetFlag(HAS_ELEVATION); - mElevationInDeg = Double.NaN; - } - - /** - * Returns true if {@link #getElevationUncertaintyInDeg()} is available, false otherwise. - */ - public boolean hasElevationUncertaintyInDeg() { - return isFlagSet(HAS_ELEVATION_UNCERTAINTY); - } - - /** - * Gets the elevation's uncertainty (1-Sigma) in degrees. - * Range: [0, 90] - * - * The uncertainty is represented as an absolute (single sided) value. - * - * The value is only available if {@link #hasElevationUncertaintyInDeg()} is true. - */ - public double getElevationUncertaintyInDeg() { - return mElevationUncertaintyInDeg; - } - - /** - * Sets the elevation's uncertainty (1-Sigma) in degrees. - */ - public void setElevationUncertaintyInDeg(double value) { - setFlag(HAS_ELEVATION_UNCERTAINTY); - mElevationUncertaintyInDeg = value; - } - - /** - * Resets the elevation's uncertainty (1-Sigma) in degrees. - */ - public void resetElevationUncertaintyInDeg() { - resetFlag(HAS_ELEVATION_UNCERTAINTY); - mElevationUncertaintyInDeg = Double.NaN; - } - - /** - * Returns true if {@link #getAzimuthInDeg()} is available, false otherwise. - */ - public boolean hasAzimuthInDeg() { - return isFlagSet(HAS_AZIMUTH); - } - - /** - * Gets the azimuth in degrees. - * Range: [0, 360). - * - * The reported azimuth includes {@link #getAzimuthUncertaintyInDeg()}. - * - * The value is only available if {@link #hasAzimuthInDeg()} is true. - */ - public double getAzimuthInDeg() { - return mAzimuthInDeg; - } - - /** - * Sets the Azimuth in degrees. - */ - public void setAzimuthInDeg(double value) { - setFlag(HAS_AZIMUTH); - mAzimuthInDeg = value; - } - - /** - * Resets the Azimuth in degrees. - */ - public void resetAzimuthInDeg() { - resetFlag(HAS_AZIMUTH); - mAzimuthInDeg = Double.NaN; - } - - /** - * Returns true if {@link #getAzimuthUncertaintyInDeg()} is available, false otherwise. - */ - public boolean hasAzimuthUncertaintyInDeg() { - return isFlagSet(HAS_AZIMUTH_UNCERTAINTY); - } - - /** - * Gets the azimuth's uncertainty (1-Sigma) in degrees. - * Range: [0, 180]. - * - * The uncertainty is represented as an absolute (single sided) value. - * - * The value is only available if {@link #hasAzimuthUncertaintyInDeg()} is true. - */ - public double getAzimuthUncertaintyInDeg() { - return mAzimuthUncertaintyInDeg; - } - - /** - * Sets the Azimuth's uncertainty (1-Sigma) in degrees. - */ - public void setAzimuthUncertaintyInDeg(double value) { - setFlag(HAS_AZIMUTH_UNCERTAINTY); - mAzimuthUncertaintyInDeg = value; - } - - /** - * Resets the Azimuth's uncertainty (1-Sigma) in degrees. - */ - public void resetAzimuthUncertaintyInDeg() { - resetFlag(HAS_AZIMUTH_UNCERTAINTY); - mAzimuthUncertaintyInDeg = Double.NaN; - } - - /** - * Gets a flag indicating whether the GNSS represented by the measurement was used for computing - * the most recent fix. - * - * @return A non-null value if the data is available, null otherwise. - */ - public boolean isUsedInFix() { - return mUsedInFix; - } - - /** - * Sets the Used-in-Fix flag. - */ - public void setUsedInFix(boolean value) { - mUsedInFix = value; - } - public static final Creator CREATOR = new Creator() { @Override public GnssMeasurement createFromParcel(Parcel parcel) { GnssMeasurement gnssMeasurement = new GnssMeasurement(); gnssMeasurement.mFlags = parcel.readInt(); - gnssMeasurement.mSvid = (short) parcel.readInt(); - gnssMeasurement.mConstellationType = parcel.readByte(); - gnssMeasurement.mTimeOffsetInNs = parcel.readDouble(); - gnssMeasurement.mState = (short) parcel.readInt(); - gnssMeasurement.mReceivedSvTimeInNs = parcel.readLong(); - gnssMeasurement.mReceivedSvTimeUncertaintyInNs = parcel.readLong(); - gnssMeasurement.mCn0InDbHz = parcel.readDouble(); - gnssMeasurement.mPseudorangeRateInMetersPerSec = parcel.readDouble(); - gnssMeasurement.mPseudorangeRateUncertaintyInMetersPerSec = parcel.readDouble(); - gnssMeasurement.mAccumulatedDeltaRangeState = (short) parcel.readInt(); - gnssMeasurement.mAccumulatedDeltaRangeInMeters = parcel.readDouble(); - gnssMeasurement.mAccumulatedDeltaRangeUncertaintyInMeters = parcel.readDouble(); - gnssMeasurement.mPseudorangeInMeters = parcel.readDouble(); - gnssMeasurement.mPseudorangeUncertaintyInMeters = parcel.readDouble(); - gnssMeasurement.mCodePhaseInChips = parcel.readDouble(); - gnssMeasurement.mCodePhaseUncertaintyInChips = parcel.readDouble(); - gnssMeasurement.mCarrierFrequencyInHz = parcel.readFloat(); + gnssMeasurement.mSvid = parcel.readInt(); + gnssMeasurement.mConstellationType = parcel.readInt(); + gnssMeasurement.mTimeOffsetNanos = parcel.readDouble(); + gnssMeasurement.mState = parcel.readInt(); + gnssMeasurement.mReceivedSvTimeNanos = parcel.readLong(); + gnssMeasurement.mReceivedSvTimeUncertaintyNanos = parcel.readLong(); + gnssMeasurement.mCn0DbHz = parcel.readDouble(); + gnssMeasurement.mPseudorangeRateMetersPerSecond = parcel.readDouble(); + gnssMeasurement.mPseudorangeRateUncertaintyMetersPerSecond = parcel.readDouble(); + gnssMeasurement.mAccumulatedDeltaRangeState = parcel.readInt(); + gnssMeasurement.mAccumulatedDeltaRangeMeters = parcel.readDouble(); + gnssMeasurement.mAccumulatedDeltaRangeUncertaintyMeters = parcel.readDouble(); + gnssMeasurement.mCarrierFrequencyHz = parcel.readFloat(); gnssMeasurement.mCarrierCycles = parcel.readLong(); gnssMeasurement.mCarrierPhase = parcel.readDouble(); gnssMeasurement.mCarrierPhaseUncertainty = parcel.readDouble(); - gnssMeasurement.mLossOfLock = parcel.readByte(); - gnssMeasurement.mBitNumber = parcel.readInt(); - gnssMeasurement.mTimeFromLastBitInMs = (short) parcel.readInt(); - gnssMeasurement.mDopplerShiftInHz = parcel.readDouble(); - gnssMeasurement.mDopplerShiftUncertaintyInHz = parcel.readDouble(); - gnssMeasurement.mMultipathIndicator = parcel.readByte(); + gnssMeasurement.mMultipathIndicator = parcel.readInt(); gnssMeasurement.mSnrInDb = parcel.readDouble(); - gnssMeasurement.mElevationInDeg = parcel.readDouble(); - gnssMeasurement.mElevationUncertaintyInDeg = parcel.readDouble(); - gnssMeasurement.mAzimuthInDeg = parcel.readDouble(); - gnssMeasurement.mAzimuthUncertaintyInDeg = parcel.readDouble(); - gnssMeasurement.mUsedInFix = parcel.readInt() != 0; return gnssMeasurement; } @@ -1293,37 +762,23 @@ public final class GnssMeasurement implements Parcelable { public void writeToParcel(Parcel parcel, int flags) { parcel.writeInt(mFlags); parcel.writeInt(mSvid); - parcel.writeByte(mConstellationType); - parcel.writeDouble(mTimeOffsetInNs); + parcel.writeInt(mConstellationType); + parcel.writeDouble(mTimeOffsetNanos); parcel.writeInt(mState); - parcel.writeLong(mReceivedSvTimeInNs); - parcel.writeLong(mReceivedSvTimeUncertaintyInNs); - parcel.writeDouble(mCn0InDbHz); - parcel.writeDouble(mPseudorangeRateInMetersPerSec); - parcel.writeDouble(mPseudorangeRateUncertaintyInMetersPerSec); + parcel.writeLong(mReceivedSvTimeNanos); + parcel.writeLong(mReceivedSvTimeUncertaintyNanos); + parcel.writeDouble(mCn0DbHz); + parcel.writeDouble(mPseudorangeRateMetersPerSecond); + parcel.writeDouble(mPseudorangeRateUncertaintyMetersPerSecond); parcel.writeInt(mAccumulatedDeltaRangeState); - parcel.writeDouble(mAccumulatedDeltaRangeInMeters); - parcel.writeDouble(mAccumulatedDeltaRangeUncertaintyInMeters); - parcel.writeDouble(mPseudorangeInMeters); - parcel.writeDouble(mPseudorangeUncertaintyInMeters); - parcel.writeDouble(mCodePhaseInChips); - parcel.writeDouble(mCodePhaseUncertaintyInChips); - parcel.writeFloat(mCarrierFrequencyInHz); + parcel.writeDouble(mAccumulatedDeltaRangeMeters); + parcel.writeDouble(mAccumulatedDeltaRangeUncertaintyMeters); + parcel.writeFloat(mCarrierFrequencyHz); parcel.writeLong(mCarrierCycles); parcel.writeDouble(mCarrierPhase); parcel.writeDouble(mCarrierPhaseUncertainty); - parcel.writeByte(mLossOfLock); - parcel.writeInt(mBitNumber); - parcel.writeInt(mTimeFromLastBitInMs); - parcel.writeDouble(mDopplerShiftInHz); - parcel.writeDouble(mDopplerShiftUncertaintyInHz); - parcel.writeByte(mMultipathIndicator); + parcel.writeInt(mMultipathIndicator); parcel.writeDouble(mSnrInDb); - parcel.writeDouble(mElevationInDeg); - parcel.writeDouble(mElevationUncertaintyInDeg); - parcel.writeDouble(mAzimuthInDeg); - parcel.writeDouble(mAzimuthUncertaintyInDeg); - parcel.writeInt(mUsedInFix ? 1 : 0); } @Override @@ -1339,25 +794,25 @@ public final class GnssMeasurement implements Parcelable { builder.append(String.format(format, "Svid", mSvid)); builder.append(String.format(format, "ConstellationType", mConstellationType)); - builder.append(String.format(format, "TimeOffsetInNs", mTimeOffsetInNs)); + builder.append(String.format(format, "TimeOffsetNanos", mTimeOffsetNanos)); builder.append(String.format(format, "State", getStateString())); builder.append(String.format( formatWithUncertainty, - "ReceivedSvTimeInNs", - mReceivedSvTimeInNs, - "ReceivedSvTimeUncertaintyInNs", - mReceivedSvTimeUncertaintyInNs)); + "ReceivedSvTimeNanos", + mReceivedSvTimeNanos, + "ReceivedSvTimeUncertaintyNanos", + mReceivedSvTimeUncertaintyNanos)); - builder.append(String.format(format, "Cn0InDbHz", mCn0InDbHz)); + builder.append(String.format(format, "Cn0DbHz", mCn0DbHz)); builder.append(String.format( formatWithUncertainty, - "PseudorangeRateInMetersPerSec", - mPseudorangeRateInMetersPerSec, - "PseudorangeRateUncertaintyInMetersPerSec", - mPseudorangeRateUncertaintyInMetersPerSec)); + "PseudorangeRateMetersPerSecond", + mPseudorangeRateMetersPerSecond, + "PseudorangeRateUncertaintyMetersPerSecond", + mPseudorangeRateUncertaintyMetersPerSecond)); builder.append(String.format( format, "PseudorangeRateIsCorrected", @@ -1370,29 +825,15 @@ public final class GnssMeasurement implements Parcelable { builder.append(String.format( formatWithUncertainty, - "AccumulatedDeltaRangeInMeters", - mAccumulatedDeltaRangeInMeters, - "AccumulatedDeltaRangeUncertaintyInMeters", - mAccumulatedDeltaRangeUncertaintyInMeters)); - - builder.append(String.format( - formatWithUncertainty, - "PseudorangeInMeters", - hasPseudorangeInMeters() ? mPseudorangeInMeters : null, - "PseudorangeUncertaintyInMeters", - hasPseudorangeUncertaintyInMeters() ? mPseudorangeUncertaintyInMeters : null)); - - builder.append(String.format( - formatWithUncertainty, - "CodePhaseInChips", - hasCodePhaseInChips() ? mCodePhaseInChips : null, - "CodePhaseUncertaintyInChips", - hasCodePhaseUncertaintyInChips() ? mCodePhaseUncertaintyInChips : null)); + "AccumulatedDeltaRangeMeters", + mAccumulatedDeltaRangeMeters, + "AccumulatedDeltaRangeUncertaintyMeters", + mAccumulatedDeltaRangeUncertaintyMeters)); builder.append(String.format( format, - "CarrierFrequencyInHz", - hasCarrierFrequencyInHz() ? mCarrierFrequencyInHz : null)); + "CarrierFrequencyHz", + hasCarrierFrequencyHz() ? mCarrierFrequencyHz : null)); builder.append(String.format( format, @@ -1406,25 +847,6 @@ public final class GnssMeasurement implements Parcelable { "CarrierPhaseUncertainty", hasCarrierPhaseUncertainty() ? mCarrierPhaseUncertainty : null)); - builder.append(String.format(format, "LossOfLock", getLossOfLockString())); - - builder.append(String.format( - format, - "BitNumber", - hasBitNumber() ? mBitNumber : null)); - - builder.append(String.format( - format, - "TimeFromLastBitInMs", - hasTimeFromLastBitInMs() ? mTimeFromLastBitInMs : null)); - - builder.append(String.format( - formatWithUncertainty, - "DopplerShiftInHz", - hasDopplerShiftInHz() ? mDopplerShiftInHz : null, - "DopplerShiftUncertaintyInHz", - hasDopplerShiftUncertaintyInHz() ? mDopplerShiftUncertaintyInHz : null)); - builder.append(String.format(format, "MultipathIndicator", getMultipathIndicatorString())); builder.append(String.format( @@ -1432,58 +854,28 @@ public final class GnssMeasurement implements Parcelable { "SnrInDb", hasSnrInDb() ? mSnrInDb : null)); - builder.append(String.format( - formatWithUncertainty, - "ElevationInDeg", - hasElevationInDeg() ? mElevationInDeg : null, - "ElevationUncertaintyInDeg", - hasElevationUncertaintyInDeg() ? mElevationUncertaintyInDeg : null)); - - builder.append(String.format( - formatWithUncertainty, - "AzimuthInDeg", - hasAzimuthInDeg() ? mAzimuthInDeg : null, - "AzimuthUncertaintyInDeg", - hasAzimuthUncertaintyInDeg() ? mAzimuthUncertaintyInDeg : null)); - - builder.append(String.format(format, "UsedInFix", mUsedInFix)); - return builder.toString(); } private void initialize() { mFlags = HAS_NO_FLAGS; - setSvid((short) 0); - setTimeOffsetInNs(Long.MIN_VALUE); + setSvid(0); + setTimeOffsetNanos(Long.MIN_VALUE); setState(STATE_UNKNOWN); - setReceivedSvTimeInNs(Long.MIN_VALUE); - setReceivedSvTimeUncertaintyInNs(Long.MAX_VALUE); - setCn0InDbHz(Double.MIN_VALUE); - setPseudorangeRateInMetersPerSec(Double.MIN_VALUE); - setPseudorangeRateUncertaintyInMetersPerSec(Double.MIN_VALUE); + setReceivedSvTimeNanos(Long.MIN_VALUE); + setReceivedSvTimeUncertaintyNanos(Long.MAX_VALUE); + setCn0DbHz(Double.MIN_VALUE); + setPseudorangeRateMetersPerSecond(Double.MIN_VALUE); + setPseudorangeRateUncertaintyMetersPerSecond(Double.MIN_VALUE); setAccumulatedDeltaRangeState(ADR_STATE_UNKNOWN); - setAccumulatedDeltaRangeInMeters(Double.MIN_VALUE); - setAccumulatedDeltaRangeUncertaintyInMeters(Double.MIN_VALUE); - resetPseudorangeInMeters(); - resetPseudorangeUncertaintyInMeters(); - resetCodePhaseInChips(); - resetCodePhaseUncertaintyInChips(); - resetCarrierFrequencyInHz(); + setAccumulatedDeltaRangeMeters(Double.MIN_VALUE); + setAccumulatedDeltaRangeUncertaintyMeters(Double.MIN_VALUE); + resetCarrierFrequencyHz(); resetCarrierCycles(); resetCarrierPhase(); resetCarrierPhaseUncertainty(); - setLossOfLock(LOSS_OF_LOCK_UNKNOWN); - resetBitNumber(); - resetTimeFromLastBitInMs(); - resetDopplerShiftInHz(); - resetDopplerShiftUncertaintyInHz(); setMultipathIndicator(MULTIPATH_INDICATOR_UNKNOWN); resetSnrInDb(); - resetElevationInDeg(); - resetElevationUncertaintyInDeg(); - resetAzimuthInDeg(); - resetAzimuthUncertaintyInDeg(); - setUsedInFix(false); } private void setFlag(int flag) { diff --git a/location/java/android/location/GnssMeasurementsEvent.java b/location/java/android/location/GnssMeasurementsEvent.java index b744a0381b762..86841ff97a383 100644 --- a/location/java/android/location/GnssMeasurementsEvent.java +++ b/location/java/android/location/GnssMeasurementsEvent.java @@ -33,46 +33,46 @@ import java.util.Collections; * Events are delivered to registered instances of {@link Callback}. */ public final class GnssMeasurementsEvent implements Parcelable { - /** The status of GPS measurements event. */ + /** The status of GNSS measurements event. */ @Retention(RetentionPolicy.SOURCE) - @IntDef({STATUS_NOT_SUPPORTED, STATUS_READY, STATUS_GPS_LOCATION_DISABLED}) + @IntDef({STATUS_NOT_SUPPORTED, STATUS_READY, STATUS_GNSS_LOCATION_DISABLED}) public @interface GnssMeasurementsStatus {} /** - * The system does not support tracking of GPS Measurements. This status will not change in the + * The system does not support tracking of GNSS Measurements. This status will not change in the * future. */ public static final int STATUS_NOT_SUPPORTED = 0; /** - * GPS Measurements are successfully being tracked, it will receive updates once they are + * GNSS Measurements are successfully being tracked, it will receive updates once they are * available. */ public static final int STATUS_READY = 1; /** - * GPS provider or Location is disabled, updates will not be received until they are enabled. + * GNSS provider or Location is disabled, updates will not be received until they are enabled. */ - public static final int STATUS_GPS_LOCATION_DISABLED = 2; + public static final int STATUS_GNSS_LOCATION_DISABLED = 2; private final GnssClock mClock; private final Collection mReadOnlyMeasurements; /** - * Used for receiving GPS satellite measurements from the GPS engine. + * Used for receiving GNSS satellite measurements from the GNSS engine. * Each measurement contains raw and computed data identifying a satellite. * You can implement this interface and call - * {@link LocationManager#registerGnssMeasurementCallback}. + * {@link LocationManager#registerGnssMeasurementsCallback}. */ public static abstract class Callback { /** - * Returns the latest collected GPS Measurements. + * Reports the latest collected GNSS Measurements. */ public void onGnssMeasurementsReceived(GnssMeasurementsEvent eventArgs) {} /** - * Returns the latest status of the GPS Measurements sub-system. + * Reports the latest status of the GNSS Measurements sub-system. */ public void onStatusChanged(@GnssMeasurementsStatus int status) {} } diff --git a/location/java/android/location/GnssNavigationMessage.java b/location/java/android/location/GnssNavigationMessage.java index faefd0bbe543c..c0608e005a5c9 100644 --- a/location/java/android/location/GnssNavigationMessage.java +++ b/location/java/android/location/GnssNavigationMessage.java @@ -34,58 +34,57 @@ public final class GnssNavigationMessage implements Parcelable { /** The type of the GPS Clock. */ @Retention(RetentionPolicy.SOURCE) - @IntDef({MESSAGE_TYPE_UNKNOWN, MESSAGE_TYPE_GPS_L1CA, MESSAGE_TYPE_GPS_L2CNAV, - MESSAGE_TYPE_GPS_L5CNAV, MESSAGE_TYPE_GPS_CNAV2, MESSAGE_TYPE_GLO_L1CA, MESSAGE_TYPE_BDS_D1, - MESSAGE_TYPE_BDS_D2, MESSAGE_TYPE_GAL_I, MESSAGE_TYPE_GAL_F}) + @IntDef({TYPE_UNKNOWN, TYPE_GPS_L1CA, TYPE_GPS_L2CNAV, TYPE_GPS_L5CNAV, TYPE_GPS_CNAV2, + TYPE_GLO_L1CA, TYPE_BDS_D1, TYPE_BDS_D2, TYPE_GAL_I, TYPE_GAL_F}) public @interface GnssNavigationMessageType {} // The following enumerations must be in sync with the values declared in gps.h /** Message type unknown */ - public static final short MESSAGE_TYPE_UNKNOWN = 0; + public static final int TYPE_UNKNOWN = 0; /** GPS L1 C/A message contained in the structure. */ - public static final short MESSAGE_TYPE_GPS_L1CA = 0x0101; + public static final int TYPE_GPS_L1CA = 0x0101; /** GPS L2-CNAV message contained in the structure. */ - public static final short MESSAGE_TYPE_GPS_L2CNAV = 0x0102; + public static final int TYPE_GPS_L2CNAV = 0x0102; /** GPS L5-CNAV message contained in the structure. */ - public static final short MESSAGE_TYPE_GPS_L5CNAV = 0x0103; + public static final int TYPE_GPS_L5CNAV = 0x0103; /** GPS CNAV-2 message contained in the structure. */ - public static final short MESSAGE_TYPE_GPS_CNAV2 = 0x0104; + public static final int TYPE_GPS_CNAV2 = 0x0104; /** Glonass L1 CA message contained in the structure. */ - public static final short MESSAGE_TYPE_GLO_L1CA = 0x0301; + public static final int TYPE_GLO_L1CA = 0x0301; /** Beidou D1 message contained in the structure. */ - public static final short MESSAGE_TYPE_BDS_D1 = 0x0501; + public static final int TYPE_BDS_D1 = 0x0501; /** Beidou D2 message contained in the structure. */ - public static final short MESSAGE_TYPE_BDS_D2 = 0x0502; + public static final int TYPE_BDS_D2 = 0x0502; /** Galileo I/NAV message contained in the structure. */ - public static final short MESSAGE_TYPE_GAL_I = 0x0601; + public static final int TYPE_GAL_I = 0x0601; /** Galileo F/NAV message contained in the structure. */ - public static final short MESSAGE_TYPE_GAL_F = 0x0602; + public static final int TYPE_GAL_F = 0x0602; /** * The Navigation Message Status is 'unknown'. */ - public static final short STATUS_UNKNOWN = 0; + public static final int STATUS_UNKNOWN = 0; /** * The Navigation Message was received without any parity error in its navigation words. */ - public static final short STATUS_PARITY_PASSED = (1<<0); + public static final int STATUS_PARITY_PASSED = (1<<0); /** * The Navigation Message was received with words that failed parity check, but the receiver was * able to correct those words. */ - public static final short STATUS_PARITY_REBUILT = (1<<1); + public static final int STATUS_PARITY_REBUILT = (1<<1); // End enumerations in sync with gps.h - private short mType; - private short mSvid; - private short mMessageId; - private short mSubmessageId; + private int mType; + private int mSvid; + private int mMessageId; + private int mSubmessageId; private byte[] mData; - private short mStatus; + private int mStatus; GnssNavigationMessage() { initialize(); @@ -114,14 +113,14 @@ public final class GnssNavigationMessage implements Parcelable { * Gets the type of the navigation message contained in the object. */ @GnssNavigationMessageType - public short getType() { + public int getType() { return mType; } /** * Sets the type of the navigation message. */ - public void setType(@GnssNavigationMessageType short value) { + public void setType(@GnssNavigationMessageType int value) { mType = value; } @@ -131,25 +130,25 @@ public final class GnssNavigationMessage implements Parcelable { */ private String getTypeString() { switch (mType) { - case MESSAGE_TYPE_UNKNOWN: + case TYPE_UNKNOWN: return "Unknown"; - case MESSAGE_TYPE_GPS_L1CA: + case TYPE_GPS_L1CA: return "GPS L1 C/A"; - case MESSAGE_TYPE_GPS_L2CNAV: + case TYPE_GPS_L2CNAV: return "GPS L2-CNAV"; - case MESSAGE_TYPE_GPS_L5CNAV: + case TYPE_GPS_L5CNAV: return "GPS L5-CNAV"; - case MESSAGE_TYPE_GPS_CNAV2: + case TYPE_GPS_CNAV2: return "GPS CNAV2"; - case MESSAGE_TYPE_GLO_L1CA: + case TYPE_GLO_L1CA: return "Glonass L1 C/A"; - case MESSAGE_TYPE_BDS_D1: + case TYPE_BDS_D1: return "Beidou D1"; - case MESSAGE_TYPE_BDS_D2: + case TYPE_BDS_D2: return "Beidou D2"; - case MESSAGE_TYPE_GAL_I: + case TYPE_GAL_I: return "Galileo I"; - case MESSAGE_TYPE_GAL_F: + case TYPE_GAL_F: return "Galileo F"; default: return ""; @@ -160,14 +159,14 @@ public final class GnssNavigationMessage implements Parcelable { * Gets the Pseudo-random number. * Range: [1, 32]. */ - public short getSvid() { + public int getSvid() { return mSvid; } /** * Sets the Pseud-random number. */ - public void setSvid(short value) { + public void setSvid(int value) { mSvid = value; } @@ -177,14 +176,14 @@ public final class GnssNavigationMessage implements Parcelable { * subframe 4 and 5, this value corresponds to the 'frame id' of the navigation message. * Subframe 1, 2, 3 does not contain a 'frame id' and this might be reported as -1. */ - public short getMessageId() { + public int getMessageId() { return mMessageId; } /** * Sets the Message Identifier. */ - public void setMessageId(short value) { + public void setMessageId(int value) { mMessageId = value; } @@ -194,14 +193,14 @@ public final class GnssNavigationMessage implements Parcelable { * (or frame) that is being transmitted. i.e. for L1 C/A the sub-message identifier corresponds * to the sub-frame Id of the navigation message. */ - public short getSubmessageId() { + public int getSubmessageId() { return mSubmessageId; } /** * Sets the Sub-message identifier. */ - public void setSubmessageId(short value) { + public void setSubmessageId(int value) { mSubmessageId = value; } @@ -228,14 +227,14 @@ public final class GnssNavigationMessage implements Parcelable { /** * Gets the Status of the navigation message contained in the object. */ - public short getStatus() { + public int getStatus() { return mStatus; } /** * Sets the status of the navigation message. */ - public void setStatus(short value) { + public void setStatus(int value) { mStatus = value; } @@ -262,10 +261,10 @@ public final class GnssNavigationMessage implements Parcelable { public GnssNavigationMessage createFromParcel(Parcel parcel) { GnssNavigationMessage navigationMessage = new GnssNavigationMessage(); - navigationMessage.setType((short) parcel.readInt()); - navigationMessage.setSvid((short) parcel.readInt()); - navigationMessage.setMessageId((short) parcel.readInt()); - navigationMessage.setSubmessageId((short) parcel.readInt()); + navigationMessage.setType(parcel.readInt()); + navigationMessage.setSvid(parcel.readInt()); + navigationMessage.setMessageId(parcel.readInt()); + navigationMessage.setSubmessageId(parcel.readInt()); int dataLength = parcel.readInt(); byte[] data = new byte[dataLength]; @@ -274,7 +273,7 @@ public final class GnssNavigationMessage implements Parcelable { if (parcel.dataAvail() >= Integer.SIZE) { int status = parcel.readInt(); - navigationMessage.setStatus((short) status); + navigationMessage.setStatus(status); } else { navigationMessage.setStatus(STATUS_UNKNOWN); } @@ -328,7 +327,7 @@ public final class GnssNavigationMessage implements Parcelable { } private void initialize() { - mType = MESSAGE_TYPE_UNKNOWN; + mType = TYPE_UNKNOWN; mSvid = 0; mMessageId = -1; mSubmessageId = -1; diff --git a/location/java/android/location/GnssNavigationMessageEvent.java b/location/java/android/location/GnssNavigationMessageEvent.java index 19c82e9175f27..0df730d3842a8 100644 --- a/location/java/android/location/GnssNavigationMessageEvent.java +++ b/location/java/android/location/GnssNavigationMessageEvent.java @@ -32,7 +32,7 @@ import java.security.InvalidParameterException; public final class GnssNavigationMessageEvent implements Parcelable { /** The status of GPS measurements event. */ @Retention(RetentionPolicy.SOURCE) - @IntDef({STATUS_NOT_SUPPORTED, STATUS_READY, STATUS_GPS_LOCATION_DISABLED}) + @IntDef({STATUS_NOT_SUPPORTED, STATUS_READY, STATUS_GNSS_LOCATION_DISABLED}) public @interface GnssNavigationMessageStatus {} /** @@ -50,7 +50,7 @@ public final class GnssNavigationMessageEvent implements Parcelable { /** * GPS provider or Location is disabled, updated will not be received until they are enabled. */ - public static final int STATUS_GPS_LOCATION_DISABLED = 2; + public static final int STATUS_GNSS_LOCATION_DISABLED = 2; private final GnssNavigationMessage mNavigationMessage; diff --git a/location/java/android/location/GnssStatus.java b/location/java/android/location/GnssStatus.java index 06ce30c978872..2a42fc62268cf 100644 --- a/location/java/android/location/GnssStatus.java +++ b/location/java/android/location/GnssStatus.java @@ -27,19 +27,19 @@ import java.lang.annotation.RetentionPolicy; */ public final class GnssStatus { /** Unknown constellation type. */ - public static final byte CONSTELLATION_UNKNOWN = 0; + public static final int CONSTELLATION_UNKNOWN = 0; /** Constellation type constant for GPS. */ - public static final byte CONSTELLATION_GPS = 1; + public static final int CONSTELLATION_GPS = 1; /** Constellation type constant for SBAS. */ - public static final byte CONSTELLATION_SBAS = 2; + public static final int CONSTELLATION_SBAS = 2; /** Constellation type constant for Glonass. */ - public static final byte CONSTELLATION_GLONASS = 3; + public static final int CONSTELLATION_GLONASS = 3; /** Constellation type constant for QZSS. */ - public static final byte CONSTELLATION_QZSS = 4; + public static final int CONSTELLATION_QZSS = 4; /** Constellation type constant for Beidou. */ - public static final byte CONSTELLATION_BEIDOU = 5; + public static final int CONSTELLATION_BEIDOU = 5; /** Constellation type constant for Galileo. */ - public static final byte CONSTELLATION_GALILEO = 6; + public static final int CONSTELLATION_GALILEO = 6; /** Constellation type. */ @Retention(RetentionPolicy.SOURCE) @@ -66,16 +66,16 @@ public final class GnssStatus { /* These package private values are modified by the LocationManager class */ /* package */ int[] mSvidWithFlags; - /* package */ float[] mSnrs; + /* package */ float[] mCn0DbHz; /* package */ float[] mElevations; /* package */ float[] mAzimuths; /* package */ int mSvCount; - GnssStatus(int svCount, int[] svidWithFlags, float[] snrs, float[] elevations, + GnssStatus(int svCount, int[] svidWithFlags, float[] cn0s, float[] elevations, float[] azimuths) { mSvCount = svCount; mSvidWithFlags = svidWithFlags; - mSnrs = snrs; + mCn0DbHz = cn0s; mElevations = elevations; mAzimuths = azimuths; } @@ -92,8 +92,8 @@ public final class GnssStatus { * @param satIndex the index of the satellite in the list. */ @ConstellationType - public byte getConstellationType(int satIndex) { - return (byte) ((mSvidWithFlags[satIndex] >> CONSTELLATION_TYPE_SHIFT_WIDTH) + public int getConstellationType(int satIndex) { + return ((mSvidWithFlags[satIndex] >> CONSTELLATION_TYPE_SHIFT_WIDTH) & CONSTELLATION_TYPE_MASK); } @@ -109,15 +109,15 @@ public final class GnssStatus { * Retrieves the signal-noise ration of the satellite at the specified position. * @param satIndex the index of the satellite in the list. */ - public float getSnr(int satIndex) { - return mSnrs[satIndex]; + public float getCn0DbHz(int satIndex) { + return mCn0DbHz[satIndex]; } /** * Retrieves the elevation of the satellite at the specified position. * @param satIndex the index of the satellite in the list. */ - public float getElevation(int satIndex) { + public float getElevationDegrees(int satIndex) { return 0f; } @@ -125,7 +125,7 @@ public final class GnssStatus { * Retrieves the azimuth the satellite at the specified position. * @param satIndex the index of the satellite in the list. */ - public float getAzimuth(int satIndex) { + public float getAzimuthDegrees(int satIndex) { return mAzimuths[satIndex]; } diff --git a/location/java/android/location/GnssStatusCallback.java b/location/java/android/location/GnssStatusCallback.java index b86171b35eefc..0d2955adb3c0e 100644 --- a/location/java/android/location/GnssStatusCallback.java +++ b/location/java/android/location/GnssStatusCallback.java @@ -32,13 +32,13 @@ public abstract class GnssStatusCallback { /** * Called when the GNSS system has received its first fix since starting. - * @param ttff the time from start to first fix. + * @param ttffMillis the time from start to first fix in milliseconds. */ - public void onFirstFix(int ttff) {} + public void onFirstFix(int ttffMillis) {} /** * Called periodically to report GNSS satellite status. * @param status the current status of all satellites. */ public void onSatelliteStatusChanged(GnssStatus status) {} -} \ No newline at end of file +} diff --git a/location/java/android/location/GpsStatus.java b/location/java/android/location/GpsStatus.java index 7b3dd7de081fa..bc518f90d6cae 100644 --- a/location/java/android/location/GpsStatus.java +++ b/location/java/android/location/GpsStatus.java @@ -138,7 +138,7 @@ public final class GpsStatus { // For API-compat a public ctor() is not available GpsStatus() {} - private void setStatus(int svCount, int[] svidWithFlags, float[] snrs, float[] elevations, + private void setStatus(int svCount, int[] svidWithFlags, float[] cn0s, float[] elevations, float[] azimuths) { clearSatellites(); for (int i = 0; i < svCount; i++) { @@ -158,7 +158,7 @@ public final class GpsStatus { } satellite.mValid = true; - satellite.mSnr = snrs[i]; + satellite.mSnr = cn0s[i]; satellite.mElevation = elevations[i]; satellite.mAzimuth = azimuths[i]; satellite.mHasEphemeris = @@ -179,7 +179,7 @@ public final class GpsStatus { */ void setStatus(GnssStatus status, int timeToFirstFix) { mTimeToFirstFix = timeToFirstFix; - setStatus(status.mSvCount, status.mSvidWithFlags, status.mSnrs, status.mElevations, + setStatus(status.mSvCount, status.mSvidWithFlags, status.mCn0DbHz, status.mElevations, status.mAzimuths); } diff --git a/location/java/android/location/IGnssStatusListener.aidl b/location/java/android/location/IGnssStatusListener.aidl index 8c7d06eee5e62..d84614f1b8943 100644 --- a/location/java/android/location/IGnssStatusListener.aidl +++ b/location/java/android/location/IGnssStatusListener.aidl @@ -26,7 +26,7 @@ oneway interface IGnssStatusListener void onGnssStarted(); void onGnssStopped(); void onFirstFix(int ttff); - void onSvStatusChanged(int svCount, in int[] svidWithFlags, in float[] snrs, + void onSvStatusChanged(int svCount, in int[] svidWithFlags, in float[] cn0s, in float[] elevations, in float[] azimuths); void onNmeaReceived(long timestamp, String nmea); } diff --git a/location/java/android/location/LocationManager.java b/location/java/android/location/LocationManager.java index 3cd47e73d3407..28db09953a2d8 100644 --- a/location/java/android/location/LocationManager.java +++ b/location/java/android/location/LocationManager.java @@ -1554,9 +1554,9 @@ public class LocationManager { @Override public void onSvStatusChanged(int svCount, int[] prnWithFlags, - float[] snrs, float[] elevations, float[] azimuths) { + float[] cn0s, float[] elevations, float[] azimuths) { if (mGnssCallback != null) { - mGnssStatus = new GnssStatus(svCount, prnWithFlags, snrs, elevations, azimuths); + mGnssStatus = new GnssStatus(svCount, prnWithFlags, cn0s, elevations, azimuths); Message msg = Message.obtain(); msg.what = GpsStatus.GPS_EVENT_SATELLITE_STATUS; @@ -1805,7 +1805,7 @@ public class LocationManager { /** * No-op method to keep backward-compatibility. - * Don't use it. Use {@link #registerGnssMeasurementCallback} instead. + * Don't use it. Use {@link #registerGnssMeasurementsCallback} instead. * @hide * @deprecated */ @@ -1822,8 +1822,8 @@ public class LocationManager { * @return {@code true} if the callback was added successfully, {@code false} otherwise. */ @RequiresPermission(ACCESS_FINE_LOCATION) - public boolean registerGnssMeasurementCallback(GnssMeasurementsEvent.Callback callback) { - return registerGnssMeasurementCallback(callback, null); + public boolean registerGnssMeasurementsCallback(GnssMeasurementsEvent.Callback callback) { + return registerGnssMeasurementsCallback(callback, null); } /** @@ -1834,14 +1834,14 @@ public class LocationManager { * @return {@code true} if the callback was added successfully, {@code false} otherwise. */ @RequiresPermission(ACCESS_FINE_LOCATION) - public boolean registerGnssMeasurementCallback(GnssMeasurementsEvent.Callback callback, + public boolean registerGnssMeasurementsCallback(GnssMeasurementsEvent.Callback callback, Handler handler) { return mGnssMeasurementCallbackTransport.add(callback, handler); } /** * No-op method to keep backward-compatibility. - * Don't use it. Use {@link #unregisterGnssMeasurementCallback} instead. + * Don't use it. Use {@link #unregisterGnssMeasurementsCallback} instead. * @hide * @deprecated */ @@ -1855,7 +1855,7 @@ public class LocationManager { * * @param callback a {@link GnssMeasurementsEvent.Callback} object to remove. */ - public void unregisterGnssMeasurementCallback(GnssMeasurementsEvent.Callback callback) { + public void unregisterGnssMeasurementsCallback(GnssMeasurementsEvent.Callback callback) { mGnssMeasurementCallbackTransport.remove(callback); } diff --git a/location/tests/locationtests/src/android/location/GpsStatusTest.java b/location/tests/locationtests/src/android/location/GpsStatusTest.java index 4808fafa272e9..316e88d297092 100644 --- a/location/tests/locationtests/src/android/location/GpsStatusTest.java +++ b/location/tests/locationtests/src/android/location/GpsStatusTest.java @@ -40,7 +40,7 @@ public class GpsStatusTest extends TestCase { private GpsStatus mStatus; private int mCount; private int[] mPrns; - private float[] mSnrs; + private float[] mCn0s; private float[] mElevations; private float[] mAzimuth; private int mEphemerisMask; @@ -179,7 +179,7 @@ public class GpsStatusTest extends TestCase { private void verifySatellites(GpsStatus status) { verifySatelliteCount(status, mCount); - verifySatellites(status, mCount, mPrns, mSnrs, mElevations, mAzimuth, mEphemerisMask, + verifySatellites(status, mCount, mPrns, mCn0s, mElevations, mAzimuth, mEphemerisMask, mAlmanacMask, mUsedInFixMask); } @@ -187,7 +187,7 @@ public class GpsStatusTest extends TestCase { GpsStatus status, int count, int[] prns, - float[] snrs, + float[] cn0s, float[] elevations, float[] azimuth, int ephemerisMask, @@ -197,7 +197,7 @@ public class GpsStatusTest extends TestCase { int prn = prns[i]; GpsSatellite satellite = getSatellite(status, prn); assertNotNull(getSatelliteAssertInfo(i, prn, "non-null"), satellite); - assertEquals(getSatelliteAssertInfo(i, prn, "Snr"), snrs[i], satellite.getSnr()); + assertEquals(getSatelliteAssertInfo(i, prn, "Snr"), cn0s[i], satellite.getSnr()); assertEquals( getSatelliteAssertInfo(i, prn, "Elevation"), elevations[i], @@ -247,7 +247,7 @@ public class GpsStatusTest extends TestCase { } private void setSatellites(GpsStatus status) throws Exception { - set(status, mCount, mPrns, mSnrs, mElevations, mAzimuth, mEphemerisMask, mAlmanacMask, + set(status, mCount, mPrns, mCn0s, mElevations, mAzimuth, mEphemerisMask, mAlmanacMask, mUsedInFixMask); } @@ -255,7 +255,7 @@ public class GpsStatusTest extends TestCase { GpsStatus status, int count, int[] prns, - float[] snrs, + float[] cn0s, float[] elevations, float[] azimuth, int ephemerisMask, @@ -279,7 +279,7 @@ public class GpsStatusTest extends TestCase { status, count, prns, - snrs, + cn0s, elevations, azimuth, ephemerisMask, @@ -333,7 +333,7 @@ public class GpsStatusTest extends TestCase { if (!reusePrns) { mPrns = generateIntArray(count); } - mSnrs = generateFloatArray(count); + mCn0s = generateFloatArray(count); mElevations = generateFloatArray(count); mAzimuth = generateFloatArray(count); mEphemerisMask = generateMask(mPrns); diff --git a/services/core/java/com/android/server/location/GnssLocationProvider.java b/services/core/java/com/android/server/location/GnssLocationProvider.java index ed68abe4a9a8f..e08fad4895ab7 100644 --- a/services/core/java/com/android/server/location/GnssLocationProvider.java +++ b/services/core/java/com/android/server/location/GnssLocationProvider.java @@ -1559,11 +1559,11 @@ public class GnssLocationProvider implements LocationProviderInterface { * called from native code to update SV info */ private void reportSvStatus() { - int svCount = native_read_sv_status(mSvidWithFlags, mSnrs, mSvElevations, mSvAzimuths); + int svCount = native_read_sv_status(mSvidWithFlags, mCn0s, mSvElevations, mSvAzimuths); mListenerHelper.onSvStatusChanged( svCount, mSvidWithFlags, - mSnrs, + mCn0s, mSvElevations, mSvAzimuths); @@ -1578,7 +1578,7 @@ public class GnssLocationProvider implements LocationProviderInterface { } if (VERBOSE) { Log.v(TAG, "svid: " + (mSvidWithFlags[i] >> GnssStatus.SVID_SHIFT_WIDTH) + - " snr: " + mSnrs[i]/10 + + " cn0: " + mCn0s[i]/10 + " elev: " + mSvElevations[i] + " azimuth: " + mSvAzimuths[i] + ((mSvidWithFlags[i] & GnssStatus.GNSS_SV_FLAGS_HAS_EPHEMERIS_DATA) == 0 @@ -2402,7 +2402,7 @@ public class GnssLocationProvider implements LocationProviderInterface { // preallocated arrays, to avoid memory allocation in reportStatus() private int mSvidWithFlags[] = new int[MAX_SVS]; - private float mSnrs[] = new float[MAX_SVS]; + private float mCn0s[] = new float[MAX_SVS]; private float mSvElevations[] = new float[MAX_SVS]; private float mSvAzimuths[] = new float[MAX_SVS]; private int mSvCount; @@ -2424,7 +2424,7 @@ public class GnssLocationProvider implements LocationProviderInterface { private native void native_delete_aiding_data(int flags); // returns number of SVs // mask[0] is ephemeris mask and mask[1] is almanac mask - private native int native_read_sv_status(int[] prnWithFlags, float[] snrs, float[] elevations, + private native int native_read_sv_status(int[] prnWithFlags, float[] cn0s, float[] elevations, float[] azimuths); private native int native_read_nmea(byte[] buffer, int bufferSize); private native void native_inject_location(double latitude, double longitude, float accuracy); diff --git a/services/core/java/com/android/server/location/GnssMeasurementsProvider.java b/services/core/java/com/android/server/location/GnssMeasurementsProvider.java index d9e8e91989bbc..734a8d4749761 100644 --- a/services/core/java/com/android/server/location/GnssMeasurementsProvider.java +++ b/services/core/java/com/android/server/location/GnssMeasurementsProvider.java @@ -72,7 +72,7 @@ public abstract class GnssMeasurementsProvider status = GnssMeasurementsEvent.STATUS_NOT_SUPPORTED; break; case RESULT_GPS_LOCATION_DISABLED: - status = GnssMeasurementsEvent.STATUS_GPS_LOCATION_DISABLED; + status = GnssMeasurementsEvent.STATUS_GNSS_LOCATION_DISABLED; break; case RESULT_UNKNOWN: return null; diff --git a/services/core/java/com/android/server/location/GnssNavigationMessageProvider.java b/services/core/java/com/android/server/location/GnssNavigationMessageProvider.java index 57bce4b0fbd7a..fdef31f59c216 100644 --- a/services/core/java/com/android/server/location/GnssNavigationMessageProvider.java +++ b/services/core/java/com/android/server/location/GnssNavigationMessageProvider.java @@ -73,7 +73,8 @@ public abstract class GnssNavigationMessageProvider status = GnssNavigationMessageEvent.STATUS_NOT_SUPPORTED; break; case RESULT_GPS_LOCATION_DISABLED: - status = GnssNavigationMessageEvent.STATUS_GPS_LOCATION_DISABLED; + status = GnssNavigationMessageEvent + .STATUS_GNSS_LOCATION_DISABLED; break; case RESULT_UNKNOWN: return null; diff --git a/services/core/java/com/android/server/location/GnssStatusListenerHelper.java b/services/core/java/com/android/server/location/GnssStatusListenerHelper.java index 0b3111cd726c9..d471e45eacdc5 100644 --- a/services/core/java/com/android/server/location/GnssStatusListenerHelper.java +++ b/services/core/java/com/android/server/location/GnssStatusListenerHelper.java @@ -75,7 +75,7 @@ abstract class GnssStatusListenerHelper extends RemoteListenerHelpersv_list[i].snr; + info.c_n0_dbhz = sv_status->sv_list[i].snr; info.elevation = sv_status->sv_list[i].elevation; info.azimuth = sv_status->sv_list[i].azimuth; info.flags = GNSS_SV_FLAGS_NONE; @@ -698,12 +698,12 @@ static void android_location_GnssLocationProvider_delete_aiding_data(JNIEnv* /* } static jint android_location_GnssLocationProvider_read_sv_status(JNIEnv* env, jobject /* obj */, - jintArray svidWithFlagArray, jfloatArray snrArray, jfloatArray elevArray, + jintArray svidWithFlagArray, jfloatArray cn0Array, jfloatArray elevArray, jfloatArray azumArray) { // this should only be called from within a call to reportSvStatus jint* svidWithFlags = env->GetIntArrayElements(svidWithFlagArray, 0); - jfloat* snrs = env->GetFloatArrayElements(snrArray, 0); + jfloat* cn0s = env->GetFloatArrayElements(cn0Array, 0); jfloat* elev = env->GetFloatArrayElements(elevArray, 0); jfloat* azim = env->GetFloatArrayElements(azumArray, 0); @@ -713,13 +713,13 @@ static jint android_location_GnssLocationProvider_read_sv_status(JNIEnv* env, jo svidWithFlags[i] = (info.svid << SVID_SHIFT_WIDTH) | (info.constellation << CONSTELLATION_TYPE_SHIFT_WIDTH) | info.flags; - snrs[i] = info.snr; + cn0s[i] = info.c_n0_dbhz; elev[i] = info.elevation; azim[i] = info.azimuth; } env->ReleaseIntArrayElements(svidWithFlagArray, svidWithFlags, 0); - env->ReleaseFloatArrayElements(snrArray, snrs, 0); + env->ReleaseFloatArrayElements(cn0Array, cn0s, 0); env->ReleaseFloatArrayElements(elevArray, elev, 0); env->ReleaseFloatArrayElements(azumArray, azim, 0); return (jint) sGnssSvListSize; @@ -1095,7 +1095,9 @@ static jobject translate_gps_clock(JNIEnv* env, GpsClock* clock) { JavaObject object(env, "android/location/GnssClock"); GpsClockFlags flags = clock->flags; - SET_IF(GNSS_CLOCK_HAS_LEAP_SECOND, LeapSecond, clock->leap_second); + SET_IF(GNSS_CLOCK_HAS_LEAP_SECOND, + LeapSecond, + static_cast(clock->leap_second)); // GnssClock only supports the more effective HW_CLOCK type, so type // handling and documentation complexity has been removed. To convert the @@ -1122,18 +1124,18 @@ static jobject translate_gps_clock(JNIEnv* env, GpsClock* clock) { break; } - SET(TimeInNs, clock->time_ns); + SET(TimeNanos, clock->time_ns); SET_IF(GNSS_CLOCK_HAS_TIME_UNCERTAINTY, - TimeUncertaintyInNs, + TimeUncertaintyNanos, clock->time_uncertainty_ns); - SET_IF(GNSS_CLOCK_HAS_FULL_BIAS, FullBiasInNs, clock->full_bias_ns); - SET_IF(GNSS_CLOCK_HAS_BIAS, BiasInNs, clock->bias_ns); + SET_IF(GNSS_CLOCK_HAS_FULL_BIAS, FullBiasNanos, clock->full_bias_ns); + SET_IF(GNSS_CLOCK_HAS_BIAS, BiasNanos, clock->bias_ns); SET_IF(GNSS_CLOCK_HAS_BIAS_UNCERTAINTY, - BiasUncertaintyInNs, + BiasUncertaintyNanos, clock->bias_uncertainty_ns); - SET_IF(GNSS_CLOCK_HAS_DRIFT, DriftInNsPerSec, clock->drift_nsps); + SET_IF(GNSS_CLOCK_HAS_DRIFT, DriftNanosPerSecond, clock->drift_nsps); SET_IF(GNSS_CLOCK_HAS_DRIFT_UNCERTAINTY, - DriftUncertaintyInNsPerSec, + DriftUncertaintyNanosPerSecond, clock->drift_uncertainty_nsps); return object.get(); @@ -1143,20 +1145,21 @@ static jobject translate_gnss_clock(JNIEnv* env, GnssClock* clock) { JavaObject object(env, "android/location/GnssClock"); GpsClockFlags flags = clock->flags; - SET_IF(GNSS_CLOCK_HAS_LEAP_SECOND, LeapSecond, clock->leap_second); - SET(Type, static_cast(GPS_CLOCK_TYPE_LOCAL_HW_TIME)); - SET(TimeInNs, clock->time_ns); + SET_IF(GNSS_CLOCK_HAS_LEAP_SECOND, + LeapSecond, + static_cast(clock->leap_second)); + SET(TimeNanos, clock->time_ns); SET_IF(GNSS_CLOCK_HAS_TIME_UNCERTAINTY, - TimeUncertaintyInNs, + TimeUncertaintyNanos, clock->time_uncertainty_ns); - SET_IF(GNSS_CLOCK_HAS_FULL_BIAS, FullBiasInNs, clock->full_bias_ns); - SET_IF(GNSS_CLOCK_HAS_BIAS, BiasInNs, clock->bias_ns); + SET_IF(GNSS_CLOCK_HAS_FULL_BIAS, FullBiasNanos, clock->full_bias_ns); + SET_IF(GNSS_CLOCK_HAS_BIAS, BiasNanos, clock->bias_ns); SET_IF(GNSS_CLOCK_HAS_BIAS_UNCERTAINTY, - BiasUncertaintyInNs, + BiasUncertaintyNanos, clock->bias_uncertainty_ns); - SET_IF(GNSS_CLOCK_HAS_DRIFT, DriftInNsPerSec, clock->drift_nsps); + SET_IF(GNSS_CLOCK_HAS_DRIFT, DriftNanosPerSecond, clock->drift_nsps); SET_IF(GNSS_CLOCK_HAS_DRIFT_UNCERTAINTY, - DriftUncertaintyInNsPerSec, + DriftUncertaintyNanosPerSecond, clock->drift_uncertainty_nsps); SET(HardwareClockDiscontinuityCount, clock->hw_clock_discontinuity_count); @@ -1168,41 +1171,30 @@ static jobject translate_gps_measurement(JNIEnv* env, GpsMeasurement* measurement) { JavaObject object(env, "android/location/GnssMeasurement"); GpsMeasurementFlags flags = measurement->flags; - SET(Svid, static_cast(measurement->prn)); + SET(Svid, static_cast(measurement->prn)); if (measurement->prn >= 1 || measurement->prn <= 32) { - SET(ConstellationType, static_cast(GNSS_CONSTELLATION_GPS)); + SET(ConstellationType, static_cast(GNSS_CONSTELLATION_GPS)); } else { ALOGD("Unknown constellation type with Svid = %d.", measurement->prn); SET(ConstellationType, - static_cast(GNSS_CONSTELLATION_UNKNOWN)); + static_cast(GNSS_CONSTELLATION_UNKNOWN)); } - SET(TimeOffsetInNs, measurement->time_offset_ns); - SET(State, measurement->state); - SET(ReceivedSvTimeInNs, measurement->received_gps_tow_ns); - SET(ReceivedSvTimeUncertaintyInNs, + SET(TimeOffsetNanos, measurement->time_offset_ns); + SET(State, static_cast(measurement->state)); + SET(ReceivedSvTimeNanos, measurement->received_gps_tow_ns); + SET(ReceivedSvTimeUncertaintyNanos, measurement->received_gps_tow_uncertainty_ns); - SET(Cn0InDbHz, measurement->c_n0_dbhz); - SET(PseudorangeRateInMetersPerSec, measurement->pseudorange_rate_mps); - SET(PseudorangeRateUncertaintyInMetersPerSec, + SET(Cn0DbHz, measurement->c_n0_dbhz); + SET(PseudorangeRateMetersPerSecond, measurement->pseudorange_rate_mps); + SET(PseudorangeRateUncertaintyMetersPerSecond, measurement->pseudorange_rate_uncertainty_mps); - SET(AccumulatedDeltaRangeState, measurement->accumulated_delta_range_state); - SET(AccumulatedDeltaRangeInMeters, measurement->accumulated_delta_range_m); - SET(AccumulatedDeltaRangeUncertaintyInMeters, + SET(AccumulatedDeltaRangeState, + static_cast(measurement->accumulated_delta_range_state)); + SET(AccumulatedDeltaRangeMeters, measurement->accumulated_delta_range_m); + SET(AccumulatedDeltaRangeUncertaintyMeters, measurement->accumulated_delta_range_uncertainty_m); - SET_IF(GNSS_MEASUREMENT_HAS_PSEUDORANGE, - PseudorangeInMeters, - measurement->pseudorange_m); - SET_IF(GNSS_MEASUREMENT_HAS_PSEUDORANGE_UNCERTAINTY, - PseudorangeUncertaintyInMeters, - measurement->pseudorange_uncertainty_m); - SET_IF(GNSS_MEASUREMENT_HAS_CODE_PHASE, - CodePhaseInChips, - measurement->code_phase_chips); - SET_IF(GNSS_MEASUREMENT_HAS_CODE_PHASE_UNCERTAINTY, - CodePhaseUncertaintyInChips, - measurement->code_phase_uncertainty_chips); SET_IF(GNSS_MEASUREMENT_HAS_CARRIER_FREQUENCY, - CarrierFrequencyInHz, + CarrierFrequencyHz, measurement->carrier_frequency_hz); SET_IF(GNSS_MEASUREMENT_HAS_CARRIER_CYCLES, CarrierCycles, @@ -1213,33 +1205,8 @@ static jobject translate_gps_measurement(JNIEnv* env, SET_IF(GNSS_MEASUREMENT_HAS_CARRIER_PHASE_UNCERTAINTY, CarrierPhaseUncertainty, measurement->carrier_phase_uncertainty); - SET(LossOfLock, measurement->loss_of_lock); - SET_IF(GNSS_MEASUREMENT_HAS_BIT_NUMBER, BitNumber, measurement->bit_number); - SET_IF(GNSS_MEASUREMENT_HAS_TIME_FROM_LAST_BIT, - TimeFromLastBitInMs, - measurement->time_from_last_bit_ms); - SET_IF(GNSS_MEASUREMENT_HAS_DOPPLER_SHIFT, - DopplerShiftInHz, - measurement->doppler_shift_hz); - SET_IF(GNSS_MEASUREMENT_HAS_DOPPLER_SHIFT_UNCERTAINTY, - DopplerShiftUncertaintyInHz, - measurement->doppler_shift_uncertainty_hz); SET(MultipathIndicator, measurement->multipath_indicator); SET_IF(GNSS_MEASUREMENT_HAS_SNR, SnrInDb, measurement->snr_db); - SET_IF(GNSS_MEASUREMENT_HAS_ELEVATION, - ElevationInDeg, - measurement->elevation_deg); - SET_IF(GNSS_MEASUREMENT_HAS_ELEVATION_UNCERTAINTY, - ElevationUncertaintyInDeg, - measurement->elevation_uncertainty_deg); - SET_IF(GNSS_MEASUREMENT_HAS_AZIMUTH, - AzimuthInDeg, - measurement->azimuth_deg); - SET_IF(GNSS_MEASUREMENT_HAS_AZIMUTH_UNCERTAINTY, - AzimuthUncertaintyInDeg, - measurement->azimuth_uncertainty_deg); - SET(UsedInFix, - (flags & GNSS_MEASUREMENT_HAS_USED_IN_FIX) && measurement->used_in_fix); return object.get(); } @@ -1250,34 +1217,23 @@ static jobject translate_gnss_measurement(JNIEnv* env, GpsMeasurementFlags flags = measurement->flags; SET(Svid, measurement->svid); - SET(ConstellationType, measurement->constellation); - SET(TimeOffsetInNs, measurement->time_offset_ns); - SET(State, measurement->state); - SET(ReceivedSvTimeInNs, measurement->received_sv_time_in_ns); - SET(ReceivedSvTimeUncertaintyInNs, + SET(ConstellationType, static_cast(measurement->constellation)); + SET(TimeOffsetNanos, measurement->time_offset_ns); + SET(State, static_cast(measurement->state)); + SET(ReceivedSvTimeNanos, measurement->received_sv_time_in_ns); + SET(ReceivedSvTimeUncertaintyNanos, measurement->received_sv_time_uncertainty_in_ns); - SET(Cn0InDbHz, measurement->c_n0_dbhz); - SET(PseudorangeRateInMetersPerSec, measurement->pseudorange_rate_mps); - SET(PseudorangeRateUncertaintyInMetersPerSec, + SET(Cn0DbHz, measurement->c_n0_dbhz); + SET(PseudorangeRateMetersPerSecond, measurement->pseudorange_rate_mps); + SET(PseudorangeRateUncertaintyMetersPerSecond, measurement->pseudorange_rate_uncertainty_mps); - SET(AccumulatedDeltaRangeState, measurement->accumulated_delta_range_state); - SET(AccumulatedDeltaRangeInMeters, measurement->accumulated_delta_range_m); - SET(AccumulatedDeltaRangeUncertaintyInMeters, + SET(AccumulatedDeltaRangeState, + static_cast(measurement->accumulated_delta_range_state)); + SET(AccumulatedDeltaRangeMeters, measurement->accumulated_delta_range_m); + SET(AccumulatedDeltaRangeUncertaintyMeters, measurement->accumulated_delta_range_uncertainty_m); - SET_IF(GNSS_MEASUREMENT_HAS_PSEUDORANGE, - PseudorangeInMeters, - measurement->pseudorange_m); - SET_IF(GNSS_MEASUREMENT_HAS_PSEUDORANGE_UNCERTAINTY, - PseudorangeUncertaintyInMeters, - measurement->pseudorange_uncertainty_m); - SET_IF(GNSS_MEASUREMENT_HAS_CODE_PHASE, - CodePhaseInChips, - measurement->code_phase_chips); - SET_IF(GNSS_MEASUREMENT_HAS_CODE_PHASE_UNCERTAINTY, - CodePhaseUncertaintyInChips, - measurement->code_phase_uncertainty_chips); SET_IF(GNSS_MEASUREMENT_HAS_CARRIER_FREQUENCY, - CarrierFrequencyInHz, + CarrierFrequencyHz, measurement->carrier_frequency_hz); SET_IF(GNSS_MEASUREMENT_HAS_CARRIER_CYCLES, CarrierCycles, @@ -1288,32 +1244,8 @@ static jobject translate_gnss_measurement(JNIEnv* env, SET_IF(GNSS_MEASUREMENT_HAS_CARRIER_PHASE_UNCERTAINTY, CarrierPhaseUncertainty, measurement->carrier_phase_uncertainty); - SET_IF(GNSS_MEASUREMENT_HAS_BIT_NUMBER, BitNumber, measurement->bit_number); - SET_IF(GNSS_MEASUREMENT_HAS_TIME_FROM_LAST_BIT, - TimeFromLastBitInMs, - measurement->time_from_last_bit_ms); - SET_IF(GNSS_MEASUREMENT_HAS_DOPPLER_SHIFT, - DopplerShiftInHz, - measurement->doppler_shift_hz); - SET_IF(GNSS_MEASUREMENT_HAS_DOPPLER_SHIFT_UNCERTAINTY, - DopplerShiftUncertaintyInHz, - measurement->doppler_shift_uncertainty_hz); SET(MultipathIndicator, measurement->multipath_indicator); SET_IF(GNSS_MEASUREMENT_HAS_SNR, SnrInDb, measurement->snr_db); - SET_IF(GNSS_MEASUREMENT_HAS_ELEVATION, - ElevationInDeg, - measurement->elevation_deg); - SET_IF(GNSS_MEASUREMENT_HAS_ELEVATION_UNCERTAINTY, - ElevationUncertaintyInDeg, - measurement->elevation_uncertainty_deg); - SET_IF(GNSS_MEASUREMENT_HAS_AZIMUTH, - AzimuthInDeg, - measurement->azimuth_deg); - SET_IF(GNSS_MEASUREMENT_HAS_AZIMUTH_UNCERTAINTY, - AzimuthUncertaintyInDeg, - measurement->azimuth_uncertainty_deg); - SET(UsedInFix, - (flags & GNSS_MEASUREMENT_HAS_USED_IN_FIX) && measurement->used_in_fix); return object.get(); } @@ -1493,21 +1425,22 @@ static jobject translate_gps_navigation_message(JNIEnv* env, GpsNavigationMessag return NULL; } JavaObject object(env, "android/location/GnssNavigationMessage"); - SET(Svid, static_cast(message->prn)); + SET(Svid, static_cast(message->prn)); if (message->prn >=1 && message->prn <= 32) { - SET(ConstellationType, static_cast(GNSS_CONSTELLATION_GPS)); + SET(ConstellationType, static_cast(GNSS_CONSTELLATION_GPS)); // Legacy driver doesn't set the higher byte to constellation type // correctly. Set the higher byte to 'GPS'. - SET(Type, static_cast(message->type | 0x0100)); + SET(Type, static_cast(message->type | 0x0100)); } else { ALOGD("Unknown constellation type with Svid = %d.", message->prn); SET(ConstellationType, - static_cast(GNSS_CONSTELLATION_UNKNOWN)); - SET(Type, static_cast(GNSS_NAVIGATION_MESSAGE_TYPE_UNKNOWN)); + static_cast(GNSS_CONSTELLATION_UNKNOWN)); + SET(Type, static_cast(GNSS_NAVIGATION_MESSAGE_TYPE_UNKNOWN)); } - SET(MessageId, message->message_id); - SET(SubmessageId, message->submessage_id); + SET(MessageId, static_cast(message->message_id)); + SET(SubmessageId, static_cast(message->submessage_id)); object.callSetter("setData", data, dataLength); + SET(Status, static_cast(message->status)); return object.get(); } @@ -1520,11 +1453,12 @@ static jobject translate_gnss_navigation_message( return NULL; } JavaObject object(env, "android/location/GnssNavigationMessage"); - SET(Type, message->type); - SET(Svid, message->svid); - SET(MessageId, message->message_id); - SET(SubmessageId, message->submessage_id); + SET(Type, static_cast(message->type)); + SET(Svid, static_cast(message->svid)); + SET(MessageId, static_cast(message->message_id)); + SET(SubmessageId, static_cast(message->submessage_id)); object.callSetter("setData", data, dataLength); + SET(Status, static_cast(message->status)); return object.get(); }