Merge "Revert "Add GnssAntennaInfo framework APIs""
diff --git a/api/current.txt b/api/current.txt
index d004273..475506a 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -23477,69 +23477,6 @@
     method public static boolean isPresent();
   }
 
-  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 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();
-    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);
-    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 public void writeToParcel(@NonNull android.os.Parcel, int);
-    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssAntennaInfo.PhaseCenterOffsetCoordinates> CREATOR;
-  }
-
-  public static final class GnssAntennaInfo.PhaseCenterVariationCorrections implements android.os.Parcelable {
-    ctor public GnssAntennaInfo.PhaseCenterVariationCorrections(@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 public void writeToParcel(@NonNull android.os.Parcel, int);
-    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssAntennaInfo.PhaseCenterVariationCorrections> 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 GnssClock implements android.os.Parcelable {
     method public int describeContents();
     method public double getBiasNanos();
@@ -23857,7 +23794,6 @@
     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 @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);
@@ -23889,7 +23825,6 @@
     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 unregisterGnssMeasurementsCallback(@NonNull android.location.GnssMeasurementsEvent.Callback);
     method public void unregisterGnssNavigationMessageCallback(@NonNull android.location.GnssNavigationMessage.Callback);
     method public void unregisterGnssStatusCallback(@NonNull android.location.GnssStatus.Callback);
diff --git a/api/system-current.txt b/api/system-current.txt
index 157e351..a722db9 100755
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -3800,7 +3800,6 @@
 
   public final class GnssCapabilities {
     method public boolean hasGeofencing();
-    method public boolean hasGnssAntennaInfo();
     method public boolean hasLowPowerMode();
     method public boolean hasMeasurementCorrections();
     method public boolean hasMeasurementCorrectionsExcessPathLength();
diff --git a/location/java/android/location/GnssAntennaInfo.aidl b/location/java/android/location/GnssAntennaInfo.aidl
deleted file mode 100644
index 2b956af..0000000
--- a/location/java/android/location/GnssAntennaInfo.aidl
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Copyright (C) 2020, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.location;
-
-parcelable GnssAntennaInfo;
\ No newline at end of file
diff --git a/location/java/android/location/GnssAntennaInfo.java b/location/java/android/location/GnssAntennaInfo.java
deleted file mode 100644
index dfcaf81..0000000
--- a/location/java/android/location/GnssAntennaInfo.java
+++ /dev/null
@@ -1,654 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.location;
-
-import android.annotation.IntDef;
-import android.annotation.NonNull;
-import android.annotation.Nullable;
-import android.os.Parcel;
-import android.os.Parcelable;
-
-import com.android.internal.annotations.VisibleForTesting;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.util.List;
-
-/**
- * A class that contains information about a GNSS antenna. GNSS antenna characteristics can change
- * with device configuration, such as when a device is folded open or closed. Antenna information is
- * delivered to registered instances of {@link Callback}.
- */
-public final class GnssAntennaInfo implements Parcelable {
-    private final double mCarrierFrequencyMHz;
-    private final PhaseCenterOffsetCoordinates mPhaseCenterOffsetCoordinates;
-    private final PhaseCenterVariationCorrections mPhaseCenterVariationCorrections;
-    private final SignalGainCorrections mSignalGainCorrections;
-
-    /**
-     * Used for receiving GNSS antenna info from the GNSS engine. You can implement this interface
-     * and call {@link LocationManager#registerAntennaInfoCallback};
-     */
-    public abstract static class Callback {
-        /**
-         * The status of GNSS antenna info.
-         *
-         * @hide
-         */
-        @Retention(RetentionPolicy.SOURCE)
-        @IntDef({STATUS_NOT_SUPPORTED, STATUS_READY, STATUS_LOCATION_DISABLED})
-        public @interface GnssAntennaInfoStatus {
-        }
-
-        /**
-         * The system does not support GNSS antenna info.
-         *
-         * This status will not change in the future.
-         */
-        public static final int STATUS_NOT_SUPPORTED = 0;
-
-        /**
-         * GNSS antenna info updates are being successfully tracked.
-         */
-        public static final int STATUS_READY = 1;
-
-        /**
-         * GNSS provider or Location is disabled, updated will not be received until they are
-         * enabled.
-         */
-        public static final int STATUS_LOCATION_DISABLED = 2;
-
-        /**
-         * Returns the latest GNSS antenna info. This event is triggered when a callback is
-         * registered, and whenever the antenna info changes (due to a device configuration change).
-         */
-        public void onGnssAntennaInfoReceived(@NonNull List<GnssAntennaInfo> gnssAntennaInfos) {}
-
-        /**
-         * Returns the latest status of the GNSS antenna info sub-system.
-         */
-        public void onStatusChanged(@GnssAntennaInfoStatus int status) {}
-    }
-
-    /**
-     * Class containing information about the antenna phase center offset (PCO). PCO is defined with
-     * respect to the origin of the Android sensor coordinate system, e.g., center of primary screen
-     * for mobiles - see sensor or form factor documents for details. Uncertainties are reported
-     *  to 1-sigma.
-     */
-    public static final class PhaseCenterOffsetCoordinates implements Parcelable {
-        private final double mPhaseCenterOffsetCoordinateXMillimeters;
-        private final double mPhaseCenterOffsetCoordinateXUncertaintyMillimeters;
-        private final double mPhaseCenterOffsetCoordinateYMillimeters;
-        private final double mPhaseCenterOffsetCoordinateYUncertaintyMillimeters;
-        private final double mPhaseCenterOffsetCoordinateZMillimeters;
-        private final double mPhaseCenterOffsetCoordinateZUncertaintyMillimeters;
-
-        @VisibleForTesting
-        public PhaseCenterOffsetCoordinates(double phaseCenterOffsetCoordinateXMillimeters,
-                double phaseCenterOffsetCoordinateXUncertaintyMillimeters,
-                double phaseCenterOffsetCoordinateYMillimeters,
-                double phaseCenterOffsetCoordinateYUncertaintyMillimeters,
-                double phaseCenterOffsetCoordinateZMillimeters,
-                double phaseCenterOffsetCoordinateZUncertaintyMillimeters) {
-            mPhaseCenterOffsetCoordinateXMillimeters = phaseCenterOffsetCoordinateXMillimeters;
-            mPhaseCenterOffsetCoordinateYMillimeters = phaseCenterOffsetCoordinateYMillimeters;
-            mPhaseCenterOffsetCoordinateZMillimeters = phaseCenterOffsetCoordinateZMillimeters;
-            mPhaseCenterOffsetCoordinateXUncertaintyMillimeters =
-                    phaseCenterOffsetCoordinateXUncertaintyMillimeters;
-            mPhaseCenterOffsetCoordinateYUncertaintyMillimeters =
-                    phaseCenterOffsetCoordinateYUncertaintyMillimeters;
-            mPhaseCenterOffsetCoordinateZUncertaintyMillimeters =
-                    phaseCenterOffsetCoordinateZUncertaintyMillimeters;
-        }
-
-        public static final @NonNull Creator<PhaseCenterOffsetCoordinates> CREATOR =
-                new Creator<PhaseCenterOffsetCoordinates>() {
-                    @Override
-                    public PhaseCenterOffsetCoordinates createFromParcel(Parcel in) {
-                        return new PhaseCenterOffsetCoordinates(
-                                in.readDouble(),
-                                in.readDouble(),
-                                in.readDouble(),
-                                in.readDouble(),
-                                in.readDouble(),
-                                in.readDouble()
-                        );
-                    }
-
-                    @Override
-                    public PhaseCenterOffsetCoordinates[] newArray(int size) {
-                        return new PhaseCenterOffsetCoordinates[size];
-                    }
-                };
-
-        public double getXCoordMillimeters() {
-            return mPhaseCenterOffsetCoordinateXMillimeters;
-        }
-
-        public double getXCoordUncertaintyMillimeters() {
-            return mPhaseCenterOffsetCoordinateXUncertaintyMillimeters;
-        }
-
-        public double getYCoordMillimeters() {
-            return mPhaseCenterOffsetCoordinateYMillimeters;
-        }
-
-        public double getYCoordUncertaintyMillimeters() {
-            return mPhaseCenterOffsetCoordinateYUncertaintyMillimeters;
-        }
-
-        public double getZCoordMillimeters() {
-            return mPhaseCenterOffsetCoordinateZMillimeters;
-        }
-
-        public double getZCoordUncertaintyMillimeters() {
-            return mPhaseCenterOffsetCoordinateZUncertaintyMillimeters;
-        }
-
-        @Override
-        public int describeContents() {
-            return 0;
-        }
-
-        @Override
-        public void writeToParcel(@NonNull Parcel dest, int flags) {
-            dest.writeDouble(mPhaseCenterOffsetCoordinateXMillimeters);
-            dest.writeDouble(mPhaseCenterOffsetCoordinateXUncertaintyMillimeters);
-            dest.writeDouble(mPhaseCenterOffsetCoordinateYMillimeters);
-            dest.writeDouble(mPhaseCenterOffsetCoordinateYUncertaintyMillimeters);
-            dest.writeDouble(mPhaseCenterOffsetCoordinateZMillimeters);
-            dest.writeDouble(mPhaseCenterOffsetCoordinateZUncertaintyMillimeters);
-        }
-
-        @Override
-        public String toString() {
-            StringBuilder builder = new StringBuilder("PhaseCenteroffset:\n");
-            builder.append("X: " + mPhaseCenterOffsetCoordinateXMillimeters + " +/- "
-                    + mPhaseCenterOffsetCoordinateXUncertaintyMillimeters + "\n");
-            builder.append("Y: " + mPhaseCenterOffsetCoordinateYMillimeters + " +/- "
-                    + mPhaseCenterOffsetCoordinateYUncertaintyMillimeters + "\n");
-            builder.append("Z: " + mPhaseCenterOffsetCoordinateZMillimeters + " +/- "
-                    + mPhaseCenterOffsetCoordinateZUncertaintyMillimeters + "\n");
-            return builder.toString();
-        }
-    }
-
-    /**
-     * Class containing information about the phase center variation (PCV) corrections. The PCV
-     * correction is added to the phase measurement to obtain the corrected value.
-     *
-     * The corrections and associated (1-sigma) uncertainties are represented by respect 2D arrays.
-     *
-     * Each row (major indices) represents a fixed theta. The first row corresponds to a
-     * theta angle of 0 degrees. The last row corresponds to a theta angle of (360 - deltaTheta)
-     * degrees, where deltaTheta is the regular spacing between azimuthal angles, i.e., deltaTheta
-     * = 360 / (number of rows).
-     *
-     * The columns (minor indices) represent fixed zenith angles, beginning at 0 degrees and ending
-     * at 180 degrees. They are separated by deltaPhi, the regular spacing between zenith angles,
-     * i.e., deltaPhi = 180 / (number of columns - 1).
-     */
-    public static final class PhaseCenterVariationCorrections extends SphericalCorrections {
-
-        @VisibleForTesting
-        public PhaseCenterVariationCorrections(
-                @NonNull double[][] phaseCenterVariationCorrectionsMillimeters,
-                @NonNull double[][] phaseCenterVariationCorrectionUncertaintiesMillimeters) {
-            super(phaseCenterVariationCorrectionsMillimeters,
-                    phaseCenterVariationCorrectionUncertaintiesMillimeters);
-        }
-
-        private PhaseCenterVariationCorrections(@NonNull Parcel in) {
-            super(in);
-        }
-
-        /**
-         * Get the phase center variation correction in millimeters at the specified row and column
-         * in the underlying 2D array.
-         * @param row zero-based major index in the array
-         * @param column zero-based minor index in the array
-         * @return phase center correction in millimeters
-         */
-        public double getPhaseCenterVariationCorrectionMillimetersAt(int row, int column) {
-            return super.getCorrectionAt(row, column);
-        }
-
-        /**
-         * Get the phase center variation correction uncertainty in millimeters at the specified row
-         * and column in the underlying 2D array.
-         * @param row zero-based major index in the array
-         * @param column zero-based minor index in the array
-         * @return 1-sigma phase center correction uncertainty in millimeters
-         */
-        public double getPhaseCenterVariationCorrectionUncertaintyMillimetersAt(
-                int row, int column) {
-            return super.getCorrectionUncertaintyAt(row, column);
-        }
-
-        public @NonNull double[][] getRawCorrectionsArray() {
-            return super.getRawCorrectionsArray().clone();
-        }
-
-        public @NonNull double[][] getRawCorrectionUncertaintiesArray() {
-            return super.getRawCorrectionUncertaintiesArray().clone();
-        }
-
-        public int getNumRows() {
-            return super.getNumRows();
-        }
-
-        public int getNumColumns() {
-            return super.getNumColumns();
-        }
-
-        /**
-         * The fixed theta angle separation between successive rows.
-         */
-        public double getDeltaTheta() {
-            return super.getDeltaTheta();
-        }
-
-        /**
-         * The fixed phi angle separation between successive columns.
-         */
-        public double getDeltaPhi() {
-            return super.getDeltaPhi();
-        }
-
-        public static final @NonNull Creator<PhaseCenterVariationCorrections> CREATOR =
-                new Creator<PhaseCenterVariationCorrections>() {
-                    @Override
-                    public PhaseCenterVariationCorrections createFromParcel(Parcel in) {
-                        return new PhaseCenterVariationCorrections(in);
-                    }
-
-                    @Override
-                    public PhaseCenterVariationCorrections[] newArray(int size) {
-                        return new PhaseCenterVariationCorrections[size];
-                    }
-                };
-
-        @Override
-        public int describeContents() {
-            return 0;
-        }
-
-        @Override
-        public void writeToParcel(@NonNull Parcel dest, int flags) {
-            super.writeToParcel(dest, flags);
-        }
-
-        @Override
-        public String toString() {
-            StringBuilder builder = new StringBuilder("PhaseCenterVariationCorrections:\n");
-            builder.append(super.toString());
-            return builder.toString();
-        }
-    }
-
-    /**
-     * Class containing information about the signal gain (SG) corrections. The SG
-     * correction is added to the signal gain to obtain the corrected value.
-     *
-     * The corrections and associated (1-sigma) uncertainties are represented by respect 2D arrays.
-     *
-     * Each row (major indices) represents a fixed theta. The first row corresponds to a
-     * theta angle of 0 degrees. The last row corresponds to a theta angle of (360 - deltaTheta)
-     * degrees, where deltaTheta is the regular spacing between azimuthal angles, i.e., deltaTheta
-     * = 360 / (number of rows).
-     *
-     * The columns (minor indices) represent fixed zenith angles, beginning at 0 degrees and ending
-     * at 180 degrees. They are separated by deltaPhi, the regular spacing between zenith angles,
-     * i.e., deltaPhi = 180 / (number of columns - 1).
-     */
-    public static final class SignalGainCorrections extends SphericalCorrections {
-
-        @VisibleForTesting
-        public SignalGainCorrections(
-                @NonNull double[][] signalGainCorrectionsDbi,
-                @NonNull double[][] signalGainCorrectionUncertaintiesDbi) {
-            super(signalGainCorrectionsDbi,
-                    signalGainCorrectionUncertaintiesDbi);
-        }
-
-        private SignalGainCorrections(@NonNull Parcel in) {
-            super(in);
-        }
-
-        /**
-         * Get the signal gain correction in dbi at the specified row and column
-         * in the underlying 2D array.
-         * @param row zero-based major index in the array
-         * @param column zero-based minor index in the array
-         * @return signal gain correction in dbi
-         */
-        public double getSignalGainCorrectionDbiAt(int row, int column) {
-            return super.getCorrectionAt(row, column);
-        }
-
-        /**
-         * Get the signal gain correction correction uncertainty in dbi at the specified row
-         * and column in the underlying 2D array.
-         * @param row zero-based major index in the array
-         * @param column zero-based minor index in the array
-         * @return 1-sigma signal gain correction uncertainty in dbi
-         */
-        public double getSignalGainCorrectionUncertaintyDbiAt(int row, int column) {
-            return super.getCorrectionUncertaintyAt(row, column);
-        }
-
-        public @NonNull double[][] getRawCorrectionsArray() {
-            return super.getRawCorrectionsArray().clone();
-        }
-
-        public @NonNull double[][] getRawCorrectionUncertaintiesArray() {
-            return super.getRawCorrectionUncertaintiesArray().clone();
-        }
-
-        public int getNumRows() {
-            return super.getNumRows();
-        }
-
-        public int getNumColumns() {
-            return super.getNumColumns();
-        }
-
-        /**
-         * The fixed theta angle separation between successive rows.
-         */
-        public double getDeltaTheta() {
-            return super.getDeltaTheta();
-        }
-
-        /**
-         * The fixed phi angle separation between successive columns.
-         */
-        public double getDeltaPhi() {
-            return super.getDeltaPhi();
-        }
-
-        public static final @NonNull Creator<SignalGainCorrections> CREATOR =
-                new Creator<SignalGainCorrections>() {
-                    @Override
-                    public SignalGainCorrections createFromParcel(Parcel in) {
-                        return new SignalGainCorrections(in);
-                    }
-
-                    @Override
-                    public SignalGainCorrections[] newArray(int size) {
-                        return new SignalGainCorrections[size];
-                    }
-                };
-
-        @Override
-        public int describeContents() {
-            return 0;
-        }
-
-        @Override
-        public void writeToParcel(@NonNull Parcel dest, int flags) {
-            super.writeToParcel(dest, flags);
-        }
-
-        @Override
-        public String toString() {
-            StringBuilder builder = new StringBuilder("SignalGainCorrections:\n");
-            builder.append(super.toString());
-            return builder.toString();
-        }
-    }
-
-    /**
-     * Represents corrections on a spherical mapping.
-     *
-     * Each row (major indices) represents a fixed theta. The first row corresponds to a
-     * theta angle of 0 degrees. The last row corresponds to a theta angle of (360 - deltaTheta)
-     * degrees, where deltaTheta is the regular spacing between azimuthal angles, i.e., deltaTheta
-     * = 360 / (number of rows).
-     *
-     * The columns (minor indices) represent fixed zenith angles, beginning at 0 degrees and ending
-     * at 180 degrees. They are separated by deltaPhi, the regular spacing between zenith angles,
-     * i.e., deltaPhi = 180 / (number of columns - 1).
-     */
-    private abstract static class SphericalCorrections implements Parcelable {
-        private final double[][] mCorrections;
-        private final double[][] mCorrectionUncertainties;
-        private final double mDeltaTheta;
-        private final double mDeltaPhi;
-        private final int mNumRows;
-        private final int mNumColumns;
-
-        SphericalCorrections(@NonNull double[][] corrections,
-                @NonNull double[][] correctionUncertainties) {
-            if (corrections.length != correctionUncertainties.length
-                    || corrections[0].length != correctionUncertainties[0].length) {
-                throw new IllegalArgumentException("Correction and correction uncertainty arrays "
-                        + "must have the same dimensions.");
-            }
-
-            mNumRows = corrections.length;
-            if (mNumRows < 1) {
-                throw new IllegalArgumentException("Arrays must have at least one row.");
-            }
-
-            mNumColumns = corrections[0].length;
-            if (mNumColumns < 2) {
-                throw new IllegalArgumentException("Arrays must have at least two columns.");
-            }
-
-            mCorrections = corrections;
-            mCorrectionUncertainties = correctionUncertainties;
-            mDeltaTheta = 360.0d / mNumRows;
-            mDeltaPhi = 180.0d / (mNumColumns - 1);
-        }
-
-        SphericalCorrections(Parcel in) {
-            int numRows = in.readInt();
-            int numColumns = in.readInt();
-
-            double[][] corrections =
-                    new double[numRows][numColumns];
-            double[][] correctionUncertainties =
-                    new double[numRows][numColumns];
-
-            for (int row = 0; row < numRows; row++) {
-                in.readDoubleArray(corrections[row]);
-            }
-
-            for (int row = 0; row < numRows; row++) {
-                in.readDoubleArray(correctionUncertainties[row]);
-            }
-
-            mNumRows = corrections.length;
-            mNumColumns = corrections[0].length;
-            mCorrections = corrections;
-            mCorrectionUncertainties = correctionUncertainties;
-            mDeltaTheta = 360.0d / mNumRows;
-            mDeltaPhi = 180.0d / (mNumColumns - 1);
-        }
-
-        private double getCorrectionAt(int row, int column) {
-            return mCorrections[row][column];
-        }
-
-        private double getCorrectionUncertaintyAt(int row, int column) {
-            return mCorrectionUncertainties[row][column];
-        }
-
-        @NonNull
-        private double[][] getRawCorrectionsArray() {
-            return mCorrections;
-        }
-
-        @NonNull
-        private double[][] getRawCorrectionUncertaintiesArray() {
-            return mCorrectionUncertainties;
-        }
-
-        private int getNumRows() {
-            return mNumRows;
-        }
-
-        private int getNumColumns() {
-            return mNumColumns;
-        }
-
-        /**
-         * The fixed theta angle separation between successive rows.
-         */
-        private double getDeltaTheta() {
-            return mDeltaTheta;
-        }
-
-        /**
-         * The fixed phi angle separation between successive columns.
-         */
-        private double getDeltaPhi() {
-            return mDeltaPhi;
-        }
-
-        @Override
-        public void writeToParcel(@NonNull Parcel dest, int flags) {
-            dest.writeInt(mNumRows);
-            dest.writeInt(mNumColumns);
-            for (double[] row: mCorrections) {
-                dest.writeDoubleArray(row);
-            }
-            for (double[] row: mCorrectionUncertainties) {
-                dest.writeDoubleArray(row);
-            }
-        }
-
-        private String arrayToString(double[][] array) {
-            StringBuilder builder = new StringBuilder();
-            for (int row = 0; row < mNumRows; row++) {
-                builder.append("[ ");
-                for (int column = 0; column < mNumColumns - 1; column++) {
-                    builder.append(array[row][column] + ", ");
-                }
-                builder.append(array[row][mNumColumns - 1] + " ]\n");
-            }
-            return builder.toString();
-        }
-
-        @Override
-        public String toString() {
-            StringBuilder builder = new StringBuilder();
-            builder.append("DeltaTheta: " + mDeltaTheta + "\n");
-            builder.append("DeltaPhi: " + mDeltaPhi + "\n");
-            builder.append("CorrectionsArray:\n");
-            builder.append(arrayToString(mCorrections));
-            builder.append("CorrectionUncertaintiesArray:\n");
-            builder.append(arrayToString(mCorrectionUncertainties));
-            return builder.toString();
-        }
-    }
-
-    @VisibleForTesting
-    public GnssAntennaInfo(
-            double carrierFrequencyMHz,
-            @NonNull PhaseCenterOffsetCoordinates phaseCenterOffsetCoordinates,
-            @Nullable PhaseCenterVariationCorrections phaseCenterVariationCorrections,
-            @Nullable SignalGainCorrections signalGainCorrectionDbi) {
-        if (phaseCenterOffsetCoordinates == null) {
-            throw new IllegalArgumentException("Phase Center Offset Coordinates cannot be null.");
-        }
-        mCarrierFrequencyMHz = carrierFrequencyMHz;
-        mPhaseCenterOffsetCoordinates = phaseCenterOffsetCoordinates;
-        mPhaseCenterVariationCorrections = phaseCenterVariationCorrections;
-        mSignalGainCorrections = signalGainCorrectionDbi;
-    }
-
-    public double getCarrierFrequencyMHz() {
-        return mCarrierFrequencyMHz;
-    }
-
-    @NonNull
-    public PhaseCenterOffsetCoordinates getPhaseCenterOffsetCoordinates() {
-        return mPhaseCenterOffsetCoordinates;
-    }
-
-    @Nullable
-    public PhaseCenterVariationCorrections getPhaseCenterVariationCorrections() {
-        return mPhaseCenterVariationCorrections;
-    }
-
-    @Nullable
-    public SignalGainCorrections getSignalGainCorrections() {
-        return mSignalGainCorrections;
-    }
-
-    public static final @android.annotation.NonNull
-                    Creator<GnssAntennaInfo> CREATOR = new Creator<GnssAntennaInfo>() {
-                            @Override
-                            public GnssAntennaInfo createFromParcel(Parcel in) {
-                                double carrierFrequencyMHz = in.readDouble();
-
-                                ClassLoader classLoader = getClass().getClassLoader();
-                                PhaseCenterOffsetCoordinates phaseCenterOffsetCoordinates =
-                                        in.readParcelable(classLoader);
-                                PhaseCenterVariationCorrections phaseCenterVariationCorrections =
-                                        in.readParcelable(classLoader);
-                                SignalGainCorrections signalGainCorrections =
-                                        in.readParcelable(classLoader);
-
-                                return new GnssAntennaInfo(carrierFrequencyMHz,
-                                        phaseCenterOffsetCoordinates,
-                                        phaseCenterVariationCorrections, signalGainCorrections);
-                            }
-
-                            @Override
-                            public GnssAntennaInfo[] newArray(int size) {
-                                return new GnssAntennaInfo[size];
-                            }
-                    };
-
-    @Override
-    public int describeContents() {
-        return 0;
-    }
-
-    @Override
-    public void writeToParcel(@NonNull Parcel parcel, int flags) {
-        parcel.writeDouble(mCarrierFrequencyMHz);
-
-        // Write Phase Center Offset
-        parcel.writeParcelable(mPhaseCenterOffsetCoordinates, flags);
-
-        // Write Phase Center Variation Corrections
-        parcel.writeParcelable(mPhaseCenterVariationCorrections, flags);
-
-        // Write Signal Gain Corrections
-        parcel.writeParcelable(mSignalGainCorrections, flags);
-    }
-
-    @Override
-    public String toString() {
-        StringBuilder builder = new StringBuilder("[ GnssAntennaInfo:\n");
-        builder.append("CarrierFrequencyMHz: " + mCarrierFrequencyMHz + "\n");
-        builder.append(mPhaseCenterOffsetCoordinates.toString());
-        builder.append(mPhaseCenterVariationCorrections == null
-                ? "PhaseCenterVariationCorrections: null\n"
-                : mPhaseCenterVariationCorrections.toString());
-        builder.append(mSignalGainCorrections == null
-                ? "SignalGainCorrections: null\n"
-                : mSignalGainCorrections.toString());
-        builder.append("]");
-        return builder.toString();
-    }
-}
diff --git a/location/java/android/location/GnssCapabilities.java b/location/java/android/location/GnssCapabilities.java
index 930180c..2e2f984 100644
--- a/location/java/android/location/GnssCapabilities.java
+++ b/location/java/android/location/GnssCapabilities.java
@@ -82,12 +82,6 @@
      */
     public static final long MEASUREMENT_CORRECTIONS_REFLECTING_PLANE           = 1L << 8;
 
-    /**
-     * Bit mask indicating GNSS chipset supports GNSS antenna info.
-     * @hide
-     */
-    public static final long ANTENNA_INFO                                       = 1L << 9;
-
     /** @hide */
     public static final long INVALID_CAPABILITIES = -1;
 
@@ -171,13 +165,6 @@
         return hasCapability(MEASUREMENT_CORRECTIONS_REFLECTING_PLANE);
     }
 
-    /**
-     * Returns {@code true} if GNSS chipset supports antenna info, {@code false} otherwise.
-     */
-    public boolean hasGnssAntennaInfo() {
-        return hasCapability(ANTENNA_INFO);
-    }
-
     @NonNull
     @Override
     public String toString() {
@@ -185,7 +172,6 @@
         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 ");
diff --git a/location/java/android/location/IGnssAntennaInfoListener.aidl b/location/java/android/location/IGnssAntennaInfoListener.aidl
deleted file mode 100644
index 30bf5467..0000000
--- a/location/java/android/location/IGnssAntennaInfoListener.aidl
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (C) 2020, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.location;
-
-import android.location.GnssAntennaInfo;
-
-/**
- * {@hide}
- */
-oneway interface IGnssAntennaInfoListener {
-    void onGnssAntennaInfoReceived(in List<GnssAntennaInfo> gnssAntennaInfo);
-    void onStatusChanged(in int status);
-}
\ No newline at end of file
diff --git a/location/java/android/location/ILocationManager.aidl b/location/java/android/location/ILocationManager.aidl
index 3172d7e..a99e68f 100644
--- a/location/java/android/location/ILocationManager.aidl
+++ b/location/java/android/location/ILocationManager.aidl
@@ -24,7 +24,6 @@
 import android.location.GnssMeasurementCorrections;
 import android.location.GnssRequest;
 import android.location.IBatchedLocationCallback;
-import android.location.IGnssAntennaInfoListener;
 import android.location.IGnssMeasurementsListener;
 import android.location.IGnssStatusListener;
 import android.location.IGnssNavigationMessageListener;
@@ -80,10 +79,6 @@
     long getGnssCapabilities(in String packageName);
     void removeGnssMeasurementsListener(in IGnssMeasurementsListener listener);
 
-    boolean addGnssAntennaInfoListener(in IGnssAntennaInfoListener listener,
-             String packageName, String featureId, String listenerIdentifier);
-    void removeGnssAntennaInfoListener(in IGnssAntennaInfoListener listener);
-
     boolean addGnssNavigationMessageListener(in IGnssNavigationMessageListener listener,
              String packageName, String featureId, String listenerIdentifier);
     void removeGnssNavigationMessageListener(in IGnssNavigationMessageListener listener);
diff --git a/location/java/android/location/LocationManager.java b/location/java/android/location/LocationManager.java
index 4462433..8ae967f 100644
--- a/location/java/android/location/LocationManager.java
+++ b/location/java/android/location/LocationManager.java
@@ -310,8 +310,6 @@
             new GnssMeasurementsListenerManager();
     private final GnssNavigationMessageListenerManager mGnssNavigationMessageListenerTransport =
             new GnssNavigationMessageListenerManager();
-    private final GnssAntennaInfoListenerManager mGnssAntennaInfoListenerManager =
-            new GnssAntennaInfoListenerManager();
 
     /**
      * @hide
@@ -2262,41 +2260,6 @@
     }
 
     /**
-     * Registers a Gnss Antenna Info callback.
-     *
-     * @param executor the executor that the callback runs on.
-     * @param callback a {@link GnssAntennaInfo.Callback} object to register.
-     * @return {@code true} if the callback was added successfully, {@code false} otherwise.
-     *
-     * @throws IllegalArgumentException if executor is null
-     * @throws IllegalArgumentException if callback is null
-     * @throws SecurityException if the ACCESS_FINE_LOCATION permission is not present
-     */
-    @RequiresPermission(ACCESS_FINE_LOCATION)
-    public boolean registerAntennaInfoCallback(
-            @NonNull @CallbackExecutor Executor executor,
-            @NonNull GnssAntennaInfo.Callback callback) {
-        try {
-            return mGnssAntennaInfoListenerManager.addListener(callback, executor);
-        } catch (RemoteException e) {
-            throw e.rethrowFromSystemServer();
-        }
-    }
-
-    /**
-     * Unregisters a GNSS Antenna Info callback.
-     *
-     * @param callback a {@link GnssAntennaInfo.Callback} object to remove.
-     */
-    public void unregisterAntennaInfoCallback(@NonNull GnssAntennaInfo.Callback callback) {
-        try {
-            mGnssAntennaInfoListenerManager.removeListener(callback);
-        } catch (RemoteException e) {
-            throw e.rethrowFromSystemServer();
-        }
-    }
-
-    /**
      * No-op method to keep backward-compatibility.
      *
      * @hide
@@ -3025,48 +2988,6 @@
         }
     }
 
-    private class GnssAntennaInfoListenerManager extends
-            AbstractListenerManager<GnssAntennaInfo.Callback> {
-
-        @Nullable
-        private IGnssAntennaInfoListener mListenerTransport;
-
-        @Override
-        protected boolean registerService() throws RemoteException {
-            Preconditions.checkState(mListenerTransport == null);
-
-            GnssAntennaInfoListener transport = new GnssAntennaInfoListener();
-            if (mService.addGnssAntennaInfoListener(transport, mContext.getPackageName(),
-                    mContext.getFeatureId(), "gnss antenna info callback")) {
-                mListenerTransport = transport;
-                return true;
-            } else {
-                return false;
-            }
-        }
-
-        @Override
-        protected void unregisterService() throws RemoteException {
-            Preconditions.checkState(mListenerTransport != null);
-
-            mService.removeGnssAntennaInfoListener(mListenerTransport);
-            mListenerTransport = null;
-        }
-
-        private class GnssAntennaInfoListener extends IGnssAntennaInfoListener.Stub {
-            @Override
-            public void onGnssAntennaInfoReceived(final List<GnssAntennaInfo> gnssAntennaInfos) {
-                execute((callback) -> callback.onGnssAntennaInfoReceived(gnssAntennaInfos));
-            }
-
-            @Override
-            public void onStatusChanged(int status) {
-                execute((listener) -> listener.onStatusChanged(status));
-            }
-        }
-
-    }
-
     private class BatchedLocationCallbackManager extends
             AbstractListenerManager<Void, BatchedLocationCallback> {
 
@@ -3079,7 +3000,7 @@
 
             BatchedLocationCallback transport = new BatchedLocationCallback();
             if (mService.addGnssBatchingCallback(transport, mContext.getPackageName(),
-                    mContext.getFeatureId(), "batched location callback")) {
+                     mContext.getFeatureId(), "batched location callback")) {
                 mListenerTransport = transport;
                 return true;
             } else {
diff --git a/services/core/java/com/android/server/LocationManagerService.java b/services/core/java/com/android/server/LocationManagerService.java
index 420064a..2c91a11 100644
--- a/services/core/java/com/android/server/LocationManagerService.java
+++ b/services/core/java/com/android/server/LocationManagerService.java
@@ -45,7 +45,6 @@
 import android.location.GnssMeasurementCorrections;
 import android.location.GnssRequest;
 import android.location.IBatchedLocationCallback;
-import android.location.IGnssAntennaInfoListener;
 import android.location.IGnssMeasurementsListener;
 import android.location.IGnssNavigationMessageListener;
 import android.location.IGnssStatusListener;
@@ -2323,22 +2322,6 @@
     }
 
     @Override
-    public boolean addGnssAntennaInfoListener(IGnssAntennaInfoListener listener,
-            String packageName, String featureId, String listenerIdentifier) {
-        Objects.requireNonNull(listenerIdentifier);
-
-        return mGnssManagerService != null && mGnssManagerService.addGnssAntennaInfoListener(
-                listener, packageName, featureId, listenerIdentifier);
-    }
-
-    @Override
-    public void removeGnssAntennaInfoListener(IGnssAntennaInfoListener listener) {
-        if (mGnssManagerService != null) {
-            mGnssManagerService.removeGnssAntennaInfoListener(listener);
-        }
-    }
-
-    @Override
     public boolean addGnssNavigationMessageListener(IGnssNavigationMessageListener listener,
             String packageName, String featureId, String listenerIdentifier) {
         Objects.requireNonNull(listenerIdentifier);
diff --git a/services/core/java/com/android/server/location/GnssAntennaInfoProvider.java b/services/core/java/com/android/server/location/GnssAntennaInfoProvider.java
deleted file mode 100644
index 674389f..0000000
--- a/services/core/java/com/android/server/location/GnssAntennaInfoProvider.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.server.location;
-
-import android.content.Context;
-import android.location.GnssAntennaInfo;
-import android.location.IGnssAntennaInfoListener;
-import android.os.Handler;
-import android.os.RemoteException;
-import android.util.Log;
-
-import com.android.internal.annotations.VisibleForTesting;
-
-import java.util.List;
-
-/**
- * An base implementation for GNSS antenna info provider. It abstracts out the responsibility of
- * handling listeners, while still allowing technology specific implementations to be built.
- *
- * @hide
- */
-public abstract class GnssAntennaInfoProvider
-        extends RemoteListenerHelper<IGnssAntennaInfoListener> {
-    private static final String TAG = "GnssAntennaInfoProvider";
-    private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
-
-    private final GnssAntennaInfoProviderNative mNative;
-
-    private boolean mIsListeningStarted;
-
-    protected GnssAntennaInfoProvider(Context context, Handler handler) {
-        this(context, handler, new GnssAntennaInfoProviderNative());
-    }
-
-    @VisibleForTesting
-    public GnssAntennaInfoProvider(
-            Context context, Handler handler, GnssAntennaInfoProviderNative aNative) {
-        super(context, handler, TAG);
-        mNative = aNative;
-    }
-
-    void resumeIfStarted() {
-        if (DEBUG) {
-            Log.d(TAG, "resumeIfStarted");
-        }
-        if (mIsListeningStarted) {
-            mNative.startAntennaInfoListening();
-        }
-    }
-
-
-    @Override
-    public boolean isAvailableInPlatform() {
-        return mNative.isAntennaInfoSupported();
-    }
-
-    @Override
-    protected int registerWithService() {
-        boolean started = mNative.startAntennaInfoListening();
-        if (started) {
-            mIsListeningStarted = true;
-            return RemoteListenerHelper.RESULT_SUCCESS;
-        }
-        return RemoteListenerHelper.RESULT_INTERNAL_ERROR;
-    }
-
-    @Override
-    protected void unregisterFromService() {
-        boolean stopped = mNative.stopAntennaInfoListening();
-        if (stopped) {
-            mIsListeningStarted = false;
-        }
-    }
-
-    /** Handle GNSS capabilities update from the GNSS HAL implementation. */
-    public void onCapabilitiesUpdated(boolean isAntennaInfoSupported) {
-        setSupported(isAntennaInfoSupported);
-        updateResult();
-    }
-
-    /** Handle GNSS enabled changes.*/
-    public void onGpsEnabledChanged() {
-        tryUpdateRegistrationWithService();
-        updateResult();
-    }
-
-    @Override
-    protected ListenerOperation<IGnssAntennaInfoListener> getHandlerOperation(int result) {
-        int status;
-        switch (result) {
-            case RESULT_SUCCESS:
-                status = GnssAntennaInfo.Callback.STATUS_READY;
-                break;
-            case RESULT_NOT_AVAILABLE:
-            case RESULT_NOT_SUPPORTED:
-            case RESULT_INTERNAL_ERROR:
-                status = GnssAntennaInfo.Callback.STATUS_NOT_SUPPORTED;
-                break;
-            case RESULT_GPS_LOCATION_DISABLED:
-                status = GnssAntennaInfo.Callback.STATUS_LOCATION_DISABLED;
-                break;
-            case RESULT_UNKNOWN:
-                return null;
-            default:
-                Log.v(TAG, "Unhandled addListener result: " + result);
-                return null;
-        }
-        return new StatusChangedOperation(status);
-    }
-
-    private static class StatusChangedOperation
-            implements ListenerOperation<IGnssAntennaInfoListener> {
-        private final int mStatus;
-
-        StatusChangedOperation(int status) {
-            mStatus = status;
-        }
-
-        @Override
-        public void execute(IGnssAntennaInfoListener listener,
-                CallerIdentity callerIdentity) throws RemoteException {
-            listener.onStatusChanged(mStatus);
-        }
-    }
-
-    /** Handle Gnss Antenna Info report. */
-    public void onGnssAntennaInfoAvailable(final List<GnssAntennaInfo> gnssAntennaInfos) {
-        foreach((IGnssAntennaInfoListener listener, CallerIdentity callerIdentity) -> {
-            if (!hasPermission(mContext, callerIdentity)) {
-                logPermissionDisabledEventNotReported(
-                        TAG, callerIdentity.mPackageName, "GNSS antenna info");
-                return;
-            }
-            listener.onGnssAntennaInfoReceived(gnssAntennaInfos);
-        });
-    }
-
-    /**
-     * Wrapper class for native methods. This is mocked for testing.
-     */
-    @VisibleForTesting
-    public static class GnssAntennaInfoProviderNative {
-
-        public boolean isAntennaInfoSupported() {
-            return native_is_antenna_info_supported();
-        }
-
-        /** Start antenna info listening. */
-        public boolean startAntennaInfoListening() {
-            return native_start_antenna_info_listening();
-        }
-
-        /** Stop antenna info listening. */
-        public boolean stopAntennaInfoListening() {
-            return native_stop_antenna_info_listening();
-        }
-    }
-
-    private static native boolean native_is_antenna_info_supported();
-
-    private static native boolean native_start_antenna_info_listening();
-
-    private static native boolean native_stop_antenna_info_listening();
-}
diff --git a/services/core/java/com/android/server/location/GnssCapabilitiesProvider.java b/services/core/java/com/android/server/location/GnssCapabilitiesProvider.java
index 5c8507f..88ff6e7 100644
--- a/services/core/java/com/android/server/location/GnssCapabilitiesProvider.java
+++ b/services/core/java/com/android/server/location/GnssCapabilitiesProvider.java
@@ -77,9 +77,6 @@
         if (hasCapability(topHalCapabilities, GnssLocationProvider.GPS_CAPABILITY_NAV_MESSAGES)) {
             gnssCapabilities |= GnssCapabilities.NAV_MESSAGES;
         }
-        if (hasCapability(topHalCapabilities, GnssLocationProvider.GPS_CAPABILITY_ANTENNA_INFO)) {
-            gnssCapabilities |= GnssCapabilities.ANTENNA_INFO;
-        }
 
         synchronized (this) {
             mGnssCapabilities &= ~GNSS_CAPABILITIES_TOP_HAL;
diff --git a/services/core/java/com/android/server/location/GnssLocationProvider.java b/services/core/java/com/android/server/location/GnssLocationProvider.java
index 36136f4..bcac473 100644
--- a/services/core/java/com/android/server/location/GnssLocationProvider.java
+++ b/services/core/java/com/android/server/location/GnssLocationProvider.java
@@ -29,7 +29,6 @@
 import android.hardware.location.GeofenceHardwareImpl;
 import android.location.Criteria;
 import android.location.FusedBatchOptions;
-import android.location.GnssAntennaInfo;
 import android.location.GnssMeasurementsEvent;
 import android.location.GnssNavigationMessage;
 import android.location.GnssStatus;
@@ -183,7 +182,6 @@
     public static final int GPS_CAPABILITY_LOW_POWER_MODE = 0x0000100;
     public static final int GPS_CAPABILITY_SATELLITE_BLACKLIST = 0x0000200;
     public static final int GPS_CAPABILITY_MEASUREMENT_CORRECTIONS = 0x0000400;
-    public static final int GPS_CAPABILITY_ANTENNA_INFO = 0x0000800;
 
     // The AGPS SUPL mode
     private static final int AGPS_SUPL_MODE_MSA = 0x02;
@@ -399,7 +397,6 @@
     private final GnssStatusListenerHelper mGnssStatusListenerHelper;
     private final GnssMeasurementsProvider mGnssMeasurementsProvider;
     private final GnssMeasurementCorrectionsProvider mGnssMeasurementCorrectionsProvider;
-    private final GnssAntennaInfoProvider mGnssAntennaInfoProvider;
     private final GnssNavigationMessageProvider mGnssNavigationMessageProvider;
     private final LocationChangeListener mNetworkLocationListener = new NetworkLocationListener();
     private final LocationChangeListener mFusedLocationListener = new FusedLocationListener();
@@ -472,10 +469,6 @@
         return mGnssMeasurementCorrectionsProvider;
     }
 
-    public GnssAntennaInfoProvider getGnssAntennaInfoProvider() {
-        return mGnssAntennaInfoProvider;
-    }
-
     public GnssNavigationMessageProvider getGnssNavigationMessageProvider() {
         return mGnssNavigationMessageProvider;
     }
@@ -700,13 +693,6 @@
 
         mGnssMeasurementCorrectionsProvider = new GnssMeasurementCorrectionsProvider(mHandler);
 
-        mGnssAntennaInfoProvider = new GnssAntennaInfoProvider(mContext, mHandler) {
-            @Override
-            protected boolean isGpsEnabled() {
-                return GnssLocationProvider.this.isGpsEnabled();
-            }
-        };
-
         mGnssNavigationMessageProvider = new GnssNavigationMessageProvider(mContext, mHandler) {
             @Override
             protected boolean isGpsEnabled() {
@@ -1006,7 +992,6 @@
 
             mGnssMeasurementsProvider.onGpsEnabledChanged();
             mGnssNavigationMessageProvider.onGpsEnabledChanged();
-            mGnssAntennaInfoProvider.onGpsEnabledChanged();
             mGnssBatchingProvider.enable();
             if (mGnssVisibilityControl != null) {
                 mGnssVisibilityControl.onGpsEnabledChanged(/* isEnabled= */ true);
@@ -1033,7 +1018,6 @@
         // do this before releasing wakelock
         native_cleanup();
 
-        mGnssAntennaInfoProvider.onGpsEnabledChanged();
         mGnssMeasurementsProvider.onGpsEnabledChanged();
         mGnssNavigationMessageProvider.onGpsEnabledChanged();
     }
@@ -1579,11 +1563,6 @@
     }
 
     @NativeEntryPoint
-    private void reportAntennaInfo(List<GnssAntennaInfo> antennaInfos) {
-        mHandler.post(() -> mGnssAntennaInfoProvider.onGnssAntennaInfoAvailable(antennaInfos));
-    }
-
-    @NativeEntryPoint
     private void reportNavigationMessage(GnssNavigationMessage event) {
         if (!mItarSpeedLimitExceeded) {
             // send to handler to allow native to return quickly
@@ -1606,8 +1585,6 @@
             mGnssNavigationMessageProvider.onCapabilitiesUpdated(
                     hasCapability(GPS_CAPABILITY_NAV_MESSAGES));
             restartRequests();
-            mGnssAntennaInfoProvider.onCapabilitiesUpdated(
-                    hasCapability(GPS_CAPABILITY_ANTENNA_INFO));
 
             mGnssCapabilitiesProvider.setTopHalCapabilities(mTopHalCapabilities);
         });
@@ -1629,7 +1606,6 @@
         Log.i(TAG, "restartRequests");
 
         restartLocationRequest();
-        mGnssAntennaInfoProvider.resumeIfStarted();
         mGnssMeasurementsProvider.resumeIfStarted();
         mGnssNavigationMessageProvider.resumeIfStarted();
         mGnssBatchingProvider.resumeIfStarted();
@@ -2222,8 +2198,6 @@
         s.append(" ago)").append('\n');
         s.append("mFixInterval=").append(mFixInterval).append('\n');
         s.append("mLowPowerMode=").append(mLowPowerMode).append('\n');
-        s.append("mGnssAntennaInfoProvider.isRegistered()=")
-                .append(mGnssAntennaInfoProvider.isRegistered()).append('\n');
         s.append("mGnssMeasurementsProvider.isRegistered()=")
                 .append(mGnssMeasurementsProvider.isRegistered()).append('\n');
         s.append("mGnssNavigationMessageProvider.isRegistered()=")
diff --git a/services/core/java/com/android/server/location/gnss/GnssManagerService.java b/services/core/java/com/android/server/location/gnss/GnssManagerService.java
index bcb7a44..02c1bdd 100644
--- a/services/core/java/com/android/server/location/gnss/GnssManagerService.java
+++ b/services/core/java/com/android/server/location/gnss/GnssManagerService.java
@@ -27,7 +27,6 @@
 import android.location.GnssMeasurementCorrections;
 import android.location.GnssRequest;
 import android.location.IBatchedLocationCallback;
-import android.location.IGnssAntennaInfoListener;
 import android.location.IGnssMeasurementsListener;
 import android.location.IGnssNavigationMessageListener;
 import android.location.IGnssStatusListener;
@@ -53,7 +52,6 @@
 import com.android.server.LocationManagerServiceUtils.LinkedListenerBase;
 import com.android.server.location.AppForegroundHelper;
 import com.android.server.location.CallerIdentity;
-import com.android.server.location.GnssAntennaInfoProvider;
 import com.android.server.location.GnssBatchingProvider;
 import com.android.server.location.GnssCapabilitiesProvider;
 import com.android.server.location.GnssLocationProvider;
@@ -90,7 +88,6 @@
     private final GnssStatusListenerHelper mGnssStatusProvider;
     private final GnssMeasurementsProvider mGnssMeasurementsProvider;
     private final GnssMeasurementCorrectionsProvider mGnssMeasurementCorrectionsProvider;
-    private final GnssAntennaInfoProvider mGnssAntennaInfoProvider;
     private final GnssNavigationMessageProvider mGnssNavigationMessageProvider;
     private final GnssLocationProvider.GnssSystemInfoProvider mGnssSystemInfoProvider;
     private final GnssLocationProvider.GnssMetricsProvider mGnssMetricsProvider;
@@ -103,11 +100,6 @@
     private final ArrayMap<IBinder, LinkedListener<GnssRequest, IGnssMeasurementsListener>>
             mGnssMeasurementsListeners = new ArrayMap<>();
 
-    @GuardedBy("mGnssAntennaInfoListeners")
-    private final ArrayMap<IBinder,
-            LinkedListener<IGnssAntennaInfoListener>>
-            mGnssAntennaInfoListeners = new ArrayMap<>();
-
     @GuardedBy("mGnssNavigationMessageListeners")
     private final ArrayMap<IBinder, LinkedListener<Void, IGnssNavigationMessageListener>>
             mGnssNavigationMessageListeners = new ArrayMap<>();
@@ -157,7 +149,6 @@
         mGnssLocationProvider = gnssLocationProvider;
         mGnssStatusProvider = mGnssLocationProvider.getGnssStatusProvider();
         mGnssMeasurementsProvider = mGnssLocationProvider.getGnssMeasurementsProvider();
-        mGnssAntennaInfoProvider = mGnssLocationProvider.getGnssAntennaInfoProvider();
         mGnssMeasurementCorrectionsProvider =
                 mGnssLocationProvider.getGnssMeasurementCorrectionsProvider();
         mGnssNavigationMessageProvider = mGnssLocationProvider.getGnssNavigationMessageProvider();
@@ -366,14 +357,6 @@
                     uid,
                     foreground);
         }
-        synchronized (mGnssAntennaInfoListeners) {
-            updateListenersOnForegroundChangedLocked(
-                    mGnssAntennaInfoListeners,
-                    mGnssAntennaInfoProvider,
-                    IGnssAntennaInfoListener.Stub::asInterface,
-                    uid,
-                    foreground);
-        }
     }
 
     private <TRequest, TListener extends IInterface> void updateListenersOnForegroundChangedLocked(
@@ -561,40 +544,6 @@
     }
 
     /**
-     * Adds a GNSS Antenna Info listener.
-     *
-     * @param listener    called when GNSS antenna info is received
-     * @param packageName name of requesting package
-     * @return true if listener is successfully added, false otherwise
-     */
-    public boolean addGnssAntennaInfoListener(
-            IGnssAntennaInfoListener listener, String packageName,
-            @Nullable String featureId, @NonNull String listenerIdentifier) {
-        synchronized (mGnssAntennaInfoListeners) {
-            return addGnssDataListenerLocked(
-                    listener,
-                    packageName,
-                    featureId,
-                    listenerIdentifier,
-                    mGnssAntennaInfoProvider,
-                    mGnssAntennaInfoListeners,
-                    this::removeGnssAntennaInfoListener);
-        }
-    }
-
-    /**
-     * Removes a GNSS Antenna Info listener.
-     *
-     * @param listener called when GNSS antenna info is received
-     */
-    public void removeGnssAntennaInfoListener(IGnssAntennaInfoListener listener) {
-        synchronized (mGnssAntennaInfoListeners) {
-            removeGnssDataListenerLocked(
-                    listener, mGnssAntennaInfoProvider, mGnssAntennaInfoListeners);
-        }
-    }
-
-    /**
      * Adds a GNSS navigation message listener.
      */
     public boolean addGnssNavigationMessageListener(
diff --git a/services/core/jni/com_android_server_location_GnssLocationProvider.cpp b/services/core/jni/com_android_server_location_GnssLocationProvider.cpp
index d0eaa48..1a8f1f9 100644
--- a/services/core/jni/com_android_server_location_GnssLocationProvider.cpp
+++ b/services/core/jni/com_android_server_location_GnssLocationProvider.cpp
@@ -26,18 +26,17 @@
 #include <android/hardware/gnss/1.0/IGnssMeasurement.h>
 #include <android/hardware/gnss/1.1/IGnssMeasurement.h>
 #include <android/hardware/gnss/2.0/IGnssMeasurement.h>
-#include <android/hardware/gnss/2.1/IGnssAntennaInfo.h>
 #include <android/hardware/gnss/2.1/IGnssMeasurement.h>
 #include <android/hardware/gnss/measurement_corrections/1.0/IMeasurementCorrections.h>
 #include <android/hardware/gnss/measurement_corrections/1.1/IMeasurementCorrections.h>
 #include <android/hardware/gnss/visibility_control/1.0/IGnssVisibilityControl.h>
 #include <nativehelper/JNIHelp.h>
-#include "android_runtime/AndroidRuntime.h"
-#include "android_runtime/Log.h"
-#include "hardware_legacy/power.h"
 #include "jni.h"
+#include "hardware_legacy/power.h"
 #include "utils/Log.h"
 #include "utils/misc.h"
+#include "android_runtime/AndroidRuntime.h"
+#include "android_runtime/Log.h"
 
 #include <arpa/inet.h>
 #include <cinttypes>
@@ -55,12 +54,6 @@
 static jclass class_gnssNavigationMessage;
 static jclass class_gnssClock;
 static jclass class_gnssConfiguration_halInterfaceVersion;
-static jclass class_gnssAntennaInfo;
-static jclass class_phaseCenterOffsetCoordinates;
-static jclass class_phaseCenterVariationCorrections;
-static jclass class_signalGainCorrections;
-static jclass class_arrayList;
-static jclass class_doubleArray;
 
 static jobject mCallbacksObj = nullptr;
 
@@ -85,7 +78,6 @@
 static jmethodID method_reportGeofencePauseStatus;
 static jmethodID method_reportGeofenceResumeStatus;
 static jmethodID method_reportMeasurementData;
-static jmethodID method_reportAntennaInfo;
 static jmethodID method_reportNavigationMessages;
 static jmethodID method_reportLocationBatch;
 static jmethodID method_reportGnssServiceDied;
@@ -122,12 +114,6 @@
 static jmethodID method_gnssClockCtor;
 static jmethodID method_gnssMeasurementCtor;
 static jmethodID method_halInterfaceVersionCtor;
-static jmethodID method_gnssAntennaInfoCtor;
-static jmethodID method_phaseCenterOffsetCoordinatesCtor;
-static jmethodID method_phaseCenterVariationCorrectionsCtor;
-static jmethodID method_signalGainCorrectionsCtor;
-static jmethodID method_arrayListCtor;
-static jmethodID method_arrayListAdd;
 
 /*
  * Save a pointer to JavaVm to attach/detach threads executing
@@ -185,8 +171,6 @@
 using IGnssConfiguration_V2_1 = android::hardware::gnss::V2_1::IGnssConfiguration;
 using IGnssDebug_V1_0 = android::hardware::gnss::V1_0::IGnssDebug;
 using IGnssDebug_V2_0 = android::hardware::gnss::V2_0::IGnssDebug;
-using IGnssAntennaInfo = android::hardware::gnss::V2_1::IGnssAntennaInfo;
-using IGnssAntennaInfoCallback = android::hardware::gnss::V2_1::IGnssAntennaInfoCallback;
 using IGnssMeasurement_V1_0 = android::hardware::gnss::V1_0::IGnssMeasurement;
 using IGnssMeasurement_V1_1 = android::hardware::gnss::V1_1::IGnssMeasurement;
 using IGnssMeasurement_V2_0 = android::hardware::gnss::V2_0::IGnssMeasurement;
@@ -257,7 +241,6 @@
 sp<IMeasurementCorrections_V1_0> gnssCorrectionsIface_V1_0 = nullptr;
 sp<IMeasurementCorrections_V1_1> gnssCorrectionsIface_V1_1 = nullptr;
 sp<IGnssVisibilityControl> gnssVisibilityControlIface = nullptr;
-sp<IGnssAntennaInfo> gnssAntennaInfoIface = nullptr;
 
 #define WAKE_LOCK_NAME  "GPS"
 
@@ -1068,195 +1051,6 @@
 }
 
 /*
- * GnssAntennaInfoCallback implements the callback methods required for the
- * GnssAntennaInfo interface.
- */
-struct GnssAntennaInfoCallback : public IGnssAntennaInfoCallback {
-    // Methods from V2_1::GnssAntennaInfoCallback follow.
-    Return<void> gnssAntennaInfoCb(
-            const hidl_vec<IGnssAntennaInfoCallback::GnssAntennaInfo>& gnssAntennaInfos);
-
-private:
-    jobject translateAllGnssAntennaInfos(
-            JNIEnv* env,
-            const hidl_vec<IGnssAntennaInfoCallback::GnssAntennaInfo>& gnssAntennaInfos);
-    jobject translateSingleGnssAntennaInfo(
-            JNIEnv* env, const IGnssAntennaInfoCallback::GnssAntennaInfo& gnssAntennaInfo);
-    jobject translatePhaseCenterOffsetCoordinates(
-            JNIEnv* env, const IGnssAntennaInfoCallback::GnssAntennaInfo& gnssAntennaInfo);
-    jobject translatePhaseCenterVariationCorrections(
-            JNIEnv* env, const IGnssAntennaInfoCallback::GnssAntennaInfo& gnssAntennaInfo);
-    jobject translateSignalGainCorrections(
-            JNIEnv* env, const IGnssAntennaInfoCallback::GnssAntennaInfo& gnssAntennaInfo);
-    jobjectArray translate2dDoubleArray(JNIEnv* env,
-                                        const hidl_vec<IGnssAntennaInfoCallback::Row>& array);
-    void translateAndReportGnssAntennaInfo(
-            const hidl_vec<IGnssAntennaInfoCallback::GnssAntennaInfo>& gnssAntennaInfos);
-    void reportAntennaInfo(JNIEnv* env, const jobject antennaInfosArray);
-};
-
-Return<void> GnssAntennaInfoCallback::gnssAntennaInfoCb(
-        const hidl_vec<IGnssAntennaInfoCallback::GnssAntennaInfo>& gnssAntennaInfos) {
-    translateAndReportGnssAntennaInfo(gnssAntennaInfos);
-    return Void();
-}
-
-jobjectArray GnssAntennaInfoCallback::translate2dDoubleArray(
-        JNIEnv* env, const hidl_vec<IGnssAntennaInfoCallback::Row>& array) {
-    jsize numRows = array.size();
-    if (numRows == 0) {
-        // Empty array
-        return NULL;
-    }
-    jsize numCols = array[0].row.size();
-    if (numCols <= 1) {
-        // phi angle separation is computed as 180.0 / (numColumns - 1), so can't be < 2.
-        return NULL;
-    }
-
-    // Allocate array of double arrays
-    jobjectArray returnArray = env->NewObjectArray(numRows, class_doubleArray, NULL);
-
-    // Create each double array
-    for (uint8_t i = 0; i < numRows; i++) {
-        jdoubleArray doubleArray = env->NewDoubleArray(numCols);
-        env->SetDoubleArrayRegion(doubleArray, (jsize)0, numCols, array[i].row.data());
-        env->SetObjectArrayElement(returnArray, (jsize)i, doubleArray);
-        env->DeleteLocalRef(doubleArray);
-    }
-    return returnArray;
-}
-
-jobject GnssAntennaInfoCallback::translateAllGnssAntennaInfos(
-        JNIEnv* env, const hidl_vec<IGnssAntennaInfoCallback::GnssAntennaInfo>& gnssAntennaInfos) {
-    jobject arrayList = env->NewObject(class_arrayList,
-                                       method_arrayListCtor); // Create new ArrayList instance
-
-    for (auto gnssAntennaInfo : gnssAntennaInfos) {
-        jobject gnssAntennaInfoObject = translateSingleGnssAntennaInfo(env, gnssAntennaInfo);
-
-        env->CallBooleanMethod(arrayList, method_arrayListAdd,
-                               gnssAntennaInfoObject); // Add the antennaInfo to the ArrayList
-
-        // Delete Local Refs
-        env->DeleteLocalRef(gnssAntennaInfoObject);
-    }
-    return arrayList;
-}
-
-jobject GnssAntennaInfoCallback::translatePhaseCenterOffsetCoordinates(
-        JNIEnv* env, const IGnssAntennaInfoCallback::GnssAntennaInfo& gnssAntennaInfo) {
-    jobject phaseCenterOffsetCoordinates =
-            env->NewObject(class_phaseCenterOffsetCoordinates,
-                           method_phaseCenterOffsetCoordinatesCtor,
-                           gnssAntennaInfo.phaseCenterOffsetCoordinateMillimeters.x,
-                           gnssAntennaInfo.phaseCenterOffsetCoordinateMillimeters.xUncertainty,
-                           gnssAntennaInfo.phaseCenterOffsetCoordinateMillimeters.y,
-                           gnssAntennaInfo.phaseCenterOffsetCoordinateMillimeters.yUncertainty,
-                           gnssAntennaInfo.phaseCenterOffsetCoordinateMillimeters.z,
-                           gnssAntennaInfo.phaseCenterOffsetCoordinateMillimeters.zUncertainty);
-
-    return phaseCenterOffsetCoordinates;
-}
-
-jobject GnssAntennaInfoCallback::translatePhaseCenterVariationCorrections(
-        JNIEnv* env, const IGnssAntennaInfoCallback::GnssAntennaInfo& gnssAntennaInfo) {
-    if (gnssAntennaInfo.phaseCenterVariationCorrectionMillimeters == NULL ||
-        gnssAntennaInfo.phaseCenterVariationCorrectionUncertaintyMillimeters == NULL) {
-        return NULL;
-    }
-
-    jobjectArray phaseCenterVariationCorrectionsArray =
-            translate2dDoubleArray(env, gnssAntennaInfo.phaseCenterVariationCorrectionMillimeters);
-    jobjectArray phaseCenterVariationCorrectionsUncertaintiesArray =
-            translate2dDoubleArray(env,
-                                   gnssAntennaInfo
-                                           .phaseCenterVariationCorrectionUncertaintyMillimeters);
-
-    if (phaseCenterVariationCorrectionsArray == NULL ||
-        phaseCenterVariationCorrectionsUncertaintiesArray == NULL) {
-        return NULL;
-    }
-
-    jobject phaseCenterVariationCorrections =
-            env->NewObject(class_phaseCenterVariationCorrections,
-                           method_phaseCenterVariationCorrectionsCtor,
-                           phaseCenterVariationCorrectionsArray,
-                           phaseCenterVariationCorrectionsUncertaintiesArray);
-
-    env->DeleteLocalRef(phaseCenterVariationCorrectionsArray);
-    env->DeleteLocalRef(phaseCenterVariationCorrectionsUncertaintiesArray);
-
-    return phaseCenterVariationCorrections;
-}
-
-jobject GnssAntennaInfoCallback::translateSignalGainCorrections(
-        JNIEnv* env, const IGnssAntennaInfoCallback::GnssAntennaInfo& gnssAntennaInfo) {
-    if (gnssAntennaInfo.signalGainCorrectionDbi == NULL ||
-        gnssAntennaInfo.signalGainCorrectionUncertaintyDbi == NULL) {
-        return NULL;
-    }
-    jobjectArray signalGainCorrectionsArray =
-            translate2dDoubleArray(env, gnssAntennaInfo.signalGainCorrectionDbi);
-    jobjectArray signalGainCorrectionsUncertaintiesArray =
-            translate2dDoubleArray(env, gnssAntennaInfo.signalGainCorrectionUncertaintyDbi);
-
-    if (signalGainCorrectionsArray == NULL || signalGainCorrectionsUncertaintiesArray == NULL) {
-        return NULL;
-    }
-
-    jobject signalGainCorrections =
-            env->NewObject(class_signalGainCorrections, method_signalGainCorrectionsCtor,
-                           signalGainCorrectionsArray, signalGainCorrectionsUncertaintiesArray);
-
-    env->DeleteLocalRef(signalGainCorrectionsArray);
-    env->DeleteLocalRef(signalGainCorrectionsUncertaintiesArray);
-
-    return signalGainCorrections;
-}
-
-jobject GnssAntennaInfoCallback::translateSingleGnssAntennaInfo(
-        JNIEnv* env, const IGnssAntennaInfoCallback::GnssAntennaInfo& gnssAntennaInfo) {
-    jobject phaseCenterOffsetCoordinates =
-            translatePhaseCenterOffsetCoordinates(env, gnssAntennaInfo);
-
-    // Nullable
-    jobject phaseCenterVariationCorrections =
-            translatePhaseCenterVariationCorrections(env, gnssAntennaInfo);
-
-    // Nullable
-    jobject signalGainCorrections = translateSignalGainCorrections(env, gnssAntennaInfo);
-
-    jobject gnssAntennaInfoObject =
-            env->NewObject(class_gnssAntennaInfo, method_gnssAntennaInfoCtor,
-                           gnssAntennaInfo.carrierFrequencyMHz, phaseCenterOffsetCoordinates,
-                           phaseCenterVariationCorrections, signalGainCorrections);
-
-    // Delete Local Refs
-    env->DeleteLocalRef(phaseCenterOffsetCoordinates);
-    env->DeleteLocalRef(phaseCenterVariationCorrections);
-    env->DeleteLocalRef(signalGainCorrections);
-
-    return gnssAntennaInfoObject;
-}
-
-void GnssAntennaInfoCallback::translateAndReportGnssAntennaInfo(
-        const hidl_vec<IGnssAntennaInfoCallback::GnssAntennaInfo>& gnssAntennaInfos) {
-    JNIEnv* env = getJniEnv();
-
-    jobject arrayList = translateAllGnssAntennaInfos(env, gnssAntennaInfos);
-
-    reportAntennaInfo(env, arrayList);
-
-    env->DeleteLocalRef(arrayList);
-}
-
-void GnssAntennaInfoCallback::reportAntennaInfo(JNIEnv* env, const jobject antennaInfosArray) {
-    env->CallVoidMethod(mCallbacksObj, method_reportAntennaInfo, antennaInfosArray);
-    checkAndClearExceptionFromCallback(env, __FUNCTION__);
-}
-
-/*
  * GnssMeasurementCallback implements the callback methods required for the
  * GnssMeasurement interface.
  */
@@ -1914,7 +1708,6 @@
             "(II)V");
     method_reportGeofencePauseStatus = env->GetMethodID(clazz, "reportGeofencePauseStatus",
             "(II)V");
-    method_reportAntennaInfo = env->GetMethodID(clazz, "reportAntennaInfo", "(Ljava/util/List;)V");
     method_reportMeasurementData = env->GetMethodID(
             clazz,
             "reportMeasurementData",
@@ -1998,36 +1791,6 @@
     class_gnssMeasurement = (jclass) env->NewGlobalRef(gnssMeasurementClass);
     method_gnssMeasurementCtor = env->GetMethodID(class_gnssMeasurement, "<init>", "()V");
 
-    jclass gnssAntennaInfoClass = env->FindClass("android/location/GnssAntennaInfo");
-    class_gnssAntennaInfo = (jclass)env->NewGlobalRef(gnssAntennaInfoClass);
-    method_gnssAntennaInfoCtor =
-            env->GetMethodID(class_gnssAntennaInfo, "<init>",
-                             "(D"
-                             "Landroid/location/GnssAntennaInfo$PhaseCenterOffsetCoordinates;"
-                             "Landroid/location/GnssAntennaInfo$PhaseCenterVariationCorrections;"
-                             "Landroid/location/GnssAntennaInfo$SignalGainCorrections;"
-                             ")V");
-
-    jclass phaseCenterOffsetCoordinatesClass =
-            env->FindClass("android/location/GnssAntennaInfo$PhaseCenterOffsetCoordinates");
-    class_phaseCenterOffsetCoordinates =
-            (jclass)env->NewGlobalRef(phaseCenterOffsetCoordinatesClass);
-    method_phaseCenterOffsetCoordinatesCtor =
-            env->GetMethodID(class_phaseCenterOffsetCoordinates, "<init>", "(DDDDDD)V");
-
-    jclass phaseCenterVariationCorrectionsClass =
-            env->FindClass("android/location/GnssAntennaInfo$PhaseCenterVariationCorrections");
-    class_phaseCenterVariationCorrections =
-            (jclass)env->NewGlobalRef(phaseCenterVariationCorrectionsClass);
-    method_phaseCenterVariationCorrectionsCtor =
-            env->GetMethodID(class_phaseCenterVariationCorrections, "<init>", "([[D[[D)V");
-
-    jclass signalGainCorrectionsClass =
-            env->FindClass("android/location/GnssAntennaInfo$SignalGainCorrections");
-    class_signalGainCorrections = (jclass)env->NewGlobalRef(signalGainCorrectionsClass);
-    method_signalGainCorrectionsCtor =
-            env->GetMethodID(class_signalGainCorrections, "<init>", "([[D[[D)V");
-
     jclass locationClass = env->FindClass("android/location/Location");
     class_location = (jclass) env->NewGlobalRef(locationClass);
     method_locationCtor = env->GetMethodID(class_location, "<init>", "(Ljava/lang/String;)V");
@@ -2046,14 +1809,6 @@
             (jclass) env->NewGlobalRef(gnssConfiguration_halInterfaceVersionClass);
     method_halInterfaceVersionCtor =
             env->GetMethodID(class_gnssConfiguration_halInterfaceVersion, "<init>", "(II)V");
-
-    jclass arrayListClass = env->FindClass("java/util/ArrayList");
-    class_arrayList = (jclass)env->NewGlobalRef(arrayListClass);
-    method_arrayListCtor = env->GetMethodID(class_arrayList, "<init>", "()V");
-    method_arrayListAdd = env->GetMethodID(class_arrayList, "add", "(Ljava/lang/Object;)Z");
-
-    jclass doubleArrayClass = env->FindClass("[D");
-    class_doubleArray = (jclass)env->NewGlobalRef(doubleArrayClass);
 }
 
 /* Initialization needed at system boot and whenever GNSS service dies. */
@@ -2180,15 +1935,6 @@
     }
 
     if (gnssHal_V2_1 != nullptr) {
-        auto gnssAntennaInfo = gnssHal_V2_1->getExtensionGnssAntennaInfo();
-        if (!gnssAntennaInfo.isOk()) {
-            ALOGD("Unable to get a handle to GnssAntennaInfo");
-        } else {
-            gnssAntennaInfoIface = gnssAntennaInfo;
-        }
-    }
-
-    if (gnssHal_V2_1 != nullptr) {
         auto gnssCorrections = gnssHal_V2_1->getExtensionMeasurementCorrections_1_1();
         if (!gnssCorrections.isOk()) {
             ALOGD("Unable to get a handle to GnssMeasurementCorrections 1.1 interface");
@@ -2979,52 +2725,6 @@
     return checkHidlReturn(result, "IGnssGeofencing resumeGeofence() failed.");
 }
 
-static jboolean android_location_GnssAntennaInfoProvider_is_antenna_info_supported(JNIEnv* env,
-                                                                                   jclass clazz) {
-    if (gnssAntennaInfoIface != nullptr) {
-        return JNI_TRUE;
-    }
-    return JNI_FALSE;
-}
-
-static jboolean android_location_GnssAntennaInfoProvider_start_antenna_info_listening(
-        JNIEnv* /* env */, jobject /* obj */) {
-    if (gnssAntennaInfoIface == nullptr) {
-        ALOGE("%s: IGnssAntennaInfo interface not available.", __func__);
-        return JNI_FALSE;
-    }
-
-    sp<GnssAntennaInfoCallback> cbIface = new GnssAntennaInfoCallback();
-
-    auto result = gnssAntennaInfoIface->setCallback(cbIface);
-
-    if (!checkHidlReturn(result, "IGnssAntennaInfo setCallback() failed.")) {
-        return JNI_FALSE;
-    }
-
-    IGnssAntennaInfo::GnssAntennaInfoStatus initRet = result;
-    if (initRet != IGnssAntennaInfo::GnssAntennaInfoStatus::SUCCESS) {
-        ALOGE("An error has been found on GnssAntennaInfoInterface::init, status=%d",
-              static_cast<int32_t>(initRet));
-        return JNI_FALSE;
-    } else {
-        ALOGD("gnss antenna info has been enabled");
-    }
-
-    return JNI_TRUE;
-}
-
-static jboolean android_location_GnssAntennaInfoProvider_stop_antenna_info_listening(
-        JNIEnv* /* env */, jobject /* obj */) {
-    if (gnssAntennaInfoIface == nullptr) {
-        ALOGE("%s: IGnssAntennaInfo interface not available.", __func__);
-        return JNI_FALSE;
-    }
-
-    auto result = gnssAntennaInfoIface->close();
-    return checkHidlReturn(result, "IGnssAntennaInfo close() failed.");
-}
-
 static jboolean android_location_GnssMeasurementsProvider_is_measurement_supported(
     JNIEnv* env, jclass clazz) {
     if (gnssMeasurementIface != nullptr) {
@@ -3586,19 +3286,6 @@
             reinterpret_cast<void *>(android_location_GnssBatchingProvider_cleanup_batching)},
 };
 
-static const JNINativeMethod sAntennaInfoMethods[] = {
-        /* name, signature, funcPtr */
-        {"native_is_antenna_info_supported", "()Z",
-         reinterpret_cast<void*>(
-                 android_location_GnssAntennaInfoProvider_is_antenna_info_supported)},
-        {"native_start_antenna_info_listening", "()Z",
-         reinterpret_cast<void*>(
-                 android_location_GnssAntennaInfoProvider_start_antenna_info_listening)},
-        {"native_stop_antenna_info_listening", "()Z",
-         reinterpret_cast<void*>(
-                 android_location_GnssAntennaInfoProvider_stop_antenna_info_listening)},
-};
-
 static const JNINativeMethod sGeofenceMethods[] = {
      /* name, signature, funcPtr */
     {"native_is_geofence_supported",
@@ -3720,8 +3407,6 @@
 };
 
 int register_android_server_location_GnssLocationProvider(JNIEnv* env) {
-    jniRegisterNativeMethods(env, "com/android/server/location/GnssAntennaInfoProvider",
-                             sAntennaInfoMethods, NELEM(sAntennaInfoMethods));
     jniRegisterNativeMethods(
             env,
             "com/android/server/location/GnssBatchingProvider",
diff --git a/services/robotests/src/com/android/server/location/GnssAntennaInfoProviderTest.java b/services/robotests/src/com/android/server/location/GnssAntennaInfoProviderTest.java
deleted file mode 100644
index 76f7ad6..0000000
--- a/services/robotests/src/com/android/server/location/GnssAntennaInfoProviderTest.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.server.location;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.os.Handler;
-import android.os.Looper;
-import android.platform.test.annotations.Presubmit;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-/**
- * Unit tests for {@link GnssAntennaInfoProvider}.
- */
-@RunWith(RobolectricTestRunner.class)
-@Presubmit
-public class GnssAntennaInfoProviderTest {
-    @Mock
-    private GnssAntennaInfoProvider.GnssAntennaInfoProviderNative mMockNative;
-    private GnssAntennaInfoProvider mTestProvider;
-
-    /** Setup. */
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        when(mMockNative.startAntennaInfoListening()).thenReturn(true);
-        when(mMockNative.stopAntennaInfoListening()).thenReturn(true);
-
-        mTestProvider = new GnssAntennaInfoProvider(RuntimeEnvironment.application,
-                new Handler(Looper.myLooper()), mMockNative) {
-            @Override
-            public boolean isGpsEnabled() {
-                return true;
-            }
-        };
-    }
-
-    /**
-     * Test that registerWithService calls the native startAntennaInfoListening method.
-     */
-    @Test
-    public void register_nativeStarted() {
-        mTestProvider.registerWithService();
-        verify(mMockNative, times(1)).startAntennaInfoListening();
-    }
-
-    /**
-     * Test that unregisterFromService calls the native stopAntennaInfoListening method.
-     */
-    @Test
-    public void unregister_nativeStopped() {
-        mTestProvider.registerWithService();
-        mTestProvider.unregisterFromService();
-        verify(mMockNative, times(1)).stopAntennaInfoListening();
-    }
-
-    /**
-     * Test that GnssAntennaInfoProvider.isAntennaInfoSupported() returns the result of the
-     * native isAntennaInfoSupported method.
-     */
-    @Test
-    public void isSupported_nativeIsSupported() {
-        when(mMockNative.isAntennaInfoSupported()).thenReturn(true);
-        assertThat(mTestProvider.isAvailableInPlatform()).isTrue();
-
-        when(mMockNative.isAntennaInfoSupported()).thenReturn(false);
-        assertThat(mTestProvider.isAvailableInPlatform()).isFalse();
-    }
-}
diff --git a/services/tests/servicestests/src/com/android/server/location/gnss/GnssManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/location/gnss/GnssManagerServiceTest.java
index 4d0ad96..4ba584e 100644
--- a/services/tests/servicestests/src/com/android/server/location/gnss/GnssManagerServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/location/gnss/GnssManagerServiceTest.java
@@ -35,7 +35,6 @@
 import android.app.AppOpsManager;
 import android.content.Context;
 import android.content.pm.PackageManager;
-import android.location.GnssAntennaInfo;
 import android.location.GnssClock;
 import android.location.GnssMeasurementCorrections;
 import android.location.GnssMeasurementsEvent;
@@ -43,7 +42,6 @@
 import android.location.GnssRequest;
 import android.location.GnssSingleSatCorrection;
 import android.location.IBatchedLocationCallback;
-import android.location.IGnssAntennaInfoListener;
 import android.location.IGnssMeasurementsListener;
 import android.location.IGnssNavigationMessageListener;
 import android.location.IGnssStatusListener;
@@ -58,8 +56,6 @@
 
 import com.android.server.LocalServices;
 import com.android.server.location.AppForegroundHelper;
-import com.android.server.location.GnssAntennaInfoProvider;
-import com.android.server.location.GnssAntennaInfoProvider.GnssAntennaInfoProviderNative;
 import com.android.server.location.GnssBatchingProvider;
 import com.android.server.location.GnssCapabilitiesProvider;
 import com.android.server.location.GnssLocationProvider;
@@ -106,7 +102,6 @@
     private GnssMeasurementsProvider mTestGnssMeasurementsProvider;
     private GnssStatusListenerHelper mTestGnssStatusProvider;
     private GnssNavigationMessageProvider mTestGnssNavigationMessageProvider;
-    private GnssAntennaInfoProvider mTestGnssAntennaInfoProvider;
 
     // Managers and services
     @Mock
@@ -157,8 +152,6 @@
                 mMockContext, mMockHandler);
         mTestGnssNavigationMessageProvider = createGnssNavigationMessageProvider(
                 mMockContext, mMockHandler);
-        mTestGnssAntennaInfoProvider = createGnssAntennaInfoProvider(
-                mMockContext, mMockHandler);
 
         // Setup GnssLocationProvider to return providers
         when(mMockGnssLocationProvider.getGnssStatusProvider()).thenReturn(
@@ -177,8 +170,6 @@
                 mTestGnssNavigationMessageProvider);
         when(mMockGnssLocationProvider.getNetInitiatedListener()).thenReturn(
                 mNetInitiatedListener);
-        when(mMockGnssLocationProvider.getGnssAntennaInfoProvider()).thenReturn(
-                mTestGnssAntennaInfoProvider);
 
         // Setup GnssBatching provider
         when(mMockGnssBatchingProvider.start(anyLong(), anyBoolean())).thenReturn(true);
@@ -214,12 +205,6 @@
         return mockListener;
     }
 
-    private IGnssAntennaInfoListener createMockGnssAntennaInfoListener() {
-        IGnssAntennaInfoListener mockListener = mock(IGnssAntennaInfoListener.class);
-        overrideAsBinder(mockListener);
-        return mockListener;
-    }
-
     private IBatchedLocationCallback createMockBatchedLocationCallback() {
         IBatchedLocationCallback mockedCallback = mock(IBatchedLocationCallback.class);
         overrideAsBinder(mockedCallback);
@@ -240,39 +225,6 @@
                         Arrays.asList(gnssSingleSatCorrection)).build();
     }
 
-    private static List<GnssAntennaInfo> createDummyGnssAntennaInfos() {
-        double carrierFrequencyMHz = 13758.0;
-
-        GnssAntennaInfo.PhaseCenterOffsetCoordinates phaseCenterOffsetCoordinates = new
-                GnssAntennaInfo.PhaseCenterOffsetCoordinates(
-                4.3d,
-                1.4d,
-                2.10d,
-                2.1d,
-                3.12d,
-                0.5d);
-
-        double[][] phaseCenterVariationCorrectionsMillimeters = new double[10][10];
-        double[][] phaseCenterVariationCorrectionsUncertaintyMillimeters = new double[10][10];
-        GnssAntennaInfo.PhaseCenterVariationCorrections
-                phaseCenterVariationCorrections =
-                new GnssAntennaInfo.PhaseCenterVariationCorrections(
-                        phaseCenterVariationCorrectionsMillimeters,
-                        phaseCenterVariationCorrectionsUncertaintyMillimeters);
-
-        double[][] signalGainCorrectionsDbi = new double[10][10];
-        double[][] signalGainCorrectionsUncertaintyDbi = new double[10][10];
-        GnssAntennaInfo.SignalGainCorrections signalGainCorrections = new
-                GnssAntennaInfo.SignalGainCorrections(
-                signalGainCorrectionsDbi,
-                signalGainCorrectionsUncertaintyDbi);
-
-        List<GnssAntennaInfo> gnssAntennaInfos = new ArrayList();
-        gnssAntennaInfos.add(new GnssAntennaInfo(carrierFrequencyMHz, phaseCenterOffsetCoordinates,
-                phaseCenterVariationCorrections, signalGainCorrections));
-        return gnssAntennaInfos;
-    }
-
     private void enableLocationPermissions() {
         Mockito.doThrow(new SecurityException()).when(
                 mMockContext).enforceCallingPermission(
@@ -347,18 +299,6 @@
         };
     }
 
-    private GnssAntennaInfoProvider createGnssAntennaInfoProvider(Context context,
-            Handler handler) {
-        GnssAntennaInfoProviderNative mockGnssAntenaInfoProviderNative = mock(
-                GnssAntennaInfoProviderNative.class);
-        return new GnssAntennaInfoProvider(context, handler, mockGnssAntenaInfoProviderNative) {
-            @Override
-            protected boolean isGpsEnabled() {
-                return true;
-            }
-        };
-    }
-
     @Test
     public void getGnssYearOfHardwareTest() {
         final int gnssYearOfHardware = 2012;
@@ -730,82 +670,6 @@
     }
 
     @Test
-    public void addGnssAntennaInfoListenerWithoutPermissionsTest() throws RemoteException {
-        IGnssAntennaInfoListener mockGnssAntennaInfoListener =
-                createMockGnssAntennaInfoListener();
-        List<GnssAntennaInfo> gnssAntennaInfos = createDummyGnssAntennaInfos();
-
-        disableLocationPermissions();
-
-        assertThrows(SecurityException.class,
-                () -> mGnssManagerService.addGnssAntennaInfoListener(
-                        mockGnssAntennaInfoListener,
-                        "com.android.server", "abcd123", "TestGnssAntennaInfoListener"));
-
-        mTestGnssAntennaInfoProvider.onGnssAntennaInfoAvailable(gnssAntennaInfos);
-        verify(mockGnssAntennaInfoListener, times(0))
-                .onGnssAntennaInfoReceived(gnssAntennaInfos);
-    }
-
-    @Test
-    public void addGnssAntennaInfoListenerWithPermissionsTest() throws RemoteException {
-        IGnssAntennaInfoListener mockGnssAntennaInfoListener =
-                createMockGnssAntennaInfoListener();
-        List<GnssAntennaInfo> gnssAntennaInfos = createDummyGnssAntennaInfos();
-
-        enableLocationPermissions();
-
-        assertThat(mGnssManagerService.addGnssAntennaInfoListener(mockGnssAntennaInfoListener,
-                "com.android.server", "abcd123", "TestGnssAntennaInfoListener")).isEqualTo(true);
-
-        mTestGnssAntennaInfoProvider.onGnssAntennaInfoAvailable(gnssAntennaInfos);
-        verify(mockGnssAntennaInfoListener, times(1))
-                .onGnssAntennaInfoReceived(gnssAntennaInfos);
-    }
-
-    @Test
-    public void removeGnssAntennaInfoListenerWithoutPermissionsTest() throws RemoteException {
-        IGnssAntennaInfoListener mockGnssAntennaInfoListener =
-                createMockGnssAntennaInfoListener();
-        List<GnssAntennaInfo> gnssAntennaInfos = createDummyGnssAntennaInfos();
-
-        enableLocationPermissions();
-
-        mGnssManagerService.addGnssAntennaInfoListener(
-                mockGnssAntennaInfoListener,
-                "com.android.server", "abcd123", "TestGnssAntennaInfoListener");
-
-        disableLocationPermissions();
-
-        mGnssManagerService.removeGnssAntennaInfoListener(
-                mockGnssAntennaInfoListener);
-
-        mTestGnssAntennaInfoProvider.onGnssAntennaInfoAvailable(gnssAntennaInfos);
-        verify(mockGnssAntennaInfoListener, times(0)).onGnssAntennaInfoReceived(
-                gnssAntennaInfos);
-    }
-
-    @Test
-    public void removeGnssAntennaInfoListenerWithPermissionsTest() throws RemoteException {
-        IGnssAntennaInfoListener mockGnssAntennaInfoListener =
-                createMockGnssAntennaInfoListener();
-        List<GnssAntennaInfo> gnssAntennaInfos = createDummyGnssAntennaInfos();
-
-        enableLocationPermissions();
-
-        mGnssManagerService.addGnssAntennaInfoListener(
-                mockGnssAntennaInfoListener,
-                "com.android.server", "abcd123", "TestGnssAntennaInfoListener");
-
-        mGnssManagerService.removeGnssAntennaInfoListener(
-                mockGnssAntennaInfoListener);
-
-        mTestGnssAntennaInfoProvider.onGnssAntennaInfoAvailable(gnssAntennaInfos);
-        verify(mockGnssAntennaInfoListener, times(0)).onGnssAntennaInfoReceived(
-                gnssAntennaInfos);
-    }
-
-    @Test
     public void addGnssNavigationMessageListenerWithoutPermissionsTest() throws RemoteException {
         IGnssNavigationMessageListener mockGnssNavigationMessageListener =
                 createMockGnssNavigationMessageListener();