From 0e497074447643b1dd901cf5a10577c6b596766a Mon Sep 17 00:00:00 2001 From: Page Asgardius Date: Thu, 22 Sep 2022 09:55:40 -0700 Subject: [PATCH] object info ready --- README.md | 2 + app/build.gradle | 4 +- .../java/asgardius/page/s3manager/Share.java | 67 +++++++++++++------ app/src/main/res/layout/activity_share.xml | 8 +++ app/src/main/res/values-es/strings.xml | 3 +- app/src/main/res/values/strings.xml | 3 +- 6 files changed, 62 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index dc82f5a..8c0539e 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,8 @@ Current feature list * File download * pdf file reader using user provided pdf.js server * file sharing links +* get object info +* get bucket info Planned feature list diff --git a/app/build.gradle b/app/build.gradle index b094678..0c24d0b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,8 +9,8 @@ android { applicationId "asgardius.page.s3manager" minSdk 24 targetSdk 33 - versionCode 14 - versionName "0.1.12" + versionCode 15 + versionName "0.1.13" setProperty("archivesBaseName", "s3-manager-$versionName") testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" diff --git a/app/src/main/java/asgardius/page/s3manager/Share.java b/app/src/main/java/asgardius/page/s3manager/Share.java index 9f46d39..d46e657 100644 --- a/app/src/main/java/asgardius/page/s3manager/Share.java +++ b/app/src/main/java/asgardius/page/s3manager/Share.java @@ -31,7 +31,7 @@ public class Share extends AppCompatActivity { Calendar mycal; EditText datepick, monthpick, yearpick, hourpick, minutepick; int date, month, year, hour, minute; - Button share; + Button share, external; public static String URLify(String str) { str = str.trim(); @@ -73,6 +73,7 @@ public class Share extends AppCompatActivity { hourpick = (EditText)findViewById(R.id.Hour); minutepick = (EditText)findViewById(R.id.Minute); share = (Button)findViewById(R.id.share); + external = (Button)findViewById(R.id.open_in); endpoint = getIntent().getStringExtra("endpoint"); username = getIntent().getStringExtra("username"); password = getIntent().getStringExtra("password"); @@ -97,31 +98,55 @@ public class Share extends AppCompatActivity { public void onClick(View view) { //buttonaction try { - date = Integer.parseInt(datepick.getText().toString()); - month = Integer.parseInt(monthpick.getText().toString()); - year = Integer.parseInt(yearpick.getText().toString()); - hour = Integer.parseInt(hourpick.getText().toString()); - minute = Integer.parseInt(minutepick.getText().toString()); - mycal.set(Calendar.YEAR, year); - mycal.set(Calendar.MONTH, month-1); - mycal.set(Calendar.DATE, date); - mycal.set(Calendar.HOUR, hour); - mycal.set(Calendar.MINUTE, minute); - mycal.set(Calendar.SECOND, 0); - Date expiration = mycal.getTime(); - //System.out.println(expiration); - GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucket, object).withExpiration(expiration); - URL objectURL = s3client.generatePresignedUrl(request); - //System.out.println(URLify(objectURL.toString())); - Intent shareIntent = new Intent(Intent.ACTION_SEND); - shareIntent.setType("text/plain"); - shareIntent.putExtra(Intent.EXTRA_TEXT, URLify(objectURL.toString())); - startActivity(Intent.createChooser(shareIntent, "choose one")); + if (datepick.getText().toString().equals("") || monthpick.getText().toString().equals("") || + yearpick.getText().toString().equals("") || hourpick.getText().toString().equals("") || + minutepick.getText().toString().equals("")) { + Toast.makeText(getApplicationContext(),getResources().getString(R.string.null_expiration_date), Toast.LENGTH_SHORT).show(); + } else { + date = Integer.parseInt(datepick.getText().toString()); + month = Integer.parseInt(monthpick.getText().toString()); + year = Integer.parseInt(yearpick.getText().toString()); + hour = Integer.parseInt(hourpick.getText().toString()); + minute = Integer.parseInt(minutepick.getText().toString()); + mycal.set(Calendar.YEAR, year); + mycal.set(Calendar.MONTH, month-1); + mycal.set(Calendar.DATE, date); + mycal.set(Calendar.HOUR, hour); + mycal.set(Calendar.MINUTE, minute); + mycal.set(Calendar.SECOND, 0); + Date expiration = mycal.getTime(); + //System.out.println(expiration); + GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucket, object).withExpiration(expiration); + URL objectURL = s3client.generatePresignedUrl(request); + //System.out.println(URLify(objectURL.toString())); + Intent shareIntent = new Intent(Intent.ACTION_SEND); + shareIntent.setType("text/plain"); + shareIntent.putExtra(Intent.EXTRA_TEXT, URLify(objectURL.toString())); + startActivity(Intent.createChooser(shareIntent, "choose one")); + } } catch (Exception e) { Toast.makeText(getApplicationContext(),getResources().getString(R.string.invalid_expiration_date), Toast.LENGTH_SHORT).show(); } } }); + external.setOnClickListener(new View.OnClickListener(){ + @Override + public void onClick(View view) { + //buttonaction + try { + GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucket, object); + URL objectURL = s3client.generatePresignedUrl(request); + //System.out.println(URLify(objectURL.toString())); + Intent shareIntent = new Intent(Intent.ACTION_SEND); + shareIntent.setType("text/plain"); + shareIntent.putExtra(Intent.EXTRA_TEXT, URLify(objectURL.toString())); + startActivity(Intent.createChooser(shareIntent, "choose one")); + } catch (Exception e) { + Toast.makeText(getApplicationContext(),getResources().getString(R.string.invalid_expiration_date), Toast.LENGTH_SHORT).show(); + } + } + + }); } } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_share.xml b/app/src/main/res/layout/activity_share.xml index 45ed03d..aba7813 100644 --- a/app/src/main/res/layout/activity_share.xml +++ b/app/src/main/res/layout/activity_share.xml @@ -115,6 +115,14 @@ android:text="@string/file_share" tools:ignore="MissingConstraints" /> +