Fix repackage manager settings migration
This commit is contained in:
parent
5111086637
commit
ed11e0bff6
@ -20,6 +20,7 @@ import java.util.concurrent.ThreadPoolExecutor;
|
|||||||
public class App extends Application {
|
public class App extends Application {
|
||||||
|
|
||||||
public static App self;
|
public static App self;
|
||||||
|
public static Context deContext;
|
||||||
public static ThreadPoolExecutor THREAD_POOL;
|
public static ThreadPoolExecutor THREAD_POOL;
|
||||||
|
|
||||||
// Global resources
|
// Global resources
|
||||||
@ -39,16 +40,17 @@ public class App extends Application {
|
|||||||
protected void attachBaseContext(Context base) {
|
protected void attachBaseContext(Context base) {
|
||||||
super.attachBaseContext(base);
|
super.attachBaseContext(base);
|
||||||
self = this;
|
self = this;
|
||||||
|
deContext = base;
|
||||||
|
|
||||||
Context de = this;
|
|
||||||
if (Build.VERSION.SDK_INT >= 24) {
|
if (Build.VERSION.SDK_INT >= 24) {
|
||||||
de = createDeviceProtectedStorageContext();
|
deContext = base.createDeviceProtectedStorageContext();
|
||||||
de.moveSharedPreferencesFrom(this, PreferenceManager.getDefaultSharedPreferencesName(base));
|
deContext.moveSharedPreferencesFrom(base,
|
||||||
|
PreferenceManager.getDefaultSharedPreferencesName(base));
|
||||||
}
|
}
|
||||||
prefs = PreferenceManager.getDefaultSharedPreferences(de);
|
prefs = PreferenceManager.getDefaultSharedPreferences(deContext);
|
||||||
mDB = new MagiskDB(this);
|
mDB = new MagiskDB(base);
|
||||||
|
|
||||||
Networking.init(this);
|
Networking.init(base);
|
||||||
LocaleManager.setLocale(this);
|
LocaleManager.setLocale(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -147,15 +147,15 @@ public class Config {
|
|||||||
// Flush prefs to disk
|
// Flush prefs to disk
|
||||||
App app = App.self;
|
App app = App.self;
|
||||||
app.prefs.edit().commit();
|
app.prefs.edit().commit();
|
||||||
File xml = new File(app.getFilesDir().getParent() + "/shared_prefs",
|
File xml = new File(App.deContext.getFilesDir().getParent() + "/shared_prefs",
|
||||||
app.getPackageName() + "_preferences.xml");
|
app.getPackageName() + "_preferences.xml");
|
||||||
Shell.su(Utils.fmt("cat %s > /data/user/0/%s", xml, Const.MANAGER_CONFIGS)).exec();
|
Shell.su(Utils.fmt("cat %s > /data/adb/%s", xml, Const.MANAGER_CONFIGS)).exec();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void initialize() {
|
public static void initialize() {
|
||||||
SharedPreferences pref = App.self.prefs;
|
SharedPreferences pref = App.self.prefs;
|
||||||
SharedPreferences.Editor editor = pref.edit();
|
SharedPreferences.Editor editor = pref.edit();
|
||||||
SuFile config = new SuFile("/data/user/0/" + Const.MANAGER_CONFIGS);
|
SuFile config = new SuFile("/data/adb/" + Const.MANAGER_CONFIGS);
|
||||||
if (config.exists()) {
|
if (config.exists()) {
|
||||||
try {
|
try {
|
||||||
SuFileInputStream is = new SuFileInputStream(config);
|
SuFileInputStream is = new SuFileInputStream(config);
|
||||||
|
@ -23,7 +23,6 @@ import com.topjohnwu.magisk.components.BaseActivity;
|
|||||||
import com.topjohnwu.magisk.container.Policy;
|
import com.topjohnwu.magisk.container.Policy;
|
||||||
import com.topjohnwu.magisk.utils.FingerprintHelper;
|
import com.topjohnwu.magisk.utils.FingerprintHelper;
|
||||||
import com.topjohnwu.magisk.utils.SuConnector;
|
import com.topjohnwu.magisk.utils.SuConnector;
|
||||||
import com.topjohnwu.magisk.utils.Utils;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
@ -76,7 +75,7 @@ public class SuRequestActivity extends BaseActivity {
|
|||||||
|
|
||||||
PackageManager pm = getPackageManager();
|
PackageManager pm = getPackageManager();
|
||||||
app.mDB.clearOutdated();
|
app.mDB.clearOutdated();
|
||||||
timeoutPrefs = Utils.getDEContext().getSharedPreferences("su_timeout", 0);
|
timeoutPrefs = App.deContext.getSharedPreferences("su_timeout", 0);
|
||||||
|
|
||||||
// Get policy
|
// Get policy
|
||||||
Intent intent = getIntent();
|
Intent intent = getIntent();
|
||||||
|
@ -73,7 +73,7 @@ public abstract class MagiskInstaller {
|
|||||||
public MagiskInstaller(List<String> out, List<String> err) {
|
public MagiskInstaller(List<String> out, List<String> err) {
|
||||||
console = out;
|
console = out;
|
||||||
logs = err;
|
logs = err;
|
||||||
installDir = new File(Utils.getDEContext().getFilesDir().getParent(), "install");
|
installDir = new File(App.deContext.getFilesDir().getParent(), "install");
|
||||||
Shell.sh("rm -rf " + installDir).exec();
|
Shell.sh("rm -rf " + installDir).exec();
|
||||||
installDir.mkdirs();
|
installDir.mkdirs();
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,6 @@ import android.content.res.Configuration;
|
|||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.database.Cursor;
|
import android.database.Cursor;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Build;
|
|
||||||
import android.provider.OpenableColumns;
|
import android.provider.OpenableColumns;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
@ -116,11 +115,6 @@ public class Utils {
|
|||||||
Config.Value.MULTIUSER_MODE_OWNER_MANAGED);
|
Config.Value.MULTIUSER_MODE_OWNER_MANAGED);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Context getDEContext() {
|
|
||||||
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.N ?
|
|
||||||
App.self.createDeviceProtectedStorageContext() : App.self;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void reboot() {
|
public static void reboot() {
|
||||||
Shell.su("/system/bin/reboot" + (Config.recovery ? " recovery" : "")).submit();
|
Shell.su("/system/bin/reboot" + (Config.recovery ? " recovery" : "")).submit();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user