package Ġcom . z ll bird . choice question . choice Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Persist able Bundle Ċ import Ġandroid . support . design . widget . Snackbar Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . util . Log Ċ import Ġandroid . widget . Array Adapter Ċ import Ġandroid . widget . Spinner Adapter Ċ import Ġcom . db flow 5 . query . list Ċ import Ġcom . db flow 5 . query . result Ċ import Ġcom . db flow 5 . query . select Ċ import Ġcom . db flow 5 . structure . save Ċ import Ġcom . z ll bird . choice question . R Ċ import Ġcom . z ll bird . choice question . choice . model . Action Ċ import Ġcom . z ll bird . choice question . choice . model . Topic Ċ import Ġcom . z ll bird . choice question . choice . model . Topic _ Table . id Ċ import Ġio . reactivex . Flow able Ċ Ċ import Ġkotlinx . android . synt hetic . main . activity _ create _ action .* Ċ import Ġorg . jetbrains . ank o .* Ċ class ĠCreate Action Activity : ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠC HO ICE _ TOPIC _ REQUEST Ġ= Ġ 1 0 0 1 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠC HO ICE _ TOPIC _ ID Ġ= Ġ" Topic ID " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ create _ action ) ĊĠĠĠĠĠĠĠ Ġbtn _ choice _ topic . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( it , Ġ" Click Ġbtn Ġto Ġchoice Ġtopic ", ĠSn ackbar . LENGTH _ LONG ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setAction (" Action ", Ġnull ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result < Choice Topic Activity >( CHO ICE _ TOPIC _ REQUEST ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbtn _ create _ confirm . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsubmit Action () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġresources . getString Array ( R . array . score ) ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠArray Adapter < String >( this , R . layout . spinner _ score _ item , list ) ĊĠĠĠĠĠĠĠ Ġsp _ create _ action _ score . adapter Ġ= Ġadapter ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsubmit Action () Ġ{ ĊĠĠĠĠĠĠĠ ĠSn ackbar . make ( content View !! , Ġ" Click Ġbtn Ġto Ġsave Ġ", ĠSn ackbar . LENGTH _ LONG ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setAction (" Action ", Ġnull ). show () ĊĠĠĠĠĠĠĠ Ġsave () ĊĠĠĠĠĠĠĠ Ġset Result ( Activity . RESULT _ OK ) ĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( result Code Ġ!= ĠActivity . RESULT _ OK ) Ġreturn ĊĊĠĠĠĠĠĠĠ Ġwhen ( request Code ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠC HO ICE _ TOPIC _ REQUEST Ġ-> Ġfill Topic ( data ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġfill Topic ( data : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( data Ġ!= Ġnull ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtopic ID Ġ= Ġ Ġdata . getLong Extra ( CHO ICE _ TOPIC _ ID , 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtopic Ġ= Ġ( select Ġfrom ĠTopic :: class . java Ġwhere Ġ( id Ġeq Ġtopic ID )). result ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn _ choice _ topic . text Ġ= Ġtopic ?. title ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġtest show actions () Ġ{ ĊĠĠĠĠĠĠĠ Ġ( select Ġfrom ĠAction :: class ). list . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" TAG ", it . title ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġtest Save Topic (){ ĊĠĠĠĠĠĠĠ ĠFlow able . range ( 0 , 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTopic (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" ç±»åŀĭ ç¼ĸåı· Ġ$ it Ġ" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper ID Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. save () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsave () Ġ{ ĊĠĠĠĠĠĠĠ ĠAction (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġet _ create _ action _ title . text . toString (). trim () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtopic ID Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscore Ġ= Ġsp _ create _ action _ score . selected ItemId Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserID Ġ= Ġ 9 9 9 ĊĠĠĠĠĠĠĠ Ġ}. save () ĊĠĠĠ Ġ} Ċ Ċ }