Skip to content

Commit 6b364af

Browse files
author
Chenhe
committed
支持用户修改是否从最近任务列表隐藏
1 parent c069297 commit 6b364af

File tree

6 files changed

+35
-2
lines changed

6 files changed

+35
-2
lines changed

app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,7 @@
7070

7171
<activity
7272
android:name=".preference.PreferenceAty"
73-
android:autoRemoveFromRecents="true"
74-
android:excludeFromRecents="true"
73+
android:excludeFromRecents="false"
7574
android:label="@string/activity_splash">
7675
<intent-filter>
7776
<action android:name="android.intent.action.MAIN" />

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

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ class AdvancedFr : PreferenceFragmentCompat() {
3737
true
3838
}
3939
}
40+
findPreference<SwitchPreferenceCompat>("show_in_recent")!!.summaryProvider = ShowInRecentSummaryProvider()
4041
deleteLog = findPreference("delete_log")!!
4142
refreshLogSize()
4243
}
@@ -104,4 +105,14 @@ class AdvancedFr : PreferenceFragmentCompat() {
104105
return builder.toString()
105106
}
106107
}
108+
109+
private inner class ShowInRecentSummaryProvider : Preference.SummaryProvider<SwitchPreferenceCompat> {
110+
111+
private val summaries = requireContext().resources.getStringArray(R.array.pref_show_in_recent_summaries)
112+
113+
override fun provideSummary(preference: SwitchPreferenceCompat): CharSequence {
114+
return if (preference.isChecked) summaries[0] else summaries[1]
115+
}
116+
117+
}
107118
}

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import android.os.Bundle
44

55
import androidx.appcompat.app.AppCompatActivity
66
import cc.chenhe.qqnotifyevo.R
7+
import cc.chenhe.qqnotifyevo.utils.getShowInRecent
78

89
class PreferenceAty : AppCompatActivity() {
910

@@ -15,4 +16,12 @@ class PreferenceAty : AppCompatActivity() {
1516
.commit()
1617
}
1718

19+
override fun onBackPressed() {
20+
if (getShowInRecent(this)) {
21+
super.onBackPressed()
22+
} else {
23+
finishAndRemoveTask()
24+
}
25+
}
26+
1827
}

app/src/main/java/cc/chenhe/qqnotifyevo/utils/PreferencesUtils.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,10 @@ fun fetchAvatarCachePeriod(context: Context): LiveData<Long> {
7979
}
8080
}
8181

82+
fun getShowInRecent(context: Context): Boolean {
83+
return PreferenceManager.getDefaultSharedPreferences(context).getBoolean("show_in_recent", true)
84+
}
85+
8286
fun fetchLog(context: Context): SpBooleanLiveData = SpBooleanLiveData(PreferenceManager
8387
.getDefaultSharedPreferences(context), "log", false, init = true)
8488

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,11 @@
9999
</string-array>
100100
<string name="pref_delete_avatar_cache">删除头像缓存</string>
101101
<string name="pref_delete_nevo_channel">删除 Nevo 通知渠道</string>
102+
<string name="pref_show_in_recent">在「最近使用的应用」中显示</string>
103+
<string-array name="pref_show_in_recent_summaries">
104+
<item>便于锁定最近任务以免被杀</item> <!-- checked -->
105+
<item>按返回键退出后将从最近任务界面隐藏</item> <!-- non-checked -->
106+
</string-array>
102107
<string name="pref_cat_debug">调试</string>
103108
<string name="pref_log">记录日志</string>
104109
<string name="pref_log_dialog_message">开启后将记录应用日志并明文保存在本地,其中包含您的通知详情,请注意隐私安全。\n请不要从应用外部删除日志文件以免影响完整性。</string>

app/src/main/res/xml/pref_advanced.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@
1616
app:key="delete_nevo_channel"
1717
app:title="@string/pref_delete_nevo_channel" />
1818

19+
<SwitchPreferenceCompat
20+
app:defaultValue="true"
21+
app:key="show_in_recent"
22+
app:title="@string/pref_show_in_recent" />
23+
1924
<PreferenceCategory app:title="@string/pref_cat_debug">
2025

2126
<SwitchPreferenceCompat

0 commit comments

Comments
 (0)