/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 6 Ġy vol k Ġ( Y uri ĠVol kov ), Ġhttp :// y ur iv olk ov . com Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġorg . and status . app . service Ċ Ċ import Ġandroid . content . Sync Result Ċ import Ġorg . and status . app . account . My Account Ċ import Ġorg . and status . app . context . My Context Ċ import Ġorg . and status . app . timeline . meta . Timeline Ċ import Ġorg . and status . app . util . My Log Ċ Ċ class ĠMy Service Commands Runner ( private Ġval Ġmy Context : ĠMy Context ) Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġignore Service Availability Ġ= Ġfalse ĊĠĠĠ Ġfun Ġauto Sync Account ( ma : ĠMy Account , Ġsync Result : ĠSync Result ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmethod Ġ= Ġ" sync Account Ġ" Ġ+ Ġma . get AccountName () ĊĠĠĠĠĠĠĠ Ġif Ġ(! my Context . is Ready ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMy Log . d ( this , Ġ"$ method ; ĠContext Ġis Ġnot Ġready ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( ma . non Valid ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMy Log . d ( this , Ġ"$ method ; ĠThe Ġaccount Ġwas Ġnot Ġloaded ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ(! ma . isValid And Succeeded ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsync Result . stats . num Auth Exceptions ++ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMy Log . d ( this , Ġ"$ method ; ĠCredentials Ġfailed , Ġskipping ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġtime lines Ġ= Ġmy Context . time lines . to Auto Sync For Account ( ma ) ĊĠĠĠĠĠĠĠ Ġif Ġ( time lines . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMy Log . d ( this , Ġ"$ method ; ĠNo Ġtime lines Ġto Ġsync ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠMy Log . v ( this ) Ġ{ Ġmethod Ġ+ Ġ" Ġstarted , Ġ" Ġ+ Ġtime lines . size Ġ+ Ġ" Ġtime lines " Ġ} ĊĠĠĠĠĠĠĠ Ġtime lines . stream () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġt : ĠTimeline Ġ-> ĠCommand Data . new Timeline Command ( Command Enum . GET _ TIME LINE , Ġt ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġcommand Data : ĠCommand Data Ġ-> Ġsend Command ( command Data ) Ġ} ĊĠĠĠĠĠĠĠ ĠMy Log . v ( this ) Ġ{ Ġmethod Ġ+ Ġ" Ġended , Ġ" Ġ+ Ġtime lines . size Ġ+ Ġ" Ġtime lines Ġrequested : Ġ" Ġ+ Ġtime lines Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsend Command ( command Data : ĠCommand Data ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġwe Ġdon 't Ġwait Ġfor Ġcompletion Ġanymore . ĊĠĠĠĠĠĠĠ Ġ// ĠTODO : ĠImplement ĠS ynchronous Ġbackground Ġsync Ġ? ! ĊĠĠĠĠĠĠĠ Ġif Ġ( ignore Service Availability ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMy Service Manager . send Command Ign oring Service Availability ( command Data ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMy Service Manager . send Command ( command Data ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Ignore Service Availability ( ignore Service Availability : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . ignore Service Availability Ġ= Ġignore Service Availability ĊĠĠĠ Ġ} Ċ } Ċ