Files
adif-api-reverse-engineering/apk_decompiled/sources/com/google/android/gms/location/Geofence.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();
}