package Ġkr . ac . sn u . hc il . om n itr ack . core . external s . fit bit Ċ Ċ import Ġandroid . content . Context Ċ import Ġcom . google . gson . JsonObject Ċ import Ġio . reactivex . Single Ċ import Ġkr . ac . sn u . hc il . android . common . containers . Nullable Ċ 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 Time Range Query Ċ import Ġkr . ac . sn u . hc il . om n itr ack . core . external s . OT Service Measure Factory Ċ import Ġkr . ac . sn u . hc il . om n itr ack . core . fields . OT Field Manager Ċ import Ġkr . ac . sn u . hc il . om n itr ack . core . serialization . TypeString Serialization Helper Ċ import Ġorg . json . JSONObject Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠYo ung - Ho ĠKim Ġon Ġ 2 0 1 6 - 1 0 - 0 6 . Ċ Ġ*/ Ċ class ĠFit bit Heart Rate Measure Factory ( context : ĠContext , Ġservice : ĠFit bit Service ) Ġ: ĠO T Service Measure Factory ( context , Ġservice , Ġ" heart ") Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġdata TypeName : ĠString Ġ= ĠType String Serialization Helper . TYP ENAME _ INT ĊĊĠĠĠ Ġoverride Ġfun Ġget AttributeType () Ġ= ĠO T Field Manager . TYPE _ NUMBER ĊĊĠĠĠ Ġoverride Ġval Ġis Range d Query Available : ĠBoolean Ġ= Ġtrue ĊĠĠĠ Ġoverride Ġval Ġminimum Gran ularity : ĠO T Time Range Query . Gran ularity ? Ġ= ĠO T Time Range Query . Gran ularity . Hour ĊĠĠĠ Ġoverride Ġval Ġis Demand ing User Input : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun Ġmake Measure ( arguments : ĠJsonObject ?): ĠO T Measure Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠFit bit Heart Rate Measure ( this , Ġarguments ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġname ResourceId : ĠInt Ġ= ĠR . string . measure _ fit bit _ heart _ rate _ name ĊĠĠĠ Ġoverride Ġval Ġdesc ResourceId : ĠInt Ġ= ĠR . string . measure _ fit bit _ heart _ rate _ desc ĊĊĠĠĠ Ġclass ĠFit bit Heart Rate Measure ( factory : ĠFit bit Heart Rate Measure Factory , Ġarguments : ĠJsonObject ?) Ġ: ĠO TR ange Qu er ied Measure ( factory , Ġarguments ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġconverter Ġ= Ġobject Ġ: ĠFit bit Api . A In tra Day Converter < Int , ĠInt >(" activities - heart - intr aday ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġextract Value From Datum ( datum : ĠJSONObject ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġdatum . getInt (" value ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġprocess Values ( values : ĠList < Int >): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ( values . average () Ġ+ Ġ 0 . 5 ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetValue Request ( start : ĠLong , Ġend : ĠLong ): ĠSingle < Nullable < out ĠAny >> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġurls Ġ= ĠFit bit Api . make In tra Day Request Urls ( Fit bit Api . REQUEST _ INTR AD AY _ RESOURCE _ PATH _ HE ART _ RATE , Ġstart , Ġend ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( urls ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġget Factory < Fit bit Heart Rate Measure Factory >(). getService < Fit bit Service >(). getRequest ( converter , Ġ* urls ) Ġas ĠSingle < Nullable < out ĠAny >> ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġreturn Ġother Ġis ĠFit bit Heart Rate Measure ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfactory Code . hashCode () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ }