Loading play-services-maps/src/main/java/com/google/android/gms/maps/model/LatLng.java +56 −3 Original line number Diff line number Diff line Loading @@ -16,15 +16,20 @@ package com.google.android.gms.maps.model; import android.os.Parcel; import android.util.Log; import androidx.annotation.NonNull; import org.microg.gms.common.PublicApi; import org.microg.safeparcel.AutoSafeParcelable; import org.microg.safeparcel.SafeParcelReader; import org.microg.safeparcel.SafeParcelWriter; import org.microg.safeparcel.SafeParcelable; import org.microg.safeparcel.SafeParceled; /** * An immutable class representing a pair of latitude and longitude coordinates, stored as degrees. */ @PublicApi public final class LatLng extends AutoSafeParcelable { public final class LatLng implements SafeParcelable { @SafeParceled(1) private int versionCode = 1; /** Loading Loading @@ -100,5 +105,53 @@ public final class LatLng extends AutoSafeParcelable { return "lat/lng: (" + latitude + "," + longitude + ")"; } public static Creator<LatLng> CREATOR = new AutoCreator<LatLng>(LatLng.class); public static Creator<LatLng> CREATOR = new Creator<LatLng>() { @Override public LatLng createFromParcel(Parcel parcel) { int versionCode = 1; double latitude = 0.0; double longitude = 0.0; int end = SafeParcelReader.readObjectHeader(parcel); while (parcel.dataPosition() < end) { int header = SafeParcelReader.readHeader(parcel); int fieldId = SafeParcelReader.getFieldId(header); switch (fieldId) { case 1: versionCode = SafeParcelReader.readInt(parcel, header); break; case 2: latitude = SafeParcelReader.readDouble(parcel, header); break; case 3: longitude = SafeParcelReader.readDouble(parcel, header); } } LatLng latLng = new LatLng(latitude, longitude); latLng.versionCode = versionCode; return latLng; } @Override public LatLng[] newArray(int i) { return new LatLng[i]; } }; @Override public int describeContents() { return 0; } @Override public void writeToParcel(@NonNull Parcel parcel, int i) { int start = SafeParcelWriter.writeObjectHeader(parcel); try { SafeParcelWriter.write(parcel, 1, versionCode); SafeParcelWriter.write(parcel, 2, latitude); SafeParcelWriter.write(parcel, 3, longitude); } catch (Exception e) { Log.w("GmsMapLatLngParcel", "Error writing field: " + e); } SafeParcelWriter.finishObjectHeader(parcel, start); } } Loading
play-services-maps/src/main/java/com/google/android/gms/maps/model/LatLng.java +56 −3 Original line number Diff line number Diff line Loading @@ -16,15 +16,20 @@ package com.google.android.gms.maps.model; import android.os.Parcel; import android.util.Log; import androidx.annotation.NonNull; import org.microg.gms.common.PublicApi; import org.microg.safeparcel.AutoSafeParcelable; import org.microg.safeparcel.SafeParcelReader; import org.microg.safeparcel.SafeParcelWriter; import org.microg.safeparcel.SafeParcelable; import org.microg.safeparcel.SafeParceled; /** * An immutable class representing a pair of latitude and longitude coordinates, stored as degrees. */ @PublicApi public final class LatLng extends AutoSafeParcelable { public final class LatLng implements SafeParcelable { @SafeParceled(1) private int versionCode = 1; /** Loading Loading @@ -100,5 +105,53 @@ public final class LatLng extends AutoSafeParcelable { return "lat/lng: (" + latitude + "," + longitude + ")"; } public static Creator<LatLng> CREATOR = new AutoCreator<LatLng>(LatLng.class); public static Creator<LatLng> CREATOR = new Creator<LatLng>() { @Override public LatLng createFromParcel(Parcel parcel) { int versionCode = 1; double latitude = 0.0; double longitude = 0.0; int end = SafeParcelReader.readObjectHeader(parcel); while (parcel.dataPosition() < end) { int header = SafeParcelReader.readHeader(parcel); int fieldId = SafeParcelReader.getFieldId(header); switch (fieldId) { case 1: versionCode = SafeParcelReader.readInt(parcel, header); break; case 2: latitude = SafeParcelReader.readDouble(parcel, header); break; case 3: longitude = SafeParcelReader.readDouble(parcel, header); } } LatLng latLng = new LatLng(latitude, longitude); latLng.versionCode = versionCode; return latLng; } @Override public LatLng[] newArray(int i) { return new LatLng[i]; } }; @Override public int describeContents() { return 0; } @Override public void writeToParcel(@NonNull Parcel parcel, int i) { int start = SafeParcelWriter.writeObjectHeader(parcel); try { SafeParcelWriter.write(parcel, 1, versionCode); SafeParcelWriter.write(parcel, 2, latitude); SafeParcelWriter.write(parcel, 3, longitude); } catch (Exception e) { Log.w("GmsMapLatLngParcel", "Error writing field: " + e); } SafeParcelWriter.finishObjectHeader(parcel, start); } }