diff --git a/app/src/main/java/asgardius/page/s3manager/BucketSelect.java b/app/src/main/java/asgardius/page/s3manager/BucketSelect.java
index 9e7237d..6e940db 100644
--- a/app/src/main/java/asgardius/page/s3manager/BucketSelect.java
+++ b/app/src/main/java/asgardius/page/s3manager/BucketSelect.java
@@ -156,8 +156,8 @@ public class BucketSelect extends AppCompatActivity {
// Toast message on menu item clicked
//Toast.makeText(MainActivity.this, "You Clicked " + menuItem.getTitle(), Toast.LENGTH_SHORT).show();
if (menuItem.getTitle() == getResources().getString(R.string.upload_file_tobucket)) {
- Toast.makeText(BucketSelect.this, getResources().getString(R.string.pending_feature), Toast.LENGTH_SHORT).show();
- //upload(Name.get(position).toString(), false);
+ //Toast.makeText(BucketSelect.this, getResources().getString(R.string.pending_feature), Toast.LENGTH_SHORT).show();
+ upload(Name.get(position).toString(), false);
} else if (menuItem.getTitle() == getResources().getString(R.string.create_bucket)) {
//upload();
diff --git a/app/src/main/java/asgardius/page/s3manager/ObjectSelect.java b/app/src/main/java/asgardius/page/s3manager/ObjectSelect.java
index 23c2961..4b26abe 100644
--- a/app/src/main/java/asgardius/page/s3manager/ObjectSelect.java
+++ b/app/src/main/java/asgardius/page/s3manager/ObjectSelect.java
@@ -258,8 +258,8 @@ public class ObjectSelect extends AppCompatActivity {
// Toast message on menu item clicked
//Toast.makeText(MainActivity.this, "You Clicked " + menuItem.getTitle(), Toast.LENGTH_SHORT).show();
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(Name.get(position).toString(), false);
+ //Toast.makeText(ObjectSelect.this, getResources().getString(R.string.pending_feature), Toast.LENGTH_SHORT).show();
+ upload(false);
} else if (menuItem.getTitle() == getResources().getString(R.string.file_del)) {
if (Name.size() == 1 && treelevel >= 1) {
Toast.makeText(ObjectSelect.this, getResources().getString(R.string.only_item_onlist), Toast.LENGTH_SHORT).show();
@@ -284,8 +284,8 @@ public class ObjectSelect extends AppCompatActivity {
// Toast message on menu item clicked
//Toast.makeText(MainActivity.this, "You Clicked " + menuItem.getTitle(), Toast.LENGTH_SHORT).show();
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(Name.get(position).toString(), false);
+ //Toast.makeText(ObjectSelect.this, getResources().getString(R.string.pending_feature), Toast.LENGTH_SHORT).show();
+ upload(false);
} else if (menuItem.getTitle() == getResources().getString(R.string.file_external)) {
try {
GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucket, prefix + Name.get(position).toString());
@@ -469,13 +469,13 @@ public class ObjectSelect extends AppCompatActivity {
dialog.show();
}
- private void upload(String object, boolean isfolder) {
+ private void upload(boolean isfolder) {
Intent intent = new Intent(this, Uploader.class);
intent.putExtra("endpoint", endpoint);
intent.putExtra("username", username);
intent.putExtra("password", password);
intent.putExtra("bucket", bucket);
- intent.putExtra("prefix", prefix + object);
+ intent.putExtra("prefix", prefix);
intent.putExtra("region", location);
intent.putExtra("isfolder", isfolder);
startActivity(intent);
diff --git a/app/src/main/java/asgardius/page/s3manager/Uploader.java b/app/src/main/java/asgardius/page/s3manager/Uploader.java
index 9f7300f..c28e639 100644
--- a/app/src/main/java/asgardius/page/s3manager/Uploader.java
+++ b/app/src/main/java/asgardius/page/s3manager/Uploader.java
@@ -33,6 +33,7 @@ public class Uploader extends AppCompatActivity {
AWSCredentials myCredentials;
AmazonS3 s3client;
ProgressBar simpleProgressBar;
+ String[] filename;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -45,6 +46,7 @@ public class Uploader extends AppCompatActivity {
location = getIntent().getStringExtra("region");
prefix = getIntent().getStringExtra("prefix");
isfolder = getIntent().getBooleanExtra("isfolder", false);
+ fprefix = (EditText)findViewById(R.id.fprefix);
region = Region.getRegion(location);
s3ClientOptions = S3ClientOptions.builder().build();
if (!endpoint.contains(getResources().getString(R.string.aws_endpoint))) {
@@ -54,10 +56,11 @@ public class Uploader extends AppCompatActivity {
s3client = new AmazonS3Client(myCredentials, region);
s3client.setEndpoint(endpoint);
s3client.setS3ClientOptions(s3ClientOptions);
- fprefix = (EditText)findViewById(R.id.fprefix);
Button fileUpload = (Button)findViewById(R.id.fileupload);
simpleProgressBar = (ProgressBar) findViewById(R.id.simpleProgressBar);
- Toast.makeText(Uploader.this, getResources().getString(R.string.pending_feature), Toast.LENGTH_SHORT).show();
+ //Toast.makeText(Uploader.this, getResources().getString(R.string.pending_feature), Toast.LENGTH_SHORT).show();
+ performFileSearch("Select file to upload");
+ //fprefix.setText(prefix);
/*if (isfolder) {
folder = uploadFolder();
} else {
@@ -71,7 +74,8 @@ public class Uploader extends AppCompatActivity {
Toast.makeText(Uploader.this, getResources().getString(R.string.no_file_selected), Toast.LENGTH_SHORT).show();
} else {
//Toast.makeText(CreateBucket.this, getResources().getString(R.string.pending_feature), Toast.LENGTH_SHORT).show();
- System.out.println(file.getPath());
+ //System.out.println(file.getPath());
+ System.out.println(filename[filename.length-1]);
Thread uploadFile = new Thread(new Runnable() {
@Override
@@ -112,46 +116,49 @@ public class Uploader extends AppCompatActivity {
});
}
-/*
- private Uri uploadFolder() {
- StorageManager sm = (StorageManager) this.getSystemService(Context.STORAGE_SERVICE);
- Intent intent = sm.getPrimaryStorageVolume().createOpenDocumentTreeIntent();
- String startDir = "Documents";
+ private void performFileSearch(String messageTitle) {
+ Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
+ intent.addCategory(Intent.CATEGORY_OPENABLE);
+ intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION);
+ intent.setType("*/*");
+ /*String[] mimeTypes = new String[]{"application/x-binary,application/octet-stream"};
+ if (mimeTypes.length > 0) {
+ intent.putExtra(Intent.EXTRA_MIME_TYPES, mimeTypes);
+ }*/
- Uri uri = intent.getParcelableExtra("android.provider.extra.INITIAL_URI");
-
- String scheme = uri.toString();
-
- scheme = scheme.replace("/root/", "/document/");
-
- scheme += "%3A" + startDir;
-
- uri = Uri.parse(scheme);
-
- intent.putExtra("android.provider.extra.INITIAL_URI", uri);
- ((Activity) this).startActivityForResult(intent,100);
- return uri;
+ if (intent.resolveActivity(getPackageManager()) != null) {
+ startActivityForResult(Intent.createChooser(intent, messageTitle), 100);
+ } else {
+ Toast.makeText(Uploader.this, getResources().getString(R.string.file_choose_fail), Toast.LENGTH_SHORT).show();
+ finish();
+ }
}
- private Uri uploadFile() {
- StorageManager sm = (StorageManager) this.getSystemService(Context.STORAGE_SERVICE);
-
- Intent intent = sm.getPrimaryStorageVolume().createOpenDocumentTreeIntent();
- String startDir = "Documents";
-
- Uri uri = intent.getParcelableExtra("android.provider.extra.INITIAL_URI");
-
- String scheme = uri.toString();
-
- scheme = scheme.replace("/root/", "/document/");
-
- scheme += "%3A" + startDir;
-
- uri = Uri.parse(scheme);
-
- intent.putExtra("android.provider.extra.INITIAL_URI", uri);
- ((Activity) this).startActivityForResult(intent,100);
- return uri;
- }*/
+ @Override
+ public void onActivityResult(int requestCode, int resultCode, final Intent resultData) {
+ // The ACTION_OPEN_DOCUMENT intent was sent with the request code OPEN_DIRECTORY_REQUEST_CODE.
+ // If the request code seen here doesn't match, it's the response to some other intent,
+ // and the below code shouldn't run at all.
+ super.onActivityResult(requestCode, resultCode, resultData);
+ if (requestCode == 100) {
+ if (resultCode == Activity.RESULT_OK) {
+ // The document selected by the user won't be returned in the intent.
+ // Instead, a URI to that document will be contained in the return intent
+ // provided to this method as a parameter. Pull that uri using "resultData.getData()"
+ if (resultData != null && resultData.getData() != null) {
+ file = resultData.getData();
+ filename = file.getPath().split("/");
+ System.out.println("File selected successfully");
+ System.out.println("Prefix "+prefix);
+ } else {
+ Toast.makeText(Uploader.this, getResources().getString(R.string.file_path_fail), Toast.LENGTH_SHORT).show();
+ finish();
+ }
+ } else {
+ System.out.println("User cancelled file browsing {}");
+ finish();
+ }
+ }
+ }
}
\ 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 abb25d6..6b88975 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -16,6 +16,8 @@
Open in
Upload file to this bucket
Upload folder to this bucket
+ Could not open file choose screen
+ File uri not found
Upload file
Upload prefix
Please select a file