Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ff2ccbae authored by Shinru Han's avatar Shinru Han Committed by Android (Google) Code Review
Browse files

Merge "Support IONEX assistance" into main

parents 4ad9e3da cf2c28ad
Loading
Loading
Loading
Loading
+75 −0
Original line number Diff line number Diff line
@@ -515,6 +515,7 @@ package android.location {
    method @Nullable public android.location.GalileoAssistance getGalileoAssistance();
    method @Nullable public android.location.GlonassAssistance getGlonassAssistance();
    method @Nullable public android.location.GpsAssistance getGpsAssistance();
    method @FlaggedApi("android.location.flags.support_ionex_assistance") @Nullable public android.location.IonexAssistance getIonexAssistance();
    method @Nullable public android.location.QzssAssistance getQzssAssistance();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssAssistance> CREATOR;
@@ -527,6 +528,7 @@ package android.location {
    method @NonNull public android.location.GnssAssistance.Builder setGalileoAssistance(@Nullable android.location.GalileoAssistance);
    method @NonNull public android.location.GnssAssistance.Builder setGlonassAssistance(@Nullable android.location.GlonassAssistance);
    method @NonNull public android.location.GnssAssistance.Builder setGpsAssistance(@Nullable android.location.GpsAssistance);
    method @FlaggedApi("android.location.flags.support_ionex_assistance") @NonNull public android.location.GnssAssistance.Builder setIonexAssistance(@Nullable android.location.IonexAssistance);
    method @NonNull public android.location.GnssAssistance.Builder setQzssAssistance(@Nullable android.location.QzssAssistance);
  }

@@ -1050,6 +1052,79 @@ package android.location {
    method @NonNull public android.location.GpsSatelliteEphemeris.GpsSatelliteHealth.Builder setSvHealth(@IntRange(from=0, to=63) int);
  }

  @FlaggedApi("android.location.flags.support_ionex_assistance") public final class IonexAssistance implements android.os.Parcelable {
    method public int describeContents();
    method @NonNull public android.location.IonexAssistance.Header getHeader();
    method @NonNull public android.location.IonexAssistance.TecMapSnapshot getTecMapSnapshot();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.location.IonexAssistance> CREATOR;
  }

  public static final class IonexAssistance.Axes implements android.os.Parcelable {
    ctor public IonexAssistance.Axes(@NonNull android.location.IonexAssistance.Axis, @NonNull android.location.IonexAssistance.Axis);
    method public int describeContents();
    method @NonNull public android.location.IonexAssistance.Axis getLatitudeAxis();
    method @NonNull public android.location.IonexAssistance.Axis getLongitudeAxis();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.location.IonexAssistance.Axes> CREATOR;
  }

  public static final class IonexAssistance.Axis implements android.os.Parcelable {
    ctor public IonexAssistance.Axis(@FloatRange(from=-180.0F, to=180.0f) double, @FloatRange(from=-180.0F, to=180.0f) double, @IntRange(from=0) int);
    method public int describeContents();
    method @FloatRange(from=-180.0F, to=180.0f) public double getDeltaDeg();
    method @IntRange(from=1) public int getNumPoints();
    method @FloatRange(from=-180.0F, to=180.0f) public double getStartDeg();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.location.IonexAssistance.Axis> CREATOR;
  }

  public static final class IonexAssistance.Builder {
    ctor public IonexAssistance.Builder();
    method @NonNull public android.location.IonexAssistance build();
    method @NonNull public android.location.IonexAssistance.Builder setHeader(@NonNull android.location.IonexAssistance.Header);
    method @NonNull public android.location.IonexAssistance.Builder setTecMapSnapshot(@NonNull android.location.IonexAssistance.TecMapSnapshot);
  }

  public static final class IonexAssistance.Header implements android.os.Parcelable {
    method public int describeContents();
    method @NonNull public android.location.IonexAssistance.Axes getAxesInfo();
    method @FloatRange(from=0.0, fromInclusive=false) public float getBaseRadiusKm();
    method @FloatRange(from=0.0, fromInclusive=false) public float getHeightKm();
    method public int getMappingFunction();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.location.IonexAssistance.Header> CREATOR;
    field public static final int MAPPING_FUNCTION_COSZ = 1; // 0x1
    field public static final int MAPPING_FUNCTION_NONE = 0; // 0x0
    field public static final int MAPPING_FUNCTION_QFAC = 2; // 0x2
  }

  public static final class IonexAssistance.Header.Builder {
    ctor public IonexAssistance.Header.Builder();
    method @NonNull public android.location.IonexAssistance.Header build();
    method @NonNull public android.location.IonexAssistance.Header.Builder setAxesInfo(@NonNull android.location.IonexAssistance.Axes);
    method @NonNull public android.location.IonexAssistance.Header.Builder setBaseRadiusKm(@FloatRange(from=0.0, fromInclusive=false) float);
    method @NonNull public android.location.IonexAssistance.Header.Builder setHeightKm(@FloatRange(from=0.0, fromInclusive=false) float);
    method @NonNull public android.location.IonexAssistance.Header.Builder setMappingFunction(int);
  }

  public static final class IonexAssistance.TecMapSnapshot implements android.os.Parcelable {
    method public int describeContents();
    method @IntRange(from=0) public long getEpochTimeSeconds();
    method @NonNull public java.util.List<java.lang.Float> getRmsMap();
    method @NonNull public java.util.List<java.lang.Float> getTecMap();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.location.IonexAssistance.TecMapSnapshot> CREATOR;
  }

  public static final class IonexAssistance.TecMapSnapshot.Builder {
    ctor public IonexAssistance.TecMapSnapshot.Builder();
    method @NonNull public android.location.IonexAssistance.TecMapSnapshot build();
    method @IntRange(from=0) @NonNull public android.location.IonexAssistance.TecMapSnapshot.Builder setEpochTimeSeconds(@IntRange(from=0) long);
    method @NonNull public android.location.IonexAssistance.TecMapSnapshot.Builder setRmsMap(@NonNull java.util.List<java.lang.Float>);
    method @NonNull public android.location.IonexAssistance.TecMapSnapshot.Builder setTecMap(@NonNull java.util.List<java.lang.Float>);
  }

  @FlaggedApi("android.location.flags.gnss_assistance_interface") public final class IonosphericCorrection implements android.os.Parcelable {
    ctor public IonosphericCorrection(@IntRange(from=0) long, @NonNull android.location.GnssCorrectionComponent);
    method public int describeContents();
+24 −0
Original line number Diff line number Diff line
@@ -55,12 +55,16 @@ public final class GnssAssistance implements Parcelable {
    /** QZSS assistance. */
    @Nullable private final QzssAssistance mQzssAssistance;

    /** IONEX assistance. */
    @Nullable private final IonexAssistance mIonexAssistance;

    private GnssAssistance(Builder builder) {
        mGpsAssistance = builder.mGpsAssistance;
        mGlonassAssistance = builder.mGlonassAssistance;
        mGalileoAssistance = builder.mGalileoAssistance;
        mBeidouAssistance = builder.mBeidouAssistance;
        mQzssAssistance = builder.mQzssAssistance;
        mIonexAssistance = builder.mIonexAssistance;
    }

    /** Returns the GPS assistance. */
@@ -93,6 +97,13 @@ public final class GnssAssistance implements Parcelable {
        return mQzssAssistance;
    }

    /** Returns the Ionex assistance */
    @FlaggedApi(Flags.FLAG_SUPPORT_IONEX_ASSISTANCE)
    @Nullable
    public IonexAssistance getIonexAssistance() {
        return mIonexAssistance;
    }

    public static final @NonNull Creator<GnssAssistance> CREATOR =
            new Creator<GnssAssistance>() {
                @Override
@@ -104,6 +115,7 @@ public final class GnssAssistance implements Parcelable {
                            .setGalileoAssistance(in.readTypedObject(GalileoAssistance.CREATOR))
                            .setBeidouAssistance(in.readTypedObject(BeidouAssistance.CREATOR))
                            .setQzssAssistance(in.readTypedObject(QzssAssistance.CREATOR))
                            .setIonexAssistance(in.readTypedObject(IonexAssistance.CREATOR))
                            .build();
                }

@@ -125,6 +137,7 @@ public final class GnssAssistance implements Parcelable {
        parcel.writeTypedObject(mGalileoAssistance, flags);
        parcel.writeTypedObject(mBeidouAssistance, flags);
        parcel.writeTypedObject(mQzssAssistance, flags);
        parcel.writeTypedObject(mIonexAssistance, flags);
    }

    @Override
@@ -136,6 +149,7 @@ public final class GnssAssistance implements Parcelable {
        builder.append(", galileoAssistance = ").append(mGalileoAssistance);
        builder.append(", beidouAssistance = ").append(mBeidouAssistance);
        builder.append(", qzssAssistance = ").append(mQzssAssistance);
        builder.append(", ionexAssistance = ").append(mIonexAssistance);
        builder.append("]");
        return builder.toString();
    }
@@ -147,6 +161,8 @@ public final class GnssAssistance implements Parcelable {
        private GalileoAssistance mGalileoAssistance;
        private BeidouAssistance mBeidouAssistance;
        private QzssAssistance mQzssAssistance;
        private IonexAssistance mIonexAssistance;


        /** Sets the GPS assistance. */
        @NonNull
@@ -183,6 +199,14 @@ public final class GnssAssistance implements Parcelable {
            return this;
        }

        /** Sets the IONEX assistance */
        @FlaggedApi(Flags.FLAG_SUPPORT_IONEX_ASSISTANCE)
        @NonNull
        public Builder setIonexAssistance(@Nullable IonexAssistance ionexAssistance) {
            mIonexAssistance = ionexAssistance;
            return this;
        }

        /** Builds a {@link GnssAssistance} instance as specified by this builder. */
        @NonNull
        public GnssAssistance build() {
+789 −0

File added.

Preview size limit exceeded, changes collapsed.

+7 −0
Original line number Diff line number Diff line
@@ -182,3 +182,10 @@ flag {
    description: "Disables the legacy hardware AR code path which has been deprecated for a long time"
    bug: "441145460"
}

flag {
    name: "support_ionex_assistance"
    namespace: "location"
    description: "Support IONEX assistance"
    bug: "434875844"
}