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(){