Skip to content

Commit 1dbf90f

Browse files
committed
app: proper handle manager logo in home screen
1 parent 97e030e commit 1dbf90f

File tree

1 file changed

+21
-11
lines changed
  • app/src/main/kotlin/com/dergoogler/mmrl/ui/screens/home/items

1 file changed

+21
-11
lines changed

app/src/main/kotlin/com/dergoogler/mmrl/ui/screens/home/items/RootItem.kt

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.dergoogler.mmrl.ui.screens.home.items
22

3+
import androidx.annotation.StringRes
34
import androidx.compose.foundation.layout.Arrangement
45
import androidx.compose.foundation.layout.Column
56
import androidx.compose.foundation.layout.Row
@@ -22,20 +23,26 @@ import androidx.compose.ui.unit.dp
2223
import com.dergoogler.mmrl.R
2324
import com.dergoogler.mmrl.ext.nullable
2425
import com.dergoogler.mmrl.ext.takeTrue
26+
import com.dergoogler.mmrl.model.local.FeaturedManager
2527
import com.dergoogler.mmrl.ui.component.LabelItem
2628
import com.dergoogler.mmrl.ui.component.card.Card
2729
import com.dergoogler.mmrl.ui.component.text.TextRow
30+
import com.dergoogler.mmrl.ui.providable.LocalUserPreferences
2831
import com.dergoogler.mmrl.viewmodel.HomeViewModel
2932

3033
@Composable
3134
internal fun RootItem(
3235
developerMode: Boolean = false,
3336
viewModel: HomeViewModel,
3437
) {
38+
val userPreferences = LocalUserPreferences.current
3539
val platform = viewModel.platform
3640
val isAlive = viewModel.isProviderAlive
3741
val versionCode = viewModel.versionCode
3842

43+
val manager =
44+
FeaturedManager.managers.find { userPreferences.workingMode == it.workingMode }
45+
3946
Card(
4047
modifier = Modifier.padding(20.dp),
4148
color = MaterialTheme.colorScheme.secondaryContainer,
@@ -68,17 +75,7 @@ internal fun RootItem(
6875
Icon(
6976
modifier = Modifier.size(45.dp),
7077
painter = painterResource(
71-
id = if (isAlive) {
72-
when {
73-
platform.isMagisk -> R.drawable.magisk_logo
74-
platform.isKernelSU -> R.drawable.kernelsu_logo
75-
platform.isKernelSuNext -> R.drawable.kernelsu_next_logo
76-
platform.isAPatch -> R.drawable.brand_android
77-
else -> R.drawable.circle_check_filled
78-
}
79-
} else {
80-
R.drawable.alert_circle_filled
81-
}
78+
id = getManagerLogo(isAlive, manager)
8279
),
8380
contentDescription = null,
8481
tint = MaterialTheme.colorScheme.primary
@@ -161,4 +158,17 @@ internal fun RootItem(
161158
}
162159
}
163160
}
161+
}
162+
163+
private fun getManagerLogo(isAlive: Boolean, manager: FeaturedManager?): Int {
164+
if (!isAlive) {
165+
return R.drawable.alert_circle_filled
166+
}
167+
168+
169+
if (manager == null) {
170+
return R.drawable.circle_check_filled
171+
}
172+
173+
return manager.icon
164174
}

0 commit comments

Comments
 (0)