package Ġorg . echo . mobile . framework . model . socket operations Ċ Ċ import Ġcom . google . common . primitives . Unsigned Long Ċ import Ġcom . google . gson . JsonArray Ċ import Ġcom . google . gson . Json Element Ċ import Ġcom . google . gson . Json Parser Ċ import Ġorg . echo . mobile . framework . Callback Ċ import Ġorg . echo . mobile . framework . model . Registration Task Ċ Ċ /** Ċ Ġ* ĠRetrieves Ġregistration Ġtask Ċ Ġ* Ċ Ġ* Ġ@ author ĠD mit ri y ĠB ush ue v Ċ Ġ*/ Ċ class ĠRequest Registration Task Socket Operation ( ĊĠĠĠ Ġoverride Ġval Ġapi Id : ĠInt , ĊĠĠĠ Ġcall Id : ĠInt , ĊĠĠĠ Ġcallback : ĠCallback < Registration Task > Ċ ) Ġ: ĠSocket Operation < Registration Task >( ĊĠĠĠ ĠSocket MethodType . CALL , ĊĠĠĠ Ġcall Id , ĊĠĠĠ ĠRegistration Task :: class . java , ĊĠĠĠ Ġcallback Ċ ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Parameters (): ĠJson Element Ġ= ĊĠĠĠĠĠĠĠ ĠJson Array (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( api Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( Socket Operation Keys . REQUEST _ REGISTR ATION _ TASK . key ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( JsonArray ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġfrom Json ( json : ĠString ): ĠRegistration Task ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġparser Ġ= ĠJson Parser () ĊĠĠĠĠĠĠĠ Ġval Ġjson Tree Ġ= Ġparser . parse ( json ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! json Tree . is JsonObject Ġ|| Ġjson Tree . as JsonObject . get ( RESULT _ KEY ) Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġjson Tree . as JsonObject . get ( RESULT _ KEY ) !!. as JsonObject ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġblock Id Ġ= Ġresult . get ( BLOCK _ ID _ KEY ). asString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrand Num Ġ= Ġresult . get ( RAND _ NUM _ KEY ). asString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdifficulty Ġ= Ġresult . get ( DIFF IC UL TY _ KEY ). as Int ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠRegistration Task ( block Id , ĠUnsigned Long . valueOf ( rand Num ), Ġdifficulty ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġex . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠBLOCK _ ID _ KEY Ġ= Ġ" block _ id " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠR AND _ NUM _ KEY Ġ= Ġ" rand _ num " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠDIFF IC UL TY _ KEY Ġ= Ġ" difficulty " ĊĠĠĠ Ġ} Ċ } Ċ