@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");
   }
 }
Exemple #6
0
  @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;
  }