Skip to content

Commit

Permalink
Make auth consumers fulfill the new finalizeLogin arg requirements
Browse files Browse the repository at this point in the history
They shouldn't pass in the whole Uri, just the query part.
  • Loading branch information
michpohl committed Nov 11, 2024
1 parent 1e3880c commit ac13415
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ class MainActivity : ComponentActivity() {
@Suppress("UnusedPrivateMember")
fun onRedirectUriReceived(uri: Uri) {
lifecycleScope.launch {
auth.finalizeLogin(uri.toString())
auth.finalizeLogin(requireNotNull(uri.query))
}.invokeOnCompletion {
if (navController.currentBackStackEntry.toString().contains("login")) {
navController.popBackStack()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -202,8 +202,10 @@ internal class MainActivityViewModel(context: Context) : ViewModel() {
abstract val cacheProviderLazy: Lazy<CacheProvider>
abstract val isOfflineMode: Boolean

@Suppress("LongMethod", "MaxLineLength")
override suspend operator fun invoke(state: MainActivityViewModelState): PlayerInitializing { // ktlint-disable max-line-length
@Suppress("LongMethod", "MaxLineLength", "ktlint:standard:max-line-length")
override suspend operator fun invoke(
state: MainActivityViewModelState,
): PlayerInitializing {
mainActivityViewModel.viewModelScope
.launch(Dispatchers.IO) {
val player = Player(
Expand Down Expand Up @@ -371,9 +373,8 @@ internal class MainActivityViewModel(context: Context) : ViewModel() {
}
}

class SetImmersiveAudio(
private val immersiveAudio: Boolean,
) : Impure<PlayerInitialized, PlayerInitialized>() {
class SetImmersiveAudio(private val immersiveAudio: Boolean) :
Impure<PlayerInitialized, PlayerInitialized>() {

override suspend operator fun invoke(state: PlayerInitialized): PlayerInitialized {
state.player.playbackEngine.immersiveAudio = immersiveAudio
Expand Down Expand Up @@ -434,7 +435,7 @@ internal class MainActivityViewModel(context: Context) : ViewModel() {
) : FinalizeLoginFlow(context, mainActivityViewModel) {
override suspend fun finalize() {
mainActivityViewModel.tidalAuth.auth.finalizeLogin(
loginResponseUri.toString()
requireNotNull(loginResponseUri.query),
)
}
}
Expand All @@ -454,23 +455,23 @@ internal class MainActivityViewModel(context: Context) : ViewModel() {
private val credentialsProvider: CredentialsProvider,
) : Impure<MainActivityViewModelState, MainActivityViewModelState>() {

@Suppress("MaxLineLength")
override suspend fun invoke(state: MainActivityViewModelState): MainActivityViewModelState { // ktlint-disable max-line-length
return if (state is PlayerInitialized) {
Release(state).run {
PlayerReleasing.FromLogOut(
snackbarMessage,
eventCollectionJob,
cacheProvider,
)
}
} else {
AwaitingLoginFlowChoice(
state.snackbarMessage,
credentialsProvider.isUserLoggedIn(),
viewModel.authLoginUri,
@Suppress("MaxLineLength", "ktlint:standard:max-line-length")
override suspend fun invoke(
state: MainActivityViewModelState,
): MainActivityViewModelState = if (state is PlayerInitialized) {
Release(state).run {
PlayerReleasing.FromLogOut(
snackbarMessage,
eventCollectionJob,
cacheProvider,
)
}
} else {
AwaitingLoginFlowChoice(
state.snackbarMessage,
credentialsProvider.isUserLoggedIn(),
viewModel.authLoginUri,
)
}
}
}
Expand Down

0 comments on commit ac13415

Please sign in to comment.