Loading api/current.txt +4 −1 Original line number Diff line number Diff line Loading @@ -23727,7 +23727,8 @@ package android.location { field public static final int STATUS_READY = 1; // 0x1 } public final class GnssStatus { public final class GnssStatus implements android.os.Parcelable { method public int describeContents(); method @FloatRange(from=0, to=360) public float getAzimuthDegrees(@IntRange(from=0) int); method @FloatRange(from=0, to=63) public float getBasebandCn0DbHz(@IntRange(from=0) int); method @FloatRange(from=0) public float getCarrierFrequencyHz(@IntRange(from=0) int); Loading @@ -23741,6 +23742,7 @@ package android.location { method public boolean hasCarrierFrequencyHz(@IntRange(from=0) int); method public boolean hasEphemerisData(@IntRange(from=0) int); method public boolean usedInFix(@IntRange(from=0) int); method public void writeToParcel(@NonNull android.os.Parcel, int); field public static final int CONSTELLATION_BEIDOU = 5; // 0x5 field public static final int CONSTELLATION_GALILEO = 6; // 0x6 field public static final int CONSTELLATION_GLONASS = 3; // 0x3 Loading @@ -23749,6 +23751,7 @@ package android.location { field public static final int CONSTELLATION_QZSS = 4; // 0x4 field public static final int CONSTELLATION_SBAS = 2; // 0x2 field public static final int CONSTELLATION_UNKNOWN = 0; // 0x0 field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssStatus> CREATOR; } public static final class GnssStatus.Builder { location/java/android/location/GnssStatus.aidl 0 → 100644 +19 −0 Original line number Diff line number Diff line /* * 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 GnssStatus; location/java/android/location/GnssStatus.java +80 −2 Original line number Diff line number Diff line Loading @@ -20,6 +20,10 @@ import android.annotation.FloatRange; import android.annotation.IntDef; import android.annotation.IntRange; import android.annotation.NonNull; import android.os.Parcel; import android.os.Parcelable; import com.android.internal.util.Preconditions; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; Loading @@ -34,7 +38,7 @@ import java.util.Objects; * @see LocationManager#registerGnssStatusCallback * @see GnssStatus.Callback */ public final class GnssStatus { public final class GnssStatus implements Parcelable { // These must match the definitions in GNSS HAL. // Loading Loading @@ -128,6 +132,13 @@ public final class GnssStatus { public static GnssStatus wrap(int svCount, int[] svidWithFlags, float[] cn0DbHzs, float[] elevations, float[] azimuths, float[] carrierFrequencies, float[] basebandCn0DbHzs) { Preconditions.checkState(svCount >= 0); Preconditions.checkState(svidWithFlags.length >= svCount); Preconditions.checkState(elevations.length >= svCount); Preconditions.checkState(azimuths.length >= svCount); Preconditions.checkState(carrierFrequencies.length >= svCount); Preconditions.checkState(basebandCn0DbHzs.length >= svCount); return new GnssStatus(svCount, svidWithFlags, cn0DbHzs, elevations, azimuths, carrierFrequencies, basebandCn0DbHzs); } Loading Loading @@ -368,6 +379,73 @@ public final class GnssStatus { return result; } public static final @NonNull Creator<GnssStatus> CREATOR = new Creator<GnssStatus>() { @Override public GnssStatus createFromParcel(Parcel in) { int svCount = in.readInt(); int[] svidWithFlags = new int[svCount]; float[] cn0DbHzs = new float[svCount]; float[] elevations = new float[svCount]; float[] azimuths = new float[svCount]; float[] carrierFrequencies = new float[svCount]; float[] basebandCn0DbHzs = new float[svCount]; for (int i = 0; i < svCount; i++) { svidWithFlags[i] = in.readInt(); } for (int i = 0; i < svCount; i++) { cn0DbHzs[i] = in.readFloat(); } for (int i = 0; i < svCount; i++) { elevations[i] = in.readFloat(); } for (int i = 0; i < svCount; i++) { azimuths[i] = in.readFloat(); } for (int i = 0; i < svCount; i++) { carrierFrequencies[i] = in.readFloat(); } for (int i = 0; i < svCount; i++) { basebandCn0DbHzs[i] = in.readFloat(); } return new GnssStatus(svCount, svidWithFlags, cn0DbHzs, elevations, azimuths, carrierFrequencies, basebandCn0DbHzs); } @Override public GnssStatus[] newArray(int size) { return new GnssStatus[size]; } }; @Override public int describeContents() { return 0; } @Override public void writeToParcel(@NonNull Parcel parcel, int flags) { parcel.writeInt(mSvCount); for (int i = 0; i < mSvCount; i++) { parcel.writeInt(mSvidWithFlags[i]); } for (int i = 0; i < mSvCount; i++) { parcel.writeFloat(mCn0DbHzs[i]); } for (int i = 0; i < mSvCount; i++) { parcel.writeFloat(mElevations[i]); } for (int i = 0; i < mSvCount; i++) { parcel.writeFloat(mAzimuths[i]); } for (int i = 0; i < mSvCount; i++) { parcel.writeFloat(mCarrierFrequencies[i]); } for (int i = 0; i < mSvCount; i++) { parcel.writeFloat(mBasebandCn0DbHzs[i]); } } /** * Builder class to help create new GnssStatus instances. */ Loading Loading @@ -451,7 +529,7 @@ public final class GnssStatus { basebandCn0DbHzs[i] = mSatellites.get(i).mBasebandCn0DbHz; } return wrap(svCount, svidWithFlags, cn0DbHzs, elevations, azimuths, return new GnssStatus(svCount, svidWithFlags, cn0DbHzs, elevations, azimuths, carrierFrequencies, basebandCn0DbHzs); } } Loading location/java/android/location/IGnssStatusListener.aidl +2 −4 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ package android.location; import android.location.Location; import android.location.GnssStatus; /** * {@hide} Loading @@ -26,8 +26,6 @@ oneway interface IGnssStatusListener void onGnssStarted(); void onGnssStopped(); void onFirstFix(int ttff); void onSvStatusChanged(int svCount, in int[] svidWithFlags, in float[] cn0s, in float[] elevations, in float[] azimuths, in float[] carrierFreqs, in float[] basebandCn0s); void onSvStatusChanged(in GnssStatus gnssStatus); void onNmeaReceived(long timestamp, String nmea); } location/java/android/location/LocationManager.java +3 −7 Original line number Diff line number Diff line Loading @@ -2925,13 +2925,9 @@ public class LocationManager { } @Override public void onSvStatusChanged(int svCount, int[] svidWithFlags, float[] cn0s, float[] elevations, float[] azimuths, float[] carrierFreqs, float[] basebandCn0s) { GnssStatus localStatus = GnssStatus.wrap(svCount, svidWithFlags, cn0s, elevations, azimuths, carrierFreqs, basebandCn0s); mGnssStatus = localStatus; deliverToListeners(callback -> callback.onSatelliteStatusChanged(localStatus)); public void onSvStatusChanged(GnssStatus gnssStatus) { mGnssStatus = gnssStatus; deliverToListeners(callback -> callback.onSatelliteStatusChanged(gnssStatus)); } @Override Loading Loading
api/current.txt +4 −1 Original line number Diff line number Diff line Loading @@ -23727,7 +23727,8 @@ package android.location { field public static final int STATUS_READY = 1; // 0x1 } public final class GnssStatus { public final class GnssStatus implements android.os.Parcelable { method public int describeContents(); method @FloatRange(from=0, to=360) public float getAzimuthDegrees(@IntRange(from=0) int); method @FloatRange(from=0, to=63) public float getBasebandCn0DbHz(@IntRange(from=0) int); method @FloatRange(from=0) public float getCarrierFrequencyHz(@IntRange(from=0) int); Loading @@ -23741,6 +23742,7 @@ package android.location { method public boolean hasCarrierFrequencyHz(@IntRange(from=0) int); method public boolean hasEphemerisData(@IntRange(from=0) int); method public boolean usedInFix(@IntRange(from=0) int); method public void writeToParcel(@NonNull android.os.Parcel, int); field public static final int CONSTELLATION_BEIDOU = 5; // 0x5 field public static final int CONSTELLATION_GALILEO = 6; // 0x6 field public static final int CONSTELLATION_GLONASS = 3; // 0x3 Loading @@ -23749,6 +23751,7 @@ package android.location { field public static final int CONSTELLATION_QZSS = 4; // 0x4 field public static final int CONSTELLATION_SBAS = 2; // 0x2 field public static final int CONSTELLATION_UNKNOWN = 0; // 0x0 field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssStatus> CREATOR; } public static final class GnssStatus.Builder {
location/java/android/location/GnssStatus.aidl 0 → 100644 +19 −0 Original line number Diff line number Diff line /* * 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 GnssStatus;
location/java/android/location/GnssStatus.java +80 −2 Original line number Diff line number Diff line Loading @@ -20,6 +20,10 @@ import android.annotation.FloatRange; import android.annotation.IntDef; import android.annotation.IntRange; import android.annotation.NonNull; import android.os.Parcel; import android.os.Parcelable; import com.android.internal.util.Preconditions; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; Loading @@ -34,7 +38,7 @@ import java.util.Objects; * @see LocationManager#registerGnssStatusCallback * @see GnssStatus.Callback */ public final class GnssStatus { public final class GnssStatus implements Parcelable { // These must match the definitions in GNSS HAL. // Loading Loading @@ -128,6 +132,13 @@ public final class GnssStatus { public static GnssStatus wrap(int svCount, int[] svidWithFlags, float[] cn0DbHzs, float[] elevations, float[] azimuths, float[] carrierFrequencies, float[] basebandCn0DbHzs) { Preconditions.checkState(svCount >= 0); Preconditions.checkState(svidWithFlags.length >= svCount); Preconditions.checkState(elevations.length >= svCount); Preconditions.checkState(azimuths.length >= svCount); Preconditions.checkState(carrierFrequencies.length >= svCount); Preconditions.checkState(basebandCn0DbHzs.length >= svCount); return new GnssStatus(svCount, svidWithFlags, cn0DbHzs, elevations, azimuths, carrierFrequencies, basebandCn0DbHzs); } Loading Loading @@ -368,6 +379,73 @@ public final class GnssStatus { return result; } public static final @NonNull Creator<GnssStatus> CREATOR = new Creator<GnssStatus>() { @Override public GnssStatus createFromParcel(Parcel in) { int svCount = in.readInt(); int[] svidWithFlags = new int[svCount]; float[] cn0DbHzs = new float[svCount]; float[] elevations = new float[svCount]; float[] azimuths = new float[svCount]; float[] carrierFrequencies = new float[svCount]; float[] basebandCn0DbHzs = new float[svCount]; for (int i = 0; i < svCount; i++) { svidWithFlags[i] = in.readInt(); } for (int i = 0; i < svCount; i++) { cn0DbHzs[i] = in.readFloat(); } for (int i = 0; i < svCount; i++) { elevations[i] = in.readFloat(); } for (int i = 0; i < svCount; i++) { azimuths[i] = in.readFloat(); } for (int i = 0; i < svCount; i++) { carrierFrequencies[i] = in.readFloat(); } for (int i = 0; i < svCount; i++) { basebandCn0DbHzs[i] = in.readFloat(); } return new GnssStatus(svCount, svidWithFlags, cn0DbHzs, elevations, azimuths, carrierFrequencies, basebandCn0DbHzs); } @Override public GnssStatus[] newArray(int size) { return new GnssStatus[size]; } }; @Override public int describeContents() { return 0; } @Override public void writeToParcel(@NonNull Parcel parcel, int flags) { parcel.writeInt(mSvCount); for (int i = 0; i < mSvCount; i++) { parcel.writeInt(mSvidWithFlags[i]); } for (int i = 0; i < mSvCount; i++) { parcel.writeFloat(mCn0DbHzs[i]); } for (int i = 0; i < mSvCount; i++) { parcel.writeFloat(mElevations[i]); } for (int i = 0; i < mSvCount; i++) { parcel.writeFloat(mAzimuths[i]); } for (int i = 0; i < mSvCount; i++) { parcel.writeFloat(mCarrierFrequencies[i]); } for (int i = 0; i < mSvCount; i++) { parcel.writeFloat(mBasebandCn0DbHzs[i]); } } /** * Builder class to help create new GnssStatus instances. */ Loading Loading @@ -451,7 +529,7 @@ public final class GnssStatus { basebandCn0DbHzs[i] = mSatellites.get(i).mBasebandCn0DbHz; } return wrap(svCount, svidWithFlags, cn0DbHzs, elevations, azimuths, return new GnssStatus(svCount, svidWithFlags, cn0DbHzs, elevations, azimuths, carrierFrequencies, basebandCn0DbHzs); } } Loading
location/java/android/location/IGnssStatusListener.aidl +2 −4 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ package android.location; import android.location.Location; import android.location.GnssStatus; /** * {@hide} Loading @@ -26,8 +26,6 @@ oneway interface IGnssStatusListener void onGnssStarted(); void onGnssStopped(); void onFirstFix(int ttff); void onSvStatusChanged(int svCount, in int[] svidWithFlags, in float[] cn0s, in float[] elevations, in float[] azimuths, in float[] carrierFreqs, in float[] basebandCn0s); void onSvStatusChanged(in GnssStatus gnssStatus); void onNmeaReceived(long timestamp, String nmea); }
location/java/android/location/LocationManager.java +3 −7 Original line number Diff line number Diff line Loading @@ -2925,13 +2925,9 @@ public class LocationManager { } @Override public void onSvStatusChanged(int svCount, int[] svidWithFlags, float[] cn0s, float[] elevations, float[] azimuths, float[] carrierFreqs, float[] basebandCn0s) { GnssStatus localStatus = GnssStatus.wrap(svCount, svidWithFlags, cn0s, elevations, azimuths, carrierFreqs, basebandCn0s); mGnssStatus = localStatus; deliverToListeners(callback -> callback.onSatelliteStatusChanged(localStatus)); public void onSvStatusChanged(GnssStatus gnssStatus) { mGnssStatus = gnssStatus; deliverToListeners(callback -> callback.onSatelliteStatusChanged(gnssStatus)); } @Override Loading