forked from geode-sdk/android-launcher
add a button just for me
This commit is contained in:
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
|
private var logJob: Job? = null
|
||||||
|
|
||||||
@OptIn(ExperimentalTime::class)
|
var hasIndicator = false
|
||||||
|
|
||||||
private fun getCrashList(): List<CrashDump> {
|
private fun getCrashList(): List<CrashDump> {
|
||||||
val crashDirectory = LaunchUtils.getCrashDirectory(application)
|
val crashDirectory = LaunchUtils.getCrashDirectory(application)
|
||||||
if (!crashDirectory.exists()) {
|
if (!crashDirectory.exists()) {
|
||||||
@@ -57,6 +58,8 @@ class CrashViewModel(private val application: Application) : ViewModel() {
|
|||||||
_, name -> name != LaunchUtils.CRASH_INDICATOR_NAME && name != "last-pid"
|
_, name -> name != LaunchUtils.CRASH_INDICATOR_NAME && name != "last-pid"
|
||||||
} ?: return emptyList()
|
} ?: return emptyList()
|
||||||
|
|
||||||
|
hasIndicator = File(crashDirectory, LaunchUtils.CRASH_INDICATOR_NAME).exists()
|
||||||
|
|
||||||
return children
|
return children
|
||||||
.map {
|
.map {
|
||||||
CrashDump(
|
CrashDump(
|
||||||
@@ -67,6 +70,15 @@ class CrashViewModel(private val application: Application) : ViewModel() {
|
|||||||
.sortedByDescending { it.lastModified }
|
.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() {
|
fun clearCrashes() {
|
||||||
logJob?.cancel()
|
logJob?.cancel()
|
||||||
|
|
||||||
|
|||||||
@@ -232,6 +232,25 @@ fun CrashLogsScreen(
|
|||||||
showMoreOptions = false
|
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 = {
|
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>
|
||||||
@@ -312,6 +312,7 @@
|
|||||||
<string name="title_activity_crash_logs">Crash dumps</string>
|
<string name="title_activity_crash_logs">Crash dumps</string>
|
||||||
<string name="application_crashes_no_dumps">No crash dumps available.</string>
|
<string name="application_crashes_no_dumps">No crash dumps available.</string>
|
||||||
<string name="application_crashes_delete_one">Delete</string>
|
<string name="application_crashes_delete_one">Delete</string>
|
||||||
|
<string name="application_crashes_clear_indicator">Ignore last crash</string>
|
||||||
|
|
||||||
<!-- ApplicationIconActivity strings -->
|
<!-- ApplicationIconActivity strings -->
|
||||||
<string name="title_activity_application_icon">Application icons</string>
|
<string name="title_activity_application_icon">Application icons</string>
|
||||||
|
|||||||
Reference in new issue
Block a user