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

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

Merge "Fixes to GnssAntennaInfo API"

parents da458559 213bb709
Loading
Loading
Loading
Loading
+35 −46
Original line number Diff line number Diff line
@@ -23490,66 +23490,54 @@ package android.location {
  }
  public final class GnssAntennaInfo implements android.os.Parcelable {
    ctor public GnssAntennaInfo(double, @NonNull android.location.GnssAntennaInfo.PhaseCenterOffsetCoordinates, @Nullable android.location.GnssAntennaInfo.PhaseCenterVariationCorrections, @Nullable android.location.GnssAntennaInfo.SignalGainCorrections);
    method public int describeContents();
    method public double getCarrierFrequencyMHz();
    method @NonNull public android.location.GnssAntennaInfo.PhaseCenterOffsetCoordinates getPhaseCenterOffsetCoordinates();
    method @Nullable public android.location.GnssAntennaInfo.PhaseCenterVariationCorrections getPhaseCenterVariationCorrections();
    method @Nullable public android.location.GnssAntennaInfo.SignalGainCorrections getSignalGainCorrections();
    method @FloatRange(from=0.0f) public double getCarrierFrequencyMHz();
    method @NonNull public android.location.GnssAntennaInfo.PhaseCenterOffset getPhaseCenterOffset();
    method @Nullable public android.location.GnssAntennaInfo.SphericalCorrections getPhaseCenterVariationCorrections();
    method @Nullable public android.location.GnssAntennaInfo.SphericalCorrections getSignalGainCorrections();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssAntennaInfo> CREATOR;
  }
  public abstract static class GnssAntennaInfo.Callback {
    ctor public GnssAntennaInfo.Callback();
  public static class GnssAntennaInfo.Builder {
    ctor public GnssAntennaInfo.Builder();
    method @NonNull public android.location.GnssAntennaInfo build();
    method @NonNull public android.location.GnssAntennaInfo.Builder setCarrierFrequencyMHz(@FloatRange(from=0.0f) double);
    method @NonNull public android.location.GnssAntennaInfo.Builder setPhaseCenterOffset(@NonNull android.location.GnssAntennaInfo.PhaseCenterOffset);
    method @NonNull public android.location.GnssAntennaInfo.Builder setPhaseCenterVariationCorrections(@Nullable android.location.GnssAntennaInfo.SphericalCorrections);
    method @NonNull public android.location.GnssAntennaInfo.Builder setSignalGainCorrections(@Nullable android.location.GnssAntennaInfo.SphericalCorrections);
  }
  public static interface GnssAntennaInfo.Listener {
    method public void onGnssAntennaInfoReceived(@NonNull java.util.List<android.location.GnssAntennaInfo>);
    method public void onStatusChanged(int);
    field public static final int STATUS_LOCATION_DISABLED = 2; // 0x2
    field public static final int STATUS_NOT_SUPPORTED = 0; // 0x0
    field public static final int STATUS_READY = 1; // 0x1
  }
  public static final class GnssAntennaInfo.PhaseCenterOffsetCoordinates implements android.os.Parcelable {
    ctor public GnssAntennaInfo.PhaseCenterOffsetCoordinates(double, double, double, double, double, double);
  public static final class GnssAntennaInfo.PhaseCenterOffset implements android.os.Parcelable {
    ctor public GnssAntennaInfo.PhaseCenterOffset(double, double, double, double, double, double);
    method public int describeContents();
    method public double getXCoordMillimeters();
    method public double getXCoordUncertaintyMillimeters();
    method public double getYCoordMillimeters();
    method public double getYCoordUncertaintyMillimeters();
    method public double getZCoordMillimeters();
    method public double getZCoordUncertaintyMillimeters();
    method @FloatRange public double getXOffsetMm();
    method @FloatRange public double getXOffsetUncertaintyMm();
    method @FloatRange public double getYOffsetMm();
    method @FloatRange public double getYOffsetUncertaintyMm();
    method @FloatRange public double getZOffsetMm();
    method @FloatRange public double getZOffsetUncertaintyMm();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssAntennaInfo.PhaseCenterOffsetCoordinates> CREATOR;
    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssAntennaInfo.PhaseCenterOffset> CREATOR;
  }
  public static final class GnssAntennaInfo.PhaseCenterVariationCorrections implements android.os.Parcelable {
    ctor public GnssAntennaInfo.PhaseCenterVariationCorrections(@NonNull double[][], @NonNull double[][]);
  public static final class GnssAntennaInfo.SphericalCorrections implements android.os.Parcelable {
    ctor public GnssAntennaInfo.SphericalCorrections(@NonNull double[][], @NonNull double[][]);
    method public int describeContents();
    method public double getDeltaPhi();
    method public double getDeltaTheta();
    method public int getNumColumns();
    method public int getNumRows();
    method public double getPhaseCenterVariationCorrectionMillimetersAt(int, int);
    method public double getPhaseCenterVariationCorrectionUncertaintyMillimetersAt(int, int);
    method @NonNull public double[][] getRawCorrectionUncertaintiesArray();
    method @NonNull public double[][] getRawCorrectionsArray();
    method @NonNull public double[][] getCorrectionUncertaintiesArray();
    method @NonNull public double[][] getCorrectionsArray();
    method @FloatRange(from=0.0f, to=180.0f) public double getDeltaPhi();
    method @FloatRange(from=0.0f, to=360.0f) public double getDeltaTheta();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssAntennaInfo.PhaseCenterVariationCorrections> CREATOR;
    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssAntennaInfo.SphericalCorrections> CREATOR;
  }
  public static final class GnssAntennaInfo.SignalGainCorrections implements android.os.Parcelable {
    ctor public GnssAntennaInfo.SignalGainCorrections(@NonNull double[][], @NonNull double[][]);
    method public int describeContents();
    method public double getDeltaPhi();
    method public double getDeltaTheta();
    method public int getNumColumns();
    method public int getNumRows();
    method @NonNull public double[][] getRawCorrectionUncertaintiesArray();
    method @NonNull public double[][] getRawCorrectionsArray();
    method public double getSignalGainCorrectionDbiAt(int, int);
    method public double getSignalGainCorrectionUncertaintyDbiAt(int, int);
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssAntennaInfo.SignalGainCorrections> CREATOR;
  public final class GnssCapabilities {
    method public boolean hasGnssAntennaInfo();
  }
  public final class GnssClock implements android.os.Parcelable {
@@ -23860,6 +23848,7 @@ package android.location {
    method @NonNull public java.util.List<java.lang.String> getAllProviders();
    method @Nullable public String getBestProvider(@NonNull android.location.Criteria, boolean);
    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void getCurrentLocation(@NonNull String, @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.location.Location>);
    method @NonNull public android.location.GnssCapabilities getGnssCapabilities();
    method @Nullable public String getGnssHardwareModelName();
    method public int getGnssYearOfHardware();
    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public android.location.GpsStatus getGpsStatus(@Nullable android.location.GpsStatus);
@@ -23869,7 +23858,7 @@ package android.location {
    method @NonNull public java.util.List<java.lang.String> getProviders(@NonNull android.location.Criteria, boolean);
    method public boolean isLocationEnabled();
    method public boolean isProviderEnabled(@NonNull String);
    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerAntennaInfoCallback(@NonNull java.util.concurrent.Executor, @NonNull android.location.GnssAntennaInfo.Callback);
    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerAntennaInfoListener(@NonNull java.util.concurrent.Executor, @NonNull android.location.GnssAntennaInfo.Listener);
    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssMeasurementsCallback(@NonNull android.location.GnssMeasurementsEvent.Callback);
    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssMeasurementsCallback(@NonNull android.location.GnssMeasurementsEvent.Callback, @Nullable android.os.Handler);
    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssMeasurementsCallback(@NonNull java.util.concurrent.Executor, @NonNull android.location.GnssMeasurementsEvent.Callback);
@@ -23901,7 +23890,7 @@ package android.location {
    method public void setTestProviderEnabled(@NonNull String, boolean);
    method public void setTestProviderLocation(@NonNull String, @NonNull android.location.Location);
    method @Deprecated public void setTestProviderStatus(@NonNull String, int, @Nullable android.os.Bundle, long);
    method public void unregisterAntennaInfoCallback(@NonNull android.location.GnssAntennaInfo.Callback);
    method public void unregisterAntennaInfoListener(@NonNull android.location.GnssAntennaInfo.Listener);
    method public void unregisterGnssMeasurementsCallback(@NonNull android.location.GnssMeasurementsEvent.Callback);
    method public void unregisterGnssNavigationMessageCallback(@NonNull android.location.GnssNavigationMessage.Callback);
    method public void unregisterGnssStatusCallback(@NonNull android.location.GnssStatus.Callback);
+0 −2
Original line number Diff line number Diff line
@@ -3824,7 +3824,6 @@ package android.location {
  public final class GnssCapabilities {
    method public boolean hasGeofencing();
    method public boolean hasGnssAntennaInfo();
    method public boolean hasLowPowerMode();
    method public boolean hasMeasurementCorrections();
    method public boolean hasMeasurementCorrectionsExcessPathLength();
@@ -4164,7 +4163,6 @@ package android.location {
    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void getCurrentLocation(@NonNull android.location.LocationRequest, @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.location.Location>);
    method @Nullable public String getExtraLocationControllerPackage();
    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public int getGnssBatchSize();
    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public android.location.GnssCapabilities getGnssCapabilities();
    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void injectGnssMeasurementCorrections(@NonNull android.location.GnssMeasurementCorrections);
    method public boolean isExtraLocationControllerPackageEnabled();
    method public boolean isLocationEnabledForUser(@NonNull android.os.UserHandle);
+220 −407

File changed.

Preview size limit exceeded, changes collapsed.

+27 −26
Original line number Diff line number Diff line
@@ -16,15 +16,11 @@

package android.location;

import android.annotation.NonNull;
import android.annotation.SystemApi;

/**
 * A container of supported GNSS chipset capabilities.
 *
 * @hide
 */
@SystemApi
public final class GnssCapabilities {
    /**
     * Bit mask indicating GNSS chipset supports low power mode.
@@ -105,7 +101,10 @@ public final class GnssCapabilities {

    /**
     * Returns {@code true} if GNSS chipset supports low power mode, {@code false} otherwise.
     *
     * @hide
     */
    @SystemApi
    public boolean hasLowPowerMode() {
        return hasCapability(LOW_POWER_MODE);
    }
@@ -113,28 +112,40 @@ public final class GnssCapabilities {
    /**
     * Returns {@code true} if GNSS chipset supports blacklisting satellites, {@code false}
     * otherwise.
     *
     * @hide
     */
    @SystemApi
    public boolean hasSatelliteBlacklist() {
        return hasCapability(SATELLITE_BLACKLIST);
    }

    /**
     * Returns {@code true} if GNSS chipset supports geofencing, {@code false} otherwise.
     *
     * @hide
     */
    @SystemApi
    public boolean hasGeofencing() {
        return hasCapability(GEOFENCING);
    }

    /**
     * Returns {@code true} if GNSS chipset supports measurements, {@code false} otherwise.
     *
     * @hide
     */
    @SystemApi
    public boolean hasMeasurements() {
        return hasCapability(MEASUREMENTS);
    }

    /**
     * Returns {@code true} if GNSS chipset supports navigation messages, {@code false} otherwise.
     *
     * @hide
     */
    @SystemApi
    public boolean hasNavMessages() {
        return hasCapability(NAV_MESSAGES);
    }
@@ -142,7 +153,10 @@ public final class GnssCapabilities {
    /**
     * Returns {@code true} if GNSS chipset supports measurement corrections, {@code false}
     * otherwise.
     *
     * @hide
     */
    @SystemApi
    public boolean hasMeasurementCorrections() {
        return hasCapability(MEASUREMENT_CORRECTIONS);
    }
@@ -150,7 +164,10 @@ public final class GnssCapabilities {
    /**
     * Returns {@code true} if GNSS chipset supports line-of-sight satellite identification
     * measurement corrections, {@code false} otherwise.
     *
     * @hide
     */
    @SystemApi
    public boolean hasMeasurementCorrectionsLosSats() {
        return hasCapability(MEASUREMENT_CORRECTIONS_LOS_SATS);
    }
@@ -158,7 +175,10 @@ public final class GnssCapabilities {
    /**
     * Returns {@code true} if GNSS chipset supports per satellite excess-path-length measurement
     * corrections, {@code false} otherwise.
     *
     * @hide
     */
    @SystemApi
    public boolean hasMeasurementCorrectionsExcessPathLength() {
        return hasCapability(MEASUREMENT_CORRECTIONS_EXCESS_PATH_LENGTH);
    }
@@ -166,7 +186,10 @@ public final class GnssCapabilities {
    /**
     * Returns {@code true} if GNSS chipset supports reflecting planes measurement corrections,
     * {@code false} otherwise.
     *
     * @hide
     */
    @SystemApi
    public boolean hasMeasurementCorrectionsReflectingPane() {
        return hasCapability(MEASUREMENT_CORRECTIONS_REFLECTING_PLANE);
    }
@@ -178,28 +201,6 @@ public final class GnssCapabilities {
        return hasCapability(ANTENNA_INFO);
    }

    @NonNull
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder("GnssCapabilities: ( ");
        if (hasLowPowerMode()) sb.append("LOW_POWER_MODE ");
        if (hasSatelliteBlacklist()) sb.append("SATELLITE_BLACKLIST ");
        if (hasGeofencing()) sb.append("GEOFENCING ");
        if (hasGnssAntennaInfo()) sb.append("ANTENNA_INFO ");
        if (hasMeasurements()) sb.append("MEASUREMENTS ");
        if (hasNavMessages()) sb.append("NAV_MESSAGES ");
        if (hasMeasurementCorrections()) sb.append("MEASUREMENT_CORRECTIONS ");
        if (hasMeasurementCorrectionsLosSats()) sb.append("MEASUREMENT_CORRECTIONS_LOS_SATS ");
        if (hasMeasurementCorrectionsExcessPathLength()) {
            sb.append("MEASUREMENT_CORRECTIONS_EXCESS_PATH_LENGTH ");
        }
        if (hasMeasurementCorrectionsReflectingPane()) {
            sb.append("MEASUREMENT_CORRECTIONS_REFLECTING_PLANE ");
        }
        sb.append(")");
        return sb.toString();
    }

    private boolean hasCapability(long capability) {
        return (mGnssCapabilities & capability) == capability;
    }
+0 −1
Original line number Diff line number Diff line
@@ -23,5 +23,4 @@ import android.location.GnssAntennaInfo;
 */
oneway interface IGnssAntennaInfoListener {
    void onGnssAntennaInfoReceived(in List<GnssAntennaInfo> gnssAntennaInfo);
    void onStatusChanged(in int status);
}
 No newline at end of file
Loading