package Ġjp . w atan ave . github sample . ui . main Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġjp . w atan ave . github sample . App Ċ import Ġjp . w atan ave . github sample . R Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġkotlinx . coroutines . Global Scope Ċ import Ġkotlinx . coroutines . launch Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġ// Ġadapter ãģ¯ ãĥªãĤ¹ãĥĪ ãĥĩãĥ¼ãĤ¿ ãģ¨ ãĥªãĤ¹ãĥĪ ãĥĵ ãĥ¥ ãĥ¼ãģ® æ© ĭ æ¸ ¡ ãģĹ ãĤĴ ãģĻãĤĭ ãĤª ãĥĸãĤ¸ãĤ§ãĤ¯ãĥĪ ãģ§ãģĻ ĊĠĠĠ Ġprivate Ġval Ġadapter Ġ= ĠRepository ListAdapter () ĊĊĠĠĠ Ġ// Ġãģĵãģ® éĸ¢æķ° ãģ¯ ãĥªãĤ¹ãĥĪ ãĥĵ ãĥ¥ ãĥ¼ ( re cyclerView ) ãģ® è« ¸ ãĢ ħ ãģ® è¨Ńå®ļ ãģ§ãģĻ ĊĠĠĠ Ġprivate Ġfun Ġsetup RecyclerView () Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . re cyclerView . adapter Ġ= Ġthis . adapter ĊĠĠĠĠĠĠĠ Ġthis . re cyclerView . layout Manager Ġ= Ġandroidx . recyclerview . widget . Linear LayoutManager ( this ) ĊĠĠĠĠĠĠĠ Ġthis . re cyclerView . addItem Decoration ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroidx . recyclerview . widget . Divider Item Decoration ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġandroidx . recyclerview . widget . Divider Item Decoration . VERTICAL ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ// ĠTODO : Ġ[ 6 ] Ġ 2 ãģ§ å®ļç¾© ãģĹãģŁ ãĤ³ ãĥ¼ãĥ« ãĥĲ ãĥĥãĤ¯ ãĤĴ çĻ»éĮ² ãģĻãĤĭ ĊĠĠĠĠĠĠĠ Ġ// ĠãĤ³ ãĥ¼ãĥ« ãĥĲ ãĥĥãĤ¯ ãģ® ä¸Ń ãģ§ãģ¯ ãĢģ ãĥĢ ãĤ¤ ãĤ¢ ãĥŃãĤ° ãĤĴ åĩº ãģĻ ĊĠĠĠĠĠĠĠ Ġ/* Ġ ãģĵ ãĤĵ ãģª æĦŁ ãģĺ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠDetail Dialog Fragment . newInstance ( repository . name , Ġrepository . owner . login , Ġrepository . description , Ġrepository . owner . avatar Url ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . show ( this . support FragmentManager , ĠDetail Dialog Fragment :: class . simple Name ) ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġ çĶ» éĿ¢ ãģĮ ä½ľæĪĲ ãģķãĤĮãģŁ æĻĤ ãģ« ãĤ· ãĤ¹ãĥĨãĥł ãģĭãĤī åĳ¼ ãģ³ åĩº ãģķãĤĮãĤĭ ãĤ³ ãĥ¼ãĥ« ãĥĲ ãĥĥãĤ¯ ãģ§ãģĻ ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġthis . set ContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ Ġthis . setup RecyclerView () ĊĊĠĠĠĠĠĠĠ Ġ// ĠTODO : Ġ[ 1 ] Ġæ ¤ ľç´¢ ãĥľ ãĤ¿ ãĥ³ ãģĮ ãĤ¿ ãĥĥãĥĹ ãģķãĤĮãģŁ æĻĤ ãģ® åĭķ ä½ľ ãĤĴ å®Ł è£ħ ãģĻãĤĭ ĊĠĠĠĠĠĠĠ Ġ/* ĊĠĠĠĠĠĠĠ Ġãĥ ľ ãĤ¿ ãĥ³ ãģ«ãģ¯ Ġthis . search Button Ġãģ§ ãĤ¢ãĤ¯ãĤ»ãĤ¹ åı¯èĥ½ ãĢĤ ĊĠĠĠĠĠĠĠ ĠãĤ ¿ ãĥĥãĥĹ ãģķãĤĮãģŁ æĻĤ ãģ® åĭķ ä½ľ ãģ¯ ãĥľ ãĤ¿ ãĥ³ ãģ® setOnClickListener éĸ¢æķ° ãģ§ è¨Ńå®ļ ãģĻãĤĭ ĊĠĠĠĠĠĠĠ Ġãĥ ľ ãĤ¿ ãĥ³ ãģĮ ãĤ¿ ãĥĥãĥĹ ãģķãĤĮãģŁ ãĤī search Repository ãĥ¡ ãĤ½ãĥĥãĥī ãĤĴ åĳ¼ ãģ³ ãģ¾ ãģĹ ãĤĩ ãģĨ ĊĠĠĠĠĠĠĠ Ġæ ¤ ľç´¢ æĸĩåŃĹåĪĹ ãģ¯ this . edit Text ãģĭãĤī åıĸå¾Ĺ ãģĹãģ¾ãģĻ ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsearch Repository ( search Word : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġæ ¤ ľç´¢ ãģĮ éĸĭå§ĭ ãģĻãĤĭ åīį ãģ« ãĥĹãĥŃ ãĤ° ãĥ¬ ãĤ¹ ãĤĴ ãģı ãĤĭ ãģı ãĤĭ åĽŀ ãģĻ ĊĠĠĠĠĠĠĠ Ġre cyclerView . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠ ĠprogressBar . visibility Ġ= ĠView . VISIBLE ĊĊĠĠĠĠĠĠĠ Ġ// ĠKotlin Ġcoroutine ãĤĴä½¿ ãģ£ãģ¦ ãĥį ãĥĥãĥĪ ãĥ¯ãĥ¼ãĤ¯ éĢļä¿¡ ä¸Ń ãģ« ãĤ¹ ãĥ¬ ãĥĥãĥī ãĤĴ ãĥĸ ãĥŃ ãĥĥãĤ¯ ãģķ ãģĽ ãģªãģĦ ãĤĪãģĨãģ« ãģĻãĤĭ ĊĠĠĠĠĠĠĠ ĠGlobal Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġapi Ġ= ĠApp . instance . api ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTODO : Ġ[ 2 ] Ġæ ¤ ľç´¢ ãĥľ ãĤ¿ ãĥ³ ãģĮ ãĤ¿ ãĥĥãĥĹ ãģķãĤĮãģŁ æĻĤ ãģ® åĭķ ä½ľ ãĤĴ å®Ł è£ħ ãģĻãĤĭ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApi ãģ® search ãĥ¡ ãĤ½ãĥĥãĥī ãģ§ github ãĥª ãĥĿ ãĤ¸ ãĥĪ ãĥª ãĤĴ æ¤ ľç´¢ ãģĻãĤĭ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġæ ¤ ľç´¢ çµĲæŀľ ãĤĴ adapter ãģ« æ¸ ¡ ãģĹãģ¾ ãģĹ ãĤĩ ãģĨ ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrun On Ui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . refresh Data ( emptyList ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTODO : Ġ[ 3 ] Ġæ ¤ ľç´¢ ãģĮ å®Į äºĨ ãģĹãģŁ ãĤī progress Bar ãĤĴ éļ ł ãģĹãģ¦ re cyclerView ãĤĴ è¡¨ç¤º ãģĹãģ¾ ãģĹ ãĤĩ ãģĨ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }