summaryrefslogtreecommitdiff
path: root/location/java
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2020-02-28 04:09:18 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2020-02-28 04:09:18 +0000
commit003af80cc558db74c9d6d2b59aa47c0b65d22eb5 (patch)
treeedc6cfaf65948614946dd9571c79ec72aff3f675 /location/java
parent72702b979654234c18045f04270040056a74cf90 (diff)
parent699e4549eeffd8f1445ead26db39c9951bd35d6d (diff)
Merge "Add comments to messageId, subMessageId and data"
Diffstat (limited to 'location/java')
-rw-r--r--location/java/android/location/GnssNavigationMessage.java43
1 files changed, 39 insertions, 4 deletions
diff --git a/location/java/android/location/GnssNavigationMessage.java b/location/java/android/location/GnssNavigationMessage.java
index ca0bfb1added..aade5ac63317 100644
--- a/location/java/android/location/GnssNavigationMessage.java
+++ b/location/java/android/location/GnssNavigationMessage.java
@@ -17,6 +17,7 @@
package android.location;
import android.annotation.IntDef;
+import android.annotation.IntRange;
import android.annotation.NonNull;
import android.annotation.TestApi;
import android.os.Parcel;
@@ -77,6 +78,14 @@ public final class GnssNavigationMessage implements Parcelable {
public static final int TYPE_IRN_L5CA = 0x0701;
/**
+ * The status of the GNSS Navigation Message
+ * @hide
+ */
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef({STATUS_UNKNOWN, STATUS_PARITY_PASSED, STATUS_PARITY_REBUILT})
+ public @interface GnssNavigationMessageStatus {}
+
+ /**
* The Navigation Message Status is 'unknown'.
*/
public static final int STATUS_UNKNOWN = 0;
@@ -240,6 +249,7 @@ public final class GnssNavigationMessage implements Parcelable {
*
* <p>Range varies by constellation. See definition at {@code GnssStatus#getSvid(int)}
*/
+ @IntRange(from = 1, to = 200)
public int getSvid() {
return mSvid;
}
@@ -249,7 +259,7 @@ public final class GnssNavigationMessage implements Parcelable {
* @hide
*/
@TestApi
- public void setSvid(int value) {
+ public void setSvid(@IntRange(from = 1, to = 200) int value) {
mSvid = value;
}
@@ -272,8 +282,17 @@ public final class GnssNavigationMessage implements Parcelable {
* range of 1-12</li>
* <li> For Galileo I/NAV nominal frame structure, this refers to the subframe number in the
* range of 1-24</li>
+ * <li> For SBAS and Beidou CNAV2, this is unused and can be set to -1.</li>
+ * <li> For QZSS L1 C/A subframe 4 and 5, this value corresponds to the 'frame id' of the
+ * navigation message, in the range of 1-25 (Subframe 1, 2, 3 does not contain a 'frame id' and
+ * this value can be set to -1.)</li>
+ * <li> For Beidou CNAV1 this refers to the page type number in the range of 1-63.</li>
+ * <li> For IRNSS L5 C/A subframe 3 and 4, this value corresponds to the Message Id of the
+ * navigation message, in the range of 1-63. (Subframe 1 and 2 does not contain a message type
+ * id and this value can be set to -1.)</li>
* </ul>
*/
+ @IntRange(from = -1, to = 120)
public int getMessageId() {
return mMessageId;
}
@@ -283,7 +302,7 @@ public final class GnssNavigationMessage implements Parcelable {
* @hide
*/
@TestApi
- public void setMessageId(int value) {
+ public void setMessageId(@IntRange(from = -1, to = 120) int value) {
mMessageId = value;
}
@@ -299,8 +318,16 @@ public final class GnssNavigationMessage implements Parcelable {
* <li>For Galileo in particular, the type information embedded within the data bits may be even
* more useful in interpretation, than the nominal page and word types provided in this
* field.</li>
+ * <li> For SBAS, the submessage id corresponds to the message type, in the range 1-63.</li>
+ * <li> For Beidou CNAV1, the submessage id corresponds to the subframe number of the
+ * navigation message, in the range of 1-3.</li>
+ * <li> For Beidou CNAV2, the submessage id corresponds to the message type, in the range
+ * 1-63.</li>
+ * <li> For IRNSS L5 C/A, the submessage id corresponds to the subframe number of the
+ * navigation message, in the range of 1-4.</li>
* </ul>
*/
+ @IntRange(from = 1)
public int getSubmessageId() {
return mSubmessageId;
}
@@ -310,7 +337,7 @@ public final class GnssNavigationMessage implements Parcelable {
* @hide
*/
@TestApi
- public void setSubmessageId(int value) {
+ public void setSubmessageId(@IntRange(from = 1) int value) {
mSubmessageId = value;
}
@@ -333,6 +360,13 @@ public final class GnssNavigationMessage implements Parcelable {
* <li>For Galileo I/NAV, each page contains 2 page parts, even and odd, with a total of 2x114 =
* 228 bits, (sync &amp; tail excluded) that should be fit into 29 bytes, with MSB first (skip
* B229-B232).</li>
+ * <li>For SBAS, each block consists of 250 data bits, that should be fit into 32 bytes. MSB
+ * first (skip B251-B256).</li>
+ * <li>For Beidou CNAV1, subframe #1 consists of 14 data bits, that should be fit into 2
+ * bytes. MSB first (skip B15-B16). subframe #2 consists of 600 bits that should be fit into
+ * 75 bytes. subframe #3 consists of 264 data bits that should be fit into 33 bytes.</li>
+ * <li>For Beidou CNAV2, each subframe consists of 288 data bits, that should be fit into 36
+ * bytes.</li>
* </ul>
*/
@NonNull
@@ -356,6 +390,7 @@ public final class GnssNavigationMessage implements Parcelable {
/**
* Gets the Status of the navigation message contained in the object.
*/
+ @GnssNavigationMessageStatus
public int getStatus() {
return mStatus;
}
@@ -365,7 +400,7 @@ public final class GnssNavigationMessage implements Parcelable {
* @hide
*/
@TestApi
- public void setStatus(int value) {
+ public void setStatus(@GnssNavigationMessageStatus int value) {
mStatus = value;
}