@Override public boolean execute(String action, JSONArray data, CallbackContext callbackContext) throws JSONException { if (action.equals("storeMeasurement")) { Context ctxt = cordova.getActivity(); (new ClientStatsHelper(ctxt)) .storeMeasurement( data.getString(0), // key data.getString(1), // value data.getString(2)); // ts callbackContext.success(); return true; } else if (action.equals("storeEventNow")) { Context ctxt = cordova.getActivity(); new ClientStatsHelper(ctxt) .storeMeasurement( data.getString(0), // key null, // value String.valueOf(System.currentTimeMillis())); // ts callbackContext.success(); return true; } else { return false; } }
@Override public boolean execute(String action, CordovaArgs args, CallbackContext callbackContext) throws JSONException { this.savedCallbackContext = callbackContext; if (args.optJSONObject(0) != null) { JSONObject obj = args.getJSONObject(0); this.webKey = obj.optString(ARGUMENT_WEB_KEY, null); this.apiKey = obj.optString(ARGUMENT_ANDROID_KEY, null); this.requestOfflineToken = obj.optBoolean(ARGUMENT_OFFLINE_KEY, false); this.setupScopes(obj.optString(ARGUMENT_SCOPES, null)); // possible scope change, so force a rebuild of the client this.mGoogleApiClient = null; } // It's important that we build the GoogleApiClient after setting up scopes so we know which // scopes to request when setting up the google services api client. buildGoogleApiClient(); if (ACTION_IS_AVAILABLE.equals(action)) { final boolean avail = GooglePlayServicesUtil.isGooglePlayServicesAvailable( this.cordova.getActivity().getApplicationContext()) == 0; savedCallbackContext.success("" + avail); } else if (ACTION_LOGIN.equals(action)) { this.trySilentLogin = false; mGoogleApiClient.reconnect(); } else if (ACTION_TRY_SILENT_LOGIN.equals(action)) { this.trySilentLogin = true; mGoogleApiClient.reconnect(); } else if (ACTION_LOGOUT.equals(action)) { try { Plus.AccountApi.clearDefaultAccount(mGoogleApiClient); mGoogleApiClient.disconnect(); // needed in onActivityResult when the connect method below comes back loggingOut = true; buildGoogleApiClient(); mGoogleApiClient.connect(); } catch (IllegalStateException ignore) { } savedCallbackContext.success("logged out"); } else if (ACTION_DISCONNECT.equals(action)) { disconnect(); } else { return false; } return true; }
@Override public boolean execute(String action, JSONArray data, CallbackContext callbackContext) throws JSONException { if (action.equals("info")) { String tagName = data.getString(0); String message = data.getString(1); LogManager.i(tagName, message); callbackContext.success(); return true; } else if (action.equals("debug")) { String tagName = data.getString(0); String message = data.getString(1); LogManager.d(tagName, message); callbackContext.success(); return true; } else if (action.equals("error")) { String tagName = data.getString(0); String message = data.getString(1); LogManager.e(tagName, message); callbackContext.success(); return true; } else if (action.equals("warn")) { String tagName = data.getString(0); String message = data.getString(1); LogManager.w(tagName, message); callbackContext.success(); return true; } else if (action.equals("verbose")) { String tagName = data.getString(0); String message = data.getString(1); LogManager.v(tagName, message); callbackContext.success(); return true; } else { return false; } }
@Override public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { if ("minimize".equals(action)) { try { Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); this.cordova.getActivity().startActivity(intent); callbackContext.success(); return true; } catch (Exception e) { return false; } } return false; }
private void disconnect() { try { Plus.AccountApi.revokeAccessAndDisconnect(mGoogleApiClient) .setResultCallback( new ResultCallback<Status>() { @Override public void onResult(Status status) { // mGoogleApiClient is now disconnected and access has been revoked. // Don't care if it was disconnected already (status != success). buildGoogleApiClient(); savedCallbackContext.success("disconnected"); } }); } catch (IllegalStateException e) { savedCallbackContext.success("disconnected"); } }
@Override public boolean execute(String action, JSONArray data, CallbackContext callbackContext) throws JSONException { if (action.equals("extract")) { try { String id = data.getString(0); String[] serverPremium = { "s210", "s00", "s40", "s10", "s20", "s30", "s50", "s70", "s80", "s90", "s100", "s110", "s120", "s130", "s140", "s160", "s170", "s180", "s190", "s200", "s220", "s230", "s240", "s250", "s260", "s270", "s280", "s290" }; URL url = new URL("http://www.nowvideo.li/mobile/video.php?id=" + id + "&download=2"); URLConnection connection = null; String content = null; connection = url.openConnection(); Scanner scanner = new Scanner(connection.getInputStream()); scanner.useDelimiter("\\Z"); content = scanner.next(); String[] array = content.split("<source src=\"http://"); String link = ""; if (array.length > 2) link = array[2].split("\"")[0]; else link = array[1].split("\"")[0]; String originalServer = link.substring(0, link.indexOf('.')); String restOfLink = link.substring(link.indexOf('.') + 1, link.length()); System.out.println(link); System.out.println(originalServer); System.out.println(restOfLink); String server = originalServer.substring(0, originalServer.length() - 1) + "0"; URL urlVideo = new URL("http://" + server + "." + restOfLink); int responseCode = 0; try { HttpURLConnection huc = (HttpURLConnection) urlVideo.openConnection(); huc.setRequestMethod("HEAD"); huc.setConnectTimeout(2000); responseCode = huc.getResponseCode(); if (responseCode != 200) throw new Exception(); callbackContext.success("http://" + server + "." + restOfLink); } catch (Exception e) { for (String tryServer : serverPremium) { try { urlVideo = new URL("http://" + tryServer + "." + restOfLink); HttpURLConnection huc = (HttpURLConnection) urlVideo.openConnection(); huc.setRequestMethod("HEAD"); huc.setConnectTimeout(2000); responseCode = huc.getResponseCode(); if (responseCode != 200) throw new Exception(); callbackContext.success("http://" + tryServer + "." + restOfLink); } catch (Exception exc) { } } callbackContext.success("http://" + originalServer + "." + restOfLink); } } catch (Exception ex) { callbackContext.error(ex.toString()); } return true; } else { return false; } }
@Override public boolean execute(String action, JSONArray data, CallbackContext callbackContext) { boolean result; Log.v(TAG, "execute: action=" + action); if (INITIALIZE.equals(action)) { try { context = getApplicationContext(); saveConfiguration(context, data.getString(0)); result = true; } catch (JSONException e) { Log.e(TAG, "execute: Got JSON Exception " + e.getMessage()); result = false; callbackContext.error(e.getMessage()); } clearNotificationQueue(context); } else if (REGISTER.equals(action)) { Log.v(TAG, "execute: data=" + data.toString()); try { context = getApplicationContext(); JSONObject jo = data.getJSONObject(0); gWebView = this.webView; Log.v(TAG, "execute: jo=" + jo.toString()); gECB = (String) jo.get("ecb"); gSenderID = (String) jo.get("senderID"); Log.v(TAG, "execute: ECB=" + gECB + " senderID=" + gSenderID); regid = getRegistrationId(getApplicationContext()); if (regid.isEmpty()) { new AsyncRegister().execute(callbackContext); } else { sendJavascript(new JSONObject().put("event", "registered").put("regid", regid)); callbackContext.success(regid); } result = true; } catch (JSONException e) { Log.e(TAG, "execute: Got JSON Exception " + e.getMessage()); result = false; callbackContext.error(e.getMessage()); } if (gCachedExtras != null) { Log.v(TAG, "sending cached extras"); sendExtras(gCachedExtras); gCachedExtras = null; } } else if (ARE_NOTIFICATIONS_ENABLED.equals(action)) { Log.v(TAG, "ARE_NOTIFICATIONS_ENABLED"); final boolean registered = !getRegistrationId(getApplicationContext()).isEmpty(); Log.d(TAG, "areNotificationsEnabled? " + registered); callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, registered)); result = true; } else if (UNREGISTER.equals(action)) { GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(getApplicationContext()); try { gcm.unregister(); removeRegistrationId(getApplicationContext()); } catch (IOException exception) { Log.d(TAG, "IOException!"); } Log.v(TAG, "UNREGISTER"); result = true; callbackContext.success(); } else { result = false; Log.e(TAG, "Invalid action : " + action); callbackContext.error("Invalid action : " + action); } return result; }