From 6729688096168ff0ecfc0e73722bcaab1cbe3470 Mon Sep 17 00:00:00 2001 From: Page Asgardius Date: Wed, 21 Sep 2022 11:43:18 -0700 Subject: [PATCH] get filesize --- .idea/deploymentTargetDropDown.xml | 10 +++++----- .../asgardius/page/s3manager/ObjectInfo.java | 17 +++++++++++++++++ 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index ac93b0d..14de87e 100644 --- a/.idea/deploymentTargetDropDown.xml +++ b/.idea/deploymentTargetDropDown.xml @@ -1,17 +1,17 @@ - + - + - + - - + + \ No newline at end of file diff --git a/app/src/main/java/asgardius/page/s3manager/ObjectInfo.java b/app/src/main/java/asgardius/page/s3manager/ObjectInfo.java index a084ce2..64c2c80 100644 --- a/app/src/main/java/asgardius/page/s3manager/ObjectInfo.java +++ b/app/src/main/java/asgardius/page/s3manager/ObjectInfo.java @@ -16,6 +16,9 @@ import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3Client; import com.amazonaws.services.s3.S3ClientOptions; import com.amazonaws.services.s3.model.Bucket; +import com.amazonaws.services.s3.model.ListObjectsRequest; +import com.amazonaws.services.s3.model.ObjectListing; +import com.amazonaws.services.s3.model.S3ObjectSummary; import java.util.ArrayList; import java.util.List; @@ -29,6 +32,9 @@ public class ObjectInfo extends AppCompatActivity { ProgressBar simpleProgressBar; TextView filesize, filesizeinfo; boolean isobject, isfolder; + long totalSize = 0; + int totalItems = 0; + ListObjectsRequest orequest; @Override protected void onCreate(Bundle savedInstanceState) { @@ -64,6 +70,7 @@ public class ObjectInfo extends AppCompatActivity { //Your code goes here if (object == null) { isobject = false; + orequest = new ListObjectsRequest().withBucketName(bucket).withMaxKeys(8000); } else { isobject = true; if (object.endsWith("/")) { @@ -71,7 +78,16 @@ public class ObjectInfo extends AppCompatActivity { } else { isfolder = false; } + orequest = new ListObjectsRequest().withBucketName(bucket).withPrefix(object).withMaxKeys(8000); } + ObjectListing result = s3client.listObjects(orequest); + do { + for (S3ObjectSummary objectSummary : result.getObjectSummaries()) { + totalSize += objectSummary.getSize(); + totalItems++; + } + result = s3client.listNextBatchOfObjects (result); + } while (result.isTruncated()); runOnUiThread(new Runnable() { @@ -87,6 +103,7 @@ public class ObjectInfo extends AppCompatActivity { } else { filesizeinfo.setText(getResources().getString(R.string.bucket_size)); } + filesize.setText(Long.toString(totalSize)); simpleProgressBar.setVisibility(View.INVISIBLE); } });