diff --git a/.idea/misc.xml b/.idea/misc.xml
index a3f0bb8..8b5abe5 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -14,6 +14,7 @@
+
diff --git a/app/src/main/java/asgardius/page/s3manager/ObjectSelect.java b/app/src/main/java/asgardius/page/s3manager/ObjectSelect.java
index 31d3b56..f187c93 100644
--- a/app/src/main/java/asgardius/page/s3manager/ObjectSelect.java
+++ b/app/src/main/java/asgardius/page/s3manager/ObjectSelect.java
@@ -7,7 +7,6 @@ import androidx.recyclerview.widget.RecyclerView;
import android.content.DialogInterface;
import android.content.Intent;
-import android.net.Uri;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
@@ -306,7 +305,7 @@ public class ObjectSelect extends AppCompatActivity {
} else if (menuItem.getTitle() == getResources().getString(R.string.upload_file_here)) {
//Toast.makeText(ObjectSelect.this, getResources().getString(R.string.pending_feature), Toast.LENGTH_SHORT).show();
upload();
- } else if (menuItem.getTitle() == getResources().getString(R.string.file_external)) {
+ } else if (menuItem.getTitle() == getResources().getString(R.string.file_share)) {
share(prefix + Name.get(position).toString());
} else if (menuItem.getTitle() == getResources().getString(R.string.file_del)) {
if (menuItem.getTitle() == getResources().getString(R.string.file_del)) {
diff --git a/app/src/main/java/asgardius/page/s3manager/Share.java b/app/src/main/java/asgardius/page/s3manager/Share.java
index 5a01179..44ecead 100644
--- a/app/src/main/java/asgardius/page/s3manager/Share.java
+++ b/app/src/main/java/asgardius/page/s3manager/Share.java
@@ -2,7 +2,12 @@ package asgardius.page.s3manager;
import androidx.appcompat.app.AppCompatActivity;
+import android.content.Intent;
+import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
import android.widget.Toast;
import com.amazonaws.auth.AWSCredentials;
@@ -24,6 +29,9 @@ public class Share extends AppCompatActivity {
AWSCredentials myCredentials;
AmazonS3 s3client;
Calendar mycal;
+ EditText datepick, monthpick, yearpick, hourpick, minutepick;
+ int date, month, year, hour, minute;
+ Button share;
public static String URLify(String str) {
str = str.trim();
@@ -59,6 +67,12 @@ public class Share extends AppCompatActivity {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_share);
mycal = Calendar.getInstance();
+ datepick = (EditText)findViewById(R.id.Date);
+ monthpick = (EditText)findViewById(R.id.Month);
+ yearpick = (EditText)findViewById(R.id.Year);
+ hourpick = (EditText)findViewById(R.id.Hour);
+ minutepick = (EditText)findViewById(R.id.Minute);
+ share = (Button)findViewById(R.id.share);
endpoint = getIntent().getStringExtra("endpoint");
username = getIntent().getStringExtra("username");
password = getIntent().getStringExtra("password");
@@ -78,17 +92,36 @@ public class Share extends AppCompatActivity {
s3ClientOptions.setPathStyleAccess(true);
}
s3client.setS3ClientOptions(s3ClientOptions);
- mycal.set(Calendar.YEAR, 2022);
- mycal.set(Calendar.MONTH, 8);
- mycal.set(Calendar.DATE, 18);
- mycal.set(Calendar.HOUR, 14);
- mycal.set(Calendar.MINUTE, 15);
- mycal.set(Calendar.SECOND, 28);
- Date expiration = mycal.getTime();
- System.out.println(expiration);
+ share.setOnClickListener(new View.OnClickListener(){
+ @Override
+ 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"));
+ } catch (Exception e) {
+ Toast.makeText(getApplicationContext(),getResources().getString(R.string.invalid_expiration_date), Toast.LENGTH_SHORT).show();
+ }
+ }
- GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucket, object).withExpiration(expiration);
- URL objectURL = s3client.generatePresignedUrl(request);
- System.out.println(URLify(objectURL.toString()));
+ });
}
}
\ 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 168ee50..27942ff 100644
--- a/app/src/main/res/layout/activity_share.xml
+++ b/app/src/main/res/layout/activity_share.xml
@@ -1,9 +1,120 @@
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/menu/object_menu.xml b/app/src/main/res/menu/object_menu.xml
index 82c7ba8..056673d 100644
--- a/app/src/main/res/menu/object_menu.xml
+++ b/app/src/main/res/menu/object_menu.xml
@@ -11,7 +11,7 @@
+ android:title="@string/file_share" />
- Establezca el nombre del nuevo bucket
Nombre del bucket
Se requiere un nombre para el bucket
- Abrir en
+ Compartir archivo
Descargar archivo
Descarga en proceso
Archivo descargado exitosamente
@@ -68,4 +68,13 @@
Contenido de prueba
servidor pdfjs
Necesita configurar un servidor pdf.js
+ DD
+ MM
+ AAAA
+ HH
+ MM
+ Fecha de expiración
+ Hora de expiración
+ Crear enlace al archivo
+ La fecha de caducidad debe ser inferior a 7 días
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index bc82eb8..41aeab3 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -9,12 +9,21 @@
Bucket list
Object list
Image
+ Expiration date
+ Expiration time
+ HH
+ MM
+ DD
+ MM
+ YYYY
+ Create file link
+ Expiration date must be at most 7 days
Local database is corrupted. Please reinstall this app
This feature is not implemented yet
Set new bucket name
Bucket name
A bucket name is required
- Open in
+ Share file
Download file
Download in progress
File downloaded successfully