init commit

This commit is contained in:
trykov
2015-06-10 23:55:45 +04:00
committed by Trykov Yura
parent 8125c775b7
commit 894e50d635
3 changed files with 85 additions and 0 deletions
+54
View File
@@ -0,0 +1,54 @@
package ru.trykov.root;
import org.apache.cordova.CordovaPlugin;
import org.apache.cordova.CallbackContext;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.lang.Exception;
import java.io.File;
/**
* Detect weather device is rooted or not
* @author trykov
*/
public class RootDetection extends CordovaPlugin {
@Override
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
if (action.equals("isDeviceRooted")) {
try {
callbackContext.success(isDeviceRooted() ? 1 : 0);
return true;
} catch (Exception e) {
callbackContext.error("N/A");
return false;
}
}
return false;
}
private boolean isDeviceRooted() {
return checkBuildTags() || checkSuperUserApk() || checkFilePath();
}
private boolean checkBuildTags() {
String buildTags = android.os.Build.TAGS;
return buildTags != null && buildTags.contains("test-keys");
}
private boolean checkSuperUserApk() {
return new File("/system/app/Superuser.apk").exists();
}
private boolean checkFilePath() {
String[] paths = { "/sbin/su", "/system/bin/su", "/system/xbin/su", "/data/local/xbin/su", "/data/local/bin/su", "/system/sd/xbin/su",
"/system/bin/failsafe/su", "/data/local/su" };
for (String path : paths) {
if (new File(path).exists()) return true;
}
return false;
}
}