From a546960cbe12988ac166a3989d54b4879f5d4f0e Mon Sep 17 00:00:00 2001 From: Page Asgardius Date: Sun, 2 Oct 2022 09:47:56 -0700 Subject: [PATCH] fix expiration time on videos --- .../asgardius/page/s3manager/ObjectSelect.java | 11 ++++++++++- .../java/asgardius/page/s3manager/Share.java | 18 +++++++++++++++--- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/asgardius/page/s3manager/ObjectSelect.java b/app/src/main/java/asgardius/page/s3manager/ObjectSelect.java index 95090ba..3574974 100644 --- a/app/src/main/java/asgardius/page/s3manager/ObjectSelect.java +++ b/app/src/main/java/asgardius/page/s3manager/ObjectSelect.java @@ -30,6 +30,8 @@ import com.amazonaws.services.s3.model.S3ObjectSummary; import java.net.URL; import java.net.URLEncoder; import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; import java.util.LinkedHashSet; import java.util.List; import java.util.Locale; @@ -277,7 +279,14 @@ public class ObjectSelect extends AppCompatActivity { } else if (Img.get(position).equals(R.drawable.audiofile) || Img.get(position).equals(R.drawable.videofile)) { //load media file try { - GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucket, prefix + Name.get(position).toString()); + Date expiration = new Date(); + Calendar mycal = Calendar.getInstance(); + mycal.setTime(expiration); + //System.out.println("today is " + mycal.getTime()); + mycal.add(Calendar.HOUR, 6); + //System.out.println("Expiration date: " + mycal.getTime()); + expiration = mycal.getTime(); + GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucket, prefix + Name.get(position).toString()).withExpiration(expiration);; URL objectURL = s3client.generatePresignedUrl(request); videoPlayer(objectURL.toString()); } catch (Exception e) { diff --git a/app/src/main/java/asgardius/page/s3manager/Share.java b/app/src/main/java/asgardius/page/s3manager/Share.java index e4b98a7..55b8187 100644 --- a/app/src/main/java/asgardius/page/s3manager/Share.java +++ b/app/src/main/java/asgardius/page/s3manager/Share.java @@ -33,6 +33,8 @@ public class Share extends AppCompatActivity { EditText datepick, monthpick, yearpick, hourpick, minutepick; int date, month, year, hour, minute; Button share, external; + GeneratePresignedUrlRequest request; + Date expiration; public static String URLify(String str) { str = str.trim(); @@ -116,9 +118,9 @@ public class Share extends AppCompatActivity { mycal.set(Calendar.HOUR, hour); mycal.set(Calendar.MINUTE, minute); mycal.set(Calendar.SECOND, 0); - Date expiration = mycal.getTime(); + expiration = mycal.getTime(); //System.out.println(expiration); - GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucket, object).withExpiration(expiration); + 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); @@ -137,7 +139,17 @@ public class Share extends AppCompatActivity { public void onClick(View view) { //buttonaction try { - GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucket, object); + if (mediafile) { + expiration = new Date(); + mycal.setTime(expiration); + //System.out.println("today is " + mycal.getTime()); + mycal.add(Calendar.HOUR, 6); + //System.out.println("Expiration date: " + mycal.getTime()); + expiration = mycal.getTime(); + request = new GeneratePresignedUrlRequest(bucket, object).withExpiration(expiration); + } else { + request = new GeneratePresignedUrlRequest(bucket, object); + } URL objectURL = s3client.generatePresignedUrl(request); //System.out.println(URLify(objectURL.toString())); Intent shareIntent = new Intent(Intent.ACTION_SEND);