From 48e80d66e9f6fbbeeb9d214722a00674a157b064 Mon Sep 17 00:00:00 2001 From: Page Asgardius Date: Fri, 2 Sep 2022 17:10:56 -0700 Subject: [PATCH] treelevel --- .../page/s3manager/BucketSelect.java | 7 ++- .../page/s3manager/ObjectSelect.java | 46 +++++++++++++++--- app/src/main/res/drawable/unknownfile.png | Bin 0 -> 6816 bytes 3 files changed, 46 insertions(+), 7 deletions(-) create mode 100644 app/src/main/res/drawable/unknownfile.png diff --git a/app/src/main/java/asgardius/page/s3manager/BucketSelect.java b/app/src/main/java/asgardius/page/s3manager/BucketSelect.java index b60167c..530e61f 100644 --- a/app/src/main/java/asgardius/page/s3manager/BucketSelect.java +++ b/app/src/main/java/asgardius/page/s3manager/BucketSelect.java @@ -28,7 +28,8 @@ public class BucketSelect extends AppCompatActivity { ArrayList Name; ArrayList Img; RecyclerView recyclerView; - String username, password, endpoint; + String username, password, endpoint, prefix; + int treelevel; @Override protected void onCreate(Bundle savedInstanceState) { @@ -36,6 +37,7 @@ public class BucketSelect extends AppCompatActivity { endpoint = getIntent().getStringExtra("endpoint"); username = getIntent().getStringExtra("username"); password = getIntent().getStringExtra("password"); + prefix = ""; setContentView(R.layout.activity_bucket_select); Region region = Region.getRegion(US_EAST_1); S3ClientOptions s3ClientOptions = S3ClientOptions.builder().build(); @@ -118,10 +120,13 @@ public class BucketSelect extends AppCompatActivity { private void explorer(String bucket) { Intent intent = new Intent(this, ObjectSelect.class); + treelevel = 0; intent.putExtra("endpoint", endpoint); intent.putExtra("username", username); intent.putExtra("password", password); intent.putExtra("bucket", bucket); + intent.putExtra("prefix", prefix); + intent.putExtra("treelevel", treelevel); startActivity(intent); } diff --git a/app/src/main/java/asgardius/page/s3manager/ObjectSelect.java b/app/src/main/java/asgardius/page/s3manager/ObjectSelect.java index 3617025..7b7f91f 100644 --- a/app/src/main/java/asgardius/page/s3manager/ObjectSelect.java +++ b/app/src/main/java/asgardius/page/s3manager/ObjectSelect.java @@ -32,8 +32,11 @@ public class ObjectSelect extends AppCompatActivity { ArrayList Name; ArrayList Img; + ArrayList object; RecyclerView recyclerView; - String username, password, endpoint, bucket; + String username, password, endpoint, bucket, prefix; + int treelevel; + String[] filename; @Override protected void onCreate(Bundle savedInstanceState) { @@ -42,6 +45,8 @@ public class ObjectSelect extends AppCompatActivity { username = getIntent().getStringExtra("username"); password = getIntent().getStringExtra("password"); bucket = getIntent().getStringExtra("bucket"); + prefix = getIntent().getStringExtra("prefix"); + treelevel = getIntent().getIntExtra("treelevel", 0); setContentView(R.layout.activity_object_select); Region region = Region.getRegion(US_EAST_1); S3ClientOptions s3ClientOptions = S3ClientOptions.builder().build(); @@ -74,15 +79,22 @@ public class ObjectSelect extends AppCompatActivity { int i=0; List objects = result.getObjectSummaries(); for (S3ObjectSummary os : objects) { - Name.add(os.getKey()); + filename = os.getKey().split("/"); + Name.add(filename[treelevel]); if (os.getKey().endsWith(".opus") || os.getKey().endsWith(".ogg") || os.getKey().endsWith(".oga") || os.getKey().endsWith(".mp3") - || os.getKey().endsWith(".m4a")) { + || os.getKey().endsWith(".m4a") || os.getKey().endsWith(".flac") + || os.getKey().endsWith(".mka")) { Img.add(R.drawable.audiofile); } - else { + else if(os.getKey().endsWith(".mp4") || os.getKey().endsWith(".mkv") + || os.getKey().endsWith(".webm") || os.getKey().endsWith(".m4v")) { Img.add(R.drawable.videofile); } + else { + Img.add(R.drawable.unknownfile); + } + i++; } /*for (Bucket bucket : buckets) { @@ -105,6 +117,7 @@ public class ObjectSelect extends AppCompatActivity { recyclerView.setAdapter(adapter); } }); + System.out.println("tree "+treelevel); } catch (Exception e) { e.printStackTrace(); @@ -124,7 +137,7 @@ public class ObjectSelect extends AppCompatActivity { recyclerView.addOnItemTouchListener(new RecyclerTouchListener(getApplicationContext(), recyclerView, new RecyclerTouchListener.ClickListener() { @Override public void onClick(View view, int position) { - System.out.println("Click on "+Name.get(position).toString()); + //System.out.println("Click on "+Name.get(position).toString()); //explorer(Name.get(position).toString()); GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucket, Name.get(position).toString()); URL objectURL = s3client.generatePresignedUrl(request); @@ -133,7 +146,8 @@ public class ObjectSelect extends AppCompatActivity { @Override public void onLongClick(View view, int position) { - System.out.println("Long click on "+Name.get(position).toString()); + //System.out.println("Long click on "+Name.get(position).toString()); + explorer(bucket); } })); } @@ -145,4 +159,24 @@ public class ObjectSelect extends AppCompatActivity { startActivity(intent); } + + private void explorer(String bucket) { + + Intent intent = new Intent(this, ObjectSelect.class); + treelevel ++; + intent.putExtra("endpoint", endpoint); + intent.putExtra("username", username); + intent.putExtra("password", password); + intent.putExtra("bucket", bucket); + intent.putExtra("prefix", prefix); + intent.putExtra("treelevel", treelevel); + startActivity(intent); + + } + + public void onBackPressed() { + treelevel --; + System.out.println("tree "+treelevel); + finish(); + } } \ No newline at end of file diff --git a/app/src/main/res/drawable/unknownfile.png b/app/src/main/res/drawable/unknownfile.png new file mode 100644 index 0000000000000000000000000000000000000000..c507764f0fa63798bc70ed0f5698d2b49d9a3b58 GIT binary patch literal 6816 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 literal 0 HcmV?d00001