Skip to content

Commit

Permalink
feat(Installer): Temporarily use DEFAULT if SHIZUKU permissions are n…
Browse files Browse the repository at this point in the history
…ot granted
  • Loading branch information
Ushie committed Jul 6, 2024
1 parent 8cbe4ca commit 93b3b5d
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,27 +6,17 @@ import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.compose.animation.ExperimentalAnimationApi
import androidx.core.app.ActivityCompat
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
import androidx.lifecycle.lifecycleScope
import cafe.adriel.voyager.navigator.Navigator
import cafe.adriel.voyager.transitions.SlideTransition
import dev.beefers.vendetta.manager.domain.manager.InstallMethod
import dev.beefers.vendetta.manager.domain.manager.PreferenceManager
import dev.beefers.vendetta.manager.installer.shizuku.ShizukuPermissions
import dev.beefers.vendetta.manager.ui.screen.home.HomeScreen
import dev.beefers.vendetta.manager.ui.screen.installer.InstallerScreen
import dev.beefers.vendetta.manager.ui.theme.VendettaManagerTheme
import dev.beefers.vendetta.manager.utils.DiscordVersion
import dev.beefers.vendetta.manager.utils.Intents
import kotlinx.coroutines.launch
import org.koin.android.ext.android.inject

class MainActivity : ComponentActivity() {

private val preferences: PreferenceManager by inject()

override fun onCreate(savedInstanceState: Bundle?) {
installSplashScreen()
enableEdgeToEdge()
Expand All @@ -41,14 +31,6 @@ class MainActivity : ComponentActivity() {
)
}

if (preferences.installMethod == InstallMethod.SHIZUKU) {
lifecycleScope.launch {
if (!ShizukuPermissions.waitShizukuPermissions()) {
preferences.installMethod = InstallMethod.DEFAULT
}
}
}

val screen = if (intent.action == Intents.Actions.INSTALL && version != null) {
InstallerScreen(DiscordVersion.fromVersionCode(version)!!)
} else {
Expand All @@ -63,5 +45,4 @@ class MainActivity : ComponentActivity() {
}
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import dev.beefers.vendetta.manager.domain.repository.RestRepository
import dev.beefers.vendetta.manager.installer.Installer
import dev.beefers.vendetta.manager.installer.session.SessionInstaller
import dev.beefers.vendetta.manager.installer.shizuku.ShizukuInstaller
import dev.beefers.vendetta.manager.installer.shizuku.ShizukuPermissions
import dev.beefers.vendetta.manager.network.dto.Release
import dev.beefers.vendetta.manager.network.utils.CommitsPagingSource
import dev.beefers.vendetta.manager.network.utils.dataOrNull
Expand Down Expand Up @@ -129,11 +130,19 @@ class HomeViewModel(
downloadManager.downloadUpdate(update)
isUpdating = false

val installer: Installer = when (prefs.installMethod) {
val installMethod = if (prefs.installMethod == InstallMethod.SHIZUKU && !ShizukuPermissions.waitShizukuPermissions()) {
// Temporarily use DEFAULT if SHIZUKU permissions are not granted
InstallMethod.DEFAULT
} else {
prefs.installMethod
}

val installer: Installer = when (installMethod) {
InstallMethod.DEFAULT -> SessionInstaller(context)
InstallMethod.SHIZUKU -> ShizukuInstaller(context)
}


installer.installApks(silent = !isMiui, update)
}
}
Expand Down

0 comments on commit 93b3b5d

Please sign in to comment.