Files

50 lines
2.5 KiB
Java

package com.google.firebase.storage;
import android.util.Log;
import com.google.android.gms.common.internal.Preconditions;
import com.google.android.gms.tasks.TaskCompletionSource;
import com.google.firebase.storage.StorageMetadata;
import com.google.firebase.storage.internal.ExponentialBackoffSender;
import com.google.firebase.storage.network.GetMetadataNetworkRequest;
import org.json.JSONException;
/* loaded from: classes3.dex */
class GetMetadataTask implements Runnable {
private static final String TAG = "GetMetadataTask";
private TaskCompletionSource<StorageMetadata> mPendingResult;
private StorageMetadata mResultMetadata;
private ExponentialBackoffSender mSender;
private StorageReference mStorageRef;
public GetMetadataTask(StorageReference storageReference, TaskCompletionSource<StorageMetadata> taskCompletionSource) {
Preconditions.checkNotNull(storageReference);
Preconditions.checkNotNull(taskCompletionSource);
this.mStorageRef = storageReference;
this.mPendingResult = taskCompletionSource;
if (storageReference.getRoot().getName().equals(storageReference.getName())) {
throw new IllegalArgumentException("getMetadata() is not supported at the root of the bucket.");
}
FirebaseStorage storage = this.mStorageRef.getStorage();
this.mSender = new ExponentialBackoffSender(storage.getApp().getApplicationContext(), storage.getAuthProvider(), storage.getAppCheckProvider(), storage.getMaxDownloadRetryTimeMillis());
}
@Override // java.lang.Runnable
public void run() {
GetMetadataNetworkRequest getMetadataNetworkRequest = new GetMetadataNetworkRequest(this.mStorageRef.getStorageReferenceUri(), this.mStorageRef.getApp());
this.mSender.sendWithExponentialBackoff(getMetadataNetworkRequest);
if (getMetadataNetworkRequest.isResultSuccess()) {
try {
this.mResultMetadata = new StorageMetadata.Builder(getMetadataNetworkRequest.getResultBody(), this.mStorageRef).build();
} catch (JSONException e4) {
Log.e(TAG, "Unable to parse resulting metadata. " + getMetadataNetworkRequest.getRawResult(), e4);
this.mPendingResult.setException(StorageException.fromException(e4));
return;
}
}
TaskCompletionSource<StorageMetadata> taskCompletionSource = this.mPendingResult;
if (taskCompletionSource != null) {
getMetadataNetworkRequest.completeTask(taskCompletionSource, this.mResultMetadata);
}
}
}