package Ġcom . al var om r . mar vel . ui . list Ċ Ċ import Ġandroid . widget . Toast Ċ import Ġandroid . widget . Toast . LENGTH _ SHORT Ċ import Ġandroidx . compose . foundation . click able Ċ import Ġandroidx . compose . foundation . layout .* Ċ import Ġandroidx . compose . foundation . lazy . Lazy Column Ċ import Ġandroidx . compose . foundation . lazy . items Indexed Ċ import Ġandroidx . compose . foundation . shape . Corner Size Ċ import Ġandroidx . compose . foundation . shape . Rounded Corner Shape Ċ import Ġandroidx . compose . material . Card Ċ import Ġandroidx . compose . material . Circular Progress Indicator Ċ import Ġandroidx . compose . material . Material Theme Ċ import Ġandroidx . compose . material . Text Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . La unched Effect Ċ import Ġandroidx . compose . runtime . collect As State Ċ import Ġandroidx . compose . ui . Alignment Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . graphics . Color Ċ import Ġandroidx . compose . ui . platform . Local Context Ċ import Ġandroidx . compose . ui . res . string Resource Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġandroidx . h ilt . navigation . compose . h ilt ViewModel Ċ import Ġcom . al var om r . mar vel . R Ċ import Ġcom . al var om r . mar vel . model . Mar vel Character Ċ import Ġcom . al var om r . mar vel . ui . common . Mar vel Character Image Ċ import Ġcom . al var om r . mar vel . ui . nav . Destination Keys Ċ import Ġcom . al var om r . mar vel . ui . theme . Pur ple 7 0 0 Ċ import Ġcom . al var om r . mar vel . ui . theme . Te al 2 0 0 Ċ import Ġkotlinx . coroutines . flow . collect Ċ import Ġkotlinx . coroutines . flow . on Each Ċ Ċ @ Composable Ċ fun ĠMar vel Character ListView ( ĊĠĠĠ Ġnavigate To Detail : Ġ( mar vel Character : ĠMar vel Character ) Ġ-> ĠUnit , ĊĠĠĠ Ġmar vel Character List ViewModel : ĠMar vel Character List ViewModel Ġ= Ġh ilt ViewModel (), Ċ ) Ġ{ ĊĠĠĠ Ġval Ġcontext Ġ= ĠLocal Context . current ĊĊĠĠĠ Ġval Ġview State Ġ= Ġmar vel Character List ViewModel . view State . collect As State () ĊĊĠĠĠ Ġval Ġon Mar vel Character Selected Ġ= Ġ{ Ġmar vel Character : ĠMar vel Character Ġ-> ĊĠĠĠĠĠĠĠ Ġmar vel Character List ViewModel . on Action ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMar vel Character List UI Action . Mar vel Character Selected ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmar vel Character ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ ĠLa unched Effect ( Destination Keys . Mar vel Character Detail ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmar vel Character List ViewModel . one Shot Events ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. on Each Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠMar vel Character List One Shot Event . Navigate To Mar vel Character Detail Ġ-> Ġnavigate To Detail ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . mar vel Character ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMar vel Character List One Shot Event . Error . Mar vel Character List Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , ĠR . string . generic _ error , ĠLEN GTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. collect () ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġvalue Ġ= Ġview State . value ĊĠĠĠ Ġif Ġ( value . loading ) Ġ{ ĊĠĠĠĠĠĠĠ ĠBox ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Alignment Ġ= ĠAlignment . Center , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . fill MaxSize () ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCircular Progress Indicator () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġlist Ġ= Ġvalue . view State . mar vel Character List ĊĠĠĠ ĠLazy Column ( content Padding Ġ= ĠPadding Values ( horizontal Ġ= Ġ 1 6 . dp , Ġvertical Ġ= Ġ 8 . dp )) Ġ{ ĊĠĠĠĠĠĠĠ Ġitems Indexed ( list ) Ġ{ Ġi , Ġitem Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( i Ġ>= Ġlist . last Index ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmar vel Character List ViewModel . on Action ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMar vel Character List UI Action . List Sc rolled ToEnd Position ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMar vel Character Row ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmar vel Character Ġ= Ġitem , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate To Detail Ġ= Ġon Mar vel Character Selected ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ fun ĠMar vel Character Row ( ĊĠĠĠ Ġmar vel Character : ĠMar vel Character , ĊĠĠĠ Ġnavigate To Detail : Ġ( Mar vel Character ) Ġ-> ĠUnit , Ċ ) Ġ{ ĊĠĠĠ ĠCard ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( horizontal Ġ= Ġ 8 . dp , Ġvertical Ġ= Ġ 8 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Max Width (), ĊĠĠĠĠĠĠĠ Ġelevation Ġ= Ġ 2 . dp , ĊĠĠĠĠĠĠĠ ĠbackgroundColor Ġ= ĠColor . White , ĊĠĠĠĠĠĠĠ Ġshape Ġ= ĠRo unded Corner Shape ( corner Ġ= ĠCor ner Size ( 1 6 . dp )) ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠRow ( modifier Ġ= ĠModifier . click able Ġ{ Ġnavigate To Detail ( mar vel Character ) Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMar vel Character Image ( mar vel Character Ġ= Ġmar vel Character ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( 1 6 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Max Width () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. align ( Alignment . Center Vert ically ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġmar vel Character . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠMaterial Theme . typography . h 6 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= ĠPur ple 7 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġstring Resource ( id Ġ= ĠR . string . view _ detail ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠMaterial Theme . typography . caption , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= ĠTeal 2 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }