summaryrefslogtreecommitdiff
path: root/location/java/android
diff options
context:
space:
mode:
author Bernardo Rufino <brufino@google.com> 2022-01-14 17:35:36 +0000
committer Bernardo Rufino <brufino@google.com> 2022-01-19 11:13:18 +0000
commit1a5cb387d6542391d0edf69cdd828e5b7c8a9d65 (patch)
treee9901a7364aafc761bc13c0bb16698008e5069ae /location/java/android
parentd6b531e627ab0fc2dd855220abf545d4df7ce9ae (diff)
Revert "Revert "Migrate unsafe parcel APIs in framework-minus-apex""
This reverts commit 331be9a6431d6489f8d1e1b80cb510d0ee073c50. Reintroducing ag/16366278 since it seems unrelated to b/214053959 (more details on b/214053959#comment55). Original commit message: Migrate unsafe parcel APIs in framework-minus-apex Migrate the following unsafe parcel APIs in framework-minus-apex: * Parcel.readSerializable() * Parcel.readArrayList() * Parcel.readList() * Parcel.readParcelable() * Parcel.readParcelableList() * Parcel.readSparseArray() This CL was generated by applying lint fixes that infer the expected type from the caller code and provide that as the type parameter (ag/16365240). A few observations: * In some classes we couldn't migrate because the class also belonged to another build module whose min SDK wasn't current (as is the case for framework-minus-apex), hence I suppressed the lint check (since I'll eventually submit the lint check to the tree). * In some cases, I needed to do the cast in https://stackoverflow.com/a/1080525/5765705 to make the compiler happy since there isn't another way of providing a class of type Class<MyClassWithGenerics<T>>. * In the readSerializable() case, the new API also requires the class loader, that was inferred to by InferredClass.class.getClassLoader(). * Note that automatic formatting and import rely on running hooked up to the IDE, which wasn't the case here. Bug: 195622897 Change-Id: I272432e6e082a973f7a50492ec35d79c2b577c93 Test: TH passes
Diffstat (limited to 'location/java/android')
-rw-r--r--location/java/android/location/GnssMeasurement.java2
-rw-r--r--location/java/android/location/GnssMeasurementsEvent.java2
-rw-r--r--location/java/android/location/GpsMeasurementsEvent.java2
-rw-r--r--location/java/android/location/GpsNavigationMessageEvent.java2
-rw-r--r--location/java/android/location/SatellitePvt.java6
5 files changed, 7 insertions, 7 deletions
diff --git a/location/java/android/location/GnssMeasurement.java b/location/java/android/location/GnssMeasurement.java
index cdfa02c8b28f..ab3dafe9cec7 100644
--- a/location/java/android/location/GnssMeasurement.java
+++ b/location/java/android/location/GnssMeasurement.java
@@ -1868,7 +1868,7 @@ public final class GnssMeasurement implements Parcelable {
gnssMeasurement.mSatelliteInterSignalBiasUncertaintyNanos = parcel.readDouble();
if (gnssMeasurement.hasSatellitePvt()) {
ClassLoader classLoader = getClass().getClassLoader();
- gnssMeasurement.mSatellitePvt = parcel.readParcelable(classLoader);
+ gnssMeasurement.mSatellitePvt = parcel.readParcelable(classLoader, android.location.SatellitePvt.class);
}
if (gnssMeasurement.hasCorrelationVectors()) {
CorrelationVector[] correlationVectorsArray =
diff --git a/location/java/android/location/GnssMeasurementsEvent.java b/location/java/android/location/GnssMeasurementsEvent.java
index 075ddebc859f..0397740d104e 100644
--- a/location/java/android/location/GnssMeasurementsEvent.java
+++ b/location/java/android/location/GnssMeasurementsEvent.java
@@ -160,7 +160,7 @@ public final class GnssMeasurementsEvent implements Parcelable {
new Creator<GnssMeasurementsEvent>() {
@Override
public GnssMeasurementsEvent createFromParcel(Parcel in) {
- GnssClock clock = in.readParcelable(getClass().getClassLoader());
+ GnssClock clock = in.readParcelable(getClass().getClassLoader(), android.location.GnssClock.class);
List<GnssMeasurement> measurements = in.createTypedArrayList(GnssMeasurement.CREATOR);
List<GnssAutomaticGainControl> agcs = in.createTypedArrayList(
GnssAutomaticGainControl.CREATOR);
diff --git a/location/java/android/location/GpsMeasurementsEvent.java b/location/java/android/location/GpsMeasurementsEvent.java
index f3feb7a4c7b6..6b834f324839 100644
--- a/location/java/android/location/GpsMeasurementsEvent.java
+++ b/location/java/android/location/GpsMeasurementsEvent.java
@@ -112,7 +112,7 @@ public class GpsMeasurementsEvent implements Parcelable {
public GpsMeasurementsEvent createFromParcel(Parcel in) {
ClassLoader classLoader = getClass().getClassLoader();
- GpsClock clock = in.readParcelable(classLoader);
+ GpsClock clock = in.readParcelable(classLoader, android.location.GpsClock.class);
int measurementsLength = in.readInt();
GpsMeasurement[] measurementsArray = new GpsMeasurement[measurementsLength];
diff --git a/location/java/android/location/GpsNavigationMessageEvent.java b/location/java/android/location/GpsNavigationMessageEvent.java
index 2d5d6ebd5990..b37fe3dfb792 100644
--- a/location/java/android/location/GpsNavigationMessageEvent.java
+++ b/location/java/android/location/GpsNavigationMessageEvent.java
@@ -92,7 +92,7 @@ public class GpsNavigationMessageEvent implements Parcelable {
@Override
public GpsNavigationMessageEvent createFromParcel(Parcel in) {
ClassLoader classLoader = getClass().getClassLoader();
- GpsNavigationMessage navigationMessage = in.readParcelable(classLoader);
+ GpsNavigationMessage navigationMessage = in.readParcelable(classLoader, android.location.GpsNavigationMessage.class);
return new GpsNavigationMessageEvent(navigationMessage);
}
diff --git a/location/java/android/location/SatellitePvt.java b/location/java/android/location/SatellitePvt.java
index 794a8d0731f9..aa43cfd8711c 100644
--- a/location/java/android/location/SatellitePvt.java
+++ b/location/java/android/location/SatellitePvt.java
@@ -465,9 +465,9 @@ public final class SatellitePvt implements Parcelable {
public SatellitePvt createFromParcel(Parcel in) {
int flags = in.readInt();
ClassLoader classLoader = getClass().getClassLoader();
- PositionEcef positionEcef = in.readParcelable(classLoader);
- VelocityEcef velocityEcef = in.readParcelable(classLoader);
- ClockInfo clockInfo = in.readParcelable(classLoader);
+ PositionEcef positionEcef = in.readParcelable(classLoader, android.location.SatellitePvt.PositionEcef.class);
+ VelocityEcef velocityEcef = in.readParcelable(classLoader, android.location.SatellitePvt.VelocityEcef.class);
+ ClockInfo clockInfo = in.readParcelable(classLoader, android.location.SatellitePvt.ClockInfo.class);
double ionoDelayMeters = in.readDouble();
double tropoDelayMeters = in.readDouble();