fix(PatchOptions): warn user when missing selected image
This commit is contained in:
parent
2fb5c9c18d
commit
4d1b21acf0
3 changed files with 18 additions and 12 deletions
|
|
@ -95,14 +95,15 @@ class IconOptionsModel(
|
|||
}
|
||||
}
|
||||
|
||||
fun generateConfig(): IconReplacement = when (mode) {
|
||||
IconOptionsMode.Original -> IconReplacement.Original
|
||||
IconOptionsMode.OldDiscord -> IconReplacement.OldDiscord
|
||||
IconOptionsMode.Aliucord -> IconReplacement.CustomColor(IconReplacement.AliucordColor)
|
||||
IconOptionsMode.CustomColor -> IconReplacement.CustomColor(color = selectedColor.toColor())
|
||||
IconOptionsMode.CustomImage -> IconReplacement.CustomImage(
|
||||
// TODO: fix this?
|
||||
imageBytes = selectedImage ?: throw IllegalStateException("Cannot generate config without a selected image"),
|
||||
)
|
||||
fun generateConfig(): IconReplacement? {
|
||||
return when (mode) {
|
||||
IconOptionsMode.Original -> IconReplacement.Original
|
||||
IconOptionsMode.OldDiscord -> IconReplacement.OldDiscord
|
||||
IconOptionsMode.Aliucord -> IconReplacement.CustomColor(IconReplacement.AliucordColor)
|
||||
IconOptionsMode.CustomColor -> IconReplacement.CustomColor(color = selectedColor.toColor())
|
||||
IconOptionsMode.CustomImage -> IconReplacement.CustomImage(
|
||||
imageBytes = selectedImage ?: return null
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,8 +32,7 @@ import com.aliucord.manager.ui.screens.patchopts.components.PatchOptionsAppBar
|
|||
import com.aliucord.manager.ui.screens.patchopts.components.options.*
|
||||
import com.aliucord.manager.ui.util.InstallNotifications
|
||||
import com.aliucord.manager.ui.util.spacedByLastAtBottom
|
||||
import com.aliucord.manager.util.isIgnoringBatteryOptimizations
|
||||
import com.aliucord.manager.util.requestNoBatteryOptimizations
|
||||
import com.aliucord.manager.util.*
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.parcelize.IgnoredOnParcel
|
||||
import kotlinx.parcelize.Parcelize
|
||||
|
|
@ -97,8 +96,13 @@ class PatchOptionsScreen(
|
|||
setPackageName = model::changePackageName,
|
||||
|
||||
isConfigValid = model.isConfigValid,
|
||||
onInstall = {
|
||||
onInstall = onInstall@{
|
||||
val iconConfig = iconModel.generateConfig()
|
||||
if (iconConfig == null) {
|
||||
context.showToast(R.string.patchopts_warning_invalid_iconopts)
|
||||
return@onInstall
|
||||
}
|
||||
|
||||
val patchConfig = model.generateConfig(iconConfig)
|
||||
navigator.push(PatchingScreen(patchConfig))
|
||||
},
|
||||
|
|
|
|||
|
|
@ -169,6 +169,7 @@
|
|||
<string name="patchopts_icon_desc">Change the app\'s icon to Aliucord\'s icon (or a custom one) instead of Discord\'s.</string>
|
||||
<string name="patchopts_divider_basic">Basic</string>
|
||||
<string name="patchopts_divider_advanced">Advanced</string>
|
||||
<string name="patchopts_warning_invalid_iconopts">The selected icon options are invalid!</string>
|
||||
|
||||
<string name="iconopts_screen_title">Icon Replacement</string>
|
||||
<string name="iconopts_variant_title_old_discord">Old Discord</string>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue