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

Commit 1a133aa1 authored by Yu-Han Yang's avatar Yu-Han Yang Committed by Android (Google) Code Review
Browse files

Merge "Add isFullTracking in GnssMeasurementsEvent (frameworks/base)"

parents 3f967144 8c071a43
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -19738,6 +19738,7 @@ package android.location {
    method public int describeContents();
    method @NonNull public android.location.GnssClock getClock();
    method @NonNull public java.util.Collection<android.location.GnssAutomaticGainControl> getGnssAutomaticGainControls();
    method public boolean getIsFullTracking();
    method @NonNull public java.util.Collection<android.location.GnssMeasurement> getMeasurements();
    method public void writeToParcel(android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssMeasurementsEvent> CREATOR;
@@ -19749,6 +19750,7 @@ package android.location {
    method @NonNull public android.location.GnssMeasurementsEvent build();
    method @NonNull public android.location.GnssMeasurementsEvent.Builder setClock(@NonNull android.location.GnssClock);
    method @NonNull public android.location.GnssMeasurementsEvent.Builder setGnssAutomaticGainControls(@NonNull java.util.Collection<android.location.GnssAutomaticGainControl>);
    method @NonNull public android.location.GnssMeasurementsEvent.Builder setIsFullTracking(boolean);
    method @NonNull public android.location.GnssMeasurementsEvent.Builder setMeasurements(@NonNull java.util.Collection<android.location.GnssMeasurement>);
  }
+46 −4
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ public final class GnssMeasurementsEvent implements Parcelable {
    private final GnssClock mClock;
    private final List<GnssMeasurement> mMeasurements;
    private final List<GnssAutomaticGainControl> mGnssAgcs;
    private final boolean mIsFullTracking;

    /**
     * Used for receiving GNSS satellite measurements from the GNSS engine.
@@ -124,10 +125,12 @@ public final class GnssMeasurementsEvent implements Parcelable {
     */
    private GnssMeasurementsEvent(@NonNull GnssClock clock,
            @NonNull List<GnssMeasurement> measurements,
            @NonNull List<GnssAutomaticGainControl> agcs) {
            @NonNull List<GnssAutomaticGainControl> agcs,
            boolean isFullTracking) {
        mMeasurements = measurements;
        mGnssAgcs = agcs;
        mClock = clock;
        mIsFullTracking = isFullTracking;
    }

    /**
@@ -156,15 +159,31 @@ public final class GnssMeasurementsEvent implements Parcelable {
        return mGnssAgcs;
    }

    /**
     * True indicates that this event was produced while the chipset was in full tracking mode, ie,
     * the GNSS chipset switched off duty cycling. In this mode, no clock discontinuities are
     * expected and, when supported, carrier phase should be continuous in good signal conditions.
     * All non-blocklisted, healthy constellations, satellites and frequency bands must be tracked
     * and reported in this mode.
     *
     * False indicates that the GNSS chipset may optimize power via duty cycling, constellations and
     * frequency limits, etc.
     */
    public boolean getIsFullTracking() {
        return mIsFullTracking;
    }

    public static final @android.annotation.NonNull Creator<GnssMeasurementsEvent> CREATOR =
            new Creator<GnssMeasurementsEvent>() {
        @Override
        public GnssMeasurementsEvent createFromParcel(Parcel in) {
            GnssClock clock = in.readParcelable(getClass().getClassLoader(), android.location.GnssClock.class);
            GnssClock clock = in.readParcelable(getClass().getClassLoader(),
                    android.location.GnssClock.class);
            List<GnssMeasurement> measurements = in.createTypedArrayList(GnssMeasurement.CREATOR);
            List<GnssAutomaticGainControl> agcs = in.createTypedArrayList(
                    GnssAutomaticGainControl.CREATOR);
            return new GnssMeasurementsEvent(clock, measurements, agcs);
            boolean isFullTracking = in.readBoolean();
            return new GnssMeasurementsEvent(clock, measurements, agcs, isFullTracking);
        }

        @Override
@@ -183,6 +202,7 @@ public final class GnssMeasurementsEvent implements Parcelable {
        parcel.writeParcelable(mClock, flags);
        parcel.writeTypedList(mMeasurements);
        parcel.writeTypedList(mGnssAgcs);
        parcel.writeBoolean(mIsFullTracking);
    }

    @Override
@@ -191,6 +211,7 @@ public final class GnssMeasurementsEvent implements Parcelable {
        builder.append(mClock);
        builder.append(' ').append(mMeasurements.toString());
        builder.append(' ').append(mGnssAgcs.toString());
        builder.append(" isFullTracking=").append(mIsFullTracking);
        builder.append("]");
        return builder.toString();
    }
@@ -200,6 +221,7 @@ public final class GnssMeasurementsEvent implements Parcelable {
        private GnssClock mClock;
        private List<GnssMeasurement> mMeasurements;
        private List<GnssAutomaticGainControl> mGnssAgcs;
        private boolean mIsFullTracking;

        /**
         * Constructs a {@link GnssMeasurementsEvent.Builder} instance.
@@ -218,6 +240,7 @@ public final class GnssMeasurementsEvent implements Parcelable {
            mClock = event.getClock();
            mMeasurements = (List<GnssMeasurement>) event.getMeasurements();
            mGnssAgcs = (List<GnssAutomaticGainControl>) event.getGnssAutomaticGainControls();
            mIsFullTracking = event.getIsFullTracking();
        }

        /**
@@ -276,10 +299,29 @@ public final class GnssMeasurementsEvent implements Parcelable {
            return this;
        }

        /**
         * Sets whether the GNSS chipset was in the full tracking mode at the time this event was
         * produced.
         *
         * True indicates that this event was produced while the chipset was in full tracking
         * mode, ie, the GNSS chipset switched off duty cycling. In this mode, no clock
         * discontinuities are expected and, when supported, carrier phase should be continuous in
         * good signal conditions. All non-blocklisted, healthy constellations, satellites and
         * frequency bands must be tracked and reported in this mode.
         *
         * False indicates that the GNSS chipset may optimize power via duty cycling, constellations
         * and frequency limits, etc.
         */
        @NonNull
        public Builder setIsFullTracking(boolean isFullTracking) {
            mIsFullTracking = isFullTracking;
            return this;
        }

        /** Builds a {@link GnssMeasurementsEvent} instance as specified by this builder. */
        @NonNull
        public GnssMeasurementsEvent build() {
            return new GnssMeasurementsEvent(mClock, mMeasurements, mGnssAgcs);
            return new GnssMeasurementsEvent(mClock, mMeasurements, mGnssAgcs, mIsFullTracking);
        }
    }
}