Example usage for org.json JSONObject getBoolean

List of usage examples for org.json JSONObject getBoolean

Introduction

In this page you can find the example usage for org.json JSONObject getBoolean.

Prototype

public boolean getBoolean(String key) throws JSONException 

Source Link

Document

Get the boolean value associated with a key.

Usage

From source file:me.mast3rplan.phantombot.cache.ChannelUsersCache.java

private void updateCache() throws Exception {
    Map<String, String> newCache = Maps.newHashMap();

    JSONObject j = TwitchAPIv3.instance().GetChatUsers(channel);

    if (j.getBoolean("_success")) {
        if (j.getInt("_http") == 200) {
            JSONObject users = j.getJSONObject("chatters");

            JSONArray mods = users.getJSONArray("moderators");
            JSONArray staff = users.getJSONArray("staff");
            JSONArray admins = users.getJSONArray("admins");
            JSONArray global_mods = users.getJSONArray("global_mods");
            JSONArray viewers = users.getJSONArray("viewers");

            for (int i = 0; i < mods.length(); i++) {
                newCache.put(mods.getString(i), "mod");
            }/*from  w w w  .  ja v  a2 s.  c  o m*/

            for (int i = 0; i < staff.length(); i++) {
                newCache.put(staff.getString(i), "staff");
            }

            for (int i = 0; i < admins.length(); i++) {
                newCache.put(admins.getString(i), "admin");
            }

            for (int i = 0; i < global_mods.length(); i++) {
                newCache.put(admins.getString(i), "global_mod");
            }

            for (int i = 0; i < viewers.length(); i++) {
                newCache.put(viewers.getString(i), "viewer");
            }
        } else {
            try {
                throw new Exception("[HTTPErrorException] HTTP " + j.getString("error") + ". req="
                        + j.getString("_type") + " " + j.getString("_url") + " " + j.getString("_post") + "   "
                        + (j.has("message") && !j.isNull("message") ? "message=" + j.getString("message")
                                : "content=" + j.getString("_content")));
            } catch (Exception e) {
                com.gmt2001.Console.out
                        .println("ChannelUsersCache.updateCache>>Failed to update users: " + e.getMessage());
                com.gmt2001.Console.err.logStackTrace(e);
            }
        }
    } else {
        try {
            throw new Exception("[" + j.getString("_exception") + "] " + j.getString("_exceptionMessage"));
        } catch (Exception e) {
            if (e.getMessage().startsWith("[SocketTimeoutException]")
                    || e.getMessage().startsWith("[IOException]")) {
                Calendar c = Calendar.getInstance();

                if (lastFail.after(new Date())) {
                    numfail++;
                } else {
                    numfail = 1;
                }

                c.add(Calendar.MINUTE, 1);

                lastFail = c.getTime();

                if (numfail >= 5) {
                    timeoutExpire = c.getTime();
                }
            }

            com.gmt2001.Console.out
                    .println("ChannelUsersCache.updateCache>>Failed to update users: " + e.getMessage());
            com.gmt2001.Console.err.logStackTrace(e);
        }
    }

    List<String> join = Lists.newArrayList();
    List<String> part = Lists.newArrayList();

    for (String key : newCache.keySet()) {
        if (cache == null || !cache.containsKey(key)) {
            join.add(key);
        }
    }

    if (cache != null) {
        for (String key : cache.keySet()) {
            if (!newCache.containsKey(key)) {
                part.add(key);
            }
        }
    }

    this.cache = newCache;

    /*
     * for (String joined : join) { EventBus.instance().post(new
     * IrcChannelJoinEvent(PhantomBot.instance().getSession(),
     * PhantomBot.instance().getChannel(this.channel), joined)); }
     *
     * for (String parted : part) { EventBus.instance().post(new
     * IrcChannelLeaveEvent(PhantomBot.instance().getSession(),
     * PhantomBot.instance().getChannel(this.channel), parted, "Left")); }
     */
}

From source file:se.su.dsv.scipro.android.tasks.GetMessagesAsyncTask.java

@Override
protected MessagesResult doInBackground(Void... params) {
    String response = SciProJSON.getInstance().getMessages();

    boolean authenticated = true;
    List<PrivateMessage> messages = new ArrayList<PrivateMessage>();

    try {// w  ww . j a va  2s  .  c  o  m
        JSONObject jsonObject = new JSONObject(response);
        if (!jsonObject.getString("apikey").equals("success")) {
            authenticated = false;
        } else {
            JSONArray messagesArray = jsonObject.getJSONArray("messageArray");
            for (int i = 0; i < messagesArray.length(); i++) {
                JSONObject currentMessage = messagesArray.getJSONObject(i);

                long id = currentMessage.getLong("id");
                String subject = currentMessage.getString("subject");
                String message = currentMessage.getString("message");
                String date = currentMessage.getString("date");
                boolean read = currentMessage.getBoolean("read");
                JSONObject fromUser = currentMessage.getJSONObject("from");
                User from = new User(fromUser.getLong("id"), fromUser.getString("name"));

                messages.add(new PrivateMessage(id, subject, message, from, date, read));
            }
        }
    } catch (JSONException e) {
        Log.e(TAG, "JSONException: ", e);
    }

    return new MessagesResult(authenticated, messages);
}

From source file:org.wso2.cdm.agent.services.Operation.java

@SuppressWarnings("static-access")
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
public JSONArray doTask(String code_in, String data_in, int req_mode) {

    Log.e("doTask", "code:" + code_in + "\n" + data_in);
    String data_input = data_in;//w ww. j av a  2s .c  om
    String code_input = code_in;
    String notification = "";
    String ssid = "";
    String password = "";

    devicePolicyManager = (DevicePolicyManager) context.getApplicationContext()
            .getSystemService(Context.DEVICE_POLICY_SERVICE);
    appList = new ApplicationManager(context.getApplicationContext());
    deviceInfo = new DeviceInfo(context);
    gps = new GPSTracker(context);
    smsManager = SmsManager.getDefault();
    conversations = new TrackCallSMS(context);
    deviceState = new PhoneState(context);

    JSONArray resultArr = new JSONArray();
    JSONObject result = new JSONObject();
    if (code_input.equals(CommonUtilities.OPERATION_DEVICE_INFO)) {

        PhoneState phoneState = new PhoneState(context);
        JSONObject obj = new JSONObject();
        JSONObject battery_obj = new JSONObject();
        JSONObject inmemory_obj = new JSONObject();
        JSONObject exmemory_obj = new JSONObject();
        JSONObject location_obj = new JSONObject();
        double latitude = 0;
        double longitude = 0;
        try {
            latitude = gps.getLatitude();
            longitude = gps.getLongitude();
            int batteryLevel = (int) Math.floor(phoneState.getBatteryLevel());

            //            int batteryLevel = 40;
            battery_obj.put("level", batteryLevel);

            inmemory_obj.put("total", deviceInfo.getTotalInternalMemorySize());
            inmemory_obj.put("available", deviceInfo.getAvailableInternalMemorySize());
            exmemory_obj.put("total", deviceInfo.getTotalExternalMemorySize());
            exmemory_obj.put("available", deviceInfo.getAvailableExternalMemorySize());
            location_obj.put("latitude", latitude);
            location_obj.put("longitude", longitude);

            obj.put("battery", battery_obj);
            obj.put("internal_memory", inmemory_obj);
            obj.put("external_memory", exmemory_obj);
            if (latitude != 0 && longitude != 0) {
                obj.put("location_obj", location_obj);
            }
            obj.put("operator", deviceInfo.getNetworkOperatorName());

            Map<String, String> params = new HashMap<String, String>();
            params.put("code", code_input);
            params.put("msgID", token);
            params.put("status", "200");
            params.put("data", obj.toString());

            //for local notification
            resultArr.put(result);
            result.put("status", "true");
            result.put("code", code_input);
            result.put("data", obj);

            Map<String, String> as = new HashMap<String, String>();
            as.put("all", params.toString());

            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                //               ServerUtilities.pushData(params, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                smsManager.sendTextMessage(recepient, null,
                        "Battery Level : " + phoneState.getBatteryLevel() + ", Total Memory : "
                                + deviceInfo.formatSizeGB(deviceInfo.getTotalInternalMemorySize()
                                        + deviceInfo.getTotalExternalMemorySize())
                                + ", Available Memory : "
                                + deviceInfo.formatSizeGB(deviceInfo.getAvailableInternalMemorySize()
                                        + deviceInfo.getAvailableExternalMemorySize()),
                        null, null);
            }

        } catch (JSONException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_DEVICE_LOCATION)) {

        LocationServices ls = new LocationServices(context);
        Log.v("Latitude", ls.getLatitude());
        double latitude = 0;
        double longitude = 0;
        JSONObject obj = new JSONObject();
        try {
            latitude = gps.getLatitude();
            longitude = gps.getLongitude();
            obj.put("latitude", latitude);
            obj.put("longitude", longitude);

            Map<String, String> params = new HashMap<String, String>();
            params.put("code", CommonUtilities.OPERATION_DEVICE_LOCATION);
            params.put("msgID", token);
            params.put("status", "200");
            params.put("data", obj.toString());

            //for local notification\
            resultArr.put(result);
            result.put("status", "true");
            result.put("code", code_input);
            result.put("data", obj);

            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                //ServerUtilities.pushData(params, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                smsManager.sendTextMessage(recepient, null,
                        "Longitude : " + longitude + ",Latitude : " + latitude, null, null);
            }

        } catch (JSONException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_GET_APPLICATION_LIST)) {
        ArrayList<PInfo> apps = appList.getInstalledApps(false); /*
                                                                 * false =
                                                                 * no system
                                                                 * packages
                                                                 */

        JSONArray jsonArray = new JSONArray();
        int max = apps.size();

        String apz = "";
        Log.e("APP TOTAL : ", "" + max);
        for (int i = 0; i < max; i++) {
            JSONObject jsonObj = new JSONObject();
            try {
                jsonObj.put("name", Uri.encode(apps.get(i).appname));
                jsonObj.put("package", apps.get(i).pname);
                jsonObj.put("icon", apps.get(i).icon);
                apz += apps.get(i).appname + " ,";
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            jsonArray.put(jsonObj);
        }

        JSONObject appsObj = new JSONObject();
        try {
            //for local notification
            resultArr.put(result);
            result.put("status", "true");
            result.put("code", code_input);
            result.put("data", jsonArray);

            appsObj.put("apps", jsonArray);

            Map<String, String> params = new HashMap<String, String>();

            params.put("code", CommonUtilities.OPERATION_GET_APPLICATION_LIST);
            params.put("msgID", token);
            params.put("status", "200");
            //params.put("data", Uri.encode(jsonArray.toString()));
            Log.e("PASSING MSG ID : ", token);
            Log.e("PASSING CODE : ", code_input);

            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                //ServerUtilities.pushData(params, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                smsManager.sendTextMessage(recepient, null, apz, null, null);
            }
        } catch (JSONException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_LOCK_DEVICE)) {

        Log.d(TAG, "Locking device now");
        try {
            Map<String, String> params = new HashMap<String, String>();
            params.put("code", code_input);
            params.put("msgID", token);
            params.put("status", "200");

            //for local notification
            resultArr.put(result);
            result.put("status", "true");
            result.put("code", code_input);

            if (req_mode == REQUEST_MODE_NORMAL) {
                if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                    //ServerUtilities.pushData(params, context);
                } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                    smsManager.sendTextMessage(recepient, null, "Device Locked Successfully", null, null);
                }
            } else {
                if (policy_count != 0) {
                    policy_count++;
                }
                bundle_params.put("" + policy_count, params.toString());

            }
            devicePolicyManager.lockNow();

        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_WIPE_DATA)) {

        Log.d(TAG, "RESETing device now - all user data will be ERASED to factory settings");
        String pin = null;
        SharedPreferences mainPref = context.getSharedPreferences("com.mdm", Context.MODE_PRIVATE);
        String pinSaved = mainPref.getString("pin", "");

        try {
            JSONObject jobj = new JSONObject(data_input);
            pin = (String) jobj.get("pin");
            Map<String, String> params = new HashMap<String, String>();
            params.put("code", code_input);
            params.put("msgID", token);

            //for local notification
            resultArr.put(result);

            if (pin.trim().equals(pinSaved.trim())) {
                params.put("status", "200");
                result.put("status", "true");
            } else {
                params.put("status", "400");
                result.put("status", "false");
            }

            result.put("code", code_input);

            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                //ServerUtilities.pushData(params, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                if (pin.trim().equals(pinSaved.trim())) {
                    smsManager.sendTextMessage(recepient, null, "Device Wiped Successfully", null, null);
                } else {
                    smsManager.sendTextMessage(recepient, null, "Wrong PIN", null, null);
                }
            }
            if (pin.trim().equals(pinSaved.trim())) {
                Toast.makeText(context, "Device is being wiped", Toast.LENGTH_LONG).show();
                try {
                    Thread.sleep(4000);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                devicePolicyManager.wipeData(ACTIVATION_REQUEST);
            } else {
                Toast.makeText(context, "Device wipe failed due to wrong PIN", Toast.LENGTH_LONG).show();
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_CLEAR_PASSWORD)) {
        ComponentName demoDeviceAdmin = new ComponentName(context, WSO2DeviceAdminReceiver.class);

        try {
            Map<String, String> params = new HashMap<String, String>();
            params.put("code", code_input);
            params.put("msgID", token);
            params.put("status", "200");

            //for local notification
            resultArr.put(result);
            result.put("status", "true");
            result.put("code", code_input);

            if (req_mode == REQUEST_MODE_NORMAL) {
                if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                    //ServerUtilities.pushData(params, context);
                } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                    smsManager.sendTextMessage(recepient, null, "Lock code cleared Successfully", null, null);
                }
            } else {
                if (policy_count != 0) {
                    policy_count++;
                }
                bundle_params.put("" + policy_count, params.toString());
            }
            devicePolicyManager.setPasswordQuality(demoDeviceAdmin,
                    DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED);
            devicePolicyManager.setPasswordMinimumLength(demoDeviceAdmin, 0);
            devicePolicyManager.resetPassword("", DevicePolicyManager.RESET_PASSWORD_REQUIRE_ENTRY);
            devicePolicyManager.lockNow();
            devicePolicyManager.setPasswordQuality(demoDeviceAdmin,
                    DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_NOTIFICATION)) {

        JSONParser jp = new JSONParser();
        try {
            JSONObject jobj = new JSONObject(data_input);
            if (jobj.get("notification").toString() != null || jobj.get("notification").toString().equals("")) {
                notification = jobj.get("notification").toString();
            } else if (jobj.get("Notification").toString() != null
                    || jobj.get("Notification").toString().equals("")) {
                notification = jobj.get("Notification").toString();
            } else {
                notification = "";
            }

            Log.v("Notification", notification);
            Map<String, String> params = new HashMap<String, String>();
            params.put("code", code_input);
            params.put("msgID", token);
            params.put("status", "200");

            //for local notification
            resultArr.put(result);
            result.put("status", "true");
            result.put("code", code_input);

            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                //ServerUtilities.pushData(params, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                smsManager.sendTextMessage(recepient, null, "Notification Receieved Successfully", null, null);
            }

            Intent intent = new Intent(context, AlertActivity.class);
            intent.putExtra("message", notification);
            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP
                    | Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(intent);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_WIFI)) {
        boolean wifistatus = false;

        JSONParser jp = new JSONParser();
        try {
            JSONObject jobj = new JSONObject(data_input);
            if (!jobj.isNull("ssid")) {
                ssid = (String) jobj.get("ssid");
            }
            if (!jobj.isNull("password")) {
                password = (String) jobj.get("password");
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        Map<String, String> inparams = new HashMap<String, String>();
        inparams.put("code", code_input);
        inparams.put("msgID", token);
        WiFiConfig config = new WiFiConfig(context);

        try {
            //for local notification
            resultArr.put(result);
            result.put("code", code_input);

            wifistatus = config.saveWEPConfig(ssid, password);
            if (wifistatus) {
                inparams.put("status", "200");
                result.put("status", "true");
            } else {
                inparams.put("status", "400");
                result.put("status", "false");
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            if (req_mode == REQUEST_MODE_NORMAL) {
                if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                    //ServerUtilities.pushData(inparams, context);
                } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                    smsManager.sendTextMessage(recepient, null, "WiFi Configured Successfully", null, null);
                }
            } else {
                if (policy_count != 0) {
                    policy_count++;
                }
                bundle_params.put("" + policy_count, inparams.toString());
            }
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_DISABLE_CAMERA)) {

        boolean camFunc = false;
        JSONParser jp = new JSONParser();
        try {
            JSONObject jobj = new JSONObject(data_input);
            if (!jobj.isNull("function") && jobj.get("function").toString().equalsIgnoreCase("enable")) {
                camFunc = false;
            } else if (!jobj.isNull("function")
                    && jobj.get("function").toString().equalsIgnoreCase("disable")) {
                camFunc = true;
            } else if (!jobj.isNull("function")) {
                camFunc = Boolean.parseBoolean(jobj.get("function").toString());
            }

            ComponentName cameraAdmin = new ComponentName(context, WSO2DeviceAdminReceiver.class);
            Map<String, String> params = new HashMap<String, String>();
            params.put("code", code_input);
            params.put("msgID", token);
            params.put("status", "200");

            //for local notification
            resultArr.put(result);
            result.put("status", "true");
            result.put("code", code_input);

            String cammode = "Disabled";
            if (camFunc) {
                cammode = "Disabled";
            } else {
                cammode = "Enabled";
            }

            if (req_mode == REQUEST_MODE_NORMAL) {
                if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                    //ServerUtilities.pushData(params, context);
                } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                    smsManager.sendTextMessage(recepient, null, "Camera " + cammode + " Successfully", null,
                            null);
                }
            } else {
                if (policy_count != 0) {
                    policy_count++;
                }
                bundle_params.put("" + policy_count, params.toString());
            }

            if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
                devicePolicyManager.setCameraDisabled(cameraAdmin, camFunc);
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_INSTALL_APPLICATION)
            || code_input.equals(CommonUtilities.OPERATION_INSTALL_APPLICATION_BUNDLE)) {

        try {
            //for local notification
            resultArr.put(result);
            result.put("status", "true");
            result.put("code", code_input);

            if (code_input.equals(CommonUtilities.OPERATION_INSTALL_APPLICATION)) {
                JSONObject jobj = new JSONObject(data_input);
                installApplication(jobj, code_input);
            } else if (code_input.equals(CommonUtilities.OPERATION_INSTALL_APPLICATION_BUNDLE)) {
                JSONArray jArray = null;
                jArray = new JSONArray(data_input);
                for (int i = 0; i < jArray.length(); i++) {
                    JSONObject appObj = (JSONObject) jArray.getJSONObject(i);
                    installApplication(appObj, code_input);
                }
            }

        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_UNINSTALL_APPLICATION)) {

        String packageName = "";
        JSONParser jp = new JSONParser();
        try {
            JSONObject jobj = new JSONObject(data_input);
            packageName = (String) jobj.get("identity");

            Log.v("Package Name : ", packageName);
            Map<String, String> params = new HashMap<String, String>();
            params.put("code", code_input);
            params.put("msgID", token);
            params.put("status", "200");

            //for local notification
            resultArr.put(result);
            result.put("status", "true");
            result.put("code", code_input);

            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                //ServerUtilities.pushData(params, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                smsManager.sendTextMessage(recepient, null, "Application uninstalled Successfully", null, null);
            }
            appList.unInstallApplication(packageName);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_ENCRYPT_STORAGE)) {
        boolean encryptFunc = true;
        String pass = "";

        JSONParser jp = new JSONParser();
        try {
            JSONObject jobj = new JSONObject(data_input);
            if (!jobj.isNull("function") && jobj.get("function").toString().equalsIgnoreCase("encrypt")) {
                encryptFunc = true;
            } else if (!jobj.isNull("function")
                    && jobj.get("function").toString().equalsIgnoreCase("decrypt")) {
                encryptFunc = false;
            } else if (!jobj.isNull("function")) {
                encryptFunc = Boolean.parseBoolean(jobj.get("function").toString());
            }

            ComponentName admin = new ComponentName(context, WSO2DeviceAdminReceiver.class);
            Map<String, String> params = new HashMap<String, String>();
            params.put("code", code_input);
            params.put("msgID", token);

            if (encryptFunc && devicePolicyManager
                    .getStorageEncryptionStatus() != devicePolicyManager.ENCRYPTION_STATUS_UNSUPPORTED) {
                if (devicePolicyManager
                        .getStorageEncryptionStatus() == devicePolicyManager.ENCRYPTION_STATUS_INACTIVE) {
                    if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
                        devicePolicyManager.setStorageEncryption(admin, encryptFunc);
                        Intent intent = new Intent(DevicePolicyManager.ACTION_START_ENCRYPTION);
                        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                        context.startActivity(intent);
                    }
                }
            } else if (!encryptFunc && devicePolicyManager
                    .getStorageEncryptionStatus() != devicePolicyManager.ENCRYPTION_STATUS_UNSUPPORTED) {
                if (devicePolicyManager
                        .getStorageEncryptionStatus() == devicePolicyManager.ENCRYPTION_STATUS_ACTIVE
                        || devicePolicyManager
                                .getStorageEncryptionStatus() == devicePolicyManager.ENCRYPTION_STATUS_ACTIVATING) {
                    if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
                        devicePolicyManager.setStorageEncryption(admin, encryptFunc);
                    }
                }
            }

            //for local notification
            resultArr.put(result);
            result.put("status", "true");
            result.put("code", code_input);
            if (devicePolicyManager
                    .getStorageEncryptionStatus() != devicePolicyManager.ENCRYPTION_STATUS_UNSUPPORTED) {
                params.put("status", "200");
                result.put("status", "true");
            } else {
                params.put("status", "400");
                result.put("status", "false");
            }
            if (req_mode == REQUEST_MODE_NORMAL) {
                if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                    //                  //ServerUtilities.pushData(params, context);
                } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                    smsManager.sendTextMessage(recepient, null, "Storage Encrypted Successfully", null, null);
                }
            } else {
                if (policy_count != 0) {
                    policy_count++;
                }
                bundle_params.put("" + policy_count, params.toString());
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    } else if (code_input.equals(CommonUtilities.OPERATION_MUTE)) {

        Log.d(TAG, "Muting Device");
        try {
            Map<String, String> params = new HashMap<String, String>();
            params.put("code", code_input);
            params.put("msgID", token);
            params.put("status", "200");

            //for local notification
            resultArr.put(result);
            result.put("status", "true");
            result.put("code", code_input);

            if (req_mode == REQUEST_MODE_NORMAL) {
                if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                    //                  //ServerUtilities.pushData(params, context);
                } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                    smsManager.sendTextMessage(recepient, null, "Device Muted Successfully", null, null);
                }
            } else {
                if (policy_count != 0) {
                    policy_count++;
                }
                bundle_params.put("" + policy_count, params.toString());
            }

            muteDevice();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_TRACK_CALLS)) {
        try {
            Map<String, String> params = new HashMap<String, String>();

            params.put("code", CommonUtilities.OPERATION_TRACK_CALLS);
            params.put("msgID", token);
            params.put("status", "200");
            params.put("data", conversations.getCallDetails().toString());

            //for local notification
            resultArr.put(result);
            result.put("status", "true");
            result.put("code", code_input);
            result.put("data", new JSONObject(conversations.getCallDetails().toString()));

            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                //ServerUtilities.pushData(params, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                smsManager.sendTextMessage(recepient, null, conversations.getCallDetails().toString(), null,
                        null);
            }
        } catch (Exception e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
    } else if (code_input.equals(CommonUtilities.OPERATION_TRACK_SMS)) {
        int MESSAGE_TYPE_INBOX = 1;
        int MESSAGE_TYPE_SENT = 2;
        JSONObject smsObj = new JSONObject();

        try {
            smsObj.put("inbox", conversations.getSMS(MESSAGE_TYPE_INBOX));
            smsObj.put("sent", conversations.getSMS(MESSAGE_TYPE_SENT));

            Map<String, String> params = new HashMap<String, String>();

            params.put("code", CommonUtilities.OPERATION_TRACK_SMS);
            params.put("msgID", token);
            params.put("status", "200");
            params.put("data", smsObj.toString());

            //for local notification
            resultArr.put(result);
            result.put("status", "true");
            result.put("code", code_input);
            result.put("data", smsObj);

            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                //ServerUtilities.pushData(params, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                smsManager.sendTextMessage(recepient, null, smsObj.toString(), null, null);
            }
        } catch (JSONException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
    } else if (code_input.equals(CommonUtilities.OPERATION_DATA_USAGE)) {
        JSONObject dataObj = new JSONObject();

        try {

            Map<String, String> params = new HashMap<String, String>();

            params.put("code", CommonUtilities.OPERATION_DATA_USAGE);
            params.put("msgID", token);
            params.put("status", "200");
            params.put("data", deviceState.takeDataUsageSnapShot().toString());

            //for local notification
            resultArr.put(result);
            result.put("status", "true");
            result.put("code", code_input);
            result.put("data", new JSONObject(deviceState.takeDataUsageSnapShot().toString()));

            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                //ServerUtilities.pushData(params, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                smsManager.sendTextMessage(recepient, null, dataObj.toString(), null, null);
            }
        } catch (Exception e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
    } else if (code_input.equals(CommonUtilities.OPERATION_STATUS)) {
        boolean encryptStatus = false;
        boolean passCodeStatus = false;
        try {
            if (devicePolicyManager
                    .getStorageEncryptionStatus() != devicePolicyManager.ENCRYPTION_STATUS_UNSUPPORTED) {
                if (devicePolicyManager
                        .getStorageEncryptionStatus() == devicePolicyManager.ENCRYPTION_STATUS_ACTIVE
                        || devicePolicyManager
                                .getStorageEncryptionStatus() == devicePolicyManager.ENCRYPTION_STATUS_ACTIVATING) {
                    encryptStatus = true;
                } else {
                    encryptStatus = false;
                }
            }
            if (devicePolicyManager.isActivePasswordSufficient()) {
                passCodeStatus = true;
            } else {
                passCodeStatus = false;
            }
        } catch (Exception ex) {
            ex.printStackTrace();
            passCodeStatus = false;
        }
        JSONObject dataObj = new JSONObject();

        try {
            dataObj.put("encryption", encryptStatus);
            dataObj.put("passcode", passCodeStatus);

            Map<String, String> params = new HashMap<String, String>();

            params.put("code", code_input);
            params.put("msgID", token);
            params.put("status", "200");
            params.put("data", dataObj.toString());

            //for local notification
            resultArr.put(result);
            result.put("status", "true");
            result.put("code", code_input);
            result.put("data", dataObj);

            if (req_mode == REQUEST_MODE_NORMAL) {
                if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                    //ServerUtilities.pushData(params, context);
                } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                    smsManager.sendTextMessage(recepient, null, dataObj.toString(), null, null);
                }
            } else {
                if (policy_count != 0) {
                    policy_count++;
                }
                bundle_params.put("" + policy_count, params.toString());
            }
        } catch (JSONException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_WEBCLIP)) {
        String appUrl = "";
        String title = "";

        JSONParser jp = new JSONParser();
        try {
            JSONObject jobj = new JSONObject(data_input);
            Log.v("WEBCLIP DATA : ", data.toString());
            appUrl = (String) jobj.get("identity");
            title = (String) jobj.get("title");
            Log.v("Web App URL : ", appUrl);
            Map<String, String> params = new HashMap<String, String>();
            params.put("code", code_input);
            params.put("msgID", token);
            params.put("status", "200");

            //for local notification
            resultArr.put(result);
            result.put("status", "true");
            result.put("code", code_input);

            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                //ServerUtilities.pushData(params, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                smsManager.sendTextMessage(recepient, null, "WebClip created Successfully", null, null);
            }
            appList.createWebAppBookmark(appUrl, title);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    } else if (code_input.equals(CommonUtilities.OPERATION_PASSWORD_POLICY)) {
        ComponentName demoDeviceAdmin = new ComponentName(context, WSO2DeviceAdminReceiver.class);

        int attempts, length, history, specialChars;
        String alphanumeric, complex;
        boolean b_alphanumeric, b_complex;
        long timout;
        Map<String, String> inparams = new HashMap<String, String>();

        JSONParser jp = new JSONParser();

        //for local notification
        resultArr.put(result);

        try {
            result.put("code", code_input);
            JSONObject jobj = new JSONObject(data_input);
            if (!jobj.isNull("maxFailedAttempts") && jobj.get("maxFailedAttempts") != null) {
                attempts = Integer.parseInt((String) jobj.get("maxFailedAttempts"));
                devicePolicyManager.setMaximumFailedPasswordsForWipe(demoDeviceAdmin, attempts);
            }

            if (!jobj.isNull("minLength") && jobj.get("minLength") != null) {
                length = Integer.parseInt((String) jobj.get("minLength"));
                devicePolicyManager.setPasswordMinimumLength(demoDeviceAdmin, length);
            }

            if (!jobj.isNull("pinHistory") && jobj.get("pinHistory") != null) {
                history = Integer.parseInt((String) jobj.get("pinHistory"));
                devicePolicyManager.setPasswordHistoryLength(demoDeviceAdmin, history);
            }

            if (!jobj.isNull("minComplexChars") && jobj.get("minComplexChars") != null) {
                specialChars = Integer.parseInt((String) jobj.get("minComplexChars"));
                devicePolicyManager.setPasswordMinimumSymbols(demoDeviceAdmin, specialChars);
            }

            if (!jobj.isNull("requireAlphanumeric") && jobj.get("requireAlphanumeric") != null) {
                if (jobj.get("requireAlphanumeric") instanceof String) {
                    alphanumeric = (String) jobj.get("requireAlphanumeric");
                    if (alphanumeric.equals("true")) {
                        devicePolicyManager.setPasswordQuality(demoDeviceAdmin,
                                DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC);
                    }
                } else if (jobj.get("requireAlphanumeric") instanceof Boolean) {
                    b_alphanumeric = jobj.getBoolean("requireAlphanumeric");
                    if (b_alphanumeric) {
                        devicePolicyManager.setPasswordQuality(demoDeviceAdmin,
                                DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC);
                    }
                }
            }

            if (!jobj.isNull("allowSimple") && jobj.get("allowSimple") != null) {
                if (jobj.get("allowSimple") instanceof String) {
                    complex = (String) jobj.get("allowSimple");
                    if (!complex.equals("true")) {
                        devicePolicyManager.setPasswordQuality(demoDeviceAdmin,
                                DevicePolicyManager.PASSWORD_QUALITY_COMPLEX);
                    }
                } else if (jobj.get("allowSimple") instanceof Boolean) {
                    b_complex = jobj.getBoolean("allowSimple");
                    if (!b_complex) {
                        devicePolicyManager.setPasswordQuality(demoDeviceAdmin,
                                DevicePolicyManager.PASSWORD_QUALITY_COMPLEX);
                    }
                }
            }

            if (!jobj.isNull("maxPINAgeInDays") && jobj.get("maxPINAgeInDays") != null) {
                int daysOfExp = Integer.parseInt((String) jobj.get("maxPINAgeInDays"));
                timout = (long) (daysOfExp * 24 * 60 * 60 * 1000);
                devicePolicyManager.setPasswordExpirationTimeout(demoDeviceAdmin, timout);
            }

            SharedPreferences mainPref = context.getSharedPreferences("com.mdm", Context.MODE_PRIVATE);
            String policy = mainPref.getString("policy", "");

            inparams.put("code", code_input);
            inparams.put("msgID", token);
            inparams.put("status", "200");
            result.put("status", "true");

        } catch (Exception e) {
            // TODO Auto-generated catch block
            params.put("status", "400");
            try {
                result.put("status", "false");
            } catch (JSONException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
            e.printStackTrace();
        } finally {
            try {
                if (req_mode == REQUEST_MODE_NORMAL) {
                    if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                        //ServerUtilities.pushData(inparams, context);
                    } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                        smsManager.sendTextMessage(recepient, null, "Password Policies Successfully Set", null,
                                null);
                    }
                } else {
                    if (policy_count != 0) {
                        policy_count++;
                    }
                    bundle_params.put("" + policy_count, inparams.toString());
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_EMAIL_CONFIGURATION)) {
        String emailname = "", emailtype = "", ic_username = "", ic_password = "", ic_hostname = "";
        long timout;
        Map<String, String> inparams = new HashMap<String, String>();
        //for local notification
        resultArr.put(result);

        JSONParser jp = new JSONParser();
        try {
            result.put("code", code_input);
            JSONObject jobj = new JSONObject(data_input);
            if (!jobj.isNull("type") && jobj.get("type") != null) {
                emailtype = (String) jobj.get("type");
            }

            if (!jobj.isNull("displayname") && jobj.get("displayname") != null) {
                emailname = (String) jobj.get("displayname");
            }

            if (!jobj.isNull("username") && jobj.get("username") != null) {
                ic_username = (String) jobj.get("username");
            }

            if (!jobj.isNull("password") && jobj.get("password") != null) {
                ic_password = (String) jobj.get("password");
            }

            if (emailtype.trim().equals("GMAIL")) {
                ic_hostname = "imap.googlemail.com";
            } else if (emailtype.equals("YAHOO")) {
                ic_hostname = "";
            } else if (emailtype.equals("HOTMAIL")) {
                ic_hostname = "";
            }

            inparams.put("code", code_input);
            inparams.put("msgID", token);
            inparams.put("status", "200");
            result.put("status", "true");

        } catch (Exception e) {
            // TODO Auto-generated catch block
            params.put("status", "400");
            try {
                result.put("status", "false");
            } catch (JSONException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
            e.printStackTrace();
        } finally {
            try {
                if (req_mode == REQUEST_MODE_NORMAL) {
                    if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                        //ServerUtilities.pushData(inparams, context);
                    } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                        smsManager.sendTextMessage(recepient, null, "Email Configured Successfully Set", null,
                                null);
                    }
                } else {
                    if (policy_count != 0) {
                        policy_count++;
                    }
                    bundle_params.put("" + policy_count, inparams.toString());
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_INSTALL_GOOGLE_APP)) {

        String packageName = "";
        JSONParser jp = new JSONParser();
        try {
            JSONObject jobj = new JSONObject(data_input);
            packageName = (String) jobj.get("package");

            Log.v("Package Name : ", packageName);
            Map<String, String> params = new HashMap<String, String>();
            params.put("code", code_input);
            params.put("msgID", token);
            params.put("status", "200");

            //for local notification
            resultArr.put(result);
            result.put("status", "true");
            result.put("code", code_input);
            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                //ServerUtilities.pushData(params, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                smsManager.sendTextMessage(recepient, null, "Application installed Successfully", null, null);
            }
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            intent.setData(Uri.parse("market://details?id=" + packageName));
            context.startActivity(intent);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_CHANGE_LOCK_CODE)) {
        ComponentName demoDeviceAdmin = new ComponentName(context, WSO2DeviceAdminReceiver.class);
        devicePolicyManager.setPasswordMinimumLength(demoDeviceAdmin, 3);
        String pass = "";
        Map<String, String> inparams = new HashMap<String, String>();

        JSONParser jp = new JSONParser();
        try {
            JSONObject jobj = new JSONObject(data_input);
            if (!jobj.isNull("password")) {
                pass = (String) jobj.get("password");
            }

            inparams.put("code", code_input);
            inparams.put("msgID", token);
            inparams.put("status", "200");

            //for local notification
            resultArr.put(result);
            result.put("status", "true");
            result.put("code", code_input);

            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                //ServerUtilities.pushData(inparams, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                smsManager.sendTextMessage(recepient, null, "Lock code changed Successfully", null, null);
            }

            if (!pass.equals("")) {
                devicePolicyManager.resetPassword(pass, DevicePolicyManager.RESET_PASSWORD_REQUIRE_ENTRY);
                devicePolicyManager.lockNow();
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            try {
                if (req_mode == REQUEST_MODE_NORMAL) {
                    if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                        //ServerUtilities.pushData(inparams, context);
                    } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                        smsManager.sendTextMessage(recepient, null, "Lock code changed Successfully", null,
                                null);
                    }
                } else {
                    if (policy_count != 0) {
                        policy_count++;
                    }
                    bundle_params.put("" + policy_count, inparams.toString());
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_POLICY_BUNDLE)) {
        Map<String, String> params = new HashMap<String, String>();
        try {
            params.put("code", code);
            params.put("msgID", policy_token);
            params.put("status", "200");
            params.put("data", bundle_params.toString());

            //for local notification
            resultArr.put(result);
            result.put("status", "true");
            result.put("code", code_input);
            result.put("data", new JSONObject(bundle_params.toString()));

            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                //ServerUtilities.pushData(params, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                smsManager.sendTextMessage(recepient, null, "Bundle Executed Successfully", null, null);
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    } else if (code_input.equals(CommonUtilities.OPERATION_POLICY_MONITOR)) {
        JSONArray sendjArray;
        JSONObject jobj = null;
        try {
            if (this.data != null && !this.data.trim().equals(""))
                jobj = new JSONObject(this.data);

            sendjArray = jobj.getJSONArray("policies");

            int type = Integer.parseInt((String) jobj.get("type").toString().trim());

            if (type != 1 && type != 2 && type != 3) {
                type = 1;
            }

            Log.e("PASSING MSG ID : ", policy_token);
            Log.e("PASSING CODE : ", code_input);
            Log.e("PASSING TYPE : ", String.valueOf(type));
            PolicyTester tester = new PolicyTester(context, sendjArray, type, policy_token);
            //for local notification
            resultArr = tester.finalArray;
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    } else if (code_input.equals(CommonUtilities.OPERATION_POLICY_REVOKE)) {
        try {
            Map<String, String> inparams = new HashMap<String, String>();

            inparams.put("code", code_input);
            inparams.put("msgID", token);
            inparams.put("status", "200");

            //for local notification
            resultArr.put(result);
            result.put("status", "true");
            result.put("code", code_input);
            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                //ServerUtilities.pushData(inparams, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                smsManager.sendTextMessage(recepient, null, "Lock code changed Successfully", null, null);
            }
            revokePolicy();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    } else if (code_input.equals(CommonUtilities.OPERATION_ENTERPRISE_WIPE_DATA)) {
        try {
            Map<String, String> inparams = new HashMap<String, String>();

            inparams.put("code", code_input);
            inparams.put("msgID", token);
            inparams.put("status", "200");

            //for local notification
            resultArr.put(result);
            result.put("status", "true");
            result.put("code", code_input);
            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                //ServerUtilities.pushData(inparams, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                //               smsManager.sendTextMessage(recepient, null,
                //                     "Lock code changed Successfully", null, null);
            }
            enterpriseWipe = true;
            ServerUtils.clearAppData(context);
            Intent intent = new Intent(context, ServerDetails.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(intent);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    } else if (code_input.equals(CommonUtilities.OPERATION_BLACKLIST_APPS)) {
        ArrayList<PInfo> apps = appList.getInstalledApps(false); /*
                                                                 * false =
                                                                 * no system
                                                                 * packages
                                                                 */

        JSONArray jsonArray = new JSONArray();
        int max = apps.size();
        if (max > 10) {
            //max = 10;
        }
        String apz = "";

        try {

            JSONObject appsObj = new JSONObject(data_input);
            if (!appsObj.isNull("data")) {
                appsObj = (JSONObject) appsObj.get("data");
            }
            //               JSONObject appObj = (JSONObject) appsObj.get("data");
            String identity = (String) appsObj.get("identity");

            for (int j = 0; j < max; j++) {
                JSONObject jsonObj = new JSONObject();
                try {
                    jsonObj.put("name", apps.get(j).appname);
                    jsonObj.put("package", apps.get(j).pname);
                    if (identity.trim().equals(apps.get(j).pname)) {
                        jsonObj.put("notviolated", false);
                        jsonObj.put("package", apps.get(j).pname);
                    } else {
                        jsonObj.put("notviolated", true);
                    }

                } catch (JSONException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                jsonArray.put(jsonObj);
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }

        JSONObject appsObj = new JSONObject();
        try {
            appsObj.put("apps", jsonArray);

            Map<String, String> params = new HashMap<String, String>();

            params.put("code", CommonUtilities.OPERATION_GET_APPLICATION_LIST);
            params.put("msgID", token);
            params.put("status", "200");
            params.put("data", jsonArray.toString());

            //for local notification
            resultArr.put(result);
            result.put("status", "true");
            result.put("code", code_input);
            result.put("data", jsonArray);

            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                //ServerUtilities.pushData(params, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                smsManager.sendTextMessage(recepient, null, apz, null, null);
            }
            SharedPreferences mainPref = context.getSharedPreferences("com.mdm", Context.MODE_PRIVATE);
            String policy = mainPref.getString("policy", "");
            if (policy != null && policy != "") {
                if (apz != null || !apz.trim().equals("")) {

                }
            }
        } catch (JSONException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }

    }
    return resultArr;
}

From source file:es.uja.photofirma.android.JsonParse.java

/**
 * /*from   w w  w.  j  a  v  a2s  .c  o m*/
 * @param response contiene la respuesta del servidor, se trata de un tipo strin cuyo formato sea el de un JSON
 * 
 */
public void getResponseFromServer(String response) {
    try {
        JSONObject jsonResponse = new JSONObject(response);

        //Esto solo se usa cuando el login es satisfactorio, para conocer las credenciales del usuario en operaciones posteriores
        if (jsonResponse.has("user_id") && jsonResponse.has("user_email") && jsonResponse.has("user_name")) {
            setUserid(Integer.valueOf(jsonResponse.getString("user_id")));
            setUseremail(jsonResponse.getString("user_email"));
            setUsername(jsonResponse.getString("user_name"));
        }

        setOpcode(0);//no implementados codigos de operacion en el servidor
        setStatus(jsonResponse.getBoolean("status"));
        setDescription(jsonResponse.getString("description"));

    } catch (JSONException e) {
        e.printStackTrace();
    }
}

From source file:com.whizzosoftware.hobson.rest.v1.resource.config.HubConfigurationResource.java

/**
 * @api {put} /api/v1/users/:userId/hubs/:hubId/configuration Set Hub configuration
 * @apiVersion 0.1.7//from   www  .  j  a  v a2s  .c o m
 * @apiName SetHubConfiguration
 * @apiDescription Updates the current Hub configuration. Note that this can be a full or partial representation.
 * @apiGroup Hub
 * @apiParamExample {json} Example Request:
 * {
 *   "location": {
 *     "text": "555 Some St, New York, NY 10021",
 *     "latitude": 0.1234,
 *     "longitude": 0.1234,
 *   },
 *   "name": "My Hub Name"
 * }
 * @apiSuccessExample {json} Success Response:
 * HTTP/1.1 202 Accepted
 */
@Override
protected Representation put(Representation entity) {
    HobsonRestContext ctx = HobsonRestContext.createContext(this, getRequest());
    JSONObject json = JSONMarshaller.createJSONFromRepresentation(entity);

    if (json.has("email")) {
        hubManager.setHubEmailConfiguration(ctx.getUserId(), ctx.getHubId(),
                JSONMarshaller.createEmailConfiguration(json.getJSONObject("email")));
    }
    if (json.has("location")) {
        hubManager.setHubLocation(ctx.getUserId(), ctx.getHubId(),
                JSONMarshaller.createHubLocation(json.getJSONObject("location")));
    }
    if (json.has("logLevel")) {
        hubManager.setLogLevel(ctx.getUserId(), ctx.getHubId(), json.getString("logLevel"));
    }
    if (json.has("name")) {
        hubManager.setHubName(ctx.getUserId(), ctx.getHubId(), json.getString("name"));
    }
    if (json.has("setupComplete")) {
        hubManager.setSetupWizardComplete(ctx.getUserId(), ctx.getHubId(), json.getBoolean("setupComplete"));
    }

    getResponse().setStatus(Status.SUCCESS_ACCEPTED);
    return new EmptyRepresentation();
}

From source file:com.github.akinaru.hcidebugger.activity.HciDebuggerActivity.java

/**
 * callback called from native function when a HCI pakcet has been decoded
 *
 * @param snoopFrame snoop frame part/*from w w w .ja  va 2 s .c  o  m*/
 * @param hciFrame   HCI packet part
 */
@Override
public void onHciFrameReceived(final String snoopFrame, final String hciFrame) {

    if (mFirstPacketReceived) {
        mFirstPacketReceived = false;
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                //display recyclerview + swipe refresh view
                mWaitingFrame.setVisibility(View.GONE);
                mDisplayFrame.setVisibility(View.VISIBLE);
            }
        });
    }
    if (!mAllPacketInit && ((frameCount >= mPacketCount) || (frameCount >= mMaxPacketCount))) {
        mAllPacketInit = true;
    }
    if (mAllPacketInit)
        mPacketCount++;

    try {
        JSONObject snoopJson = new JSONObject(snoopFrame);

        final Date timestamp = new Date(snoopJson.getLong("timestamp_microseconds") / 1000);

        PacketDest dest = PacketDest.PACKET_SENT;

        if (snoopJson.getBoolean("packet_received")) {
            dest = PacketDest.PACKET_RECEIVED;
        }

        JSONObject hciJson = new JSONObject(hciFrame);

        JSONObject packet_type = hciJson.getJSONObject("packet_type");
        final ValuePair type = new ValuePair(packet_type.getInt("code"), packet_type.getString("value"));

        JSONObject parameters = null;

        if (hciJson.has("parameters"))
            parameters = hciJson.getJSONObject("parameters");

        final PacketDest finalDest = dest;

        if (type.getCode() == 4) {

            JSONObject event_code = hciJson.getJSONObject("event_code");
            final ValuePair eventType = new ValuePair(event_code.getInt("code"), event_code.getString("value"));

            if (hciJson.has("subevent_code")) {

                JSONObject subevent_code = hciJson.getJSONObject("subevent_code");
                final ValuePair subevent_code_val = new ValuePair(subevent_code.getInt("code"),
                        subevent_code.getString("value"));

                if (subevent_code_val.getCode() == 2) {

                    if (parameters != null && parameters.has("reports")) {

                        JSONArray reports = parameters.getJSONArray("reports");

                        final List<AdvertizingReport> reportList = new ArrayList<>();

                        for (int i = 0; i < reports.length(); i++) {

                            JSONObject reportItem = reports.getJSONObject(i);
                            reportList.add(new AdvertizingReport(reportItem.getString("address"),
                                    reportItem.getInt("address_type"), reportItem.getJSONArray("data"),
                                    reportItem.getInt("data_length"), reportItem.getInt("event_type"),
                                    reportItem.getInt("rssi")));
                        }
                        runOnUiThread(new Runnable() {
                            @Override
                            public void run() {

                                Packet packet = new PacketHciLEAdvertizing(frameCount++, timestamp, finalDest,
                                        type, eventType, subevent_code_val, reportList, hciFrame, snoopFrame);

                                packetList.add(0, packet);

                                if (isFiltered && matchFilter(packet))
                                    packetFilteredList.add(0, packet);

                                notifyAdapter();
                            }
                        });

                        return;
                    }
                }
            }

            runOnUiThread(new Runnable() {
                @Override
                public void run() {

                    Packet packet = new PacketHciEvent(frameCount++, timestamp, finalDest, type, eventType,
                            hciFrame, snoopFrame);

                    packetList.add(0, packet);

                    if (isFiltered && matchFilter(packet))
                        packetFilteredList.add(0, packet);

                    notifyAdapter();
                }
            });

        } else if (type.getCode() == 1) {

            JSONObject ogf_obj = hciJson.getJSONObject("ogf");
            final ValuePair ogf = new ValuePair(ogf_obj.getInt("code"), ogf_obj.getString("value"));

            final ValuePair ocf;

            if (hciJson.has("ocf")) {
                JSONObject ocf_obj = hciJson.getJSONObject("ocf");
                ocf = new ValuePair(ocf_obj.getInt("code"), ocf_obj.getString("value"));
            } else {
                ocf = new ValuePair(-1, "");
            }

            runOnUiThread(new Runnable() {
                @Override
                public void run() {

                    Packet packet = new PacketHciCmd(frameCount++, timestamp, finalDest, type, ocf, ogf,
                            hciFrame, snoopFrame);

                    packetList.add(0, packet);

                    if (isFiltered && matchFilter(packet))
                        packetFilteredList.add(0, packet);

                    notifyAdapter();
                }
            });
        } else if (type.getCode() == 2) {

            runOnUiThread(new Runnable() {
                @Override
                public void run() {

                    Packet packet = new PacketHciAclData(frameCount++, timestamp, finalDest, type, hciFrame,
                            snoopFrame);

                    packetList.add(0, packet);

                    if (isFiltered && matchFilter(packet))
                        packetFilteredList.add(0, packet);

                    notifyAdapter();
                }
            });

        } else if (type.getCode() == 3) {

            runOnUiThread(new Runnable() {
                @Override
                public void run() {

                    Packet packet = new PacketHciScoData(frameCount++, timestamp, finalDest, type, hciFrame,
                            snoopFrame);

                    packetList.add(0, packet);

                    if (isFiltered && matchFilter(packet))
                        packetFilteredList.add(0, packet);

                    notifyAdapter();
                }
            });

        }

    } catch (JSONException e) {
        e.printStackTrace();
    }

}

From source file:cgeo.geocaching.connector.oc.OkapiClient.java

public static LogResult postLog(final Geocache cache, final LogType logType, final Calendar date,
        final String log, final String logPassword, final OCApiConnector connector) {
    final Parameters params = new Parameters("cache_code", cache.getGeocode());
    params.add("logtype", logType.oc_type);
    params.add("comment", log);
    params.add("comment_format", "plaintext");
    params.add("when", LOG_DATE_FORMAT.format(date.getTime()));
    if (logType.equals(LogType.NEEDS_MAINTENANCE)) {
        params.add("needs_maintenance", "true");
    }//from  ww w  .j  a v  a  2 s  .c o m
    if (logPassword != null) {
        params.add("password", logPassword);
    }

    final JSONObject data = request(connector, OkapiService.SERVICE_SUBMIT_LOG, params).data;

    if (data == null) {
        return new LogResult(StatusCode.LOG_POST_ERROR, "");
    }

    try {
        if (data.getBoolean("success")) {
            return new LogResult(StatusCode.NO_ERROR, data.getString("log_uuid"));
        }

        return new LogResult(StatusCode.LOG_POST_ERROR, "");
    } catch (final JSONException e) {
        Log.e("OkapiClient.postLog", e);
    }
    return new LogResult(StatusCode.LOG_POST_ERROR, "");
}

From source file:cgeo.geocaching.connector.oc.OkapiClient.java

private static Geocache parseCache(final JSONObject response) {
    final Geocache cache = new Geocache();
    cache.setReliableLatLon(true);//from   w  ww .  ja v a  2  s. c  o m
    try {

        parseCoreCache(response, cache);

        // not used: url
        final JSONObject owner = response.getJSONObject(CACHE_OWNER);
        cache.setOwnerDisplayName(parseUser(owner));

        cache.getLogCounts().put(LogType.FOUND_IT, response.getInt(CACHE_FOUNDS));
        cache.getLogCounts().put(LogType.DIDNT_FIND_IT, response.getInt(CACHE_NOTFOUNDS));

        if (!response.isNull(CACHE_RATING)) {
            cache.setRating((float) response.getDouble(CACHE_RATING));
        }
        cache.setVotes(response.getInt(CACHE_VOTES));

        cache.setFavoritePoints(response.getInt(CACHE_RECOMMENDATIONS));
        // not used: req_password
        // Prepend gc-link to description if available
        final StringBuilder description = new StringBuilder(500);
        if (!response.isNull("gc_code")) {
            final String gccode = response.getString("gc_code");
            description
                    .append(CgeoApplication.getInstance().getResources().getString(R.string.cache_listed_on,
                            GCConnector.getInstance().getName()))
                    .append(": <a href=\"http://coord.info/").append(gccode).append("\">").append(gccode)
                    .append("</a><br /><br />");
        }
        description.append(response.getString(CACHE_DESCRIPTION));
        cache.setDescription(description.toString());

        // currently the hint is delivered as HTML (contrary to OKAPI documentation), so we can store it directly
        cache.setHint(response.getString(CACHE_HINT));
        // not used: hints

        final JSONArray images = response.getJSONArray(CACHE_IMAGES);
        if (images != null) {
            for (int i = 0; i < images.length(); i++) {
                final JSONObject imageResponse = images.getJSONObject(i);
                final String title = imageResponse.getString(CACHE_IMAGE_CAPTION);
                final String url = absoluteUrl(imageResponse.getString(CACHE_IMAGE_URL), cache.getGeocode());
                // all images are added as spoiler images, although OKAPI has spoiler and non spoiler images
                cache.addSpoiler(new Image(url, title));
            }
        }

        cache.setAttributes(parseAttributes(response.getJSONArray(CACHE_ATTRNAMES),
                response.optJSONArray(CACHE_ATTR_ACODES)));
        cache.setLogs(parseLogs(response.getJSONArray(CACHE_LATEST_LOGS)));
        //TODO: Store license per cache
        //cache.setLicense(response.getString("attribution_note"));
        cache.setWaypoints(parseWaypoints(response.getJSONArray(CACHE_WPTS)), false);
        if (!response.isNull(CACHE_IS_WATCHED)) {
            cache.setOnWatchlist(response.getBoolean(CACHE_IS_WATCHED));
        }
        if (!response.isNull(CACHE_MY_NOTES)) {
            cache.setPersonalNote(response.getString(CACHE_MY_NOTES));
            cache.parseWaypointsFromNote();
        }
        cache.setLogPasswordRequired(response.getBoolean(CACHE_REQ_PASSWORD));

        cache.setDetailedUpdatedNow();
        // save full detailed caches
        DataStore.saveCache(cache, EnumSet.of(SaveFlag.SAVE_DB));
    } catch (final JSONException e) {
        Log.e("OkapiClient.parseCache", e);
    }
    return cache;
}

From source file:cgeo.geocaching.connector.oc.OkapiClient.java

private static void parseCoreCache(final JSONObject response, final Geocache cache) throws JSONException {
    cache.setGeocode(response.getString(CACHE_CODE));
    cache.setName(response.getString(CACHE_NAME));
    // not used: names
    setLocation(cache, response.getString(CACHE_LOCATION));
    cache.setType(getCacheType(response.getString(CACHE_TYPE)));

    final String status = response.getString(CACHE_STATUS);
    cache.setDisabled(status.equalsIgnoreCase(CACHE_STATUS_DISABLED));
    cache.setArchived(status.equalsIgnoreCase(CACHE_STATUS_ARCHIVED));

    cache.setSize(getCacheSize(response));
    cache.setDifficulty((float) response.getDouble(CACHE_DIFFICULTY));
    cache.setTerrain((float) response.getDouble(CACHE_TERRAIN));

    if (!response.isNull(CACHE_IS_FOUND)) {
        cache.setFound(response.getBoolean(CACHE_IS_FOUND));
    }/*  w w w  . j  av a2  s  .  co  m*/
    cache.setHidden(parseDate(response.getString(CACHE_HIDDEN)));
}

From source file:com.norman0406.slimgress.API.Knobs.InventoryKnobs.java

public InventoryKnobs(JSONObject json) throws JSONException {
    super(json);//from  w  ww .java  2  s  .co  m

    mUseMax = json.getBoolean("useMax");
    mUseLimit = json.getBoolean("useLimit");
    mMaxInventoryItems = json.getInt("maxInventoryItems");
}