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

Commit 995d5adc authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add passive listener support for GnssMeasurement"

parents f5f71807 d2309fa3
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -19548,6 +19548,7 @@ package android.location {
    method public boolean isFullTracking();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssMeasurementRequest> CREATOR;
    field public static final int PASSIVE_INTERVAL = 2147483647; // 0x7fffffff
  }
  public static final class GnssMeasurementRequest.Builder {
+16 −2
Original line number Diff line number Diff line
@@ -31,6 +31,15 @@ import java.util.Objects;
 * This class contains extra parameters to pass in a GNSS measurement request.
 */
public final class GnssMeasurementRequest implements Parcelable {
    /**
     * Represents a passive only request. Such a request will not trigger any active GNSS
     * measurements or power usage itself, but may receive GNSS measurements generated in response
     * to other requests.
     *
     * @see GnssMeasurementRequest#getIntervalMillis()
     */
    public static final int PASSIVE_INTERVAL = Integer.MAX_VALUE;

    private final boolean mCorrelationVectorOutputsEnabled;
    private final boolean mFullTracking;
    private final int mIntervalMillis;
@@ -76,7 +85,10 @@ public final class GnssMeasurementRequest implements Parcelable {
    }

    /**
     * Represents the requested time interval between the reported measurements in milliseconds.
     * Returns the requested time interval between the reported measurements in milliseconds, or
     * {@link #PASSIVE_INTERVAL} if this is a passive, no power request. A passive request will not
     * actively generate GNSS measurement updates, but may receive GNSS measurement updates
     * generated as a result of other GNSS measurement requests.
     *
     * <p>If the time interval is not set, the default value is 0, which means the fastest rate the
     * GNSS chipset can report.
@@ -213,7 +225,9 @@ public final class GnssMeasurementRequest implements Parcelable {

        /**
         * Set the time interval between the reported measurements in milliseconds, which is 0 by
         * default.
         * default. The request interval may be set to {@link #PASSIVE_INTERVAL} which indicates
         * this request will not actively generate GNSS measurement updates, but may receive
         * GNSS measurement updates generated as a result of other GNSS measurement requests.
         *
         * <p>An interval of 0 milliseconds means the fastest rate the chipset can report.
         *
+12 −5
Original line number Diff line number Diff line
@@ -112,6 +112,9 @@ public final class GnssMeasurementsProvider extends
    @Override
    protected boolean registerWithService(GnssMeasurementRequest request,
            Collection<GnssListenerRegistration> registrations) {
        if (request.getIntervalMillis() == GnssMeasurementRequest.PASSIVE_INTERVAL) {
            return true;
        }
        if (mGnssNative.startMeasurementCollection(request.isFullTracking(),
                request.isCorrelationVectorOutputsEnabled(),
                request.getIntervalMillis())) {
@@ -157,7 +160,7 @@ public final class GnssMeasurementsProvider extends
            Collection<GnssListenerRegistration> registrations) {
        boolean fullTracking = false;
        boolean enableCorrVecOutputs = false;
        int intervalMillis = Integer.MAX_VALUE;
        int intervalMillis = GnssMeasurementRequest.PASSIVE_INTERVAL;

        if (mSettingsHelper.isGnssMeasurementsFullTrackingEnabled()) {
            fullTracking = true;
@@ -165,6 +168,10 @@ public final class GnssMeasurementsProvider extends

        for (GnssListenerRegistration registration : registrations) {
            GnssMeasurementRequest request = registration.getRequest();
            // passive requests do not contribute to the merged request
            if (request.getIntervalMillis() == GnssMeasurementRequest.PASSIVE_INTERVAL) {
                continue;
            }
            if (request.isFullTracking()) {
                fullTracking = true;
            }