use of com.wso2.mobile.mdm.api.DeviceInfo in project MDM-Android-Agent by wso2-attic.
the class Operation method doTask.
@SuppressWarnings("static-access")
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
public void doTask(String code_in, String data_in, int req_mode) {
String code_input = code_in;
String data_input = data_in;
String notification = "";
String ssid = "";
String password = "";
devicePolicyManager = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
appList = new ApplicationManager(context);
deviceInfo = new DeviceInfo(context);
gps = new GPSTracker(context);
smsManager = SmsManager.getDefault();
conversations = new TrackCallSMS(context);
deviceState = new PhoneState(context);
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());
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);
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());
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());
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", 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 {
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");
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);
if (pin.trim().equals(pinSaved.trim())) {
params.put("status", "200");
} else {
params.put("status", "400");
}
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();
startUnRegistration(context);
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");
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");
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 {
wifistatus = config.saveWEPConfig(ssid, password);
if (wifistatus) {
inparams.put("status", "200");
} else {
inparams.put("status", "400");
}
} 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");
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 {
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");
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);
}
}
}
if (devicePolicyManager.getStorageEncryptionStatus() != devicePolicyManager.ENCRYPTION_STATUS_UNSUPPORTED) {
params.put("status", "200");
} else {
params.put("status", "400");
}
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");
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());
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());
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());
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());
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");
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();
try {
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");
} catch (Exception e) {
// TODO Auto-generated catch block
params.put("status", "400");
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>();
JSONParser jp = new JSONParser();
try {
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");
} catch (Exception e) {
// TODO Auto-generated catch block
params.put("status", "400");
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");
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");
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());
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;
try {
JSONObject 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);
} 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");
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_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);
JSONObject appObj = (JSONObject) appsObj.get("data");
String identity = (String) appObj.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());
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();
}
}
}
use of com.wso2.mobile.mdm.api.DeviceInfo in project MDM-Android-Agent by wso2-attic.
the class AuthenticationActivity method onCreate.
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_authentication);
getSupportActionBar().setDisplayShowCustomEnabled(true);
getSupportActionBar().setCustomView(R.layout.custom_sherlock_bar);
View homeIcon = findViewById(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB ? android.R.id.home : R.id.abs__home);
((View) homeIcon.getParent()).setVisibility(View.GONE);
this.activity = AuthenticationActivity.this;
this.context = AuthenticationActivity.this;
deviceType = getResources().getString(R.string.device_enroll_type_byod);
// txtLoadingEULA = (TextView)findViewById(R.id.txtLoadingEULA);
txtDomain = (EditText) findViewById(R.id.txtDomain);
username = (EditText) findViewById(R.id.editText1);
password = (EditText) findViewById(R.id.editText2);
radioBYOD = (RadioButton) findViewById(R.id.radioBYOD);
radioCOPE = (RadioButton) findViewById(R.id.radioCOPE);
txtDomain.setFocusable(true);
txtDomain.requestFocus();
if (CommonUtilities.DEBUG_MODE_ENABLED) {
Log.v("check first username", username.getText().toString());
Log.v("check first password", password.getText().toString());
}
AsyncTask<Void, Void, Void> mRegisterTask;
authenticate = (Button) findViewById(R.id.btnRegister);
authenticate.setEnabled(false);
authenticate.setTag(TAG_BTN_AUTHENTICATE);
authenticate.setOnClickListener(onClickListener_BUTTON_CLICKED);
authenticate.setBackground(getResources().getDrawable(R.drawable.btn_grey));
authenticate.setTextColor(getResources().getColor(R.color.black));
/*txtLoadingEULA.setVisibility(View.VISIBLE);
username.setVisibility(View.GONE);
password.setVisibility(View.GONE);
authenticate.setVisibility(View.GONE);*/
DeviceInfo deviceInfo = new DeviceInfo(AuthenticationActivity.this);
/*
* optionBtn = (ImageView) findViewById(R.id.option_button);
* optionBtn.setTag(TAG_BTN_OPTIONS);
* optionBtn.setOnClickListener(onClickListener_BUTTON_CLICKED);
*/
Bundle extras = getIntent().getExtras();
if (extras != null) {
if (extras.containsKey(getResources().getString(R.string.intent_extra_regid))) {
regId = extras.getString(getResources().getString(R.string.intent_extra_regid));
}
}
if (regId == null || regId.equals("")) {
regId = GCMRegistrar.getRegistrationId(this);
}
username.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
enableSubmitIfReady();
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
enableSubmitIfReady();
}
});
password.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
enableSubmitIfReady();
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
enableSubmitIfReady();
}
});
}
use of com.wso2.mobile.mdm.api.DeviceInfo in project MDM-Android-Agent by wso2-attic.
the class AvailableOperationsActivity method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_available_operations);
Bundle extras = getIntent().getExtras();
if (extras != null) {
if (extras.containsKey(getResources().getString(R.string.intent_extra_from_activity))) {
FROM_ACTIVITY = extras.getString(getResources().getString(R.string.intent_extra_from_activity));
}
if (extras.containsKey(getResources().getString(R.string.intent_extra_regid))) {
REG_ID = extras.getString(getResources().getString(R.string.intent_extra_regid));
}
}
info = new DeviceInfo(AvailableOperationsActivity.this);
if ((info.getSdkVersion() >= android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH)) {
OP_NAME = new String[] { "Device Info", "Device Location", "Mute", "Lock Device", "Wipe Data", "Change Lock Code", "Notification", "Set WIFI", "Disable/Enable Camera", "Get Application List", "Install Application", "Uninstall Application", "Encrypt Storage" };
ICONS = new int[] { R.drawable.info, R.drawable.location, R.drawable.mute, R.drawable.lock, R.drawable.wipe, R.drawable.changepassword, R.drawable.notification, R.drawable.wifi, R.drawable.camera, R.drawable.applist, R.drawable.appinstall, R.drawable.appuninstall, R.drawable.encrypt };
} else {
OP_NAME = new String[] { "Device Info", "Device Location", "Mute", "Lock Device", "Wipe Data", "Change Lock Code", "Notification", "Set WIFI", "Get Application List", "Install Application", "Uninstall Application" };
ICONS = new int[] { R.drawable.info, R.drawable.location, R.drawable.mute, R.drawable.lock, R.drawable.wipe, R.drawable.changepassword, R.drawable.notification, R.drawable.wifi, R.drawable.applist, R.drawable.appinstall, R.drawable.appuninstall };
}
ListView listView = (ListView) findViewById(R.id.listview);
ColorDrawable grey = new ColorDrawable(this.getResources().getColor(R.color.light_grey));
listView.setDivider(grey);
listView.setDividerHeight(1);
listView.setAdapter(new IconicAdapter());
}
use of com.wso2.mobile.mdm.api.DeviceInfo in project MDM-Android-Agent by wso2-attic.
the class DisplayDeviceInfoActivity method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_device_info);
DeviceInfo deviceInfo = new DeviceInfo(DisplayDeviceInfoActivity.this);
TextView device_id = (TextView) findViewById(R.id.txtId);
TextView device = (TextView) findViewById(R.id.txtDevice);
TextView model = (TextView) findViewById(R.id.txtModel);
TextView operator = (TextView) findViewById(R.id.txtOperator);
TextView sdk = (TextView) findViewById(R.id.txtSDK);
TextView os = (TextView) findViewById(R.id.txtOS);
TextView root = (TextView) findViewById(R.id.txtRoot);
device_id.setText(getResources().getString(R.string.info_label_imei) + " " + deviceInfo.getDeviceId());
device.setText(getResources().getString(R.string.info_label_device) + " " + deviceInfo.getDevice());
model.setText(getResources().getString(R.string.info_label_model) + " " + deviceInfo.getDeviceModel());
JSONArray jsonArray = null;
String operators = "";
if (deviceInfo.getNetworkOperatorName() != null) {
jsonArray = deviceInfo.getNetworkOperatorName();
}
for (int i = 0; i < jsonArray.length(); i++) {
try {
if (jsonArray.getString(i) != null) {
if (i == (jsonArray.length() - 1)) {
operators += jsonArray.getString(i);
} else {
operators += jsonArray.getString(i) + ", ";
}
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (operators.equals(null)) {
operators = getResources().getString(R.string.info_label_no_sim);
}
operator.setText(getResources().getString(R.string.info_label_operator) + " " + operators);
if (deviceInfo.getIMSINumber() != null) {
sdk.setText(getResources().getString(R.string.info_label_imsi) + " " + deviceInfo.getIMSINumber());
} else {
sdk.setText(getResources().getString(R.string.info_label_imsi) + " " + operators);
}
os.setText(getResources().getString(R.string.info_label_os) + " " + deviceInfo.getOsVersion());
root.setText(getResources().getString(R.string.info_label_rooted) + " " + (deviceInfo.isRooted() ? getResources().getString(R.string.info_label_rooted_answer_yes) : getResources().getString(R.string.info_label_rooted_answer_no)));
Bundle extras = getIntent().getExtras();
if (extras != null) {
if (extras.containsKey(getResources().getString(R.string.intent_extra_from_activity))) {
FROM_ACTIVITY = extras.getString(getResources().getString(R.string.intent_extra_from_activity));
}
if (extras.containsKey(getResources().getString(R.string.intent_extra_regid))) {
REG_ID = extras.getString(getResources().getString(R.string.intent_extra_regid));
}
}
}
use of com.wso2.mobile.mdm.api.DeviceInfo in project MDM-Android-Agent by wso2-attic.
the class SettingsActivity method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
context = SettingsActivity.this;
info = new DeviceInfo(SettingsActivity.this);
Bundle extras = getIntent().getExtras();
if (extras != null) {
if (extras.containsKey(getResources().getString(R.string.intent_extra_from_activity))) {
FROM_ACTIVITY = extras.getString(getResources().getString(R.string.intent_extra_from_activity));
}
if (extras.containsKey(getResources().getString(R.string.intent_extra_regid))) {
REG_ID = extras.getString(getResources().getString(R.string.intent_extra_regid));
}
}
if ((info.getSdkVersion() >= android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) && !info.isRooted()) {
accessFlag = true;
} else {
accessFlag = false;
}
if (!(info.getSdkVersion() >= android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) && info.isRooted()) {
error = getString(R.string.device_not_compatible_error);
} else if (info.getSdkVersion() > android.os.Build.VERSION_CODES.FROYO) {
error = getString(R.string.device_not_compatible_error_os);
} else if (info.isRooted()) {
error = getString(R.string.device_not_compatible_error_root);
}
errorMessage = (TextView) findViewById(R.id.textView1);
errorMessage.setText(error);
ip = (TextView) findViewById(R.id.editText1);
SharedPreferences mainPref = context.getSharedPreferences(getResources().getString(R.string.shared_pref_package), Context.MODE_PRIVATE);
String ipSaved = mainPref.getString(getResources().getString(R.string.shared_pref_ip), "");
String success = mainPref.getString(getResources().getString(R.string.shared_pref_registered), "");
if (success.trim().equals(getResources().getString(R.string.shared_pref_reg_success))) {
Intent intent = new Intent(SettingsActivity.this, AlreadyRegisteredActivity.class);
intent.putExtra(getResources().getString(R.string.intent_extra_regid), REG_ID);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
if (ipSaved != null && ipSaved != "") {
ip.setText(ipSaved);
Intent intent = new Intent(SettingsActivity.this, EntryActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
} else {
ip.setText(CommonUtilities.SERVER_IP);
}
optionBtn = (Button) findViewById(R.id.button1);
if (!accessFlag) {
optionBtn.setVisibility(View.GONE);
ip.setVisibility(View.GONE);
errorMessage.setVisibility(View.VISIBLE);
showAlert(error, getResources().getString(R.string.error_authorization_failed));
} else {
optionBtn.setVisibility(View.VISIBLE);
ip.setVisibility(View.VISIBLE);
errorMessage.setVisibility(View.GONE);
}
optionBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
AlertDialog.Builder builder = new AlertDialog.Builder(SettingsActivity.this);
builder.setMessage(getResources().getString(R.string.dialog_init_confirmation) + " " + ip.getText().toString() + " " + getResources().getString(R.string.dialog_init_end_general)).setPositiveButton(getResources().getString(R.string.info_label_rooted_answer_yes), dialogClickListener).setNegativeButton(getResources().getString(R.string.info_label_rooted_answer_no), dialogClickListener).show();
}
});
}
Aggregations