package com.phonegap.applet; import java.applet.Applet; import java.io.File; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.security.AccessController; import java.security.PrivilegedAction; import org.apache.wink.json4j.JSONArray; //import org.apache.wink.json4j.JSONException; import android.os.Environment; import com.phonegap.FileTransfer; import com.phonegap.api.PluginResult; /** * This class simulates a file system. * */ public class FileTransferApplet extends Applet { private static final long serialVersionUID = -3597778569502049410L; private FileTransfer fileTransfer; /** * File applet constructor */ public FileTransferApplet() { System.out.println ("FileTransfer: Constructor"); fileTransfer = new FileTransfer(); } public String getAppletInfo() { return ("Written by: Bryce Curtis, (c) 2011, IBM Corporation"); } /** * Applet init. Send fileAppletInit event to JavaScript */ public void init() { System.out.println ("FileTransfer: init"); } public void start() { System.out.println ("FileTransfer: start"); } public void stop() { System.out.println ("FileTransfer: stop"); } public void destroy() { System.out.println ("FileTransfer: destroy"); } /** * Executes the request and returns PluginResult. * * @param action The action to execute. * @param args Stringified JSONArry of arguments for the plugin. * @param callbackId The callback id used when calling back into JavaScript. * @return A PluginResult object with a status and message. */ @SuppressWarnings({ "unchecked", "rawtypes" }) public String exec(final String action, final String jsonArgs, final String callbackId) { System.out.println("************* FileTransfer: exec("+action+","+jsonArgs+","+callbackId+")"); String res = AccessController.doPrivileged(new PrivilegedAction() { public Object run() { try { final JSONArray args = new JSONArray(jsonArgs); PluginResult r = fileTransfer.execute(action, args, callbackId); r.id = callbackId; String s = r.getJSONString(); System.out.println(" - returning "+s); return s; } catch (Exception e) { System.out.println("FileTransfer: ERROR: "); e.printStackTrace(); } return ""; } }); return res; } }