Commit 56d2fb9a authored by topjohnwu's avatar topjohnwu

Prevent Magisk Manager to run on pre-v18.0

parent 7c826908
...@@ -46,7 +46,7 @@ public class Const { ...@@ -46,7 +46,7 @@ public class Const {
public static final int USER_ID = Process.myUid() / 100000; public static final int USER_ID = Process.myUid() / 100000;
public static final class MAGISK_VER { public static final class MAGISK_VER {
/* Currently no backwards compatibility needed */ public static final int MIN_SUPPORT = 18000;
} }
public static class ID { public static class ID {
......
...@@ -15,15 +15,14 @@ import com.topjohnwu.magisk.utils.Utils; ...@@ -15,15 +15,14 @@ import com.topjohnwu.magisk.utils.Utils;
import com.topjohnwu.net.Networking; import com.topjohnwu.net.Networking;
import com.topjohnwu.superuser.Shell; import com.topjohnwu.superuser.Shell;
import androidx.appcompat.app.AlertDialog;
public class SplashActivity extends BaseActivity { public class SplashActivity extends BaseActivity {
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
// Dynamic detect all locales
LocaleManager.loadAvailableLocales(R.string.app_changelog);
String pkg = Config.get(Config.Key.SU_MANAGER); String pkg = Config.get(Config.Key.SU_MANAGER);
if (pkg != null && getPackageName().equals(BuildConfig.APPLICATION_ID)) { if (pkg != null && getPackageName().equals(BuildConfig.APPLICATION_ID)) {
Config.remove(Config.Key.SU_MANAGER); Config.remove(Config.Key.SU_MANAGER);
...@@ -37,6 +36,22 @@ public class SplashActivity extends BaseActivity { ...@@ -37,6 +36,22 @@ public class SplashActivity extends BaseActivity {
} catch (PackageManager.NameNotFoundException ignored) {} } catch (PackageManager.NameNotFoundException ignored) {}
} }
if (Config.magiskVersionCode > 0 && Config.magiskVersionCode < Const.MAGISK_VER.MIN_SUPPORT) {
new AlertDialog.Builder(this)
.setTitle(R.string.unsupport_magisk_title)
.setMessage(R.string.unsupport_magisk_message)
.setNegativeButton(R.string.ok, null)
.setOnDismissListener(dialog -> finish())
.show();
} else {
initAndStart();
}
}
private void initAndStart() {
// Dynamic detect all locales
LocaleManager.loadAvailableLocales(R.string.app_changelog);
// Set default configs // Set default configs
Config.initialize(); Config.initialize();
......
...@@ -7,6 +7,8 @@ ...@@ -7,6 +7,8 @@
<string name="log">Log</string> <string name="log">Log</string>
<string name="settings">Settings</string> <string name="settings">Settings</string>
<string name="install">Install</string> <string name="install">Install</string>
<string name="unsupport_magisk_title">Unsupported Magisk Version</string>
<string name="unsupport_magisk_message">This version of Magisk Manager does not support Magisk version lower than v18.0.\n\nYou can either manually upgrade Magisk, or downgrade the app to an older version.</string>
<!--Status Fragment--> <!--Status Fragment-->
<string name="magisk_version_error">Magisk is not installed.</string> <string name="magisk_version_error">Magisk is not installed.</string>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment