UI: update AppContent to pass in correct navigation callbacks

This commit is contained in:
Han Yin 2025-04-18 15:04:51 -07:00
parent 0d65c4b06b
commit 1d508f367e
1 changed files with 6 additions and 15 deletions

View File

@ -1,12 +1,7 @@
package com.example.llama.revamp package com.example.llama.revamp
import android.llama.cpp.InferenceEngine.State
import android.os.Bundle import android.os.Bundle
import androidx.activity.ComponentActivity import androidx.activity.ComponentActivity
import androidx.activity.OnBackPressedCallback
import androidx.activity.OnBackPressedDispatcher
import androidx.activity.compose.BackHandler
import androidx.activity.compose.LocalOnBackPressedDispatcherOwner
import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.compose.rememberLauncherForActivityResult
import androidx.activity.compose.setContent import androidx.activity.compose.setContent
import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.result.contract.ActivityResultContracts
@ -19,18 +14,13 @@ import androidx.compose.material3.SnackbarResult
import androidx.compose.material3.Surface import androidx.compose.material3.Surface
import androidx.compose.material3.rememberDrawerState import androidx.compose.material3.rememberDrawerState
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.collectAsState import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.derivedStateOf
import androidx.compose.runtime.getValue import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.hilt.navigation.compose.hiltViewModel import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.compose.LocalLifecycleOwner
import androidx.navigation.compose.composable import androidx.navigation.compose.composable
import androidx.navigation.compose.currentBackStackEntryAsState import androidx.navigation.compose.currentBackStackEntryAsState
import androidx.navigation.compose.rememberNavController import androidx.navigation.compose.rememberNavController
@ -135,7 +125,9 @@ fun AppContent(
ScaffoldConfig( ScaffoldConfig(
topBarConfig = TopBarConfig.Performance( topBarConfig = TopBarConfig.Performance(
title = "Load Model", title = "Load Model",
navigationIcon = NavigationIcon.Back { navigationActions.navigateUp() }, navigationIcon = NavigationIcon.Back {
benchmarkViewModel.onBackPressed { navigationActions.navigateUp() }
},
memoryMetrics = memoryUsage, memoryMetrics = memoryUsage,
temperatureInfo = null temperatureInfo = null
) )
@ -160,8 +152,7 @@ fun AppContent(
topBarConfig = TopBarConfig.Performance( topBarConfig = TopBarConfig.Performance(
title = "Chat", title = "Chat",
navigationIcon = NavigationIcon.Back { navigationIcon = NavigationIcon.Back {
// TODO-han.yin: uncomment after [ConversationViewModel] done conversationViewModel.onBackPressed { navigationActions.navigateUp() }
// conversationViewModel.onBackPressed()
}, },
memoryMetrics = memoryUsage, memoryMetrics = memoryUsage,
temperatureInfo = Pair(temperatureInfo, useFahrenheit) temperatureInfo = Pair(temperatureInfo, useFahrenheit)
@ -309,7 +300,7 @@ fun AppContent(
// Mode Selection Screen // Mode Selection Screen
composable(AppDestinations.MODEL_LOADING_ROUTE) { composable(AppDestinations.MODEL_LOADING_ROUTE) {
ModelLoadingScreen( ModelLoadingScreen(
engineState = engineState, onNavigateBack = { navigationActions.navigateUp() },
onBenchmarkSelected = { prepareJob -> onBenchmarkSelected = { prepareJob ->
// Wait for preparation to complete, then navigate if still active // Wait for preparation to complete, then navigate if still active
coroutineScope.launch { coroutineScope.launch {