package Ġch . r my . android . http _ shortcuts . script ing . actions . types Ċ Ċ import Ġch . r my . android . framework . extensions . truncate Ċ import Ġch . r my . android . http _ shortcuts . R Ċ import Ġch . r my . android . http _ shortcuts . d agger . Application Component Ċ import Ġch . r my . android . http _ shortcuts . data . domains . variables . Variable Key Or Id Ċ import Ġch . r my . android . http _ shortcuts . data . domains . variables . Variable Repository Ċ import Ġch . r my . android . http _ shortcuts . exceptions . Action Exception Ċ import Ġch . r my . android . http _ shortcuts . script ing . ExecutionContext Ċ import Ġio . reactivex . Comp letable Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠSet Variable Action ( val Ġvariable Key Or Id : ĠVariable Key Or Id , Ġval Ġvalue : ĠString ) Ġ: ĠBase Action () Ġ{ ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġvariable Repository : ĠVariable Repository ĊĊĠĠĠ Ġoverride Ġfun Ġinject ( application Component : ĠApplication Component ) Ġ{ ĊĠĠĠĠĠĠĠ Ġapplication Component . inject ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġexecute ( executionContext : ĠExecutionContext ): ĠComp letable Ġ= ĊĠĠĠĠĠĠĠ ĠComp letable . defer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexecution Context . variable Manager . set Variable Value ByKey Or Id ( variable Key Or Id , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvariable Repository . get Variable ByKey Or Id ( variable Key Or Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap Comp letable Ġ{ Ġvariable Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvariable Repository . set Variable Value ( variable . id , Ġvalue . truncate ( MAX _ VARIABLE _ LENGTH )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. onError Resume Next Ġ{ Ġerror Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠComp letable . error ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( error Ġis ĠNoSuch ElementException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAction Exception Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . getString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . error _ variable _ not _ found _ write , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvariable Key Or Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġerror ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠMAX _ VARIABLE _ LENGTH Ġ= Ġ 3 0 0 0 0 ĊĠĠĠ Ġ} Ċ } Ċ