diff --git a/src/fragments/lib/storage/android/list.mdx b/src/fragments/lib/storage/android/list.mdx
index e196e5d4175..3c739925cec 100644
--- a/src/fragments/lib/storage/android/list.mdx
+++ b/src/fragments/lib/storage/android/list.mdx
@@ -1,16 +1,26 @@
-You can list all of the objects uploaded under a given prefix. This will list all public files:
+You can list all of the objects uploaded under a given prefix by setting the pageSize. If the pageSize is set lower than the total file size available,
+A single `Storage.list` call only returns a subset of all the files. To list all the files with multiple calls, the user can use the nextToken from the previous call response.
+
+This will list all public files:
```java
-Amplify.Storage.list("",
+StoragePagedListOptions options = StoragePagedListOptions.builder()
+ .setPageSize(1000)
+ .build();
+
+Amplify.Storage.list(
+ "",
+ options,
result -> {
for (StorageItem item : result.getItems()) {
Log.i("MyAmplifyApp", "Item: " + item.getKey());
}
+ Log.i("MyAmplifyApp", "Next Token: " + result.getNextToken());
},
- error -> Log.e("MyAmplifyApp", "List failure", error)
+ error -> Log.e("MyAmplifyApp", "List failure", error);
);
```
@@ -18,11 +28,16 @@ Amplify.Storage.list("",
```kotlin
-Amplify.Storage.list("",
+val options = StoragePagedListOptions.builder()
+ .setPageSize(1000)
+ .build()
+
+Amplify.Storage.list("", options,
{ result ->
result.items.forEach { item ->
Log.i("MyAmplifyApp", "Item: ${item.key}")
}
+ Log.i("MyAmplifyApp", "Next Token: ${result.nextToken}")
},
{ Log.e("MyAmplifyApp", "List failure", it) }
)
@@ -32,10 +47,16 @@ Amplify.Storage.list("",
```kotlin
+val options = StoragePagedListOptions.builder()
+ .setPageSize(1000)
+ .build()
+
try {
- Amplify.Storage.list("").items.forEach {
- Log.i("MyAmplifyApp", "Item: ${it.key}")
+ val result = Amplify.Storage.list("", options)
+ result.items.forEach {
+ Log.i("MyAmplifyApp", "Item: $it")
}
+ Log.i("MyAmplifyApp", "next token: ${result.nextToken}")
} catch (error: StorageException) {
Log.e("MyAmplifyApp", "List failure", error)
}
@@ -45,29 +66,37 @@ try {
```java
-RxAmplify.Storage.list("")
- .subscribe(
- result -> {
- for (StorageItem item : result.getItems()) {
- Log.i("MyAmplifyApp", "Item: " + item.getKey());
- }
- },
- error -> Log.e("MyAmplifyApp", "List failure", error)
- );
+StoragePagedListOptions options = StoragePagedListOptions.builder()
+ .setPageSize(1000)
+ .build();
+
+RxAmplify.Storage.list("", options)
+ .subscribe(
+ result -> {
+ for (StorageItem item : result.getItems()) {
+ Log.i("MyAmplifyApp", "Item: " + item.getKey());
+ }
+ Log.i("MyAmplifyApp", "Next Token: " + result.getNextToken());
+ },
+ error -> Log.e("MyAmplifyApp", "List failure", error);
+ );
```
+Note: The range of pageSize can be from 1 - 1000.
+
You can also list private or protected files by passing options. For example, to list all protected files owned by a user identified by the ID `otherUserID`:
```java
-StorageListOptions options = StorageListOptions.builder()
+StoragePagedListOptions options = StoragePagedListOptions.builder()
.accessLevel(StorageAccessLevel.PROTECTED)
.targetIdentityId("otherUserID")
+ .setPageSize(1000)
.build();
Amplify.Storage.list(
@@ -77,8 +106,9 @@ Amplify.Storage.list(
for (StorageItem item : result.getItems()) {
Log.i("MyAmplifyApp", "Item: " + item.getKey());
}
+ Log.i("MyAmplifyApp", "Next Token: " + result.getNextToken());
},
- error -> Log.e("MyAmplifyApp", "List failure", error)
+ error -> Log.e("MyAmplifyApp", "List failure", error);
);
```
@@ -86,9 +116,10 @@ Amplify.Storage.list(
```kotlin
-val options = StorageListOptions.builder()
+val options = StoragePagedListOptions.builder()
.accessLevel(StorageAccessLevel.PROTECTED)
.targetIdentityId("otherUserID")
+ .setPageSize(1000)
.build()
Amplify.Storage.list("", options,
@@ -96,6 +127,7 @@ Amplify.Storage.list("", options,
result.items.forEach { item ->
Log.i("MyAmplifyApp", "Item: ${item.key}")
}
+ Log.i("MyAmplifyApp", "Next Token: ${result.nextToken}")
},
{ Log.e("MyAmplifyApp", "List failure", it) }
)
@@ -105,15 +137,18 @@ Amplify.Storage.list("", options,
```kotlin
-val options = StorageListOptions.builder()
+val options = StoragePagedListOptions.builder()
.accessLevel(StorageAccessLevel.PROTECTED)
.targetIdentityId("otherUserID")
+ .setPageSize(1000)
.build()
try {
- Amplify.Storage.list("", options).items.forEach {
- Log.i("AmplifyApplication", "Item: $it")
+ val result = Amplify.Storage.list("", options)
+ result.items.forEach {
+ Log.i("MyAmplifyApp", "Item: $it")
}
+ Log.i("MyAmplifyApp", "next token: ${result.nextToken}")
} catch (error: StorageException) {
Log.e("MyAmplifyApp", "List failure", error)
}
@@ -123,9 +158,10 @@ try {
```java
-StorageListOptions options = StorageListOptions.builder()
+StoragePagedListOptions options = StoragePagedListOptions.builder()
.accessLevel(StorageAccessLevel.PROTECTED)
.targetIdentityId("otherUserID")
+ .setPageSize(1000)
.build();
RxAmplify.Storage.list("", options)
@@ -134,8 +170,9 @@ RxAmplify.Storage.list("", options)
for (StorageItem item : result.getItems()) {
Log.i("MyAmplifyApp", "Item: " + item.getKey());
}
+ Log.i("MyAmplifyApp", "Next Token: " + result.getNextToken());
},
- error -> Log.e("MyAmplifyApp", "List failure", error)
+ error -> Log.e("MyAmplifyApp", "List failure", error);
);
```