what-the-bank/sources/com/google/android/gms/maps/model/LatLngBounds.java

140 lines
5.4 KiB
Java
Raw Normal View History

2024-07-27 18:17:47 +07:00
package com.google.android.gms.maps.model;
import android.content.Context;
import android.os.Parcel;
import android.os.Parcelable;
import android.util.AttributeSet;
import com.google.android.gms.common.internal.Objects;
import com.google.android.gms.common.internal.Preconditions;
import com.google.android.gms.common.internal.ReflectedParcelable;
import com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable;
import com.google.android.gms.common.internal.safeparcel.SafeParcelWriter;
import com.google.android.gms.maps.GoogleMapOptions;
/* loaded from: classes2.dex */
public final class LatLngBounds extends AbstractSafeParcelable implements ReflectedParcelable {
public static final Parcelable.Creator<LatLngBounds> CREATOR = new zze();
public final LatLng northeast;
public final LatLng southwest;
public LatLngBounds(LatLng latLng, LatLng latLng2) {
Preconditions.checkNotNull(latLng, "null southwest");
Preconditions.checkNotNull(latLng2, "null northeast");
Preconditions.checkArgument(latLng2.latitude >= latLng.latitude, "southern latitude exceeds northern latitude (%s > %s)", Double.valueOf(latLng.latitude), Double.valueOf(latLng2.latitude));
this.southwest = latLng;
this.northeast = latLng2;
}
/* JADX INFO: Access modifiers changed from: private */
public static double zza(double d, double d2) {
return ((d - d2) + 360.0d) % 360.0d;
}
/* JADX INFO: Access modifiers changed from: private */
public static double zzb(double d, double d2) {
return ((d2 - d) + 360.0d) % 360.0d;
}
/* loaded from: classes2.dex */
public static final class Builder {
private double zzdh = Double.POSITIVE_INFINITY;
private double zzdi = Double.NEGATIVE_INFINITY;
private double zzdj = Double.NaN;
private double zzdk = Double.NaN;
public final Builder include(LatLng latLng) {
this.zzdh = Math.min(this.zzdh, latLng.latitude);
this.zzdi = Math.max(this.zzdi, latLng.latitude);
double d = latLng.longitude;
if (!Double.isNaN(this.zzdj)) {
double d2 = this.zzdj;
double d3 = this.zzdk;
if (d2 > d3 ? !(d2 <= d || d <= d3) : !(d2 <= d && d <= d3)) {
if (LatLngBounds.zza(d2, d) < LatLngBounds.zzb(this.zzdk, d)) {
this.zzdj = d;
}
}
return this;
}
this.zzdj = d;
this.zzdk = d;
return this;
}
public final LatLngBounds build() {
Preconditions.checkState(!Double.isNaN(this.zzdj), "no included points");
return new LatLngBounds(new LatLng(this.zzdh, this.zzdj), new LatLng(this.zzdi, this.zzdk));
}
}
@Override // android.os.Parcelable
public final void writeToParcel(Parcel parcel, int i) {
int beginObjectHeader = SafeParcelWriter.beginObjectHeader(parcel);
SafeParcelWriter.writeParcelable(parcel, 2, this.southwest, i, false);
SafeParcelWriter.writeParcelable(parcel, 3, this.northeast, i, false);
SafeParcelWriter.finishObjectHeader(parcel, beginObjectHeader);
}
public static Builder builder() {
return new Builder();
}
public final boolean contains(LatLng latLng) {
double d = latLng.latitude;
return this.southwest.latitude <= d && d <= this.northeast.latitude && zza(latLng.longitude);
}
public final LatLngBounds including(LatLng latLng) {
double min = Math.min(this.southwest.latitude, latLng.latitude);
double max = Math.max(this.northeast.latitude, latLng.latitude);
double d = this.northeast.longitude;
double d2 = this.southwest.longitude;
double d3 = latLng.longitude;
if (!zza(d3)) {
if (zza(d2, d3) < zzb(d, d3)) {
d2 = d3;
} else {
d = d3;
}
}
return new LatLngBounds(new LatLng(min, d2), new LatLng(max, d));
}
public final LatLng getCenter() {
double d = (this.southwest.latitude + this.northeast.latitude) / 2.0d;
double d2 = this.northeast.longitude;
double d3 = this.southwest.longitude;
if (d3 > d2) {
d2 += 360.0d;
}
return new LatLng(d, (d2 + d3) / 2.0d);
}
private final boolean zza(double d) {
return this.southwest.longitude <= this.northeast.longitude ? this.southwest.longitude <= d && d <= this.northeast.longitude : this.southwest.longitude <= d || d <= this.northeast.longitude;
}
public final int hashCode() {
return Objects.hashCode(this.southwest, this.northeast);
}
public final boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof LatLngBounds)) {
return false;
}
LatLngBounds latLngBounds = (LatLngBounds) obj;
return this.southwest.equals(latLngBounds.southwest) && this.northeast.equals(latLngBounds.northeast);
}
public final String toString() {
return Objects.toStringHelper(this).add("southwest", this.southwest).add("northeast", this.northeast).toString();
}
public static LatLngBounds createFromAttributes(Context context, AttributeSet attributeSet) {
return GoogleMapOptions.zza(context, attributeSet);
}
}