54 lines
2.0 KiB
Java
54 lines
2.0 KiB
Java
package com.psmreborn.nopsmdrm;
|
|
|
|
import android.app.Activity;
|
|
import android.app.AlertDialog;
|
|
import android.app.ProgressDialog;
|
|
import android.os.Environment;
|
|
import android.os.Handler;
|
|
|
|
import com.psmreborn.shared.Helper;
|
|
import com.psmreborn.shared.Root;
|
|
|
|
import java.io.File;
|
|
|
|
public class FixPermissions {
|
|
public static void changePermissionsToPsm(Activity ctx) {
|
|
ProgressDialog dialog = new ProgressDialog(ctx);
|
|
dialog.setTitle("Fixing permissions ...");
|
|
dialog.setMessage("Please Wait ...");
|
|
dialog.setIndeterminate(true);
|
|
dialog.setCancelable(false);
|
|
dialog.show();
|
|
|
|
new Thread(() -> {
|
|
Handler handler = new Handler(ctx.getMainLooper());
|
|
|
|
Helper.killPsm(ctx);
|
|
String androidDataFolder = new File(new File(Environment.getExternalStorageDirectory(), "Android"), "data").getAbsolutePath();
|
|
try {
|
|
String groupId = Root.getFileGroup(androidDataFolder);
|
|
String userId = String.valueOf(Helper.getPsmAppInfo(ctx).uid);
|
|
Root.chownRoot(new File(new File(new File(androidDataFolder, "com.playstation.psstore"), "files"), "psm").getAbsolutePath(), userId, groupId);
|
|
|
|
handler.post(() -> {
|
|
dialog.dismiss();
|
|
new AlertDialog.Builder((Activity)ctx)
|
|
.setTitle("Success!")
|
|
.setMessage("Successfully updated file permissions")
|
|
.setCancelable(false)
|
|
.setPositiveButton("Ok", null).show();
|
|
});
|
|
} catch (Exception e) {
|
|
handler.post(() -> {
|
|
dialog.dismiss();
|
|
new AlertDialog.Builder((Activity)ctx)
|
|
.setTitle("Failed.")
|
|
.setMessage(e.toString())
|
|
.setCancelable(false)
|
|
.setPositiveButton("Ok", null).show();
|
|
});
|
|
}
|
|
}).start();
|
|
}
|
|
}
|