diff --git a/app/src/main/java/asgardius/page/s3manager/ObjectSelect.java b/app/src/main/java/asgardius/page/s3manager/ObjectSelect.java index 876487a..d8a4ed5 100644 --- a/app/src/main/java/asgardius/page/s3manager/ObjectSelect.java +++ b/app/src/main/java/asgardius/page/s3manager/ObjectSelect.java @@ -29,6 +29,7 @@ import com.amazonaws.services.s3.model.ObjectListing; import com.amazonaws.services.s3.model.S3ObjectSummary; import java.net.URL; +import java.net.URLEncoder; import java.util.ArrayList; import java.util.LinkedHashSet; import java.util.List; @@ -132,6 +133,9 @@ public class ObjectSelect extends AppCompatActivity { else if (Name.get(i).toString().toLowerCase(Locale.ROOT).endsWith(".txt") || Name.get(i).toString().toLowerCase(Locale.ROOT).endsWith(".md")) { Img.add(R.drawable.textfile); } + else if (Name.get(i).toString().toLowerCase(Locale.ROOT).endsWith(".pdf")) { + Img.add(R.drawable.pdffile); + } else if (Name.get(i).toString().toLowerCase(Locale.ROOT).endsWith(".jpg") || Name.get(i).toString().toLowerCase(Locale.ROOT).endsWith(".jpeg") || Name.get(i).toString().toLowerCase(Locale.ROOT).endsWith(".png") || Name.get(i).toString().toLowerCase(Locale.ROOT).endsWith(".gif")) { Img.add(R.drawable.imagefile); } @@ -219,6 +223,16 @@ public class ObjectSelect extends AppCompatActivity { } catch (Exception e) { Toast.makeText(getApplicationContext(),getResources().getString(R.string.media_list_fail), Toast.LENGTH_SHORT).show(); } + } else if (Img.get(position).equals(R.drawable.pdffile)) { + //load media file + try { + GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucket, prefix + Name.get(position).toString()); + URL objectURL = s3client.generatePresignedUrl(request); + //System.out.println(getResources().getString(R.string.pdf_reader)+ URLEncoder.encode(objectURL.toString(), "UTF-8" )); + webBrowser(getResources().getString(R.string.pdf_reader)+ URLEncoder.encode(objectURL.toString(), "UTF-8" ), Name.get(position).toString()); + } catch (Exception e) { + Toast.makeText(getApplicationContext(),getResources().getString(R.string.media_list_fail), Toast.LENGTH_SHORT).show(); + } } else if (Img.get(position).equals(R.drawable.audiofile) || Img.get(position).equals(R.drawable.videofile)) { //load media file try { diff --git a/app/src/main/java/asgardius/page/s3manager/WebBrowser.java b/app/src/main/java/asgardius/page/s3manager/WebBrowser.java index 773b341..a10afb4 100644 --- a/app/src/main/java/asgardius/page/s3manager/WebBrowser.java +++ b/app/src/main/java/asgardius/page/s3manager/WebBrowser.java @@ -3,12 +3,14 @@ package asgardius.page.s3manager; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; +import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; public class WebBrowser extends AppCompatActivity { - private WebView npw; + private WebView browser; + WebSettings webSettings; String webURL, pagetitle; @Override protected void onCreate(Bundle savedInstanceState) { @@ -19,9 +21,11 @@ public class WebBrowser extends AppCompatActivity { webURL = getIntent().getStringExtra("web_url"); pagetitle = getIntent().getStringExtra("title"); getSupportActionBar().setTitle(pagetitle); - npw =(WebView)findViewById(R.id.webview); - npw.setWebViewClient(new MyBrowser()); - npw.loadUrl(webURL); + browser =(WebView)findViewById(R.id.webview); + webSettings = browser.getSettings(); + webSettings.setJavaScriptEnabled(true); + browser.setWebViewClient(new MyBrowser()); + browser.loadUrl(webURL); } catch (Exception e) { e.printStackTrace(); finish(); diff --git a/app/src/main/res/drawable/pdffile.png b/app/src/main/res/drawable/pdffile.png new file mode 100644 index 0000000..547b124 Binary files /dev/null and b/app/src/main/res/drawable/pdffile.png differ diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d2a4560..5ec1172 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -2,6 +2,7 @@ S3 Manager .amazonaws.com https://object.asgardius.company + https://office.asgardius.company/pdfjs/web/viewer.html?file= google Account list Bucket list