Skip to content

Commit

Permalink
feat: built-in magisk module
Browse files Browse the repository at this point in the history
  • Loading branch information
Dr-TSNG committed Oct 17, 2021
1 parent 43472e3 commit ad7a583
Show file tree
Hide file tree
Showing 5 changed files with 51 additions and 1 deletion.
Binary file added app/src/main/assets/extension.zip
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import androidx.preference.PreferenceManager
import com.google.android.gms.ads.AdRequest
import com.google.android.gms.ads.MobileAds
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.topjohnwu.superuser.Shell
import com.tsng.hidemyapplist.BuildConfig
import com.tsng.hidemyapplist.Magic
import com.tsng.hidemyapplist.R
Expand All @@ -26,6 +27,7 @@ import com.tsng.hidemyapplist.databinding.ActivityMainBinding
import okhttp3.OkHttpClient
import okhttp3.Request
import org.json.JSONObject
import java.io.File
import java.util.*
import kotlin.concurrent.thread

Expand Down Expand Up @@ -95,6 +97,7 @@ class MainActivity : AppCompatActivity(), View.OnClickListener {
binding.serveTimes.visibility = View.GONE
binding.serviceStatusText.text = getString(R.string.xposed_service_off)
}
binding.moduleStatusCard.setOnClickListener(this)
binding.menuDetectionTest.setOnClickListener(this)
binding.menuTemplateManage.setOnClickListener(this)
binding.menuScopeManage.setOnClickListener(this)
Expand All @@ -105,6 +108,42 @@ class MainActivity : AppCompatActivity(), View.OnClickListener {

override fun onClick(v: View) {
when (v.id) {
R.id.module_status_card -> {
if (ServiceHelper.getServiceVersion() == 0 || ServiceHelper.getRiruExtensionVersion() > 0) return
MaterialAlertDialogBuilder(this)
.setTitle(R.string.install_magisk_extension_title)
.setMessage(R.string.install_magisk_extension_message)
.setNegativeButton(android.R.string.cancel, null)
.setPositiveButton(android.R.string.ok) { dialog, _ ->
val zipFile = File("$cacheDir/extension.zip")
assets.open("extension.zip").use { fis ->
zipFile.outputStream().use {
fis.copyTo(it)
}
}

val result = Shell.su("su --mount-master -c magisk --install-module ${zipFile.absolutePath}").exec()
dialog.dismiss()
val sb = StringBuilder()
result.out.forEach { sb.appendLine(it) }
result.err.forEach { sb.appendLine(it) }
sb.appendLine("----------")
sb.appendLine("Result code: ${result.code}")
val nd = MaterialAlertDialogBuilder(this).setMessage(sb)
if (result.isSuccess) {
nd.setTitle(R.string.install_magisk_extension_successful)
nd.setNegativeButton(android.R.string.cancel, null)
nd.setPositiveButton(R.string.reboot) { _, _ ->
Shell.su("reboot").exec()
}
} else {
nd.setTitle(R.string.install_magisk_extension_failed)
nd.setPositiveButton(android.R.string.ok, null)
}
nd.show()
}
.show()
}
R.id.menu_detection_test -> {
val intent = packageManager.getLaunchIntentForPackage("com.tsng.applistdetector")
if (intent == null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import com.tsng.hidemyapplist.app.JsonConfigManager
import com.tsng.hidemyapplist.app.MyApplication.Companion.appContext
import com.tsng.hidemyapplist.app.helpers.ServiceHelper
import com.tsng.hidemyapplist.app.makeToast
import java.util.*

class SettingsFragment : PreferenceFragmentCompat() {
private val backupImportSAFLauncher =
Expand Down
6 changes: 6 additions & 0 deletions app/src/main/res/values-zh-rCN/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
<string name="add">添加</string>
<string name="delete">删除</string>
<string name="save">保存</string>
<string name="reboot">重启</string>

<string name="application">应用</string>
<string name="preference">偏好</string>
Expand All @@ -22,6 +23,11 @@
<string name="new_update">新版本可用:</string>
<string name="update_logs">更新日志</string>

<string name="install_magisk_extension_title">安装 Magisk 插件?</string>
<string name="install_magisk_extension_message">通过 root 安装插件,更多信息请查看关于页面。</string>
<string name="install_magisk_extension_successful">安装成功</string>
<string name="install_magisk_extension_failed">安装失败</string>

<string name="riru_installed">Magisk 插件已安装</string>
<string name="riru_not_installed">Magisk 插件未安装</string>
<string name="riru_version_too_old">❌ [Magisk] 插件版本过旧</string>
Expand Down
6 changes: 6 additions & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
<string name="delete">Delete</string>
<string name="save">Save</string>
<string name="copied">Copied</string>
<string name="reboot">Reboot</string>

<string name="application">Application</string>
<string name="preference">Preference</string>
Expand All @@ -27,6 +28,11 @@
<string name="riru_version_too_old">❌ [Magisk] Extension version too old</string>
<string name="riru_apk_version_too_old">❌ [Magisk] System service version too old</string>

<string name="install_magisk_extension_title">Install Magisk extension?</string>
<string name="install_magisk_extension_message">Install Magisk extension by root. For more information, please refer to the about page.</string>
<string name="install_magisk_extension_successful">Installation succeeded</string>
<string name="install_magisk_extension_failed">Installation failed</string>

<string name="download_test_app_title">Download test app</string>
<string name="download_test_app_message">We have developed an individual detection test app and migrated detection test to it. Do you want to download it now?</string>

Expand Down

0 comments on commit ad7a583

Please sign in to comment.