diff --git a/demo-module/src/main/java/com/highcapable/yukihookapi/demo_module/ui/MainActivity.kt b/demo-module/src/main/java/com/highcapable/yukihookapi/demo_module/ui/MainActivity.kt index d0faabd8..aee9068b 100644 --- a/demo-module/src/main/java/com/highcapable/yukihookapi/demo_module/ui/MainActivity.kt +++ b/demo-module/src/main/java/com/highcapable/yukihookapi/demo_module/ui/MainActivity.kt @@ -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() } } \ No newline at end of file diff --git a/demo-module/src/main/java/com/highcapable/yukihookapi/demo_module/ui/PreferenceActivity.kt b/demo-module/src/main/java/com/highcapable/yukihookapi/demo_module/ui/PreferenceActivity.kt index 9e779322..3106f8db 100644 --- a/demo-module/src/main/java/com/highcapable/yukihookapi/demo_module/ui/PreferenceActivity.kt +++ b/demo-module/src/main/java/com/highcapable/yukihookapi/demo_module/ui/PreferenceActivity.kt @@ -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("show_dialog_when_demo_app_opend")?.isEnabled = YukiHookAPI.Status.isXposedEnvironment.not() } } } \ No newline at end of file