package Ġru . s col tech . open ran . speed test . repository Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . database . SQLException Ċ import Ġandroid . database . sqlite . SQLite Exception Ċ import Ġru . s col tech . open ran . speed test . domain . Speed TestResult Ċ import Ġkotlin . jvm . Throws Ċ Ċ interface ĠSpeed TestResult Repository Ġ{ ĊĠĠĠ Ġfun Ġsave ( result : ĠSpeed TestResult ) ĊĠĠĠ Ġfun ĠfindAll By Page And Size Ordered ById ( page : ĠLong , Ġsize : ĠLong ): ĠList < Speed TestResult > ĊĠĠĠ Ġfun ĠfindAll (): ĠList < Speed TestResult > ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Volatile ĊĠĠĠĠĠĠĠ Ġprivate Ġlateinit Ġvar ĠINSTANCE : ĠSpeed TestResult Repository ĊĊĠĠĠĠĠĠĠ Ġ@ Throws ( SQLException :: class , ĠSQLite Exception :: class ) ĊĠĠĠĠĠĠĠ Ġfun ĠgetInstance ( context : ĠContext ): ĠSpeed TestResult Repository Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! this :: INSTANCE . isInitialized ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsynchronized ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! this :: INSTANCE . isInitialized ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠINSTANCE Ġ= ĠSpeed TestResult Repository Impl ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠINSTANCE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ