Skip to content

Commit 6b8fee8

Browse files
author
Chenhe
committed
添加 Nevo 跳转与未安装提示
1 parent 605ff7a commit 6b8fee8

File tree

2 files changed

+31
-3
lines changed

2 files changed

+31
-3
lines changed

app/src/main/java/cc/chenhe/qqnotifyevo/preference/MainPreferenceFr.kt

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package cc.chenhe.qqnotifyevo.preference
22

3-
import android.app.AlertDialog
43
import android.content.Context
54
import android.content.Intent
65
import android.net.Uri
76
import android.os.Bundle
87
import android.provider.Settings
98
import android.view.View
109
import android.widget.Toast
10+
import androidx.appcompat.app.AlertDialog
1111
import androidx.lifecycle.ViewModelProvider
1212
import androidx.lifecycle.lifecycleScope
1313
import 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) { _, _ ->

app/src/main/res/values/strings.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,12 @@
189189
<string name="pref_delete_log_summary">%1$d个日志 总大小%2$s</string>
190190
<string name="pref_delete_log_dialog_message">删除所有日志?</string>
191191

192+
<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
193+
~ 主界面
194+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
195+
196+
<string name="main_nevo_not_install">Nevo(女娲石)可能未安装,请先安装或切换到传统模式。\n详情请阅读使用手册。</string>
197+
192198
<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
193199
~ 升级提示界面
194200
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->

0 commit comments

Comments
 (0)