@@ -30,9 +30,12 @@ import com.github.capntrips.kernelflasher.ui.screens.error.ErrorScreen
3030import com.github.capntrips.kernelflasher.ui.screens.main.MainContent
3131import com.github.capntrips.kernelflasher.ui.screens.main.MainViewModel
3232import com.github.capntrips.kernelflasher.ui.screens.reboot.RebootContent
33- import com.github.capntrips.kernelflasher.ui.screens.reboot.RebootViewModel
3433import com.github.capntrips.kernelflasher.ui.screens.slot.SlotContent
3534import com.github.capntrips.kernelflasher.ui.screens.slot.SlotFlashContent
35+ import com.github.capntrips.kernelflasher.ui.screens.updates.UpdatesAddContent
36+ import com.github.capntrips.kernelflasher.ui.screens.updates.UpdatesChangelogContent
37+ import com.github.capntrips.kernelflasher.ui.screens.updates.UpdatesContent
38+ import com.github.capntrips.kernelflasher.ui.screens.updates.UpdatesViewContent
3639import com.github.capntrips.kernelflasher.ui.theme.KernelFlasherTheme
3740import com.google.accompanist.navigation.animation.AnimatedNavHost
3841import com.google.accompanist.navigation.animation.composable
@@ -48,6 +51,7 @@ import java.io.File
4851@ExperimentalAnimationApi
4952class MainActivity : ComponentActivity () {
5053 companion object {
54+ const val TAG : String = " MainActivity"
5155 init {
5256 Shell .setDefaultBuilder(Shell .Builder .create().setFlags(Shell .FLAG_MOUNT_MASTER ))
5357 }
@@ -145,7 +149,7 @@ class MainActivity : ComponentActivity() {
145149 copyAsset(" lptools_static" )
146150 copyAsset(" httools_static" )
147151 } catch (e: Exception ) {
148- Log .e(RebootViewModel . TAG , e.message, e)
152+ Log .e(TAG , e.message, e)
149153 setContent {
150154 KernelFlasherTheme {
151155 ErrorScreen (e.message!! )
@@ -167,6 +171,7 @@ class MainActivity : ComponentActivity() {
167171 val slotViewModelA = mainViewModel.slotA
168172 val slotViewModelB = mainViewModel.slotB
169173 val backupsViewModel = mainViewModel.backups
174+ val updatesViewModel = mainViewModel.updates
170175 val rebootViewModel = mainViewModel.reboot
171176 BackHandler (enabled = mainViewModel.isRefreshing, onBack = {})
172177 AnimatedNavHost (navController = navController, startDestination = " main" ) {
@@ -234,6 +239,37 @@ class MainActivity : ComponentActivity() {
234239 }
235240 }
236241 }
242+ composable(" updates" ) {
243+ updatesViewModel.clearCurrent()
244+ RefreshableScreen (mainViewModel, navController) {
245+ UpdatesContent (updatesViewModel, navController)
246+ }
247+ }
248+ composable(" updates/add" ) {
249+ RefreshableScreen (mainViewModel, navController) {
250+ UpdatesAddContent (updatesViewModel, navController)
251+ }
252+ }
253+ composable(" updates/view/{updateId}" ) { backStackEntry ->
254+ val updateId = backStackEntry.arguments?.getString(" updateId" )!! .toInt()
255+ val currentUpdate = updatesViewModel.updates.firstOrNull { it.id == updateId }
256+ updatesViewModel.currentUpdate = currentUpdate
257+ if (updatesViewModel.currentUpdate != null ) {
258+ RefreshableScreen (mainViewModel, navController) {
259+ UpdatesViewContent (updatesViewModel, navController)
260+ }
261+ }
262+ }
263+ composable(" updates/view/{updateId}/changelog" ) { backStackEntry ->
264+ val updateId = backStackEntry.arguments?.getString(" updateId" )!! .toInt()
265+ val currentUpdate = updatesViewModel.updates.firstOrNull { it.id == updateId }
266+ updatesViewModel.currentUpdate = currentUpdate
267+ if (updatesViewModel.currentUpdate != null ) {
268+ RefreshableScreen (mainViewModel, navController) {
269+ UpdatesChangelogContent (updatesViewModel, navController)
270+ }
271+ }
272+ }
237273 composable(" reboot" ) {
238274 RefreshableScreen (mainViewModel, navController) {
239275 RebootContent (rebootViewModel, navController)
0 commit comments