diff --git a/extern/SafeParcel b/extern/SafeParcel index ef1568e..e0556cb 160000 --- a/extern/SafeParcel +++ b/extern/SafeParcel @@ -1 +1 @@ -Subproject commit ef1568e2614f29c3f13a6b6536989aba7f1a1b5d +Subproject commit e0556cbfac91c0d42bbca4119aa712638a925d6b diff --git a/play-services-api/src/main/java/com/google/android/gms/auth/AccountChangeEventsResponse.java b/play-services-api/src/main/java/com/google/android/gms/auth/AccountChangeEventsResponse.java index bc68a42..1aebe5b 100644 --- a/play-services-api/src/main/java/com/google/android/gms/auth/AccountChangeEventsResponse.java +++ b/play-services-api/src/main/java/com/google/android/gms/auth/AccountChangeEventsResponse.java @@ -25,7 +25,7 @@ public class AccountChangeEventsResponse extends AutoSafeParcelable { @SafeParceled(1) private int versionCode = 1; - @SafeParceled(value = 2, subType = "com.google.android.gms.auth.AccountChangeEvent") + @SafeParceled(value = 2, subClass = AccountChangeEvent.class) private List events; public AccountChangeEventsResponse() { diff --git a/play-services-api/src/main/java/com/google/android/gms/maps/model/PolylineOptions.java b/play-services-api/src/main/java/com/google/android/gms/maps/model/PolylineOptions.java index f6e30a7..a42fac5 100644 --- a/play-services-api/src/main/java/com/google/android/gms/maps/model/PolylineOptions.java +++ b/play-services-api/src/main/java/com/google/android/gms/maps/model/PolylineOptions.java @@ -16,10 +16,13 @@ package com.google.android.gms.maps.model; +import android.graphics.Color; + import org.microg.gms.common.PublicApi; import org.microg.safeparcel.AutoSafeParcelable; import org.microg.safeparcel.SafeParceled; +import java.util.ArrayList; import java.util.List; /** @@ -29,17 +32,90 @@ @PublicApi public class PolylineOptions extends AutoSafeParcelable { @SafeParceled(1) - private int versionCode; - // TODO - private List points; - private float width; - private int color; - private float zIndex; - private boolean visible; - private boolean geodesic; + private int versionCode = 1; + @SafeParceled(value = 2, subClass = LatLng.class) + private List points = new ArrayList(); + @SafeParceled(3) + private float width = 10; + @SafeParceled(4) + private int color = Color.BLACK; + @SafeParceled(5) + private float zIndex = 0; + @SafeParceled(6) + private boolean visible = true; + @SafeParceled(7) + private boolean geodesic = false; public PolylineOptions() { } + public PolylineOptions add(LatLng point) { + points.add(point); + return this; + } + + public PolylineOptions add(LatLng... points) { + for (LatLng point : points) { + this.points.add(point); + } + return this; + } + + public PolylineOptions addAll(Iterable points) { + for (LatLng point : points) { + this.points.add(point); + } + return this; + } + + public PolylineOptions color(int color) { + this.color = color; + return this; + } + + public PolylineOptions geodesic(boolean geodesic) { + this.geodesic = geodesic; + return this; + } + + public int getColor() { + return color; + } + + public List getPoints() { + return points; + } + + public float getWidth() { + return width; + } + + public float getZIndex() { + return zIndex; + } + + public boolean isGeodesic() { + return geodesic; + } + + public boolean isVisible() { + return visible; + } + + public PolylineOptions visible(boolean visible) { + this.visible = visible; + return this; + } + + public PolylineOptions width(float width) { + this.width = width; + return this; + } + + public PolylineOptions zIndex(float zIndex) { + this.zIndex = zIndex; + return this; + } + public static Creator CREATOR = new AutoCreator(PolylineOptions.class); }