package Ġstan . android demo . project . M ito Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . view . Gravity Compat Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . widget . Toast Ċ import Ġkotlinx . android . synt hetic . main . activity _ mit o .* Ċ import Ġstan . android demo . Model . Result Info Ċ import Ġstan . android demo . Page Adapter Ċ import Ġstan . android demo . R Ċ import Ġstan . android demo . project . M ito . Model . Image Cat Info Ċ import Ġstan . android demo . project . M ito . Model . Image Set Info Ċ import Ġstan . android demo . project . M ito . Model . Resolution Ċ Ċ class ĠM ito Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġm Adapter : Page Adapter ĊĠĠĠ Ġvar Ġcurrent Select Cat Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġimage Cat : Image Cat Info ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ mit o ) ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĠĠĠĠĠĠĠ Ġval Ġaction Bar Ġ= Ġsupport ActionBar ĊĠĠĠĠĠĠĠ Ġif Ġ( action Bar Ġ!= Ġnull ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction Bar . set Display Home As Up Enabled ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction Bar . set Home As Up Indicator ( R . drawable . ic _ menu _ black _ 2 4 dp ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠ Ġ// Ġ åħ¨éĥ¨ ĉ ç¾İ å¥³ ĉ æĢ§ æĦŁ ĉ æĺİ æĺŁ ĉ é£İ åħī ĉ åį¡ éĢļ ĉ åĪĽ æĦı ĉ æ± ½ è½¦ ĉ æ¸¸æĪı ĉ å»º çŃ ĳ ĉ å½± è§Ĩ ĉ æ¤ į çī© ĉ åĬ¨ çī© ĉ èĬĤ åº Ĩ ĉ åı¯ çĪ± ĉ éĿĻ çī© ĉ ä½ĵ èĤ² ĉ æĹ¥ åİĨ ĉ åĶ¯ ç¾İ ĉ åħ¶å®ĥ ĉ ç³»ç»Ł ĉ åĬ¨ æ¼ « ĉ éĿŀ ä¸» æµģ ĉ å°ı æ¸ħ æĸ° ĊĠĠĠĠĠĠĠ Ġval Ġtitles Ġ= Ġarray ListOf (" åħ¨éĥ¨ ", ĉ " ç¾İ å¥³ "," æĢ§ æĦŁ "," æĺİ æĺŁ "," é£İ åħī "," åį¡ éĢļ "," åĪĽ æĦı "," æ± ½ è½¦ "," æ¸¸æĪı "," å»º çŃ ĳ "," å½± è§Ĩ "," æ¤ į çī© "," åĬ¨ çī© ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" èĬĤ åº Ĩ "," åı¯ çĪ± "," éĿĻ çī© "," ä½ĵ èĤ² "," æĹ¥ åİĨ "," åĶ¯ ç¾İ "," åħ¶å®ĥ "," ç³»ç»Ł "," åĬ¨ æ¼ « "," éĿŀ ä¸» æµģ "," å°ı æ¸ħ æĸ° ") ĊĠĠĠĠĠĠĠ Ġval Ġfragments Ġ= Ġarray ListOf < Image Fragment >() ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġtitles . size ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġf ra Ġ= ĠImage Fragment . create Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . putString (" cat ", titles [ i ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġf ra . arguments Ġ= Ġbundle ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragments . add ( f ra ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm Adapter Ġ= ĠPage Adapter ( support FragmentManager , fragments , titles ) ĊĠĠĠĠĠĠĠ Ġview Pager . adapter Ġ= Ġm Adapter ĊĠĠĠĠĠĠĠ Ġtab Layout . setup With ViewPager ( view Pager ) ĊĊĊĊĠĠĠĠĠĠĠ Ġnavigation _ view . set Navigation ItemSelected Listener Ġ{ Ġ// ç»Ħ è¿ĻäºĽ menu æ·»åĬł äºĭä»¶ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġit . itemId ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen ( id ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ computer _ mit o ->{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Select Cat Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Adapter . mF rag ments . map Ġ{ Ġ( it Ġas ĠImage Fragment ). refresh Cat ( 0 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ tablet _ mit o ->{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Select Cat Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Adapter . mF rag ments . map Ġ{ Ġ( it Ġas ĠImage Fragment ). refresh Cat ( 1 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ phone _ mit o ->{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Select Cat Ġ= Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Adapter . mF rag ments . map Ġ{ Ġ( it Ġas ĠImage Fragment ). refresh Cat ( 2 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ essential _ mit o ->{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Select Cat Ġ= Ġ 3 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Adapter . mF rag ments . map Ġ{ Ġ( it Ġas ĠImage Fragment ). refresh Cat ( 3 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ my _ collect ->{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , Collect Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( intent , 0 x 0 0 0 0 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ about _ mit o ->{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , About M ito Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( intent , 0 x 0 0 0 0 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ search _ mit o ->{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , Image Search Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( intent , 0 x 0 0 0 0 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ dynamic _ mit o ->{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , Dynamic M ito Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( intent , 0 x 0 0 0 0 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ subject _ mit o ->{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , Hot M ito Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( intent , 0 x 0 0 0 0 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Adapter . mF rag ments . map Ġ{ Ġ( it Ġas ĠImage Fragment ). current Resolution Ġ= ĠResolution . whole Resolution Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgetImage Set () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer _ layout _ fixed . close Draw ers () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ set Navigation ItemSelected Listener Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġnavigation _ view . menu . getItem ( 0 ). isChecked Ġ= Ġtrue // é»ĺè®¤ éĢī ä¸Ń ç¬¬ä¸Ģ é¡¹ ĊĊĊĠĠĠĠĠĠĠ Ġfloat _ button _ filter . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( image Cat Ġ== Ġnull ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ setOnClickListener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfrag Ġ= Filter M ito Dialog Fragment . create ( image Cat !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrag . is Cancel able Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrag . show ( support FragmentManager ," filter Fragment ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrag . resolution B Lock Ġ= Ġ{ resolution : Resolution Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Adapter . mF rag ments . map Ġ{ Ġ( it Ġas ĠImage Fragment ). refresh With Resolution ( resolution ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfrag . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠgetImage Set () ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġ ĠgetImage Set (){ ĊĠĠĠĠĠĠĠ ĠImage Cat Info . image C ats ( current Select Cat ," åħ¨éĥ¨ "," åħ¨éĥ¨ ") Ġ{ Ġv Ġ: ĠResult Info Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrun On Ui Thread Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( v . code Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , v . message , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ run On Ui Thread ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage Cat Ġ= Ġv . data Ġas ĠImage Cat Info ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen ( item !!. itemId ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . id . home ->{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer _ layout _ fixed . open Drawer ( Gravity Compat . START ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ä¸į å¯¹ ï¼Į ä¸įæĺ¯ åľ¨ è¿ĻéĩĮ è§¦åıĳ çļĦ ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠ Ġnavigation _ view . menu . getItem ( current Select Cat ). isChecked Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( drawer _ layout _ fixed . is Drawer Open ( Gravity Compat . START )){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer _ layout _ fixed . close Drawer ( Gravity Compat . START ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Back Pressed () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ } Ċ