Allow non supported Magisk to use Magisk Manager

Close #1576
This commit is contained in:
topjohnwu 2019-11-04 03:24:16 -05:00
parent 73525d19e9
commit 472cde29b8
28 changed files with 23 additions and 41 deletions

View File

@ -23,7 +23,8 @@ object Const {
val USER_ID = Process.myUid() / 100000
object Version {
const val MIN_SUPPORT = 18000
const val MIN_VERSION = "v18.0"
const val MIN_VERCODE = 18000
const val CONNECT_MODE = 20100
}

View File

@ -43,12 +43,17 @@ object Info {
}.getOrElse { Env() }
class Env(
val magiskVersionCode: Int = -1,
code: Int = -1,
val magiskVersionString: String = "",
hide: Boolean = false,
var connectionMode: Int = -1
) {
val magiskHide get() = Config.magiskHide
val magiskVersionCode = when (code) {
in Int.MIN_VALUE..Const.Version.MIN_VERCODE -> -1
else -> code
}
val unsupported = code > 0 && code < Const.Version.MIN_VERCODE
init {
Config.magiskHide = hide

View File

@ -2,11 +2,13 @@ package com.topjohnwu.magisk.ui
import android.content.Intent
import android.os.Bundle
import androidx.appcompat.app.AlertDialog
import androidx.core.view.GravityCompat
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentTransaction
import com.ncapdevi.fragnav.FragNavController
import com.ncapdevi.fragnav.FragNavTransactionOptions
import com.topjohnwu.magisk.Const
import com.topjohnwu.magisk.Const.Key.OPEN_SECTION
import com.topjohnwu.magisk.Info
import com.topjohnwu.magisk.R
@ -66,6 +68,15 @@ open class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(), Na
super.onCreate(savedInstanceState)
if (Info.env.unsupported && !viewModel.shownUnsupportedDialog) {
viewModel.shownUnsupportedDialog = true
AlertDialog.Builder(this)
.setTitle(R.string.unsupport_magisk_title)
.setMessage(getString(R.string.unsupport_magisk_msg, Const.Version.MIN_VERSION))
.setPositiveButton(android.R.string.ok, null)
.show()
}
navigationController.apply {
rootFragmentListener = this@MainActivity
transactionListener = this@MainActivity

View File

@ -8,6 +8,8 @@ import com.topjohnwu.magisk.model.navigation.Navigation
class MainViewModel : BaseViewModel() {
var shownUnsupportedDialog = false
fun navPressed() = Navigation.Main.OPEN_NAV.publish()
fun navigationItemPressed(item: MenuItem): Boolean {

View File

@ -3,8 +3,6 @@ package com.topjohnwu.magisk.ui
import android.app.Activity
import android.content.Context
import android.os.Bundle
import android.text.TextUtils
import androidx.appcompat.app.AlertDialog
import com.topjohnwu.magisk.*
import com.topjohnwu.magisk.utils.Utils
import com.topjohnwu.magisk.view.Notifications
@ -19,19 +17,7 @@ open class SplashActivity : Activity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Shell.getShell {
if (Info.env.magiskVersionCode > 0 && Info.env.magiskVersionCode < Const.Version.MIN_SUPPORT) {
AlertDialog.Builder(this)
.setTitle(R.string.unsupport_magisk_title)
.setMessage(R.string.unsupport_magisk_message)
.setNegativeButton(android.R.string.ok, null)
.setOnDismissListener { finish() }
.show()
} else {
initAndStart()
}
}
Shell.getShell { initAndStart() }
}
private fun initAndStart() {

View File

@ -9,7 +9,6 @@
<string name="settings">الإعدادات</string>
<string name="install">التثبيت</string>
<string name="unsupport_magisk_title">إصدار Magisk غير مدعوم</string>
<string name="unsupport_magisk_message">لا يدعم هذا الإصدار من Magisk Manager إصدارا لـ Magisk vأقل من 18\n\n بإمكانك تحديث Magisk يدويا أو تثبيت إصدار أدنى.</string>
<!--Status Fragment-->
<string name="magisk_version_error">Magisk غير مثبت</string>

View File

@ -8,7 +8,6 @@
<string name="settings">Tənzimləmələr</string>
<string name="install">Quraşdır</string>
<string name="unsupport_magisk_title">Dəstəklənməyən Magisk Versiyası</string>
<string name="unsupport_magisk_message">Magisk Manager\'in bu versiyası Magisk\'in v18.0 versiyasndan aşağısını dəstəkləmir.\n\nMagisk\'i əllə yüksəldə, yaxud tətbiqi əvvəlki versiyalarına qaytara bilərsiniz.</string>
<!--Status Fragment-->
<string name="magisk_version_error">Magisk yüklənməyib.</string>

View File

@ -8,7 +8,6 @@
<string name="settings">Configuració</string>
<string name="install">Instal·lar</string>
<string name="unsupport_magisk_title">Versió de Magisk incompatible</string>
<string name="unsupport_magisk_message">Aquesta versió de Magisk Manager no suporta una versió inferior a la 18.0.\n\nPots actualitzar Magisk manualment o pots instalar una versió anterior de la app.</string>
<!--Status Fragment-->
<string name="magisk_version_error">Magisk no està instal·lat</string>

View File

@ -8,7 +8,6 @@
<string name="settings">Nastavení</string>
<string name="install">Instalovat</string>
<string name="unsupport_magisk_title">Nepodporovaná verze Magisk</string>
<string name="unsupport_magisk_message">Tato verze Magisk Managera nepodporuje verzi Magisk nižší než v18.0.\n\nMůžete buď ručně aktualizovat Magisk, nebo aplikaci downgradovat na starší verzi.</string>
<!--Status Fragment-->
<string name="magisk_version_error">Magisk není nainstalován.</string>

View File

@ -8,7 +8,6 @@
<string name="settings">Einstellungen</string>
<string name="install">Installieren</string>
<string name="unsupport_magisk_title">Nicht unterstützte Magisk Version</string>
<string name="unsupport_magisk_message">Diese Version von Magisk Manager unterstützt keine Magisk-Version kleiner als 18.0. \n\nSie können entweder Magisk manuell aktualisieren oder die App auf eine ältere Version herabstufen.</string>
<!--Status Fragment-->
<string name="magisk_version_error">Magisk ist nicht installiert</string>

View File

@ -8,7 +8,6 @@
<string name="settings">Ajustes</string>
<string name="install">Instalar</string>
<string name="unsupport_magisk_title">Versión de Magisk no soportada</string>
<string name="unsupport_magisk_message">Esta versión de Magisk Manager no admite una versión de Magisk inferior a la v18.0.\n\nPuede actualizar Magisk de forma manual o instalar una versión anterior de la aplicación.</string>
<!--Status Fragment-->
<string name="magisk_version_error">Magisk no está instalado</string>

View File

@ -8,7 +8,6 @@
<string name="settings">Seaded</string>
<string name="install">Installi</string>
<string name="unsupport_magisk_title">Mittetoetatud Magisk\'i versioon</string>
<string name="unsupport_magisk_message">See Magisk Manager\'i versioon ei toeta Magisk\'ist vanemat versiooni kui v18.0.\n\nSa võid kas Magisk\'i käsitsi täiendada või alandad rakenduse vanemale versioonile.</string>
<!--Status Fragment-->
<string name="magisk_version_error">Magisk pole installitud</string>

View File

@ -8,7 +8,6 @@
<string name="settings">Paramètres</string>
<string name="install">Installer</string>
<string name="unsupport_magisk_title">Version de Magisk non prise en charge</string>
<string name="unsupport_magisk_message">Cette version de Magisk Manager ne prend pas en charge les versions de Magisk inférieures à v18.0.\n\nSi vous continuez, toutes les fonctionnalités de Magisk ne seront pas disponibles et vous ne pourrez que mettre à jour Magisk.</string>
<!--Status Fragment-->
<string name="magisk_version_error">Magisk nest pas installé.</string>

View File

@ -8,7 +8,6 @@
<string name="settings">सेटिंग्स</string>
<string name="install">स्थापित करें</string>
<string name="unsupport_magisk_title">असमर्थित Magisk संस्करण</string>
<string name="unsupport_magisk_message">Magisk Manager का यह संस्करण Magisk के v18.0 संस्करण से कम का समर्थन नहीं करता है.\n\nआप या तो खुद से Magisk को अपग्रेड करें, या फिर एप्लीकेशन को पुराने संस्करण पे डाउनग्रेड करें .</string>
<!--Status Fragment-->
<string name="magisk_version_error">Magisk स्थापित नहीं है</string>

View File

@ -7,7 +7,6 @@
<string name="settings">Setelan</string>
<string name="install">Pasang</string>
<string name="unsupport_magisk_title">Versi Magisk Tidak Didukung</string>
<string name="unsupport_magisk_message">Magisk Manager versi ini tidak mendukung versi Magisk di bawah v18.0.\n\nAnda dapat memperbarui Magisk secara manual, atau menurunkan aplikasi ke versi sebelumnya.</string>
<!--Status Fragment-->
<string name="magisk_version_error">Magisk tidak terpasang.</string>

View File

@ -8,7 +8,6 @@
<string name="settings">Impostazioni</string>
<string name="install">Installa</string>
<string name="unsupport_magisk_title">Versione di Magisk non supportata</string>
<string name="unsupport_magisk_message">Questa versione di Magisk Manager non supporta versioni di Magisk inferiori alla v18.0.\n\nPuoi aggiornare manualmente Magisk o tornare a una versione meno recente dell\'app.</string>
<!--Status Fragment-->
<string name="magisk_version_error">Magisk non è installato.</string>

View File

@ -8,7 +8,6 @@
<string name="settings">設定</string>
<string name="install">インストール</string>
<string name="unsupport_magisk_title">対応していないMagiskバージョン</string>
<string name="unsupport_magisk_message">このバージョンのMagisk ManagerはMagisk v18.0以下には対応していません。\n\n手動でMagiskを更新するか、または古いバージョンのMagisk Managerをインストールしてください。</string>
<!--Status Fragment-->
<string name="magisk_version_error">Magiskがインストールされていません</string>

View File

@ -8,7 +8,6 @@
<string name="settings">설정</string>
<string name="install">설치</string>
<string name="unsupport_magisk_title">지원되지 않는 Magisk 버전</string>
<string name="unsupport_magisk_message">이 버전의 Magisk Manager는 v18.0보다 낮은 버전의 Magisk를 지원하지 않습니다.\n\n직접 Magisk를 업데이트 하거나 이전 버전의 앱으로 다운그레이드하십시오..</string>
<!--Status Fragment-->
<string name="magisk_version_error">Magisk가 설치되지 않음</string>

View File

@ -8,7 +8,6 @@
<string name="settings">Поставки</string>
<string name="install">Инсталирај</string>
<string name="unsupport_magisk_title">Неподдржана верзија на Magisk</string>
<string name="unsupport_magisk_message">Оваа верзија на Magisk Manager не ја поддржува верзијата на Magisk пониска од v18.0.\n\nМожно е да рачно да го надградите Magisk или да ја вратите апликацијата на постара верзија.</string>
<!--Status Fragment-->
<string name="magisk_version_error">Magisk не е инсталиран.</string>

View File

@ -8,7 +8,6 @@
<string name="settings">Ustawienia</string>
<string name="install">Instaluj</string>
<string name="unsupport_magisk_title">Nieobsługiwana Wersja Magisk</string>
<string name="unsupport_magisk_message">Ta wersja Magisk Managera nie obsługuje wersji Magisk niższej niż v18.0.\n\nMożesz albo ręcznie zaktualizować Magisk lub obniżyć w aplikacji do starszej wersji.</string>
<!--Status Fragment-->
<string name="magisk_version_error">Magisk nie jest zainstalowany.</string>

View File

@ -8,7 +8,6 @@
<string name="settings">Setări</string>
<string name="install">Instalează</string>
<string name="unsupport_magisk_title">Versiune Magisk nesuportată</string>
<string name="unsupport_magisk_message">Această versiune de Magisk Manager nu suportă versiunea Magisk mai mică de v18.0.\n\nPoți fie să actualizezi manual Magisk, fie să treci la o versiune mai veche.</string>
<!--Status Fragment-->
<string name="magisk_version_error">Magisk nu este instalat.</string>

View File

@ -8,7 +8,6 @@
<string name="settings">Настройки</string>
<string name="install">Установка</string>
<string name="unsupport_magisk_title">Неподдерживаемая версия Magisk</string>
<string name="unsupport_magisk_message">Эта версия Magisk Manager не поддерживает версию Magisk ниже v18.0.\n\nВы можете вручную обновить Magisk или понизить версию приложения до более старой.</string>
<!--Status Fragment-->
<string name="magisk_version_error">Magisk не установлен</string>

View File

@ -8,7 +8,6 @@
<string name="settings">Nastavenia</string>
<string name="install">Inštalovať</string>
<string name="unsupport_magisk_title">Nepodporovaná verzia Magisku</string>
<string name="unsupport_magisk_message">Táto verzia Magisk Managera podporuje Magisk od verzie v18.0.\n\nBuď upgradujte Magisk manuálne alebo nainštalujte staršiu verziu aplikácie.</string>
<!--Status Fragment-->
<string name="magisk_version_error">Magisk nie je nainštalovaný</string>

View File

@ -8,7 +8,6 @@
<string name="settings">Ayarlar</string>
<string name="install">Yükle</string>
<string name="unsupport_magisk_title">Desteklenmeyen Magisk Sürümü</string>
<string name="unsupport_magisk_message">Magisk Manager\'ın bu sürümü v18.0\'dan daha düşük Magisk versiyonlarını desteklememektedir.\n\nMagisk\'i manuel olarak yükseltebilir veya uygulamayı daha eski bir sürüme düşürebilirsiniz.</string>
<!--Status Fragment-->
<string name="magisk_version_error">Magisk yüklü değil</string>

View File

@ -8,7 +8,6 @@
<string name="settings">Налаштування</string>
<string name="install">Встановлення</string>
<string name="unsupport_magisk_title">Версія Magisk не підтримується</string>
<string name="unsupport_magisk_message">Ця версія Magisk Manager не підтримує версію Magisk нижчу, ніж v18.0.\n\nВи можете або вручну оновити Magisk, або понизити програму до старішої версії.</string>
<!--Status Fragment-->
<string name="magisk_version_error">Magisk не встановлено.</string>

View File

@ -8,7 +8,6 @@
<string name="settings">设置</string>
<string name="install">安装</string>
<string name="unsupport_magisk_title">不支持的 Magisk 版本</string>
<string name="unsupport_magisk_message">此版本的 Magisk Manager 不支持低于 v18.0 的 Magisk。\n\n请手动升级 Magisk或将应用降级到旧版本。</string>
<!--Status Fragment-->
<string name="magisk_version_error">未安装 Magisk</string>

View File

@ -8,7 +8,6 @@
<string name="settings">設定</string>
<string name="install">安裝</string>
<string name="unsupport_magisk_title">不支援此 Magisk 版本</string>
<string name="unsupport_magisk_message">此 Magisk Manager 版本最低支援 Magisk 18.0。\n\n請手動更新 Magisk或安裝舊版 Magisk Manager。</string>
<!--Status Fragment-->
<string name="magisk_version_error">未安裝 Magisk</string>

View File

@ -8,8 +8,7 @@
<string name="settings">Settings</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>
<string name="unsupport_magisk_msg">This version of Magisk Manager does not support Magisk version lower than %1$s.\n\nThe app will behave as if no Magisk is installed, please upgrade Magisk as soon as possible.</string>
<!--Status Fragment-->
<string name="magisk_version_error">Magisk is not installed</string>
<string name="checking_for_updates">Checking for updates…</string>