Initial version -- added millennium read funcionality
This commit is contained in:
@@ -0,0 +1,169 @@
|
||||
package com.google.android.gms.libs.identity;
|
||||
|
||||
import android.app.PendingIntent;
|
||||
import android.location.Location;
|
||||
import android.os.Looper;
|
||||
import android.os.RemoteException;
|
||||
import com.google.android.gms.common.api.ApiException;
|
||||
import com.google.android.gms.common.api.GoogleApiClient;
|
||||
import com.google.android.gms.common.api.PendingResult;
|
||||
import com.google.android.gms.common.api.Status;
|
||||
import com.google.android.gms.common.api.internal.BaseImplementation;
|
||||
import com.google.android.gms.common.api.internal.ListenerHolders;
|
||||
import com.google.android.gms.common.internal.Preconditions;
|
||||
import com.google.android.gms.location.FusedLocationProviderApi;
|
||||
import com.google.android.gms.location.LastLocationRequest;
|
||||
import com.google.android.gms.location.LocationAvailability;
|
||||
import com.google.android.gms.location.LocationCallback;
|
||||
import com.google.android.gms.location.LocationListener;
|
||||
import com.google.android.gms.location.LocationRequest;
|
||||
import com.google.android.gms.location.zzac;
|
||||
import com.google.android.gms.tasks.OnCompleteListener;
|
||||
import com.google.android.gms.tasks.Task;
|
||||
import com.google.android.gms.tasks.TaskCompletionSource;
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
/* JADX INFO: compiled from: com.google.android.gms:play-services-location@@21.2.0 */
|
||||
/* JADX INFO: loaded from: classes2.dex */
|
||||
public final class zzbb implements FusedLocationProviderApi {
|
||||
static /* synthetic */ TaskCompletionSource zza(final BaseImplementation.ResultHolder resultHolder) {
|
||||
TaskCompletionSource taskCompletionSource = new TaskCompletionSource();
|
||||
taskCompletionSource.getTask().addOnCompleteListener(new OnCompleteListener() { // from class: com.google.android.gms.internal.location.zzbd
|
||||
@Override // com.google.android.gms.tasks.OnCompleteListener
|
||||
public final /* synthetic */ void onComplete(Task task) {
|
||||
BaseImplementation.ResultHolder resultHolder2 = resultHolder;
|
||||
if (task.isSuccessful()) {
|
||||
resultHolder2.setResult(Status.RESULT_SUCCESS);
|
||||
return;
|
||||
}
|
||||
if (task.isCanceled()) {
|
||||
resultHolder2.setFailedResult(Status.RESULT_CANCELED);
|
||||
return;
|
||||
}
|
||||
Exception exception = task.getException();
|
||||
if (exception instanceof ApiException) {
|
||||
resultHolder2.setFailedResult(((ApiException) exception).getStatus());
|
||||
} else {
|
||||
resultHolder2.setFailedResult(Status.RESULT_INTERNAL_ERROR);
|
||||
}
|
||||
}
|
||||
});
|
||||
return taskCompletionSource;
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.location.FusedLocationProviderApi
|
||||
public final PendingResult<Status> flushLocations(GoogleApiClient googleApiClient) {
|
||||
return googleApiClient.execute(new zzaq(this, googleApiClient));
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.location.FusedLocationProviderApi
|
||||
public final Location getLastLocation(GoogleApiClient googleApiClient) {
|
||||
Preconditions.checkArgument(googleApiClient != null, "GoogleApiClient parameter is required.");
|
||||
zzdz zzdzVar = (zzdz) googleApiClient.getClient(zzbi.zza);
|
||||
final AtomicReference atomicReference = new AtomicReference();
|
||||
final CountDownLatch countDownLatch = new CountDownLatch(1);
|
||||
TaskCompletionSource taskCompletionSource = new TaskCompletionSource();
|
||||
try {
|
||||
zzdzVar.zzq(new LastLocationRequest.Builder().build(), taskCompletionSource);
|
||||
taskCompletionSource.getTask().addOnCompleteListener(new OnCompleteListener() { // from class: com.google.android.gms.internal.location.zzbe
|
||||
@Override // com.google.android.gms.tasks.OnCompleteListener
|
||||
public final /* synthetic */ void onComplete(Task task) {
|
||||
if (task.isSuccessful()) {
|
||||
atomicReference.set((Location) task.getResult());
|
||||
}
|
||||
countDownLatch.countDown();
|
||||
}
|
||||
});
|
||||
if (zzfd.zza(countDownLatch, 30L, TimeUnit.SECONDS)) {
|
||||
return (Location) atomicReference.get();
|
||||
}
|
||||
return null;
|
||||
} catch (Exception unused) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.location.FusedLocationProviderApi
|
||||
public final LocationAvailability getLocationAvailability(GoogleApiClient googleApiClient) {
|
||||
Preconditions.checkArgument(googleApiClient != null, "GoogleApiClient parameter is required.");
|
||||
zzdz zzdzVar = (zzdz) googleApiClient.getClient(zzbi.zza);
|
||||
final AtomicReference atomicReference = new AtomicReference();
|
||||
final CountDownLatch countDownLatch = new CountDownLatch(1);
|
||||
TaskCompletionSource taskCompletionSource = new TaskCompletionSource();
|
||||
try {
|
||||
zzdzVar.zzp(zzac.zza(), taskCompletionSource);
|
||||
taskCompletionSource.getTask().addOnCompleteListener(new OnCompleteListener() { // from class: com.google.android.gms.internal.location.zzbc
|
||||
@Override // com.google.android.gms.tasks.OnCompleteListener
|
||||
public final /* synthetic */ void onComplete(Task task) {
|
||||
if (task.isSuccessful()) {
|
||||
atomicReference.set((LocationAvailability) task.getResult());
|
||||
}
|
||||
countDownLatch.countDown();
|
||||
}
|
||||
});
|
||||
if (zzfd.zza(countDownLatch, 30L, TimeUnit.SECONDS)) {
|
||||
return (LocationAvailability) atomicReference.get();
|
||||
}
|
||||
return null;
|
||||
} catch (RemoteException unused) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.location.FusedLocationProviderApi
|
||||
public final PendingResult<Status> removeLocationUpdates(GoogleApiClient googleApiClient, PendingIntent pendingIntent) {
|
||||
return googleApiClient.execute(new zzav(this, googleApiClient, pendingIntent));
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.location.FusedLocationProviderApi
|
||||
public final PendingResult<Status> requestLocationUpdates(GoogleApiClient googleApiClient, LocationRequest locationRequest, PendingIntent pendingIntent) {
|
||||
return googleApiClient.execute(new zzat(this, googleApiClient, pendingIntent, locationRequest));
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.location.FusedLocationProviderApi
|
||||
public final PendingResult<Status> setMockLocation(GoogleApiClient googleApiClient, Location location) {
|
||||
return googleApiClient.execute(new zzay(this, googleApiClient, location));
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.location.FusedLocationProviderApi
|
||||
public final PendingResult<Status> setMockMode(GoogleApiClient googleApiClient, boolean z) {
|
||||
return googleApiClient.execute(new zzax(this, googleApiClient, z));
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.location.FusedLocationProviderApi
|
||||
public final PendingResult<Status> removeLocationUpdates(GoogleApiClient googleApiClient, LocationCallback locationCallback) {
|
||||
return googleApiClient.execute(new zzaw(this, googleApiClient, locationCallback));
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.location.FusedLocationProviderApi
|
||||
public final PendingResult<Status> requestLocationUpdates(GoogleApiClient googleApiClient, LocationRequest locationRequest, LocationCallback locationCallback, Looper looper) {
|
||||
if (looper == null) {
|
||||
looper = Looper.myLooper();
|
||||
Preconditions.checkNotNull(looper, "invalid null looper");
|
||||
}
|
||||
return googleApiClient.execute(new zzas(this, googleApiClient, ListenerHolders.createListenerHolder(locationCallback, looper, "LocationCallback"), locationRequest));
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.location.FusedLocationProviderApi
|
||||
public final PendingResult<Status> removeLocationUpdates(GoogleApiClient googleApiClient, LocationListener locationListener) {
|
||||
return googleApiClient.execute(new zzau(this, googleApiClient, locationListener));
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.location.FusedLocationProviderApi
|
||||
public final PendingResult<Status> requestLocationUpdates(GoogleApiClient googleApiClient, LocationRequest locationRequest, LocationListener locationListener) {
|
||||
Looper looperMyLooper = Looper.myLooper();
|
||||
Preconditions.checkNotNull(looperMyLooper, "invalid null looper");
|
||||
return googleApiClient.execute(new zzar(this, googleApiClient, ListenerHolders.createListenerHolder(locationListener, looperMyLooper, "LocationListener"), locationRequest));
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.location.FusedLocationProviderApi
|
||||
public final PendingResult<Status> requestLocationUpdates(GoogleApiClient googleApiClient, LocationRequest locationRequest, LocationListener locationListener, Looper looper) {
|
||||
if (looper == null) {
|
||||
looper = Looper.myLooper();
|
||||
Preconditions.checkNotNull(looper, "invalid null looper");
|
||||
}
|
||||
return googleApiClient.execute(new zzar(this, googleApiClient, ListenerHolders.createListenerHolder(locationListener, looper, "LocationListener"), locationRequest));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user