package Ġcom . computer . inu . sq k aka otal k . Fragment Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . support . v 7 . widget . helper . Item Touch Helper Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . computer . inu . sq k aka otal k .* Ċ import Ġcom . computer . inu . sq k aka otal k . Adapter . Birth day Friend List RecyclerView Adapter Ċ import Ġcom . computer . inu . sq k aka otal k . Adapter . Em ot icon Shop RecyclerView Adapter Ċ import Ġcom . computer . inu . sq k aka otal k . Adapter . Favorite Friend List RecyclerView Adapter Ċ import Ġcom . computer . inu . sq k aka otal k . Adapter . Friend List RecyclerView Adapter Ċ import Ġcom . computer . inu . sq k aka otal k . Data .* Ċ import Ġcom . computer . inu . sq k aka otal k . Main . MainActivity Ċ import Ġcom . computer . inu . sq k aka otal k . delete . Delete Friend Info Response Ċ import Ġcom . computer . inu . sq k aka otal k . get .* Ċ import Ġcom . computer . inu . sq k aka otal k . network . Application Controller Ċ import Ġcom . computer . inu . sq k aka otal k . network . Network Service Ċ import Ġcom . computer . inu . sq k aka otal k . network . Sq Network Service Ċ import Ġcom . computer . inu . sq k aka otal k . post . Post Chat Response Ċ import Ġcom . computer . inu . sq k aka otal k . post . Post Login Response Ċ import Ġcom . google . gson . JsonObject Ċ import Ġcom . google . gson . Json Parser Ċ import Ġkotlinx . android . synt hetic . main . activity _ em ot icon _ shop .* Ċ import Ġkotlinx . android . synt hetic . main . activity _ friend _ list _ fragment .* Ċ import Ġkotlinx . android . synt hetic . main . activity _ friend _ list _ fragment . view .* Ċ import Ġkotlinx . android . synt hetic . main . activity _ in _ message .* Ċ import Ġkotlinx . android . synt hetic . main . activity _ login .* Ċ import Ġkotlinx . android . synt hetic . main . activity _ sign _ up 2 .* Ċ import Ġorg . jetbrains . ank o . support . v 4 . ctx Ċ import Ġorg . jetbrains . ank o . support . v 4 . startActivity Ċ import Ġorg . jetbrains . ank o . support . v 4 . toast Ċ import Ġorg . json . JSONObject Ċ import Ġretrofit 2 . Call Ċ import Ġretrofit 2 . Callback Ċ import Ġretrofit 2 . Response ĊĊ Ċ class ĠFriend List Fragment Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġval Ġnetwork Service : ĠNetwork Service Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠApplication Controller . instance . network Service ĊĠĠĠ Ġ} ĊĠĠĠ Ġval ĠS q network Service : ĠS q Network Service Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠApplication Controller . instance . Sq network Service ĊĠĠĠ Ġ} ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġinstance Ġ: ĠFriend List Fragment ?= null ĊĠĠĠĠĠĠĠ Ġ@ Synchron ized ĊĠĠĠĠĠĠĠ Ġfun ĠgetInstance ( size Ġ: ĠString ) Ġ: Friend List Fragment { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( instance == null ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinstance Ġ= ĠFriend List Fragment (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments = Bundle (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput String (" size ", ĠFriend Data . size . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġinstance !! ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval ĠFriend Data Ġ: ĠArrayList < Friend Data > Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArrayList < Friend Data >() ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġlateinit Ġvar ĠB irth day Friend List RecyclerView Adapter : ĠB irth day Friend List RecyclerView Adapter ĊĠĠĠ Ġlateinit Ġvar ĠF avorite Friend List RecyclerView Adapter : ĠF avorite Friend List RecyclerView Adapter ĊĠĠĠ Ġlateinit Ġvar ĠFriend List RecyclerView Adapter : ĠFriend List RecyclerView Adapter ĊĠĠĠ Ġval ĠB irth day Friend Data Ġ: ĠArrayList < Birth day Friend Data > Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠArrayList < Birth day Friend Data >() ĊĠĠĠ Ġ} ĊĠĠĠ Ġval ĠF avorite Friend Data Ġ: ĠArrayList < Favorite Friend Data > Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠArrayList < Favorite Friend Data >() ĊĠĠĠ Ġ} ĊĊĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhome Fragment View : ĠView Ġ= Ġinflater !!. inflate ( R . layout . activity _ friend _ list _ fragment , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ ĠB irth day Friend List RecyclerView Adapter = ĊĠĠĠĠĠĠĠĠĠĠĠ ĠB irth day Friend List RecyclerView Adapter ( context !! , ĠB irth day Friend Data ) ĊĠĠĠĠĠĠĠ ĠB irth day Friend Data . add ( Birth day Friend Data (" ê¹ Ģ ë¬´ íĺĦ ", Ġ" 4 ìĽĶ Ġ 2 8 ìĿ¼ ĠìĥĿ ìĿ¼ ìŀħëĭĪëĭ¤ ! ")) ĊĠĠĠĠĠĠĠ Ġhome Fragment View . rl _ friend _ list _ birth dat people . adapter Ġ= ĠB irth day Friend List RecyclerView Adapter ĊĠĠĠĠĠĠĠ Ġhome Fragment View . rl _ friend _ list _ birth dat people . layout Manager Ġ= ĠLinearLayoutManager ( context !! ) ĊĊĠĠĠĠĠĠĠ Ġget Favorite Friend List post () ĊĠĠĠĠĠĠĠ Ġget Friend List post () ĊĠĠĠĠĠĠĠ Ġval Ġsimple Item Touch Callback Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠItem Touch Helper . Simple Callback ( 0 , ĠItem Touch Helper . LEFT Ġor ĠItem Touch Helper . RIGHT ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Move ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġre cyclerView : ĠRecyclerView , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder : ĠRecyclerView . ViewHolder , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget : ĠRecyclerView . ViewHolder ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" on ĠMove ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Sw ip ed ( view Holder : ĠRecyclerView . ViewHolder , Ġswipe Dir : ĠInt ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġposition Ġ= ĠviewHolder . adapter Position ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelete Friend Post ( Friend Data [ position ]. Email . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFriend Data . remove At ( position ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFriend List RecyclerView Adapter . notify Item Removed ( position ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ friend _ list _ count . setText ( Friend Data . size . toString ()) ĊĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġitem Touch Helper Ġ= ĠItem Touch Helper ( simple Item Touch Callback ) ĊĠĠĠĠĠĠĠ Ġitem Touch Helper . attach To RecyclerView ( home Fragment View . rl _ friend _ list _ list people ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġhome Fragment View ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Created ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Created ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġ/* ĠĠĠĠ Ġif Ġ( Shared Preference Controller . get IMAGE ( ctx ). isNotEmpty ()){ Ġ Ġ// í Ĩµ ìĭł ĠìĿ´ ìłĦ Ġë¶Ģ ë¶Ħ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdecoded String Ġ= ĠBase 6 4 . decode ( Shared Preference Controller . get IMAGE ( ctx ), ĠBase 6 4 . DEFAULT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdecoded Byte Ġ= ĠBitmap Factory . decode ByteArray ( decoded String , Ġ 0 , Ġdecoded String . size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ friend _ my picture . setImage Bitmap ( decoded Byte ) ĊĠĠĠĠĠĠĠ Ġ}*/ ĊĊĠĠĠĠĠĠĠ Ġiv _ friend _ add id . setOnClickListener Ġ{ ĊĠĠĠĠĠĠ Ġ/* ĠĠĠĠ Ġval Ġfragment Ġ= ĠFriend List Fragment () Ġ// ĠFragment ĠìĥĿìĦ± ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle ( 1 ) Ġ// ĠíĮĮ ëĿ¼ ë¯¸ íĦ° ëĬĶ ĠìłĦ ëĭ ¬ íķł Ġëį°ìĿ´íĦ° Ġê°ľ ìĪĺ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . putString (" size ", ĠFriend Data . size . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . set Arguments ( bundle ) */ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġintent Ġ= ĠIntent ( ctx , Add K aka otal k Id Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" size ", ĠFriend Data . size ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġll _ friend _ add friend . visibility Ġ= ĠView . GONE ĊĊĠĠĠĠĠĠĠ Ġiv _ friend _ finish add friend . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġll _ friend _ add friend . visibility Ġ= ĠView . GONE ĠĠĠĠ Ġ// ì¹ ľ êµ¬ ì¶ Ķ ê°Ģ ĠX Ġë²Ħ íĬ ¼ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrl _ friend _ color . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġrl _ friend _ color . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġiv _ friend _ plus friend . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġll _ friend _ add friend . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrl _ friend _ color . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġrl _ friend _ color . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġll _ friend _ add friend . visibility Ġ= ĠView . GONE ĠĠĠĠ Ġ// ì¹ ľ êµ¬ ì¶ Ķ ê°Ģ ĠX Ġë²Ħ íĬ ¼ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrl _ friend _ color . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġiv _ friend _ birthday friend lis _ button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( rl _ friend _ list _ birth dat people . visibility Ġ== ĠView . VISIBLE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ friend _ birthday friend lis _ button . setImage Resource ( R . drawable . down button ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrl _ friend _ list _ birth dat people . visibility Ġ= ĠView . GONE ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( rl _ friend _ list _ birth dat people . visibility Ġ== ĠView . GONE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ friend _ birthday friend lis _ button . setImage Resource ( R . drawable . up button ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrl _ friend _ list _ birth dat people . visibility Ġ= ĠView . VISIBLE ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġiv _ friend _ favorite _ button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( rl _ friend _ list _ favorite people . visibility Ġ== ĠView . VISIBLE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrl _ friend _ list _ favorite people . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ friend _ favorite _ button . setImage Resource ( R . drawable . down button ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( rl _ friend _ list _ favorite people . visibility Ġ== ĠView . GONE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrl _ friend _ list _ favorite people . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ friend _ favorite _ button . setImage Resource ( R . drawable . up button ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġiv _ friend _ recommend _ button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( rl _ friend _ list _ recommend . visibility Ġ== ĠView . VISIBLE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrl _ friend _ list _ recommend . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ friend _ recommend _ button . setImage Resource ( R . drawable . down button ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( rl _ friend _ list _ recommend . visibility Ġ== ĠView . GONE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrl _ friend _ list _ recommend . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ friend _ recommend _ button . setImage Resource ( R . drawable . up button ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġiv _ friend _ plus _ button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( rl _ friend _ list _ plus . visibility Ġ== ĠView . VISIBLE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrl _ friend _ list _ plus . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ friend _ plus _ button . setImage Resource ( R . drawable . down button ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( rl _ friend _ list _ plus . visibility Ġ== ĠView . GONE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrl _ friend _ list _ plus . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ friend _ plus _ button . setImage Resource ( R . drawable . up button ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġiv _ friend _ list _ button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( rl _ friend _ list _ list people . visibility Ġ== ĠView . VISIBLE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrl _ friend _ list _ list people . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ friend _ list _ button . setImage Resource ( R . drawable . down button ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( rl _ friend _ list _ list people . visibility Ġ== ĠView . GONE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrl _ friend _ list _ list people . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ friend _ list _ button . setImage Resource ( R . drawable . up button ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġrl _ friend _ list _ my profile . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( ctx , ĠMy profile Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġctx . startActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( ctx Ġas ĠMainActivity ). override Pending Transition ( R . anim . sl iding _ up , ĠR . anim . st ay ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( Shared Preference Controller . get Ka Ka O Authorization ( ctx ). isNotEmpty ()) Ġ{ Ġ// ì¹´ ì¹´ ìĺ¤ Ġë¡ľ ê·¸ ìĿ¸ ìĿ¼ ë ķĮ ĠíĨµ ìĭł ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgetUser K AK AO Info Post () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif ( Shared Preference Controller . get SQ Authorization ( ctx ). isNotEmpty ()){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget My Profile () Ġ Ġ// sq ĠíĨµ ìĭł ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget My profile Post () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġll _ friend _ add friend . visibility = View . GONE ĠĠĠĠ Ġ// ì¹ ľ êµ¬ ì¶ Ķ ê°Ģ ĠX Ġë²Ħ íĬ ¼ ĊĠĠĠĠĠĠĠ Ġrl _ friend _ color . visibility = View . GONE ĊĠĠĠĠĠĠĠ Ġget Friend List post () ĊĠĠĠĠĠĠĠ Ġget My Profile () ĊĠĠĠĠĠĠĠ Ġget Favorite Friend List post () Ċ /* ĠĠĠĠĠĠĠ Ġif Ġ( Shared Preference Controller . get IMAGE ( ctx ). isNotEmpty ()){ Ġ Ġ// í Ĩµ ìĭł ìłĦ ĠìĤ¬ ì§Ħ ĠìĿ´ë¯¸ ì§Ģ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdecoded String Ġ= ĠBase 6 4 . decode ( Shared Preference Controller . get IMAGE ( ctx ), ĠBase 6 4 . DEFAULT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdecoded Byte Ġ= ĠBitmap Factory . decode ByteArray ( decoded String , Ġ 0 , Ġdecoded String . size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ friend _ my picture . setImage Bitmap ( decoded Byte ) ĊĠĠĠĠĠĠĠ Ġ}*/ ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġget Friend List post () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġget Friend ListResponse Ġ: ĠCall < Get Friend Response > Ġ= ĠS q network Service . get Friend Response (" application / json ", Shared Preference Controller . get SQ Authorization ( ctx )) ĊĠĠĠĠĠĠĠ Ġget Friend ListResponse . enqueue ( object Ġ: ĠCallback < Get Friend Response > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( call : ĠCall < Get Friend Response > ?, Ġresponse : ĠResponse < Get Friend Response > ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . v (" TAG ", Ġ" ì¹ ľ êµ¬ ëª© ë¡Ŀ Ġë¶Ī ëŁ¬ ìĺ¤ ê¸° ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response !!. is Successful ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFriend Data . clear () ĊĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġ ĠFriend DataList Ġ= Ġresponse . body () !!. result !! ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 .. Friend DataList . size Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFriend Data . add ( Friend Data ( Friend DataList [ i ]. Name , Friend DataList [ i ]. Email , Friend DataList [ i ]. Prof _ img , Friend DataList [ i ]. Back _ img , Friend DataList [ i ]?. Status )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFriend List RecyclerView Adapter = ĠFriend List RecyclerView Adapter ( context !! , ĠFriend Data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrl _ friend _ list _ list people . adapter Ġ= ĠFriend List RecyclerView Adapter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrl _ friend _ list _ list people . layout Manager Ġ= ĠLinearLayoutManager ( context !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ friend _ list _ count . setText ( Friend Data . size . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} else Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < Get Friend Response > ?, Ġt : ĠThrowable ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . v (" TAG ", Ġ" í Ĩµ ìĭł Ġìĭ¤ íĮ ¨ Ġ= Ġ" Ġ+ Ġt . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" í Ĩµ ìĭł ìĭ¤ íĮ ¨ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġget Favorite Friend List post () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġget Favorite Friend ListResponse Ġ: ĠCall < Get Favorite Response > Ġ= ĠS q network Service . get Favorite Response (" application / json ", Shared Preference Controller . get SQ Authorization ( ctx )) ĊĠĠĠĠĠĠĠ Ġget Favorite Friend ListResponse . enqueue ( object Ġ: ĠCallback < Get Favorite Response > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( call : ĠCall < Get Favorite Response > ?, Ġresponse : ĠResponse < Get Favorite Response > ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . v (" TAG ", Ġ" ì¹ ľ êµ¬ ëª© ë¡Ŀ Ġë¶Ī ëŁ¬ ìĺ¤ ê¸° ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response !!. is Successful ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF avorite Friend Data . clear () ĊĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġ ĠF avorite Friend DataList Ġ= Ġresponse . body () !!. result !! ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 .. Favorite Friend DataList . size - 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF avorite Friend Data . add ( Favorite Friend Data ( Favorite Friend DataList [ i ]. Email , Favorite Friend DataList [ i ]. Name , Favorite Friend DataList [ i ]. Prof _ img , Favorite Friend DataList [ i ]. Back _ img , Favorite Friend DataList [ i ]?. Status )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF avorite Friend List RecyclerView Adapter = ĠF avorite Friend List RecyclerView Adapter ( context !! , ĠF avorite Friend Data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrl _ friend _ list _ favorite people . adapter Ġ= ĠF avorite Friend List RecyclerView Adapter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrl _ friend _ list _ favorite people . layout Manager Ġ= ĠLinearLayoutManager ( context !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} else Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < Get Favorite Response > ?, Ġt : ĠThrowable ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . v (" TAG ", Ġ" í Ĩµ ìĭł Ġìĭ¤ íĮ ¨ Ġ= Ġ" Ġ+ Ġt . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" í Ĩµ ìĭł ìĭ¤ íĮ ¨ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġdelete Friend Post ( Friend _ Email : String ){ ĊĠĠĠĠĠĠĠ Ġvar ĠjsonObject Ġ= ĠJSONObject () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠjsonObject . put (" Friend _ Email ", Friend _ Email ) ĊĊĠĠĠĠĠĠĠ Ġval Ġgson Object Ġ= ĠJson Parser (). parse ( jsonObject . toString ()) Ġas ĠJsonObject ĊĠĠĠĠĠĠĠ Ġvar Ġdelete Friend Response : ĠCall < Delete Friend Info Response > Ġ= ĠS q network Service . delete Friend Info Response (" application / json ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠShared Preference Controller . get SQ Authorization ( ctx ), gson Object ) ĊĠĠĠĠĠĠĠ Ġdelete Friend Response . enqueue ( object Ġ: ĠCallback < Delete Friend Info Response > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( call : ĠCall < Delete Friend Info Response > ?, Ġresponse : ĠResponse < Delete Friend Info Response > ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . v (" TAG ", Ġ" ìĤ Ń ìłľ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response !!. is Successful ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( response . body () !!. message ==" ìĦ± ê³µ ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" ì°¨ ëĭ¨ ìĻ Ħ ë£Į ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < Delete Friend Info Response > ?, Ġt : ĠThrowable ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . v (" TAG ", Ġ" í Ĩµ ìĭł Ġìĭ¤ íĮ ¨ Ġ= Ġ" Ġ+ t . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġget My profile Post (){ ĊĠĠĠĠĠĠĠ Ġvar ĠjsonObject Ġ= ĠJSONObject () ĊĠĠĠĠĠĠĠ ĠjsonObject . put (" Email ", Shared Preference Controller . getEmail ( ctx )) ĊĠĠĠĠĠĠĠ ĠjsonObject . put (" Pw ", ĠShared Preference Controller . get PW ( ctx )) Ċ Ċ // Gson ĠëĿ¼ ìĿ´ ë¸Į ëŁ¬ ë¦¬ ìĿĺ ĠJson ĠParser ìĿĦ ĠíĨµíķ´ Ġê°Ŀì²´ ë¥¼ ĠJson ìľ¼ë¡ľ ! ĊĠĠĠĠĠĠĠ Ġval Ġgson Object Ġ= ĠJson Parser (). parse ( jsonObject . toString ()) Ġas ĠJsonObject ĊĠĠĠĠĠĠĠ Ġvar Ġpost Login Response : ĠCall < Post Login Response > Ġ= ĠS q network Service . post Login Response (" application / json ", gson Object ) ĊĠĠĠĠĠĠĠ Ġpost Login Response . enqueue ( object Ġ: ĠCallback < Post Login Response > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( call : ĠCall < Post Login Response > ?, Ġresponse : ĠResponse < Post Login Response > ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . v (" TAG ", Ġ" ë³´ ëĵľ ĠìĦľë²Ħ ĠíĨµ ìĭł ĠìĹ° ê²° ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response !!. is Successful ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( response . body () !!. message ==" ìĦ± ê³µ ") Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ friend _ my name . setText ( response . body () !!. result [ 0 ]. Name . toString ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < Post Login Response > ?, Ġt : ĠThrowable ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . v (" TAG ", Ġ" í Ĩµ ìĭł Ġìĭ¤ íĮ ¨ Ġ= Ġ" Ġ+ t . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġget My Profile (){ ĊĠĠĠĠĠĠĠ Ġvar Ġget Profile Response : ĠCall < Get profile Response > Ġ= ĠS q network Service . get profile Response (" application / json ", Shared Preference Controller . get SQ Authorization ( ctx )) ĊĠĠĠĠĠĠĠ Ġget Profile Response . enqueue ( object Ġ: ĠCallback < Get profile Response > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( call : ĠCall < Get profile Response > ?, Ġresponse : ĠResponse < Get profile Response > ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response !!. is Successful ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( response . body () !!. message ==" ìĦ± ê³µ "){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrv _ tv _ friend _ friend contents . setText ( response . body () !!. result . Status . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( ctx ). load ( response . body () !!. result . Prof _ img . toString ()). into ( iv _ friend _ my picture ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . v (" TAG ", Ġ" ì ± Ħ íĮ ħ Ġìĭ¤ íĮ ¨ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < Get profile Response > ?, Ġt : ĠThrowable ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . v (" TAG ", Ġ" í Ĩµ ìĭł Ġìĭ¤ íĮ ¨ Ġ= Ġ" Ġ+ t . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĊĊĠĠĠ Ġfun ĠgetUser K AK AO Info Post (){ ĊĠĠĠĠĠĠĠ Ġvar ĠgetUser Inf om ation Response : ĠCall < GetUser Inf om ation Response > Ġ= Ġnetwork Service . getUser Inf om ation Response (" Bearer Ġ"+ Shared Preference Controller . get Ka Ka O Authorization ( ctx )) ĊĠĠĠĠĠĠĠ ĠgetUser Inf om ation Response . enqueue ( object Ġ: ĠCallback < GetUser Inf om ation Response > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( call : ĠCall < GetUser Inf om ation Response > ?, Ġresponse : ĠResponse < GetUser Inf om ation Response > ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . v (" TAG ", Ġ" ë³´ ëĵľ ĠìĦľë²Ħ ĠíĨµ ìĭł ĠìĹ° ê²° ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response !!. is Successful ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ friend _ my name . text Ġ= Ġresponse . body () !!. properties . nickname ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( ctx ). load ( response . body () !!. properties . profile _ image . toString ()). into ( iv _ friend _ my picture ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . v (" TAG ", Ġ" ë§Ī ìĿ´ íİ ĺìĿ´ ì§Ģ ĠìĦľë²Ħ Ġê°Ĵ ĠìłĦ ëĭ ¬ Ġìĭ¤ íĮ ¨ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < GetUser Inf om ation Response > ?, Ġt : ĠThrowable ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . v (" TAG ", Ġ" í Ĩµ ìĭł Ġìĭ¤ íĮ ¨ Ġ= Ġ" Ġ+ t . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĠĠĠĠ ĊĊ Ċ }