/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 7 . ĠTr uiton Ġ( http :// www . truiton . com /). Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ ÂłÂł Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ* Ċ Ġ* ĠContributors : Ċ Ġ* ĠM oh it ĠGu pt Ġ( https :// github . com / mo hit gu pt ) Ċ Ġ* Ċ Ġ*/ Ċ Ċ package Ġcom . jo elt coll ins . unic orn pi Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . util . Log Ċ import Ġorg . json . JSONException Ċ import Ġorg . json . JSONObject Ċ import Ġorg . json . JSON Tok ener Ċ Ċ import Ġkotlinx . coroutines .* Ċ Ċ import Ġkotlinx . android . synt hetic . main . fragment _ item _ two .* ĊĊ Ċ class ĠItem Two Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// Get Ġcurrent Ġview ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ item _ two , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// ĠCOLOR ĠP ICK ER ĠLIST ENER ĊĠĠĠĠĠĠĠ Ġcolor _ picker _ view . add On Color Selected Listener Ġ{ Ġselected Color Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// RGB Ġhex Ġstring Ġof Ġselected Ġcolor ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhex String Ġ= ĠInteger . to HexString ( selected Color ). toUpperCase (). substring ( 2 , Ġ 8 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparams Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" static _ clamp _ hex " Ġto Ġhex String , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" global _ mode " Ġto Ġ" clamp ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" global _ status " Ġto Ġ" 1 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġret re ive Async (" state ", Ġparams , Ġfalse , Ġmethod Ġ= Ġ" POST ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠCL AMP ĠBUTTON ĠLIST ENER Ġ& ĠFUNCTIONS ĊĠĠĠĠĠĠĠ Ġclamp _ button _ night . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparams Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" static _ clamp _ hex " Ġto Ġ" ff 8 8 0 d ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" global _ mode " Ġto Ġ" clamp ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" global _ status " Ġto Ġ" 1 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġret re ive Async (" state ", Ġparams , Ġfalse , Ġmethod Ġ= Ġ" POST ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠCL AMP ĠBUTTON ĠLIST ENER Ġ& ĠFUNCTIONS ĊĠĠĠĠĠĠĠ Ġclamp _ button _ even ing . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparams Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" static _ clamp _ hex " Ġto Ġ" ff 9 f 4 6 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" global _ mode " Ġto Ġ" clamp ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" global _ status " Ġto Ġ" 1 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġret re ive Async (" state ", Ġparams , Ġfalse , Ġmethod Ġ= Ġ" POST ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠCL AMP ĠBUTTON ĠLIST ENER Ġ& ĠFUNCTIONS ĊĠĠĠĠĠĠĠ Ġclamp _ button _ desk . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparams Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" static _ clamp _ hex " Ġto Ġ" ffc 0 8 c ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" global _ mode " Ġto Ġ" clamp ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" global _ status " Ġto Ġ" 1 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġret re ive Async (" state ", Ġparams , Ġfalse , Ġmethod Ġ= Ġ" POST ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠCL AMP ĠBUTTON ĠLIST ENER Ġ& ĠFUNCTIONS ĊĠĠĠĠĠĠĠ Ġclamp _ button _ day . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparams Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" static _ clamp _ hex " Ġto Ġ" ffe 4 cd ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" global _ mode " Ġto Ġ" clamp ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" global _ status " Ġto Ġ" 1 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġret re ive Async (" state ", Ġparams , Ġfalse , Ġmethod Ġ= Ġ" POST ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠGET ĠAPI ĠRESP ONSE ĠFOR ĠUI ĠSTART UP ĊĠĠĠĠĠĠĠ Ġret re ive Async (" state ", Ġmap Of (), Ġtrue , Ġredraw _ all Ġ= Ġtrue , Ġmethod Ġ= Ġ" GET ") ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ// ĠGet Ġand Ġprocess ĠHTTP Ġresponse Ġin Ġa Ġcoroutine ĊĠĠĠ Ġprivate Ġfun Ġret re ive Async ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapi _ arg : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams : ĠMap < String , ĠString >, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow _ progress : ĠBoolean , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġredraw _ all : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmethod : ĠString Ġ= Ġ" GET "){ ĊĠĠĠĠĠĠĠ Ġval Ġactivity : ĠMainActivity Ġ= Ġactivity Ġas ĠMainActivity ĊĊĠĠĠĠĠĠĠ Ġ// ĠLaunch Ġa Ġnew Ġcoroutine Ġthat Ġexecutes Ġin Ġthe ĠAndroid ĠUI Ġthread ĊĠĠĠĠĠĠĠ ĠGlobal Scope . launch ( Dispatch ers . Main ){ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠStart Ġloader ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( show _ progress ) Ġ{ activity . toggle Loader ( true )} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠS uspend Ġwhile Ġdata Ġis Ġobtained ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġwith Context ( Dispatch ers . Default ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . sus pended Get From URL ( activity . api Base + api _ arg , Ġparams , Ġmethod = method ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠCall Ġfunction Ġto Ġhandle Ġresponse Ġstring , Ġonly Ġif Ġresponse Ġnot Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠIf Ġfragment Ġlayout Ġis Ġnot Ġnull Ġ( ie . Ġfragment Ġstill Ġin Ġview ), Ġhandle Ġresponse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( frag _ layout Ġ!= Ġnull ) Ġ{ handle Response ( response )} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠElse Ġlog Ġthat Ġhandling Ġhas Ġbeen Ġaborted ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ Log . i (" INFO ", Ġ" Response Ġprocessing Ġaborted ")} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠStop Ġloader ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( show _ progress ) Ġ{ activity . toggle Loader ( false )} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// HANDLE ĠJSON ĠRESP ONSE ĊĠĠĠ Ġprivate Ġfun Ġhandle Response ( response Object : ĠJSONObject ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// If Ġglobal Ġstatus Ġis Ġreturned , Ġroute Ġmusic Ġhave Ġbeen Ġstatus / all , Ġso Ġbrightness Ġslider Ġshould Ġbe Ġupdated ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response Object . has (" static _ clamp _ hex ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse Clamp Hex Ġ= Ġresponse Object . getString (" static _ clamp _ hex ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcolor Int Ġ= Ġjava . lang . Long . parse Long (" ff $ response Clamp Hex ", Ġ 1 6 ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor _ picker _ view !!. setColor ( color Int , Ġfalse ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠJSON Exception ) Ġ{ e . printStackTrace ()} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance (): ĠItem Two Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠItem Two Fragment () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ