11package cc.chenhe.qqnotifyevo.preference
22
3- import android.app.AlertDialog
43import android.content.Context
54import android.content.Intent
65import android.net.Uri
76import android.os.Bundle
87import android.provider.Settings
98import android.view.View
109import android.widget.Toast
10+ import androidx.appcompat.app.AlertDialog
1111import androidx.lifecycle.ViewModelProvider
1212import androidx.lifecycle.lifecycleScope
1313import androidx.lifecycle.observe
@@ -78,9 +78,14 @@ class MainPreferenceFr : PreferenceFragmentCompat() {
7878 if (model.mode.value == MODE_NEVO ) {
7979 serviceWarning.setTitle(R .string.warning_nevo_service)
8080 serviceWarning.setSummary(R .string.warning_nevo_service_summary)
81+ serviceWarning.setOnPreferenceClickListener {
82+ startNevoApp()
83+ true
84+ }
8185 } else if (model.mode.value == MODE_LEGACY ) {
8286 serviceWarning.setTitle(R .string.warning_monitor_service)
8387 serviceWarning.setSummary(R .string.warning_monitor_service_summary)
88+ serviceWarning.onPreferenceChangeListener = null
8489 }
8590 serviceWarning.isVisible = true
8691 }
@@ -112,6 +117,23 @@ class MainPreferenceFr : PreferenceFragmentCompat() {
112117 return super .onPreferenceTreeClick(preference)
113118 }
114119
120+ private fun startNevoApp () {
121+ try {
122+ Intent ().let {
123+ it.action = Intent .ACTION_MAIN
124+ it.addCategory(Intent .CATEGORY_LAUNCHER )
125+ it.setPackage(" com.oasisfeng.nevo" )
126+ startActivity(it)
127+ }
128+ } catch (e: Exception ) {
129+ AlertDialog .Builder (requireContext())
130+ .setTitle(R .string.tip)
131+ .setMessage(R .string.main_nevo_not_install)
132+ .setPositiveButton(R .string.confirm, null )
133+ .show()
134+ }
135+ }
136+
115137 private suspend fun checkServiceRunning () {
116138 withContext(Dispatchers .Default ) {
117139 if (model.mode.value == MODE_NEVO )
@@ -124,7 +146,7 @@ class MainPreferenceFr : PreferenceFragmentCompat() {
124146 }
125147
126148 private fun donate () {
127- AlertDialog .Builder (context )
149+ AlertDialog .Builder (requireContext() )
128150 .setTitle(R .string.pref_donate_message)
129151 .setSingleChoiceItems(R .array.pref_donate_options, - 1 ) { _, i ->
130152 startAliPay()
@@ -133,7 +155,7 @@ class MainPreferenceFr : PreferenceFragmentCompat() {
133155 }
134156
135157 private fun showInfo () {
136- AlertDialog .Builder (context )
158+ AlertDialog .Builder (requireContext() )
137159 .setTitle(getString(R .string.about_dialog_title))
138160 .setMessage(getString(R .string.about_dialog_message))
139161 .setNeutralButton(R .string.about_dialog_github) { _, _ ->
0 commit comments