118 lines
3.7 KiB
Java
118 lines
3.7 KiB
Java
package com.google.android.gms.location;
|
|
|
|
import com.google.android.gms.common.internal.Preconditions;
|
|
import com.google.android.gms.common.util.DefaultClock;
|
|
import com.google.android.gms.internal.location.zzdh;
|
|
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
|
|
|
|
/* loaded from: classes3.dex */
|
|
public interface Geofence {
|
|
public static final int GEOFENCE_TRANSITION_DWELL = 4;
|
|
public static final int GEOFENCE_TRANSITION_ENTER = 1;
|
|
public static final int GEOFENCE_TRANSITION_EXIT = 2;
|
|
public static final long NEVER_EXPIRE = -1;
|
|
|
|
/* loaded from: classes3.dex */
|
|
public static final class Builder {
|
|
private double zze;
|
|
private double zzf;
|
|
private float zzg;
|
|
private String zza = null;
|
|
|
|
@TransitionTypes
|
|
private int zzb = 0;
|
|
private long zzc = Long.MIN_VALUE;
|
|
private short zzd = -1;
|
|
private int zzh = 0;
|
|
private int zzi = -1;
|
|
|
|
public Geofence build() {
|
|
if (this.zza == null) {
|
|
throw new IllegalArgumentException("Request ID not set.");
|
|
}
|
|
int i = this.zzb;
|
|
if (i == 0) {
|
|
throw new IllegalArgumentException("Transitions types not set.");
|
|
}
|
|
if ((i & 4) != 0 && this.zzi < 0) {
|
|
throw new IllegalArgumentException("Non-negative loitering delay needs to be set when transition types include GEOFENCE_TRANSITION_DWELL.");
|
|
}
|
|
if (this.zzc == Long.MIN_VALUE) {
|
|
throw new IllegalArgumentException("Expiration not set.");
|
|
}
|
|
if (this.zzd == -1) {
|
|
throw new IllegalArgumentException("Geofence region not set.");
|
|
}
|
|
if (this.zzh >= 0) {
|
|
return new zzdh(this.zza, this.zzb, (short) 1, this.zze, this.zzf, this.zzg, this.zzc, this.zzh, this.zzi);
|
|
}
|
|
throw new IllegalArgumentException("Notification responsiveness should be nonnegative.");
|
|
}
|
|
|
|
public Builder setCircularRegion(double d4, double d5, float f2) {
|
|
Preconditions.checkArgument(d4 >= -90.0d && d4 <= 90.0d, "Invalid latitude: " + d4);
|
|
Preconditions.checkArgument(d5 >= -180.0d && d5 <= 180.0d, "Invalid longitude: " + d5);
|
|
Preconditions.checkArgument(f2 > BitmapDescriptorFactory.HUE_RED, "Invalid radius: " + f2);
|
|
this.zzd = (short) 1;
|
|
this.zze = d4;
|
|
this.zzf = d5;
|
|
this.zzg = f2;
|
|
return this;
|
|
}
|
|
|
|
public Builder setExpirationDuration(long j4) {
|
|
if (j4 < 0) {
|
|
this.zzc = -1L;
|
|
return this;
|
|
}
|
|
this.zzc = DefaultClock.getInstance().elapsedRealtime() + j4;
|
|
return this;
|
|
}
|
|
|
|
public Builder setLoiteringDelay(int i) {
|
|
this.zzi = i;
|
|
return this;
|
|
}
|
|
|
|
public Builder setNotificationResponsiveness(int i) {
|
|
this.zzh = i;
|
|
return this;
|
|
}
|
|
|
|
public Builder setRequestId(String str) {
|
|
this.zza = (String) Preconditions.checkNotNull(str, "Request ID can't be set to null");
|
|
return this;
|
|
}
|
|
|
|
public Builder setTransitionTypes(@TransitionTypes int i) {
|
|
this.zzb = i;
|
|
return this;
|
|
}
|
|
}
|
|
|
|
/* loaded from: classes3.dex */
|
|
public @interface GeofenceTransition {
|
|
}
|
|
|
|
/* loaded from: classes3.dex */
|
|
public @interface TransitionTypes {
|
|
}
|
|
|
|
long getExpirationTime();
|
|
|
|
double getLatitude();
|
|
|
|
int getLoiteringDelay();
|
|
|
|
double getLongitude();
|
|
|
|
int getNotificationResponsiveness();
|
|
|
|
float getRadius();
|
|
|
|
String getRequestId();
|
|
|
|
@TransitionTypes
|
|
int getTransitionTypes();
|
|
}
|