NoPssDrm/app/src/main/java/com/psmreborn/nopsmdrm/Startup.java
2024-04-21 01:57:35 +12:00

61 lines
1.9 KiB
Java

package com.psmreborn.nopsmdrm;
import android.app.Activity;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Environment;
import android.widget.Button;
import android.widget.TextView;
import eu.chainfire.libsuperuser.Shell;
import static com.psmreborn.nopsmdrm.Helper.*;
public class Startup extends AsyncTask<Void, Void, Void> {
private Context ctx;
private boolean wasError = false;
private String errorMsg = "";
public Startup(Context context) {
this.ctx = context;
}
@Override
protected Void doInBackground(Void... params) {
try {
if(!Shell.SU.available()){
wasError = true;
errorMsg = "Unable to get root permission.";
}
if(!Helper.isPsmInstalled()){
wasError = true;
errorMsg = "PSM Application is not installed, please install it first!";
}
if(!(getPsmApp().sourceDir.startsWith("/data/") || getPsmApp().sourceDir.startsWith("/system/"))){
wasError = true;
errorMsg = "PSM Application is installed to the SD Card not internal storage.";
}
if(!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
wasError = true;
errorMsg = "No SD Card inserted.";
}
} catch (Exception e) {
wasError = true;
errorMsg = e.getMessage();
}
return null;
}
@Override
protected void onPostExecute(Void result) {
if(!wasError) {
Button installButton = (Button) ((Activity)ctx).findViewById(R.id.installPsm);
installButton.setEnabled(true);
}
else{
TextView rootDetectedTV = (TextView) ((Activity)ctx).findViewById(R.id.errorMsg);
rootDetectedTV.setText("Error: "+errorMsg);
}
}
}