Update GnssAssistance classes
- Add missing fields for Glonass ephemeris & almanac.
- Define health type for Galileo & Glonass.
Bug: 358381377
Test: atest CtsLocationNoneTestCases
Flag: android.location.flags.gnss_assistance_interface
Change-Id: I3ba66a25a4e6ccb641852e6e31fb9318b4047a04
diff --git a/location/api/system-current.txt b/location/api/system-current.txt
index ba42241..0c2f3ad 100644
--- a/location/api/system-current.txt
+++ b/location/api/system-current.txt
@@ -35,11 +35,11 @@
@FlaggedApi("android.location.flags.gnss_assistance_interface") public final class BeidouSatelliteEphemeris implements android.os.Parcelable {
method public int describeContents();
- method @IntRange(from=1, to=63) public int getPrn();
method @NonNull public android.location.BeidouSatelliteEphemeris.BeidouSatelliteClockModel getSatelliteClockModel();
method @NonNull public android.location.BeidouSatelliteEphemeris.BeidouSatelliteEphemerisTime getSatelliteEphemerisTime();
method @NonNull public android.location.BeidouSatelliteEphemeris.BeidouSatelliteHealth getSatelliteHealth();
method @NonNull public android.location.KeplerianOrbitModel getSatelliteOrbitModel();
+ method @IntRange(from=1, to=63) public int getSvid();
method public void writeToParcel(@NonNull android.os.Parcel, int);
field @NonNull public static final android.os.Parcelable.Creator<android.location.BeidouSatelliteEphemeris> CREATOR;
}
@@ -104,11 +104,11 @@
public static final class BeidouSatelliteEphemeris.Builder {
ctor public BeidouSatelliteEphemeris.Builder();
method @NonNull public android.location.BeidouSatelliteEphemeris build();
- method @NonNull public android.location.BeidouSatelliteEphemeris.Builder setPrn(int);
method @NonNull public android.location.BeidouSatelliteEphemeris.Builder setSatelliteClockModel(@NonNull android.location.BeidouSatelliteEphemeris.BeidouSatelliteClockModel);
method @NonNull public android.location.BeidouSatelliteEphemeris.Builder setSatelliteEphemerisTime(@NonNull android.location.BeidouSatelliteEphemeris.BeidouSatelliteEphemerisTime);
method @NonNull public android.location.BeidouSatelliteEphemeris.Builder setSatelliteHealth(@NonNull android.location.BeidouSatelliteEphemeris.BeidouSatelliteHealth);
method @NonNull public android.location.BeidouSatelliteEphemeris.Builder setSatelliteOrbitModel(@NonNull android.location.KeplerianOrbitModel);
+ method @NonNull public android.location.BeidouSatelliteEphemeris.Builder setSvid(int);
}
public final class CorrelationVector implements android.os.Parcelable {
@@ -195,10 +195,10 @@
@FlaggedApi("android.location.flags.gnss_assistance_interface") public final class GalileoSatelliteEphemeris implements android.os.Parcelable {
method public int describeContents();
method @NonNull public java.util.List<android.location.GalileoSatelliteEphemeris.GalileoSatelliteClockModel> getSatelliteClockModels();
- method @IntRange(from=1, to=36) public int getSatelliteCodeNumber();
method @NonNull public android.location.SatelliteEphemerisTime getSatelliteEphemerisTime();
method @NonNull public android.location.GalileoSatelliteEphemeris.GalileoSvHealth getSatelliteHealth();
method @NonNull public android.location.KeplerianOrbitModel getSatelliteOrbitModel();
+ method @IntRange(from=1, to=36) public int getSvid();
method public void writeToParcel(@NonNull android.os.Parcel, int);
field @NonNull public static final android.os.Parcelable.Creator<android.location.GalileoSatelliteEphemeris> CREATOR;
}
@@ -207,10 +207,10 @@
ctor public GalileoSatelliteEphemeris.Builder();
method @NonNull public android.location.GalileoSatelliteEphemeris build();
method @NonNull public android.location.GalileoSatelliteEphemeris.Builder setSatelliteClockModels(@NonNull java.util.List<android.location.GalileoSatelliteEphemeris.GalileoSatelliteClockModel>);
- method @NonNull public android.location.GalileoSatelliteEphemeris.Builder setSatelliteCodeNumber(@IntRange(from=1, to=36) int);
method @NonNull public android.location.GalileoSatelliteEphemeris.Builder setSatelliteEphemerisTime(@NonNull android.location.SatelliteEphemerisTime);
method @NonNull public android.location.GalileoSatelliteEphemeris.Builder setSatelliteHealth(@NonNull android.location.GalileoSatelliteEphemeris.GalileoSvHealth);
method @NonNull public android.location.GalileoSatelliteEphemeris.Builder setSatelliteOrbitModel(@NonNull android.location.KeplerianOrbitModel);
+ method @NonNull public android.location.GalileoSatelliteEphemeris.Builder setSvid(@IntRange(from=1, to=36) int);
}
public static final class GalileoSatelliteEphemeris.GalileoSatelliteClockModel implements android.os.Parcelable {
@@ -243,25 +243,31 @@
public static final class GalileoSatelliteEphemeris.GalileoSvHealth implements android.os.Parcelable {
method public int describeContents();
- method @IntRange(from=0, to=1) public int getDataValidityStatusE1b();
- method @IntRange(from=0, to=1) public int getDataValidityStatusE5a();
- method @IntRange(from=0, to=1) public int getDataValidityStatusE5b();
- method @IntRange(from=0, to=3) public int getSignalHealthStatusE1b();
- method @IntRange(from=0, to=3) public int getSignalHealthStatusE5a();
- method @IntRange(from=0, to=3) public int getSignalHealthStatusE5b();
+ method public int getDataValidityStatusE1b();
+ method public int getDataValidityStatusE5a();
+ method public int getDataValidityStatusE5b();
+ method public int getSignalHealthStatusE1b();
+ method public int getSignalHealthStatusE5a();
+ method public int getSignalHealthStatusE5b();
method public void writeToParcel(@NonNull android.os.Parcel, int);
field @NonNull public static final android.os.Parcelable.Creator<android.location.GalileoSatelliteEphemeris.GalileoSvHealth> CREATOR;
+ field public static final int DATA_STATUS_DATA_VALID = 0; // 0x0
+ field public static final int DATA_STATUS_WORKING_WITHOUT_GUARANTEE = 1; // 0x1
+ field public static final int HEALTH_STATUS_EXTENDED_OPERATION_MODE = 2; // 0x2
+ field public static final int HEALTH_STATUS_IN_TEST = 3; // 0x3
+ field public static final int HEALTH_STATUS_OK = 0; // 0x0
+ field public static final int HEALTH_STATUS_OUT_OF_SERVICE = 1; // 0x1
}
public static final class GalileoSatelliteEphemeris.GalileoSvHealth.Builder {
ctor public GalileoSatelliteEphemeris.GalileoSvHealth.Builder();
method @NonNull public android.location.GalileoSatelliteEphemeris.GalileoSvHealth build();
- method @NonNull public android.location.GalileoSatelliteEphemeris.GalileoSvHealth.Builder setDataValidityStatusE1b(@IntRange(from=0, to=1) int);
- method @NonNull public android.location.GalileoSatelliteEphemeris.GalileoSvHealth.Builder setDataValidityStatusE5a(@IntRange(from=0, to=1) int);
- method @NonNull public android.location.GalileoSatelliteEphemeris.GalileoSvHealth.Builder setDataValidityStatusE5b(@IntRange(from=0, to=1) int);
- method @NonNull public android.location.GalileoSatelliteEphemeris.GalileoSvHealth.Builder setSignalHealthStatusE1b(@IntRange(from=0, to=3) int);
- method @NonNull public android.location.GalileoSatelliteEphemeris.GalileoSvHealth.Builder setSignalHealthStatusE5a(@IntRange(from=0, to=3) int);
- method @NonNull public android.location.GalileoSatelliteEphemeris.GalileoSvHealth.Builder setSignalHealthStatusE5b(@IntRange(from=0, to=3) int);
+ method @NonNull public android.location.GalileoSatelliteEphemeris.GalileoSvHealth.Builder setDataValidityStatusE1b(int);
+ method @NonNull public android.location.GalileoSatelliteEphemeris.GalileoSvHealth.Builder setDataValidityStatusE5a(int);
+ method @NonNull public android.location.GalileoSatelliteEphemeris.GalileoSvHealth.Builder setDataValidityStatusE5b(int);
+ method @NonNull public android.location.GalileoSatelliteEphemeris.GalileoSvHealth.Builder setSignalHealthStatusE1b(int);
+ method @NonNull public android.location.GalileoSatelliteEphemeris.GalileoSvHealth.Builder setSignalHealthStatusE5a(int);
+ method @NonNull public android.location.GalileoSatelliteEphemeris.GalileoSvHealth.Builder setSignalHealthStatusE5b(int);
}
@FlaggedApi("android.location.flags.gnss_assistance_interface") public final class GlonassAlmanac implements android.os.Parcelable {
@@ -275,17 +281,19 @@
public static final class GlonassAlmanac.GlonassSatelliteAlmanac implements android.os.Parcelable {
method public int describeContents();
+ method @IntRange(from=1, to=1461) public int getCalendarDayNumber();
method @FloatRange(from=-0.067F, to=0.067f) public double getDeltaI();
method @FloatRange(from=-3600.0F, to=3600.0f) public double getDeltaT();
method @FloatRange(from=-0.004F, to=0.004f) public double getDeltaTDot();
method @FloatRange(from=0.0f, to=0.03f) public double getEccentricity();
- method @IntRange(from=0, to=31) public int getFreqChannel();
+ method @IntRange(from=0, to=31) public int getFrequencyChannelNumber();
+ method public int getHealthState();
method @FloatRange(from=-1.0F, to=1.0f) public double getLambda();
method @FloatRange(from=-1.0F, to=1.0f) public double getOmega();
method @IntRange(from=1, to=25) public int getSlotNumber();
- method @IntRange(from=0, to=1) public int getSvHealth();
method @FloatRange(from=0.0f, to=44100.0f) public double getTLambda();
method @FloatRange(from=-0.0019F, to=0.0019f) public double getTau();
+ method public boolean isGlonassM();
method public void writeToParcel(@NonNull android.os.Parcel, int);
field @NonNull public static final android.os.Parcelable.Creator<android.location.GlonassAlmanac.GlonassSatelliteAlmanac> CREATOR;
}
@@ -293,15 +301,17 @@
public static final class GlonassAlmanac.GlonassSatelliteAlmanac.Builder {
ctor public GlonassAlmanac.GlonassSatelliteAlmanac.Builder();
method @NonNull public android.location.GlonassAlmanac.GlonassSatelliteAlmanac build();
+ method @NonNull public android.location.GlonassAlmanac.GlonassSatelliteAlmanac.Builder setCalendarDayNumber(@IntRange(from=1, to=1461) int);
method @NonNull public android.location.GlonassAlmanac.GlonassSatelliteAlmanac.Builder setDeltaI(@FloatRange(from=-0.067F, to=0.067f) double);
method @NonNull public android.location.GlonassAlmanac.GlonassSatelliteAlmanac.Builder setDeltaT(@FloatRange(from=-3600.0F, to=3600.0f) double);
method @NonNull public android.location.GlonassAlmanac.GlonassSatelliteAlmanac.Builder setDeltaTDot(@FloatRange(from=-0.004F, to=0.004f) double);
method @NonNull public android.location.GlonassAlmanac.GlonassSatelliteAlmanac.Builder setEccentricity(@FloatRange(from=0.0f, to=0.03f) double);
- method @NonNull public android.location.GlonassAlmanac.GlonassSatelliteAlmanac.Builder setFreqChannel(@IntRange(from=0, to=31) int);
+ method @NonNull public android.location.GlonassAlmanac.GlonassSatelliteAlmanac.Builder setFrequencyChannelNumber(@IntRange(from=0, to=31) int);
+ method @NonNull public android.location.GlonassAlmanac.GlonassSatelliteAlmanac.Builder setGlonassM(boolean);
+ method @NonNull public android.location.GlonassAlmanac.GlonassSatelliteAlmanac.Builder setHealthState(int);
method @NonNull public android.location.GlonassAlmanac.GlonassSatelliteAlmanac.Builder setLambda(@FloatRange(from=-1.0F, to=1.0f) double);
method @NonNull public android.location.GlonassAlmanac.GlonassSatelliteAlmanac.Builder setOmega(@FloatRange(from=-1.0F, to=1.0f) double);
method @NonNull public android.location.GlonassAlmanac.GlonassSatelliteAlmanac.Builder setSlotNumber(@IntRange(from=1, to=25) int);
- method @NonNull public android.location.GlonassAlmanac.GlonassSatelliteAlmanac.Builder setSvHealth(@IntRange(from=0, to=1) int);
method @NonNull public android.location.GlonassAlmanac.GlonassSatelliteAlmanac.Builder setTLambda(@FloatRange(from=0.0f, to=44100.0f) double);
method @NonNull public android.location.GlonassAlmanac.GlonassSatelliteAlmanac.Builder setTau(@FloatRange(from=-0.0019F, to=0.0019f) double);
}
@@ -331,12 +341,17 @@
method public int describeContents();
method @IntRange(from=0, to=31) public int getAgeInDays();
method @FloatRange(from=0.0f) public double getFrameTimeSeconds();
- method @IntRange(from=0, to=1) public int getHealthState();
+ method public int getHealthState();
method @NonNull public android.location.GlonassSatelliteEphemeris.GlonassSatelliteClockModel getSatelliteClockModel();
method @NonNull public android.location.GlonassSatelliteEphemeris.GlonassSatelliteOrbitModel getSatelliteOrbitModel();
method @IntRange(from=1, to=25) public int getSlotNumber();
+ method @IntRange(from=0, to=60) public int getUpdateIntervalMinutes();
+ method public boolean isGlonassM();
+ method public boolean isUpdateIntervalOdd();
method public void writeToParcel(@NonNull android.os.Parcel, int);
field @NonNull public static final android.os.Parcelable.Creator<android.location.GlonassSatelliteEphemeris> CREATOR;
+ field public static final int HEALTH_STATUS_HEALTHY = 0; // 0x0
+ field public static final int HEALTH_STATUS_UNHEALTHY = 1; // 0x1
}
public static final class GlonassSatelliteEphemeris.Builder {
@@ -344,18 +359,23 @@
method @NonNull public android.location.GlonassSatelliteEphemeris build();
method @NonNull public android.location.GlonassSatelliteEphemeris.Builder setAgeInDays(@IntRange(from=0, to=31) int);
method @NonNull public android.location.GlonassSatelliteEphemeris.Builder setFrameTimeSeconds(@FloatRange(from=0.0f) double);
- method @NonNull public android.location.GlonassSatelliteEphemeris.Builder setHealthState(@IntRange(from=0, to=1) int);
+ method @NonNull public android.location.GlonassSatelliteEphemeris.Builder setGlonassM(boolean);
+ method @NonNull public android.location.GlonassSatelliteEphemeris.Builder setHealthState(int);
method @NonNull public android.location.GlonassSatelliteEphemeris.Builder setSatelliteClockModel(@NonNull android.location.GlonassSatelliteEphemeris.GlonassSatelliteClockModel);
method @NonNull public android.location.GlonassSatelliteEphemeris.Builder setSatelliteOrbitModel(@NonNull android.location.GlonassSatelliteEphemeris.GlonassSatelliteOrbitModel);
method @NonNull public android.location.GlonassSatelliteEphemeris.Builder setSlotNumber(@IntRange(from=1, to=25) int);
+ method @NonNull public android.location.GlonassSatelliteEphemeris.Builder setUpdateIntervalMinutes(@IntRange(from=0, to=60) int);
+ method @NonNull public android.location.GlonassSatelliteEphemeris.Builder setUpdateIntervalOdd(boolean);
}
public static final class GlonassSatelliteEphemeris.GlonassSatelliteClockModel implements android.os.Parcelable {
method public int describeContents();
method @FloatRange(from=-0.002F, to=0.002f) public double getClockBias();
method @FloatRange(from=-9.32E-10F, to=9.32E-10f) public double getFrequencyBias();
- method @IntRange(from=0xfffffff9, to=6) public int getFrequencyNumber();
+ method @IntRange(from=0xfffffff9, to=6) public int getFrequencyChannelNumber();
+ method @FloatRange(from=-1.4E-8F, to=1.4E-8f) public double getGroupDelayDiffSeconds();
method @IntRange(from=0) public long getTimeOfClockSeconds();
+ method public boolean isGroupDelayDiffSecondsAvailable();
method public void writeToParcel(@NonNull android.os.Parcel, int);
field @NonNull public static final android.os.Parcelable.Creator<android.location.GlonassSatelliteEphemeris.GlonassSatelliteClockModel> CREATOR;
}
@@ -365,7 +385,9 @@
method @NonNull public android.location.GlonassSatelliteEphemeris.GlonassSatelliteClockModel build();
method @NonNull public android.location.GlonassSatelliteEphemeris.GlonassSatelliteClockModel.Builder setClockBias(@FloatRange(from=-0.002F, to=0.002f) double);
method @NonNull public android.location.GlonassSatelliteEphemeris.GlonassSatelliteClockModel.Builder setFrequencyBias(@FloatRange(from=-9.32E-10F, to=9.32E-10f) double);
- method @NonNull public android.location.GlonassSatelliteEphemeris.GlonassSatelliteClockModel.Builder setFrequencyNumber(@IntRange(from=0xfffffff9, to=6) int);
+ method @NonNull public android.location.GlonassSatelliteEphemeris.GlonassSatelliteClockModel.Builder setFrequencyChannelNumber(@IntRange(from=0xfffffff9, to=6) int);
+ method @NonNull public android.location.GlonassSatelliteEphemeris.GlonassSatelliteClockModel.Builder setGroupDelayDiffSeconds(@FloatRange(from=-1.4E-8F, to=1.4E-8f) double);
+ method @NonNull public android.location.GlonassSatelliteEphemeris.GlonassSatelliteClockModel.Builder setGroupDelayDiffSecondsAvailable(boolean);
method @NonNull public android.location.GlonassSatelliteEphemeris.GlonassSatelliteClockModel.Builder setTimeOfClockSeconds(@IntRange(from=0) long);
}
@@ -401,10 +423,11 @@
@FlaggedApi("android.location.flags.gnss_assistance_interface") public final class GnssAlmanac implements android.os.Parcelable {
method public int describeContents();
method @NonNull public java.util.List<android.location.GnssAlmanac.GnssSatelliteAlmanac> getGnssSatelliteAlmanacs();
- method @IntRange(from=0) public int getIod();
+ method @IntRange(from=0) public int getIoda();
method @IntRange(from=0) public long getIssueDateMillis();
method @IntRange(from=0, to=604800) public int getToaSeconds();
method @IntRange(from=0) public int getWeekNumber();
+ method public boolean isCompleteAlmanacProvided();
method public void writeToParcel(@NonNull android.os.Parcel, int);
field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssAlmanac> CREATOR;
}
@@ -412,8 +435,9 @@
public static final class GnssAlmanac.Builder {
ctor public GnssAlmanac.Builder();
method @NonNull public android.location.GnssAlmanac build();
+ method @NonNull public android.location.GnssAlmanac.Builder setCompleteAlmanacProvided(boolean);
method @NonNull public android.location.GnssAlmanac.Builder setGnssSatelliteAlmanacs(@NonNull java.util.List<android.location.GnssAlmanac.GnssSatelliteAlmanac>);
- method @NonNull public android.location.GnssAlmanac.Builder setIod(@IntRange(from=0) int);
+ method @NonNull public android.location.GnssAlmanac.Builder setIoda(@IntRange(from=0) int);
method @NonNull public android.location.GnssAlmanac.Builder setIssueDateMillis(@IntRange(from=0) long);
method @NonNull public android.location.GnssAlmanac.Builder setToaSeconds(@IntRange(from=0, to=604800) int);
method @NonNull public android.location.GnssAlmanac.Builder setWeekNumber(@IntRange(from=0) int);
@@ -916,11 +940,11 @@
@FlaggedApi("android.location.flags.gnss_assistance_interface") public final class GpsSatelliteEphemeris implements android.os.Parcelable {
method public int describeContents();
method @NonNull public android.location.GpsSatelliteEphemeris.GpsL2Params getGpsL2Params();
- method @IntRange(from=1, to=32) public int getPrn();
method @NonNull public android.location.GpsSatelliteEphemeris.GpsSatelliteClockModel getSatelliteClockModel();
method @NonNull public android.location.SatelliteEphemerisTime getSatelliteEphemerisTime();
method @NonNull public android.location.GpsSatelliteEphemeris.GpsSatelliteHealth getSatelliteHealth();
method @NonNull public android.location.KeplerianOrbitModel getSatelliteOrbitModel();
+ method @IntRange(from=1, to=32) public int getSvid();
method public void writeToParcel(@NonNull android.os.Parcel, int);
field @NonNull public static final android.os.Parcelable.Creator<android.location.GpsSatelliteEphemeris> CREATOR;
}
@@ -929,11 +953,11 @@
ctor public GpsSatelliteEphemeris.Builder();
method @NonNull public android.location.GpsSatelliteEphemeris build();
method @NonNull public android.location.GpsSatelliteEphemeris.Builder setGpsL2Params(@NonNull android.location.GpsSatelliteEphemeris.GpsL2Params);
- method @NonNull public android.location.GpsSatelliteEphemeris.Builder setPrn(@IntRange(from=1, to=32) int);
method @NonNull public android.location.GpsSatelliteEphemeris.Builder setSatelliteClockModel(@NonNull android.location.GpsSatelliteEphemeris.GpsSatelliteClockModel);
method @NonNull public android.location.GpsSatelliteEphemeris.Builder setSatelliteEphemerisTime(@NonNull android.location.SatelliteEphemerisTime);
method @NonNull public android.location.GpsSatelliteEphemeris.Builder setSatelliteHealth(@NonNull android.location.GpsSatelliteEphemeris.GpsSatelliteHealth);
method @NonNull public android.location.GpsSatelliteEphemeris.Builder setSatelliteOrbitModel(@NonNull android.location.KeplerianOrbitModel);
+ method @NonNull public android.location.GpsSatelliteEphemeris.Builder setSvid(@IntRange(from=1, to=32) int);
}
public static final class GpsSatelliteEphemeris.GpsL2Params implements android.os.Parcelable {
@@ -1225,11 +1249,11 @@
@FlaggedApi("android.location.flags.gnss_assistance_interface") public final class QzssSatelliteEphemeris implements android.os.Parcelable {
method public int describeContents();
method @NonNull public android.location.GpsSatelliteEphemeris.GpsL2Params getGpsL2Params();
- method @IntRange(from=183, to=206) public int getPrn();
method @NonNull public android.location.GpsSatelliteEphemeris.GpsSatelliteClockModel getSatelliteClockModel();
method @NonNull public android.location.SatelliteEphemerisTime getSatelliteEphemerisTime();
method @NonNull public android.location.GpsSatelliteEphemeris.GpsSatelliteHealth getSatelliteHealth();
method @NonNull public android.location.KeplerianOrbitModel getSatelliteOrbitModel();
+ method @IntRange(from=183, to=206) public int getSvid();
method public void writeToParcel(@NonNull android.os.Parcel, int);
field @NonNull public static final android.os.Parcelable.Creator<android.location.QzssSatelliteEphemeris> CREATOR;
}
@@ -1238,11 +1262,11 @@
ctor public QzssSatelliteEphemeris.Builder();
method @NonNull public android.location.QzssSatelliteEphemeris build();
method @NonNull public android.location.QzssSatelliteEphemeris.Builder setGpsL2Params(@NonNull android.location.GpsSatelliteEphemeris.GpsL2Params);
- method @NonNull public android.location.QzssSatelliteEphemeris.Builder setPrn(@IntRange(from=183, to=206) int);
method @NonNull public android.location.QzssSatelliteEphemeris.Builder setSatelliteClockModel(@NonNull android.location.GpsSatelliteEphemeris.GpsSatelliteClockModel);
method @NonNull public android.location.QzssSatelliteEphemeris.Builder setSatelliteEphemerisTime(@NonNull android.location.SatelliteEphemerisTime);
method @NonNull public android.location.QzssSatelliteEphemeris.Builder setSatelliteHealth(@NonNull android.location.GpsSatelliteEphemeris.GpsSatelliteHealth);
method @NonNull public android.location.QzssSatelliteEphemeris.Builder setSatelliteOrbitModel(@NonNull android.location.KeplerianOrbitModel);
+ method @NonNull public android.location.QzssSatelliteEphemeris.Builder setSvid(@IntRange(from=183, to=206) int);
}
@FlaggedApi("android.location.flags.gnss_assistance_interface") public final class RealTimeIntegrityModel implements android.os.Parcelable {