mirror of
https://github.com/HighCapable/YukiHookAPI.git
synced 2025-09-04 09:45:19 +08:00
Update demo
This commit is contained in:
@@ -48,7 +48,7 @@ class MainActivity : ModuleAppCompatActivity() {
|
||||
super.onCreate(savedInstanceState)
|
||||
ActivityMainBinding.inflate(layoutInflater).apply {
|
||||
setContentView(root)
|
||||
moduleEnvironment(isShowWarn = false) {
|
||||
moduleEnvironment {
|
||||
dataChannel(packageName = "com.highcapable.yukihookapi.demo_app").with {
|
||||
wait(DataConst.TEST_CN_DATA) {
|
||||
Toast.makeText(applicationContext, it, Toast.LENGTH_SHORT).show()
|
||||
@@ -70,6 +70,10 @@ class MainActivity : ModuleAppCompatActivity() {
|
||||
moduleDemoResHookText.text = "Support Resources Hook:${YukiHookAPI.Status.isSupportResourcesHook}"
|
||||
moduleDemoResHookZhText.text = "资源钩子支持状态"
|
||||
moduleDemoEditText.also {
|
||||
hostEnvironment {
|
||||
it.isEnabled = false
|
||||
moduleDemoButton.isEnabled = false
|
||||
}
|
||||
it.setText(modulePrefs.get(DataConst.TEST_KV_DATA))
|
||||
moduleDemoButton.setOnClickListener { _ ->
|
||||
moduleEnvironment {
|
||||
@@ -80,21 +84,23 @@ class MainActivity : ModuleAppCompatActivity() {
|
||||
}
|
||||
}
|
||||
}
|
||||
moduleDemoFrgButton.setOnClickListener {
|
||||
moduleEnvironment { startActivity(Intent(this@MainActivity, PreferenceActivity::class.java)) }
|
||||
}
|
||||
moduleDemoFrgButton.setOnClickListener { startActivity(Intent(this@MainActivity, PreferenceActivity::class.java)) }
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 仅在模块环境执行
|
||||
* @param isShowWarn 是否显示警告 - 默认是
|
||||
* 仅在 (Xposed) 宿主环境执行
|
||||
* @param callback 在模块环境执行
|
||||
*/
|
||||
private inline fun moduleEnvironment(isShowWarn: Boolean = true, callback: () -> Unit) {
|
||||
if (YukiHookAPI.Status.isXposedEnvironment)
|
||||
(if (isShowWarn)
|
||||
Toast.makeText(applicationContext, "This operation is not allowed in Xposed Environment", Toast.LENGTH_SHORT).show())
|
||||
else callback()
|
||||
private inline fun hostEnvironment(callback: () -> Unit) {
|
||||
if (YukiHookAPI.Status.isXposedEnvironment) callback()
|
||||
}
|
||||
|
||||
/**
|
||||
* 仅在模块环境执行
|
||||
* @param callback 在模块环境执行
|
||||
*/
|
||||
private inline fun moduleEnvironment(callback: () -> Unit) {
|
||||
if (YukiHookAPI.Status.isXposedEnvironment.not()) callback()
|
||||
}
|
||||
}
|
@@ -28,11 +28,15 @@
|
||||
package com.highcapable.yukihookapi.demo_module.ui
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.preference.SwitchPreference
|
||||
import com.highcapable.yukihookapi.YukiHookAPI
|
||||
import com.highcapable.yukihookapi.demo_module.R
|
||||
import com.highcapable.yukihookapi.hook.xposed.parasitic.activity.base.ModuleAppCompatActivity
|
||||
import com.highcapable.yukihookapi.hook.xposed.prefs.ui.ModulePreferenceFragment
|
||||
|
||||
class PreferenceActivity : AppCompatActivity() {
|
||||
class PreferenceActivity : ModuleAppCompatActivity() {
|
||||
|
||||
override val moduleTheme get() = R.style.Theme_Default
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
@@ -47,13 +51,14 @@ class PreferenceActivity : AppCompatActivity() {
|
||||
|
||||
override fun onSupportNavigateUp(): Boolean {
|
||||
onBackPressed()
|
||||
return super.onSupportNavigateUp()
|
||||
return true
|
||||
}
|
||||
|
||||
class SettingsFragment : ModulePreferenceFragment() {
|
||||
|
||||
override fun onCreatePreferencesInModuleApp(savedInstanceState: Bundle?, rootKey: String?) {
|
||||
setPreferencesFromResource(R.xml.settings_preferences, rootKey)
|
||||
findPreference<SwitchPreference>("show_dialog_when_demo_app_opend")?.isEnabled = YukiHookAPI.Status.isXposedEnvironment.not()
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user