Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit a01dcb3

Browse files
authored
Remove synchronous download URL calls (firebase#19)
Change-Id: Ib39bba883fadd5df257dc3b3c5cb570a29ae199c
1 parent 58973e3 commit a01dcb3

File tree

2 files changed

+38
-8
lines changed

2 files changed

+38
-8
lines changed

storage/app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ android {
2222
dependencies {
2323
compile "com.android.support:support-v4:27.1.0"
2424
compile "com.android.support:appcompat-v7:27.1.0"
25-
compile "com.google.firebase:firebase-storage:12.0.1"
25+
compile "com.google.firebase:firebase-storage:15.0.0"
2626
}
2727

2828
apply plugin: 'com.google.gms.google-services'

storage/app/src/main/java/com/google/firebase/referencecode/storage/StorageActivity.java

Lines changed: 37 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,11 @@
2323
import android.support.v7.app.AppCompatActivity;
2424
import android.widget.ImageView;
2525

26+
import com.google.android.gms.tasks.Continuation;
27+
import com.google.android.gms.tasks.OnCompleteListener;
2628
import com.google.android.gms.tasks.OnFailureListener;
2729
import com.google.android.gms.tasks.OnSuccessListener;
30+
import com.google.android.gms.tasks.Task;
2831
import com.google.firebase.storage.FileDownloadTask;
2932
import com.google.firebase.storage.FirebaseStorage;
3033
import com.google.firebase.storage.OnPausedListener;
@@ -179,8 +182,8 @@ public void onFailure(@NonNull Exception exception) {
179182
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
180183
@Override
181184
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
182-
// taskSnapshot.getMetadata() contains file metadata such as size, content-type, and download URL.
183-
Uri downloadUrl = taskSnapshot.getDownloadUrl();
185+
// taskSnapshot.getMetadata() contains file metadata such as size, content-type, etc.
186+
// ...
184187
}
185188
});
186189
// [END upload_memory]
@@ -197,8 +200,8 @@ public void onFailure(@NonNull Exception exception) {
197200
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
198201
@Override
199202
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
200-
// taskSnapshot.getMetadata() contains file metadata such as size, content-type, and download URL.
201-
Uri downloadUrl = taskSnapshot.getDownloadUrl();
203+
// taskSnapshot.getMetadata() contains file metadata such as size, content-type, etc.
204+
// ...
202205
}
203206
});
204207
// [END upload_stream]
@@ -217,8 +220,8 @@ public void onFailure(@NonNull Exception exception) {
217220
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
218221
@Override
219222
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
220-
// taskSnapshot.getMetadata() contains file metadata such as size, content-type, and download URL.
221-
Uri downloadUrl = taskSnapshot.getDownloadUrl();
223+
// taskSnapshot.getMetadata() contains file metadata such as size, content-type, etc.
224+
// ...
222225
}
223226
});
224227
// [END upload_file]
@@ -295,10 +298,37 @@ public void onFailure(@NonNull Exception exception) {
295298
@Override
296299
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
297300
// Handle successful uploads on complete
298-
Uri downloadUrl = taskSnapshot.getMetadata().getDownloadUrl();
301+
// ...
299302
}
300303
});
301304
// [END upload_complete_example]
305+
306+
// [START upload_get_download_url]
307+
final StorageReference ref = storageRef.child("images/mountains.jpg");
308+
uploadTask = ref.putFile(file);
309+
310+
Task<Uri> urlTask = uploadTask.continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() {
311+
@Override
312+
public Task<Uri> then(@NonNull Task<UploadTask.TaskSnapshot> task) throws Exception {
313+
if (!task.isSuccessful()) {
314+
throw task.getException();
315+
}
316+
317+
// Continue with the task to get the download URL
318+
return ref.getDownloadUrl();
319+
}
320+
}).addOnCompleteListener(new OnCompleteListener<Uri>() {
321+
@Override
322+
public void onComplete(@NonNull Task<Uri> task) {
323+
if (task.isSuccessful()) {
324+
Uri downloadUri = task.getResult();
325+
} else {
326+
// Handle failures
327+
// ...
328+
}
329+
}
330+
});
331+
// [END upload_get_download_url]
302332
}
303333

304334
private void includesForDownloadFiles() throws IOException {

0 commit comments

Comments
 (0)