package Ġcom . iteration . k orean learning pal . ui . learning Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . iteration . k orean learning pal . R Ċ import Ġcom . iteration . k orean learning pal . module . Word Ċ import Ġcom . iteration . k orean learning pal . ui . testing . Testing Card Stack Adapter Ċ import Ġcom . y uy aka ido . android . card stack view .* Ċ Ċ class ĠLearning Fragment Ġ: ĠFragment (), ĠCard Stack Listener Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġlearning ViewModel : ĠLearning ViewModel ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcard stack Learning Ġ: ĠCard Stack View ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġmanager Ġ: ĠCard Stack LayoutManager ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ? Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġlearning ViewModel Ġ= ĠViewModel Provider ( this ). get ( Learning ViewModel :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġroot Ġ= Ġinit Views ( in flater , Ġcontainer ) ĊĠĠĠĠĠĠĠ Ġset Observer s () ĊĠĠĠĠĠĠĠ Ġreturn Ġroot ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Observer s () Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġlearning ViewModel . text . observe ( view Lifecycle Owner , ĠObserver Ġ{ ĠtextView . text Ġ= Ġit Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Views ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġroot Ġ= Ġinflater . inflate ( R . layout . fragment _ learning , Ġcontainer , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġval Ġlist Words Ġ= ĠlistOf < Word >( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWord (" ìĤ¬ ëŀ ĳ íķ´ ", Ġ" Je Ġvous Ġa ime "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWord (" KR Ġ 2 ", Ġ" FR Ġ 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWord (" KR Ġ 3 ", Ġ" FR Ġ 3 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWord (" KR Ġ 4 ", Ġ" FR Ġ 4 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWord (" KR Ġ 5 ", Ġ" FR Ġ 5 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWord (" KR Ġ 6 ", Ġ" FR Ġ 6 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWord (" KR Ġ 7 ", Ġ" FR Ġ 7 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWord (" KR Ġ 8 ", Ġ" FR Ġ 8 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWord (" KR Ġ 9 ", Ġ" FR Ġ 9 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWord (" KR Ġ 1 0 ", Ġ" FR Ġ 1 0 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWord (" KR Ġ 1 1 ", Ġ" FR Ġ 1 1 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWord (" KR Ġ 1 2 ", Ġ" FR Ġ 1 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWord (" KR Ġ 1 3 ", Ġ" FR Ġ 1 3 ") ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġcard stack Learning Ġ= Ġroot . findViewById ( R . id . card stack _ learning ) ĊĠĠĠĠĠĠĠ Ġcard stack Learning . adapter Ġ= ĠTesting Card Stack Adapter ( list Words , Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġmanager Ġ= ĠCard Stack LayoutManager ( context , Ġthis ) ĊĠĠĠĠĠĠĠ Ġmanager . set Directions ( Direction . HORIZONTAL ) ĊĠĠĠĠĠĠĠ Ġmanager . set Stack From ( Stack From . Top ) ĊĠĠĠĠĠĠĠ Ġmanager . setVisible Count ( 3 ) ĊĠĠĠĠĠĠĠ Ġmanager . set Translation Interval ( 4 . 0 f ) ĊĠĠĠĠĠĠĠ Ġcard stack Learning . layout Manager Ġ= Ġmanager ĊĊĊĠĠĠĠĠĠĠ Ġreturn Ġroot ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Card Dis appe ared ( view : ĠView ?, Ġposition : ĠInt ) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Card Dragging ( direction : ĠDirection ?, Ġratio : ĠFloat ) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Card Sw ip ed ( direction : ĠDirection ?) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Card Canceled () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Card Ap pe ared ( view : ĠView ?, Ġposition : ĠInt ) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Card Rew ound () Ġ{ ĊĠĠĠ Ġ} Ċ }