diff --git a/app/src/main/java/eu/darken/sdmse/setup/SetupViewModel.kt b/app/src/main/java/eu/darken/sdmse/setup/SetupViewModel.kt
index 25a718bf1..661d9c5f0 100644
--- a/app/src/main/java/eu/darken/sdmse/setup/SetupViewModel.kt
+++ b/app/src/main/java/eu/darken/sdmse/setup/SetupViewModel.kt
@@ -232,6 +232,7 @@ class SetupViewModel @Inject constructor(
SAFSetupCardVH.Item::class,
UsageStatsSetupCardVH.Item::class,
AutomationSetupCardVH.Item::class,
+ ShizukuSetupCardVH.Item::class,
RootSetupCardVH.Item::class,
)
private val TAG = logTag("Setup", "ViewModel")
diff --git a/app/src/main/java/eu/darken/sdmse/setup/shizuku/ShizukuSetupCardVH.kt b/app/src/main/java/eu/darken/sdmse/setup/shizuku/ShizukuSetupCardVH.kt
index 88eda2361..fdbc5a80b 100644
--- a/app/src/main/java/eu/darken/sdmse/setup/shizuku/ShizukuSetupCardVH.kt
+++ b/app/src/main/java/eu/darken/sdmse/setup/shizuku/ShizukuSetupCardVH.kt
@@ -34,10 +34,9 @@ class ShizukuSetupCardVH(parent: ViewGroup) :
item.onToggleUseShizuku(selection)
}
}
- allowShizukuOptionsEnable.isEnabled = item.state.isInstalled
shizukuState.apply {
- isVisible = item.state.isInstalled && item.state.isEnabled == true
+ isVisible = item.state.isEnabled == true
text = getString(
if (item.state.ourService) R.string.setup_shizuku_state_ready_label
else R.string.setup_shizuku_state_waiting_label
diff --git a/app/src/main/java/eu/darken/sdmse/setup/shizuku/ShizukuSetupModule.kt b/app/src/main/java/eu/darken/sdmse/setup/shizuku/ShizukuSetupModule.kt
index 9af7b6679..f442b5503 100644
--- a/app/src/main/java/eu/darken/sdmse/setup/shizuku/ShizukuSetupModule.kt
+++ b/app/src/main/java/eu/darken/sdmse/setup/shizuku/ShizukuSetupModule.kt
@@ -47,11 +47,10 @@ class ShizukuSetupModule @Inject constructor(
val baseState = State(
isEnabled = isEnabled,
- isInstalled = shizukuManager.isInstalled(),
isCompatible = shizukuManager.isCompatible(),
)
- if (isEnabled != true || !baseState.isInstalled) return@combine flowOf(baseState)
+ if (isEnabled != true) return@combine flowOf(baseState)
combine(
shizukuManager.shizukuBinder.onStart { emit(null) },
@@ -100,14 +99,13 @@ class ShizukuSetupModule @Inject constructor(
data class State(
val isEnabled: Boolean?,
- val isInstalled: Boolean,
val isCompatible: Boolean = false,
val basicService: Boolean = false,
val ourService: Boolean = false,
) : SetupModule.State {
override val isComplete: Boolean =
- isEnabled == false || !isCompatible || !isInstalled || (ourService && isEnabled == true)
+ isEnabled == false || !isCompatible || (ourService && isEnabled == true)
}
@Module @InstallIn(SingletonComponent::class)
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 0d756d435..a8dc77a5f 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -127,7 +127,7 @@
This setting has no effect if the Shizuku app is not set up on your device.
Shizuku link is ready.
Waiting for link with Shizuku.
- Use Shizuku
+ Use Shizuku if available
Don\'t use Shizuku
You can find the setup screen again via the settings menu.