You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ag...@apache.org on 2015/03/11 16:35:18 UTC

[07/13] cordova-plugin-file git commit: android: Move CordovaResourceApi into Filesystem base class

android: Move CordovaResourceApi into Filesystem base class


Project: http://git-wip-us.apache.org/repos/asf/cordova-plugin-file/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-plugin-file/commit/bad4242a
Tree: http://git-wip-us.apache.org/repos/asf/cordova-plugin-file/tree/bad4242a
Diff: http://git-wip-us.apache.org/repos/asf/cordova-plugin-file/diff/bad4242a

Branch: refs/heads/master
Commit: bad4242a304ad883144856417d81d972669a42ba
Parents: 81ea13c
Author: Andrew Grieve <ag...@chromium.org>
Authored: Mon Mar 9 14:22:04 2015 -0400
Committer: Andrew Grieve <ag...@chromium.org>
Committed: Wed Mar 11 11:35:07 2015 -0400

----------------------------------------------------------------------
 src/android/ContentFilesystem.java | 33 +++++++--------------------------
 src/android/FileUtils.java         |  2 +-
 src/android/Filesystem.java        |  5 ++++-
 src/android/LocalFilesystem.java   |  5 +----
 4 files changed, 13 insertions(+), 32 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-plugin-file/blob/bad4242a/src/android/ContentFilesystem.java
----------------------------------------------------------------------
diff --git a/src/android/ContentFilesystem.java b/src/android/ContentFilesystem.java
index f577054..3e967f3 100644
--- a/src/android/ContentFilesystem.java
+++ b/src/android/ContentFilesystem.java
@@ -36,6 +36,7 @@ import org.json.JSONException;
 import org.json.JSONObject;
 
 import android.content.ContentResolver;
+import android.content.Context;
 import android.database.Cursor;
 import android.net.Uri;
 import android.provider.MediaStore;
@@ -43,31 +44,11 @@ import android.provider.OpenableColumns;
 
 public class ContentFilesystem extends Filesystem {
 
-	private CordovaInterface cordova;
-	private CordovaResourceApi resourceApi;
-	
-	public ContentFilesystem(CordovaInterface cordova, CordovaWebView webView) {
-		super(Uri.parse("content://"), "content");
-		this.cordova = cordova;
+    private final Context context;
 
-		Class webViewClass = webView.getClass();
-		PluginManager pm = null;
-		try {
-			Method gpm = webViewClass.getMethod("getPluginManager");
-			pm = (PluginManager) gpm.invoke(webView);
-		} catch (NoSuchMethodException e) {
-		} catch (IllegalAccessException e) {
-		} catch (InvocationTargetException e) {
-		}
-		if (pm == null) {
-			try {
-				Field pmf = webViewClass.getField("pluginManager");
-				pm = (PluginManager)pmf.get(webView);
-			} catch (NoSuchFieldException e) {
-			} catch (IllegalAccessException e) {
-			}
-		}
-		this.resourceApi = new CordovaResourceApi(webView.getContext(), pm);
+	public ContentFilesystem(Context context, CordovaResourceApi resourceApi) {
+		super(Uri.parse("content://"), "content", resourceApi);
+        this.context = context;
 	}
 	
 	@Override
@@ -130,7 +111,7 @@ public class ContentFilesystem extends Filesystem {
 		String filePath = filesystemPathForURL(inputURL);
 		File file = new File(filePath);
 		try {
-			this.cordova.getActivity().getContentResolver().delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
+            context.getContentResolver().delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
 					MediaStore.Images.Media.DATA + " = ?",
 					new String[] { filePath });
 		} catch (UnsupportedOperationException t) {
@@ -246,7 +227,7 @@ public class ContentFilesystem extends Filesystem {
 	}
 
 	protected Cursor openCursorForURL(LocalFilesystemURL url) {
-        ContentResolver contentResolver = this.cordova.getActivity().getContentResolver();
+        ContentResolver contentResolver = context.getContentResolver();
         Cursor cursor = contentResolver.query(url.URL, null, null, null, null);
         return cursor;
 	}

http://git-wip-us.apache.org/repos/asf/cordova-plugin-file/blob/bad4242a/src/android/FileUtils.java
----------------------------------------------------------------------
diff --git a/src/android/FileUtils.java b/src/android/FileUtils.java
index 0063b43..043bdca 100644
--- a/src/android/FileUtils.java
+++ b/src/android/FileUtils.java
@@ -194,7 +194,7 @@ public class FileUtils extends CordovaPlugin {
     		// per spec.
     		this.registerFilesystem(new LocalFilesystem("temporary", webView.getContext(), webView.getResourceApi(), tempRoot));
     		this.registerFilesystem(new LocalFilesystem("persistent", webView.getContext(), webView.getResourceApi(), persistentRoot));
-    		this.registerFilesystem(new ContentFilesystem(cordova, webView));
+    		this.registerFilesystem(new ContentFilesystem(webView.getContext(), webView.getResourceApi()));
 
             registerExtraFileSystems(getExtraFileSystemsPreference(activity), getAvailableFileSystems(activity));
 

http://git-wip-us.apache.org/repos/asf/cordova-plugin-file/blob/bad4242a/src/android/Filesystem.java
----------------------------------------------------------------------
diff --git a/src/android/Filesystem.java b/src/android/Filesystem.java
index c4a0f8a..d1cbc27 100644
--- a/src/android/Filesystem.java
+++ b/src/android/Filesystem.java
@@ -27,6 +27,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 
+import org.apache.cordova.CordovaResourceApi;
 import org.json.JSONArray;
 import org.json.JSONException;
 import org.json.JSONObject;
@@ -34,12 +35,14 @@ import org.json.JSONObject;
 public abstract class Filesystem {
 
     protected final Uri rootUri;
+    protected final CordovaResourceApi resourceApi;
     public final String name;
     private final JSONObject rootEntry;
 
-    public Filesystem(Uri rootUri, String name) {
+    public Filesystem(Uri rootUri, String name, CordovaResourceApi resourceApi) {
         this.rootUri = rootUri;
         this.name = name;
+        this.resourceApi = resourceApi;
         rootEntry = makeEntryForPath("/", name, true, rootUri.toString());
     }
 

http://git-wip-us.apache.org/repos/asf/cordova-plugin-file/blob/bad4242a/src/android/LocalFilesystem.java
----------------------------------------------------------------------
diff --git a/src/android/LocalFilesystem.java b/src/android/LocalFilesystem.java
index 884771c..544663d 100644
--- a/src/android/LocalFilesystem.java
+++ b/src/android/LocalFilesystem.java
@@ -44,17 +44,14 @@ import android.content.Intent;
 import android.app.Activity;
 
 public class LocalFilesystem extends Filesystem {
-
-    private final CordovaResourceApi resourceApi;
     private final Context context;
 
     public LocalFilesystem(String name, Context context, CordovaResourceApi resourceApi, String rootPath) {
         this(name, context, resourceApi, Uri.fromFile(new File(rootPath)));
     }
 	public LocalFilesystem(String name, Context context, CordovaResourceApi resourceApi, Uri rootUri) {
-        super(rootUri, name);
+        super(rootUri, name, resourceApi);
 		this.context = context;
-        this.resourceApi = resourceApi;
 	}
 
     public String filesystemPathForFullPath(String fullPath) {


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org