summaryrefslogtreecommitdiffstats
path: root/android/app/src/main/java/com/jopek/submittodatiinator/MainActivity.java
diff options
context:
space:
mode:
authorMaksymilian Jopek <maks@jopek.eu>2022-11-10 00:35:19 +0100
committerMaksymilian Jopek <maks@jopek.eu>2022-11-10 00:35:19 +0100
commit0cc57833b2e4aef20799dd25baaac6162128287e (patch)
treed3dd6ca63c374c8a45a7d9d85ad67ecda8b4aea1 /android/app/src/main/java/com/jopek/submittodatiinator/MainActivity.java
downloadsubmitto-dati-inator-master.tar.gz
submitto-dati-inator-master.tar.zst
submitto-dati-inator-master.zip
Initial commitHEADmaster
App is able to share single file. Server is outside of vcs for time being and is able to process multiple files. Authorization is done with HTTP Basi Authorization. Nginx is listing files.
Diffstat (limited to 'android/app/src/main/java/com/jopek/submittodatiinator/MainActivity.java')
-rw-r--r--android/app/src/main/java/com/jopek/submittodatiinator/MainActivity.java86
1 files changed, 86 insertions, 0 deletions
diff --git a/android/app/src/main/java/com/jopek/submittodatiinator/MainActivity.java b/android/app/src/main/java/com/jopek/submittodatiinator/MainActivity.java
new file mode 100644
index 0000000..467c5be
--- /dev/null
+++ b/android/app/src/main/java/com/jopek/submittodatiinator/MainActivity.java
@@ -0,0 +1,86 @@
+package com.jopek.submittodatiinator;
+
+import android.annotation.SuppressLint;
+import android.app.ProgressDialog;
+import android.content.Intent;
+import android.database.Cursor;
+import android.net.Uri;
+import android.os.Bundle;
+import android.provider.MediaStore;
+import android.provider.OpenableColumns;
+import android.util.Log;
+import android.widget.TextView;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+public class MainActivity extends AppCompatActivity {
+ /********** File Path *************/
+ TextView messageText;
+ ProgressDialog dialog = null;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_main);
+
+ messageText = findViewById(R.id.tv);
+
+ //dialog = ProgressDialog.show(MainActivity.this, "", "Uploading file...", true);
+
+ Intent intent = getIntent();
+ String action = intent.getAction();
+ String type = intent.getType();
+ Uri fileUri = null;
+
+ if (Intent.ACTION_SEND.equals(action) && type != null) {
+ Object object = intent.getParcelableExtra(Intent.EXTRA_STREAM);
+ if(object != null && object instanceof Uri) fileUri = (Uri) object;
+// if (type.startsWith("image/")) {
+// fileUri = intent.getParcelableExtra(Intent.EXTRA_STREAM);
+// }
+// if (type.startsWith("video/")) {
+// fileUri = intent.getParcelableExtra(Intent.EXTRA_STREAM);
+// }
+// if (type.startsWith("application/")) {
+// fileUri = intent.getParcelableExtra(Intent.EXTRA_STREAM);
+// }
+ }
+
+ Log.d("maks", "45: fileUri: " + fileUri);
+ if (fileUri != null) {
+// String sourceFileUri = getRealPathFromURI(fileUri);
+ String sourceFileUri = fileUri.getPath();
+ Uri finalFileUri = fileUri;
+ new Thread(() -> {
+ runOnUiThread(() -> messageText.setText("uploading started..."));
+ Log.d("maks", "onCreate: " + sourceFileUri);
+ Requests.ReturnValues retVal = Requests.uploadFile(this, finalFileUri);
+ switch (retVal) {
+ case MALFORMED_URL:
+ case NO_FILE:
+ case SERVER_ERROR:
+ runOnUiThread(() -> messageText.setText("error while uploading..."));
+ break;
+ case OK:
+ runOnUiThread(() -> messageText.setText("File uploaded!"));
+ break;
+ }
+ }).start();
+ }
+ }
+
+ public String getRealPathFromURI(Uri contentUri) {
+ Cursor cursor = null;
+ try {
+ cursor = this.getContentResolver().query(contentUri, new String[]{android.provider.MediaStore.Images.ImageColumns.DATA}, null, null, null);
+ cursor.moveToFirst();
+ String filePath = cursor.getString(0);
+ cursor.close();
+ return filePath;
+ } finally {
+ if (cursor != null) {
+ cursor.close();
+ }
+ }
+ }
+} \ No newline at end of file