Skip to content

Commit

Permalink
Fix opening Settings
Browse files Browse the repository at this point in the history
  • Loading branch information
chrisbanes committed Mar 25, 2021
1 parent c7cfe70 commit 0bbe94b
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 11 deletions.
7 changes: 4 additions & 3 deletions app/src/main/java/app/tivi/home/Home.kt
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,9 @@ import app.tivi.showdetails.details.ShowDetails
import com.google.accompanist.insets.navigationBarsPadding

@Composable
internal fun Home() {
internal fun Home(
onOpenSettings: () -> Unit,
) {
Column {
var currentSelectedItem by remember { mutableStateOf(Screen.Discover) }
val navController = rememberNavController()
Expand Down Expand Up @@ -104,9 +106,8 @@ internal fun Home() {
composable(Screen.Account.route) {
// This should really be a dialog, but we're waiting on:
// https://issuetracker.google.com/179608120
AccountUi(navController)
AccountUi(navController, onOpenSettings)
}
// TODO: Settings
}
}

Expand Down
8 changes: 7 additions & 1 deletion app/src/main/java/app/tivi/home/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

package app.tivi.home

import android.content.Intent
import android.os.Bundle
import androidx.activity.compose.setContent
import androidx.compose.runtime.CompositionLocalProvider
Expand All @@ -26,6 +27,7 @@ import app.tivi.common.compose.LocalTiviDateFormatter
import app.tivi.common.compose.LocalTiviTextCreator
import app.tivi.common.compose.shouldUseDarkColors
import app.tivi.common.compose.theme.TiviTheme
import app.tivi.settings.SettingsActivity
import app.tivi.settings.TiviPreferences
import app.tivi.util.TiviDateFormatter
import app.tivi.util.TiviTextCreator
Expand Down Expand Up @@ -55,10 +57,14 @@ class MainActivity : TiviActivity() {
) {
ProvideWindowInsets(consumeWindowInsets = false) {
TiviTheme(useDarkColors = preferences.shouldUseDarkColors()) {
Home()
Home(onOpenSettings = ::openSettings)
}
}
}
}
}

private fun openSettings() {
startActivity(Intent(this, SettingsActivity::class.java))
}
}
16 changes: 9 additions & 7 deletions ui-account/src/main/java/app/tivi/account/AccountUi.kt
Original file line number Diff line number Diff line change
Expand Up @@ -65,17 +65,22 @@ import org.threeten.bp.OffsetDateTime
import org.threeten.bp.ZoneOffset

@Composable
fun AccountUi(navController: NavController) {
fun AccountUi(
navController: NavController,
onOpenSettings: () -> Unit,
) {
AccountUi(
navController = navController,
viewModel = hiltNavGraphViewModel()
viewModel = hiltNavGraphViewModel(),
onOpenSettings = onOpenSettings,
)
}

@Composable
internal fun AccountUi(
navController: NavController,
viewModel: AccountUiViewModel = hiltNavGraphViewModel(),
viewModel: AccountUiViewModel,
onOpenSettings: () -> Unit,
) {
val viewState by viewModel.state.collectAsState()

Expand All @@ -88,10 +93,7 @@ internal fun AccountUi(
AccountUi(viewState) { action ->
when (action) {
is AccountUiAction.Close -> navController.popBackStack()
is AccountUiAction.OpenSettings -> {
// TODO: sort out Settings navigation (Activity)
// view.findNavController().navigateToNavDestination(R.id.navigation_settings)
}
is AccountUiAction.OpenSettings -> onOpenSettings()
is AccountUiAction.Login -> loginLauncher.launch(Unit)
is AccountUiAction.Logout -> viewModel.logout()
}
Expand Down

0 comments on commit 0bbe94b

Please sign in to comment.