diff --git a/TeaLeaf/AndroidManifest.xml b/TeaLeaf/AndroidManifest.xml index 051123ae..e453e184 100644 --- a/TeaLeaf/AndroidManifest.xml +++ b/TeaLeaf/AndroidManifest.xml @@ -10,12 +10,11 @@ - + - diff --git a/TeaLeaf/src/com/tealeaf/Overlay.java b/TeaLeaf/src/com/tealeaf/Overlay.java index 9d53ceff..84994a02 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(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 8f8889c8..ef2444b6 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; @@ -30,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; @@ -54,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)); } @@ -106,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", Environment.getExternalStorageDirectory()); + 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 9bf6080a..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 Environment.getExternalStorageDirectory().getAbsolutePath() + "/tmp/"; + 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 = Environment.getExternalStorageDirectory(); + storageDir = context.getExternalFilesDir(null); } 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(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 = Environment.getExternalStorageDirectory(); + 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(){