From f93e8ab6418623a86f37d9e4258409d8e5acb31d Mon Sep 17 00:00:00 2001 From: Jishnu Mohan Date: Mon, 4 Jan 2016 19:33:09 +0530 Subject: [PATCH 1/4] removing duplicate wake lock --- TeaLeaf/AndroidManifest.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/TeaLeaf/AndroidManifest.xml b/TeaLeaf/AndroidManifest.xml index 051123ae..8a1993f2 100644 --- a/TeaLeaf/AndroidManifest.xml +++ b/TeaLeaf/AndroidManifest.xml @@ -15,7 +15,6 @@ - From 40b5a1553a9f5fa08318ac3c15a2991029caab10 Mon Sep 17 00:00:00 2001 From: Jishnu Mohan Date: Fri, 8 Jan 2016 15:23:33 +0530 Subject: [PATCH 2/4] use getExnternalFilesDir instead of getExternalStorageDirectory Former one doesn't need WRITE_EXTERNAL_STORAGE permission. --- TeaLeaf/AndroidManifest.xml | 1 - TeaLeaf/src/com/tealeaf/Overlay.java | 3 +-- TeaLeaf/src/com/tealeaf/PhotoPicker.java | 3 +-- TeaLeaf/src/com/tealeaf/ResourceManager.java | 8 ++++---- 4 files changed, 6 insertions(+), 9 deletions(-) diff --git a/TeaLeaf/AndroidManifest.xml b/TeaLeaf/AndroidManifest.xml index 8a1993f2..a667e86a 100644 --- a/TeaLeaf/AndroidManifest.xml +++ b/TeaLeaf/AndroidManifest.xml @@ -10,7 +10,6 @@ - diff --git a/TeaLeaf/src/com/tealeaf/Overlay.java b/TeaLeaf/src/com/tealeaf/Overlay.java index 9d53ceff..baa25251 100644 --- a/TeaLeaf/src/com/tealeaf/Overlay.java +++ b/TeaLeaf/src/com/tealeaf/Overlay.java @@ -15,7 +15,6 @@ package com.tealeaf; -import android.os.Environment; import android.view.View; import android.webkit.WebChromeClient; import android.webkit.WebView; @@ -35,7 +34,7 @@ public Overlay(TeaLeaf context) { getSettings().setJavaScriptEnabled(true); getSettings().setDomStorageEnabled(true); getSettings().setDatabaseEnabled(true); - getSettings().setDatabasePath(Environment.getExternalStorageDirectory().getPath()); + getSettings().setDatabasePath(context.getExternalFilesDir().getPath()); browserInterface = new BrowserInterface(); addJavascriptInterface(browserInterface, "tealeaf"); diff --git a/TeaLeaf/src/com/tealeaf/PhotoPicker.java b/TeaLeaf/src/com/tealeaf/PhotoPicker.java index 8f8889c8..e599bbf8 100644 --- a/TeaLeaf/src/com/tealeaf/PhotoPicker.java +++ b/TeaLeaf/src/com/tealeaf/PhotoPicker.java @@ -19,7 +19,6 @@ import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Bitmap.CompressFormat; -import android.os.Environment; import android.provider.MediaStore; import java.io.File; @@ -109,7 +108,7 @@ public Bitmap getResult(String type, int id) { public static File getCaptureImageTmpFile() { if (captureImageTmpFile == null) { try { - captureImageTmpFile = File.createTempFile(".gc_tmpfile", ".jpg", Environment.getExternalStorageDirectory()); + captureImageTmpFile = File.createTempFile(".gc_tmpfile", ".jpg", getExternalCacheDir()); } catch(Exception e) { logger.log(e); } diff --git a/TeaLeaf/src/com/tealeaf/ResourceManager.java b/TeaLeaf/src/com/tealeaf/ResourceManager.java index 9bf6080a..f00b52df 100644 --- a/TeaLeaf/src/com/tealeaf/ResourceManager.java +++ b/TeaLeaf/src/com/tealeaf/ResourceManager.java @@ -151,7 +151,7 @@ public String getCacheDirectory() { } } public String getExternalCacheDirectory() { - return Environment.getExternalStorageDirectory().getAbsolutePath() + "/tmp/"; + return context.getExternalCacheDir(); } public void clearCacheDirectory() { @@ -190,7 +190,7 @@ private File getBaseStorageDirectory() { if (!canUseExternalStorage() || ONLY_USE_INTERNAL_STORAGE) { storageDir = context.getFilesDir(); } else { - storageDir = Environment.getExternalStorageDirectory(); + storageDir = context.getExternalFilesDir(); } return storageDir; } @@ -199,7 +199,7 @@ public boolean writeToExternalStorage(String filename, String contents) { if (!canUseExternalStorage()) { return false; } - File storageDir = Environment.getExternalStorageDirectory(); + File storageDir = context.getExternalFilesDir(); File file = new File(storageDir.getAbsolutePath() + File.separator + filename); if (file.exists()) { logger.log("{resource} ERROR: External storage file exists"); @@ -221,7 +221,7 @@ public String readFromExternalStorage(String filename) { if (!canUseExternalStorage()) { return null; } - File storageDir = Environment.getExternalStorageDirectory(); + File storageDir = context.getExternalFilesDir(); File file = new File(storageDir.getAbsolutePath() + File.separator + filename); if (!file.exists()) { return null; From cb1388382bf04dc5989cfc4a2e43f9b2c24fbf7d Mon Sep 17 00:00:00 2001 From: Jishnu Mohan Date: Fri, 8 Jan 2016 16:58:01 +0530 Subject: [PATCH 3/4] fix function calls --- TeaLeaf/src/com/tealeaf/Overlay.java | 2 +- TeaLeaf/src/com/tealeaf/PhotoPicker.java | 7 ++++--- TeaLeaf/src/com/tealeaf/ResourceManager.java | 8 ++++---- TeaLeaf/src/com/tealeaf/TeaLeaf.java | 2 +- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/TeaLeaf/src/com/tealeaf/Overlay.java b/TeaLeaf/src/com/tealeaf/Overlay.java index baa25251..84994a02 100644 --- a/TeaLeaf/src/com/tealeaf/Overlay.java +++ b/TeaLeaf/src/com/tealeaf/Overlay.java @@ -34,7 +34,7 @@ public Overlay(TeaLeaf context) { getSettings().setJavaScriptEnabled(true); getSettings().setDomStorageEnabled(true); getSettings().setDatabaseEnabled(true); - getSettings().setDatabasePath(context.getExternalFilesDir().getPath()); + getSettings().setDatabasePath(context.getExternalFilesDir(null).getPath()); browserInterface = new BrowserInterface(); addJavascriptInterface(browserInterface, "tealeaf"); diff --git a/TeaLeaf/src/com/tealeaf/PhotoPicker.java b/TeaLeaf/src/com/tealeaf/PhotoPicker.java index e599bbf8..ef2444b6 100644 --- a/TeaLeaf/src/com/tealeaf/PhotoPicker.java +++ b/TeaLeaf/src/com/tealeaf/PhotoPicker.java @@ -29,6 +29,7 @@ public class PhotoPicker { private Activity activity; private ResourceManager resourceManager; private Settings settings; + public PhotoPicker(Activity context, Settings settings, ResourceManager manager) { this.activity = context; this.settings = settings; @@ -53,7 +54,7 @@ public void moveNextGalleryId() { public void take(int id) { Intent camera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); - File largeFile = getCaptureImageTmpFile(); + File largeFile = getCaptureImageTmpFile(this.activity); if (largeFile != null) { camera.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(largeFile)); } @@ -105,10 +106,10 @@ public Bitmap getResult(String type, int id) { } private static File captureImageTmpFile = null; - public static File getCaptureImageTmpFile() { + public static File getCaptureImageTmpFile(Activity context) { if (captureImageTmpFile == null) { try { - captureImageTmpFile = File.createTempFile(".gc_tmpfile", ".jpg", getExternalCacheDir()); + captureImageTmpFile = File.createTempFile(".gc_tmpfile", ".jpg", context.getExternalCacheDir()); } catch(Exception e) { logger.log(e); } diff --git a/TeaLeaf/src/com/tealeaf/ResourceManager.java b/TeaLeaf/src/com/tealeaf/ResourceManager.java index f00b52df..fda803c6 100644 --- a/TeaLeaf/src/com/tealeaf/ResourceManager.java +++ b/TeaLeaf/src/com/tealeaf/ResourceManager.java @@ -151,7 +151,7 @@ public String getCacheDirectory() { } } public String getExternalCacheDirectory() { - return context.getExternalCacheDir(); + return context.getExternalCacheDir().getAbsolutePath(); } public void clearCacheDirectory() { @@ -190,7 +190,7 @@ private File getBaseStorageDirectory() { if (!canUseExternalStorage() || ONLY_USE_INTERNAL_STORAGE) { storageDir = context.getFilesDir(); } else { - storageDir = context.getExternalFilesDir(); + storageDir = context.getExternalFilesDir(null); } return storageDir; } @@ -199,7 +199,7 @@ public boolean writeToExternalStorage(String filename, String contents) { if (!canUseExternalStorage()) { return false; } - File storageDir = context.getExternalFilesDir(); + File storageDir = context.getExternalFilesDir(null); File file = new File(storageDir.getAbsolutePath() + File.separator + filename); if (file.exists()) { logger.log("{resource} ERROR: External storage file exists"); @@ -221,7 +221,7 @@ public String readFromExternalStorage(String filename) { if (!canUseExternalStorage()) { return null; } - File storageDir = context.getExternalFilesDir(); + File storageDir = context.getExternalFilesDir(null); File file = new File(storageDir.getAbsolutePath() + File.separator + filename); if (!file.exists()) { return null; diff --git a/TeaLeaf/src/com/tealeaf/TeaLeaf.java b/TeaLeaf/src/com/tealeaf/TeaLeaf.java index 10cf76e6..3e49289e 100644 --- a/TeaLeaf/src/com/tealeaf/TeaLeaf.java +++ b/TeaLeaf/src/com/tealeaf/TeaLeaf.java @@ -813,7 +813,7 @@ protected void onActivityResult(int request, int result, Intent data) { } //try the large file on disk - final File f = PhotoPicker.getCaptureImageTmpFile(); + final File f = PhotoPicker.getCaptureImageTmpFile(this); if (f != null && f.exists()) { new Thread(new Runnable() { public void run(){ From 131f5686170bdc52b8d7e94d6aaff3a35b495359 Mon Sep 17 00:00:00 2001 From: Jishnu Mohan Date: Mon, 11 Jan 2016 13:06:04 +0530 Subject: [PATCH 4/4] adding storage permission for older versions --- TeaLeaf/AndroidManifest.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/TeaLeaf/AndroidManifest.xml b/TeaLeaf/AndroidManifest.xml index a667e86a..e453e184 100644 --- a/TeaLeaf/AndroidManifest.xml +++ b/TeaLeaf/AndroidManifest.xml @@ -10,6 +10,7 @@ +