diff --git a/.idea/misc.xml b/.idea/misc.xml
index 22346e9..8f6b629 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -9,6 +9,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index aeb75d8..836c6e2 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -15,6 +15,9 @@
android:supportsRtl="true"
android:theme="@style/Theme.AsgardiusS3Manager"
tools:targetApi="31">
+
diff --git a/app/src/main/java/asgardius/page/s3manager/ObjectSelect.java b/app/src/main/java/asgardius/page/s3manager/ObjectSelect.java
index d643671..690ad20 100644
--- a/app/src/main/java/asgardius/page/s3manager/ObjectSelect.java
+++ b/app/src/main/java/asgardius/page/s3manager/ObjectSelect.java
@@ -126,6 +126,9 @@ public class ObjectSelect extends AppCompatActivity {
|| Name.get(i).toString().endsWith(".webm") || Name.get(i).toString().endsWith(".m4v")) {
Img.add(R.drawable.videofile);
}
+ else if (Name.get(i).toString().endsWith(".htm") || Name.get(i).toString().endsWith(".html")) {
+ Img.add(R.drawable.webpage);
+ }
else {
Img.add(R.drawable.unknownfile);
}
@@ -181,7 +184,12 @@ public class ObjectSelect extends AppCompatActivity {
if (Img.get(position).equals(R.drawable.folder)) {
//go to subfolder
explorer(Name.get(position).toString());
- } else if (Img.get(position).equals(R.drawable.audiofile) || Img.get(position).equals(R.drawable.videofile)) {
+ } else if (Img.get(position).equals(R.drawable.webpage)) {
+ //load media file
+ GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucket, prefix + Name.get(position).toString());
+ URL objectURL = s3client.generatePresignedUrl(request);
+ webbrowser(objectURL.toString());
+ } else if (Img.get(position).equals(R.drawable.audiofile) || Img.get(position).equals(R.drawable.videofile)) {
//load media file
GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucket, prefix + Name.get(position).toString());
URL objectURL = s3client.generatePresignedUrl(request);
@@ -206,6 +214,14 @@ public class ObjectSelect extends AppCompatActivity {
}
+ private void webbrowser (String url) {
+
+ Intent intent = new Intent(this, WebBrowser.class);
+ intent.putExtra("web_url", url);
+ startActivity(intent);
+
+ }
+
private void explorer(String object) {
Intent intent = new Intent(this, ObjectSelect.class);
diff --git a/app/src/main/java/asgardius/page/s3manager/WebBrowser.java b/app/src/main/java/asgardius/page/s3manager/WebBrowser.java
new file mode 100644
index 0000000..4fe4339
--- /dev/null
+++ b/app/src/main/java/asgardius/page/s3manager/WebBrowser.java
@@ -0,0 +1,30 @@
+package asgardius.page.s3manager;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.os.Bundle;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
+
+public class WebBrowser extends AppCompatActivity {
+
+ private WebView npw;
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_web_browser);
+ String webURL = getIntent().getStringExtra("web_url");
+ //This initializes webview object
+ npw =(WebView)findViewById(R.id.webview);
+ npw.setWebViewClient(new MyBrowser());
+ npw.loadUrl(webURL);
+ }
+
+ private class MyBrowser extends WebViewClient {
+ @Override
+ public boolean shouldOverrideUrlLoading(WebView view, String url) {
+ view.loadUrl(url);
+ return true;
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/webpage.png b/app/src/main/res/drawable/webpage.png
new file mode 100644
index 0000000..d3479ef
Binary files /dev/null and b/app/src/main/res/drawable/webpage.png differ
diff --git a/app/src/main/res/layout/activity_web_browser.xml b/app/src/main/res/layout/activity_web_browser.xml
new file mode 100644
index 0000000..408dd98
--- /dev/null
+++ b/app/src/main/res/layout/activity_web_browser.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
\ 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 f42b578..3a48468 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -16,7 +16,7 @@
Connections without SSL are not allowed
Endpoint URL must start with https://
File Explorer Test
- Unsupported media file
+ Unsupported file type
Video Test
Cannot retrieve media file
Invalid media file