add a button just for me

This commit is contained in:
Chloe committed 2026-02-01 22:52:43 -07:00
1 parent 3a54c34580
commit 5edd63f78f
4 files changed
+43 -1

No files matched your search

@@ -45,7 +45,8 @@ class CrashViewModel(private val application: Application) : ViewModel() {
private var logJob: Job? = null
@OptIn(ExperimentalTime::class)
var hasIndicator = false
private fun getCrashList(): List<CrashDump> {
val crashDirectory = LaunchUtils.getCrashDirectory(application)
if (!crashDirectory.exists()) {
@@ -57,6 +58,8 @@ class CrashViewModel(private val application: Application) : ViewModel() {
_, name -> name != LaunchUtils.CRASH_INDICATOR_NAME && name != "last-pid"
} ?: return emptyList()
hasIndicator = File(crashDirectory, LaunchUtils.CRASH_INDICATOR_NAME).exists()
return children
.map {
CrashDump(
@@ -67,6 +70,15 @@ class CrashViewModel(private val application: Application) : ViewModel() {
.sortedByDescending { it.lastModified }
}
fun clearIndicator() {
viewModelScope.launch(Dispatchers.IO) {
val crashDirectory = LaunchUtils.getCrashDirectory(application)
File(crashDirectory, LaunchUtils.CRASH_INDICATOR_NAME).delete()
hasIndicator = false
}
}
fun clearCrashes() {
logJob?.cancel()
@@ -232,6 +232,25 @@ fun CrashLogsScreen(
showMoreOptions = false
}
)
val developerMode by PreferenceUtils.useBooleanPreference(PreferenceUtils.Key.DEVELOPER_MODE)
if (developerMode) {
DropdownMenuItem(
leadingIcon = {
Icon(
painterResource(R.drawable.icon_remove_selection),
contentDescription = null
)
},
text = {
Text(stringResource(R.string.application_crashes_clear_indicator))
}, onClick = {
crashViewModel.clearIndicator()
showMoreOptions = false
},
enabled = crashViewModel.hasIndicator
)
}
}
},
title = {
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M500,840L444,784L586,642L444,500L500,444L642,586L784,444L840,500L698,642L840,784L784,840L642,698L500,840ZM280,840L280,760L360,760L360,840L280,840ZM200,200L120,200Q120,167 143.5,143.5Q167,120 200,120L200,200ZM280,200L280,120L360,120L360,200L280,200ZM440,200L440,120L520,120L520,200L440,200ZM600,200L600,120L680,120L680,200L600,200ZM760,200L760,120Q793,120 816.5,143.5Q840,167 840,200L760,200ZM200,760L200,840Q167,840 143.5,816.5Q120,793 120,760L200,760ZM120,680L120,600L200,600L200,680L120,680ZM120,520L120,440L200,440L200,520L120,520ZM120,360L120,280L200,280L200,360L120,360ZM760,360L760,280L840,280L840,360L760,360Z"/>
</vector>
+1
View File
@@ -312,6 +312,7 @@
<string name="title_activity_crash_logs">Crash dumps</string>
<string name="application_crashes_no_dumps">No crash dumps available.</string>
<string name="application_crashes_delete_one">Delete</string>
<string name="application_crashes_clear_indicator">Ignore last crash</string>
<!-- ApplicationIconActivity strings -->
<string name="title_activity_application_icon">Application icons</string>