@@ -2,26 +2,17 @@ package app.revanced.manager.ui.component
22
33import android.annotation.SuppressLint
44import android.content.pm.PackageInstaller
5- import androidx.annotation.RequiresApi
65import androidx.annotation.StringRes
7- import androidx.compose.foundation.layout.Arrangement
8- import androidx.compose.foundation.layout.Column
9- import androidx.compose.material.icons.Icons
10- import androidx.compose.material.icons.outlined.ErrorOutline
116import androidx.compose.material3.AlertDialog
127import androidx.compose.material3.ButtonDefaults
138import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi
14- import androidx.compose.material3.Icon
159import androidx.compose.material3.MaterialTheme
1610import androidx.compose.material3.Text
1711import androidx.compose.material3.TextButton
1812import androidx.compose.runtime.Composable
1913import androidx.compose.runtime.remember
20- import androidx.compose.ui.Alignment
21- import androidx.compose.ui.graphics.vector.ImageVector
2214import androidx.compose.ui.res.stringResource
2315import androidx.compose.ui.text.style.TextAlign
24- import androidx.compose.ui.unit.dp
2516import app.revanced.manager.R
2617import app.revanced.manager.ui.model.InstallerModel
2718import com.github.materiiapps.enumutil.FromValue
@@ -43,9 +34,6 @@ fun InstallerStatusDialog(installerStatus: Int, model: InstallerModel, onDismiss
4334 dismissButton = {
4435 dialogKind.dismissButton?.invoke(model, onDismiss)
4536 },
46- icon = {
47- Icon (dialogKind.icon, null )
48- },
4937 title = {
5038 Text (
5139 text = stringResource(dialogKind.title),
@@ -54,12 +42,7 @@ fun InstallerStatusDialog(installerStatus: Int, model: InstallerModel, onDismiss
5442 )
5543 },
5644 text = {
57- Column (
58- horizontalAlignment = Alignment .CenterHorizontally ,
59- verticalArrangement = Arrangement .spacedBy(16 .dp),
60- ) {
61- Text (stringResource(dialogKind.contentStringResId))
62- }
45+ Text (stringResource(dialogKind.contentStringResId))
6346 }
6447 )
6548}
@@ -85,66 +68,54 @@ enum class DialogKind(
8568 val flag : Int ,
8669 val title : Int ,
8770 @param:StringRes val contentStringResId : Int ,
88- val icon : ImageVector = Icons .Outlined .ErrorOutline ,
8971 val confirmButton : InstallerStatusDialogButton = installerStatusDialogButton(R .string.ok),
9072 val dismissButton : InstallerStatusDialogButton ? = null ,
9173) {
9274 FAILURE (
9375 flag = PackageInstaller .STATUS_FAILURE ,
9476 title = R .string.installation_failed_dialog_title,
9577 contentStringResId = R .string.installation_failed_description,
96- confirmButton = installerStatusDialogButton(R .string.install_app) { model ->
97- model.install()
98- }
99- ),
100- FAILURE_ABORTED (
101- flag = PackageInstaller .STATUS_FAILURE_ABORTED ,
102- title = R .string.installation_cancelled_dialog_title,
103- contentStringResId = R .string.installation_aborted_description,
104- confirmButton = installerStatusDialogButton(R .string.install_app) { model ->
105- model.install()
106- }
78+ confirmButton = installerStatusDialogButton(R .string.try_again) { it.install() },
79+ dismissButton = installerStatusDialogButton(R .string.cancel),
10780 ),
10881 FAILURE_BLOCKED (
10982 flag = PackageInstaller .STATUS_FAILURE_BLOCKED ,
11083 title = R .string.installation_blocked_dialog_title,
11184 contentStringResId = R .string.installation_blocked_description,
85+ dismissButton = installerStatusDialogButton(R .string.cancel),
11286 ),
11387 FAILURE_CONFLICT (
11488 flag = PackageInstaller .STATUS_FAILURE_CONFLICT ,
11589 title = R .string.installation_conflict_dialog_title,
11690 contentStringResId = R .string.installation_conflict_description,
117- confirmButton = installerStatusDialogButton(R .string.reinstall) { model ->
118- model.reinstall()
119- },
91+ confirmButton = installerStatusDialogButton(R .string.reinstall) { it.reinstall() },
12092 dismissButton = installerStatusDialogButton(R .string.cancel),
12193 ),
12294 FAILURE_INCOMPATIBLE (
12395 flag = PackageInstaller .STATUS_FAILURE_INCOMPATIBLE ,
12496 title = R .string.installation_incompatible_dialog_title,
12597 contentStringResId = R .string.installation_incompatible_description,
98+ dismissButton = installerStatusDialogButton(R .string.ok),
12699 ),
127100 FAILURE_INVALID (
128101 flag = PackageInstaller .STATUS_FAILURE_INVALID ,
129102 title = R .string.installation_invalid_dialog_title,
130103 contentStringResId = R .string.installation_invalid_description,
131- confirmButton = installerStatusDialogButton(R .string.reinstall) { model ->
132- model.reinstall()
133- },
104+ confirmButton = installerStatusDialogButton(R .string.reinstall) { it.reinstall() },
134105 dismissButton = installerStatusDialogButton(R .string.cancel),
135106 ),
136107 FAILURE_STORAGE (
137108 flag = PackageInstaller .STATUS_FAILURE_STORAGE ,
138109 title = R .string.installation_storage_issue_dialog_title,
139110 contentStringResId = R .string.installation_storage_issue_description,
111+ dismissButton = installerStatusDialogButton(R .string.ok),
140112 ),
141113 FAILURE_TIMEOUT (
142114 flag = @SuppressLint(" InlinedApi" ) PackageInstaller .STATUS_FAILURE_TIMEOUT ,
143115 title = R .string.installation_timeout_dialog_title,
144116 contentStringResId = R .string.installation_timeout_description,
145- confirmButton = installerStatusDialogButton(R .string.install_app) { model ->
146- model.install()
147- },
117+ confirmButton = installerStatusDialogButton(R .string.try_again) { it.install() },
118+ dismissButton = installerStatusDialogButton(R .string.cancel),
148119 );
149120
150121 // Needed due to the @FromValue annotation.
0 commit comments