package Ġkr . ac . sn u . hc il . om n itr ack . core . external s Ċ Ċ import Ġandroid . content . Context Ċ import Ġio . reactivex . Observable Ċ import Ġkr . ac . sn u . hc il . android . common . Text Helper Ċ import Ġkr . ac . sn u . hc il . om n itr ack . R Ċ import Ġkr . ac . sn u . hc il . om n itr ack . core . connection . OT Measure Factory Ċ import Ġkr . ac . sn u . hc il . om n itr ack . core . database . models . OT Field DAO Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠYo ung - Ho ĠKim Ġon Ġ 1 6 . Ġ 7 . Ġ 2 8 Ċ Ġ*/ Ċ abstract Ġclass ĠO T Service Measure Factory ( context : ĠContext , Ġval Ġparent Service : ĠO T External Service , Ġfactory TypeName : ĠString ) Ġ: ĠO T Measure Factory ( context , Ġfactory TypeName ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Category Name (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcontext . resources . getString ( parent Service . name ResourceId ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġtype Code : ĠString Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġ"${ parent Service . identifier }_ $ factory TypeName " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġmake Availability Check Observable ( field : ĠO T Field DAO ): ĠObservable < Pair < Boolean , ĠList < CharSequence >? >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġparent Service . on StateChanged . map Ġ{ Ġstate Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinvalid Messages Ġ= ĠArrayList < CharSequence >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalid Ġ= Ġis Available To Request Value ( field , Ġinvalid Messages ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ map ĠPair ( valid , Ġinvalid Messages ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis Available To Request Value ( field : ĠO T Field DAO , Ġinvalid Messages : ĠMutable List < CharSequence >? ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( parent Service . state Ġ== ĠO T External Service . Service State . ACTIV ATED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvalid Messages ?. add ( Text Helper . from Html ( String . format ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"< font Ġcolor =\" blue \"> ${ context . resources . getString ( R . string . msg _ service _ is _ not _ activated _ format )}</ font >", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . resources . getString ( parent Service . name ResourceId )))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ< T Ġ: ĠO T External Service > Ġget Service (): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠ Ġreturn Ġparent Service Ġas ĠT ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Make Formatted Name (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ"${ super . on Make Formatted Name ()} Ġ| Ġ${ context . resources . getString ( parent Service . name ResourceId )}" ĊĠĠĠ Ġ} Ċ }