/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 6 - 2 0 1 8 Ġ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 . timeline . meta Ċ Ċ import Ġorg . and status . app . My Activity Ċ import Ġorg . and status . app . R Ċ import Ġorg . and status . app . account . My Account Ċ import Ġorg . and status . app . context . My Context Ċ import Ġorg . and status . app . util . My Log Ċ import Ġorg . and status . app . util . My StringBuilder Ċ Ċ /** Ċ Ġ* ĠData Ġto Ġshow Ġon ĠUI . ĠMay Ġbe Ġcreated Ġon ĠUI Ġthread Ċ Ġ* Ġ@ author Ġy vol k @ y ur iv olk ov . com Ċ Ġ*/ Ċ class ĠTimeline Title Ġprivate Ġconstructor ( val Ġtitle : ĠString , Ġval Ġsub Title : ĠString ?, Ġ// ĠOptional Ġnames ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaccount Name : ĠString ?, Ġval Ġorigin Name : ĠString ?) Ġ{ ĊĠĠĠ Ġenum Ġclass ĠDestination Ġ{ ĊĠĠĠĠĠĠĠ ĠTIME LINE _ ACTIVITY , ĠDEFAULT ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate Activity Title ( activity : ĠMy Activity , Ġadditional Title Text : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity . setTitle ( if Ġ(! additional Title Text . isNull OrEmpty () Ġ&& Ġsub Title . isNull OrEmpty ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMy StringBuilder . of ( title ). with Space ( additional Title Text ) Ġelse Ġtitle ) ĊĠĠĠĠĠĠĠ Ġactivity . set Subtitle ( if Ġ( sub Title . isNull OrEmpty ()) Ġ"" Ġelse ĠMy StringBuilder . of ( sub Title ). with Space ( additional Title Text )) ĊĠĠĠĠĠĠĠ ĠMy Log . v ( activity ) Ġ{ Ġ" Title : Ġ" Ġ+ ĠtoString () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠMy StringBuilder . of ( title ). with Space ( sub Title ). toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠĠĠĠĠ Ġfun Ġfrom ( my Context : ĠMy Context , Ġtimeline : ĠTimeline , Ġaccount To Hide : ĠMy Account Ġ= ĠMy Account . EMPTY , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnames Are Hidden : ĠBoolean Ġ= Ġtrue , Ġdestination : ĠDestination Ġ= ĠDestination . DEFAULT ): ĠTimeline Title Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠTimeline Title ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcalc Title ( my Context , Ġtimeline , Ġaccount To Hide , Ġnames Are Hidden , Ġdestination ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcalc Subtitle ( my Context , Ġtimeline , Ġaccount To Hide , Ġnames Are Hidden , Ġdestination ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( timeline . timeline Type . is ForUser () Ġ&& Ġtimeline . my Account To Sync . isValid ) Ġtimeline . my Account To Sync . to Account ButtonText () Ġelse Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( timeline . timeline Type . is At Origin () Ġ&& Ġtimeline . get Origin (). isValid ) Ġtimeline . get Origin (). name Ġelse Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġcalc Title ( my Context : ĠMy Context , Ġtimeline : ĠTimeline , Ġaccount To Hide : ĠMy Account , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnames Are Hidden : ĠBoolean , Ġdestination : ĠDestination ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( timeline . isEmpty Ġ&& Ġdestination Ġ== ĠDestination . TIME LINE _ ACTIVITY ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" And Status " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtitle Ġ= ĠMy StringBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( show Actor ( timeline , Ġaccount To Hide , Ġnames Are Hidden )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Actor May Be Shown In Subtitle ( timeline )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle . with Space ( timeline . timeline Type . title ( my Context . context )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle . with Space ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtimeline . timeline Type . title ( my Context . context , Ġget Actor Name ( timeline ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle . with Space ( timeline . timeline Type . title ( my Context . context )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( show Origin ( timeline , Ġnames Are Hidden )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle . with Space Quoted ( timeline . get Search Query ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtitle . toString () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġis Actor May Be Shown In Subtitle ( timeline : ĠTimeline ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ! timeline . has Search Query () Ġ&& Ġtimeline . timeline Type . title Res With Params Id Ġ== Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġcalc Subtitle ( my Context : ĠMy Context , Ġtimeline : ĠTimeline , Ġaccount To Hide : ĠMy Account , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnames Are Hidden : ĠBoolean , Ġdestination : ĠDestination ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( timeline . isEmpty Ġ&& Ġdestination Ġ== ĠDestination . TIME LINE _ ACTIVITY ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtitle Ġ= ĠMy StringBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( show Actor ( timeline , Ġaccount To Hide , Ġnames Are Hidden )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Actor May Be Shown In Subtitle ( timeline )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle . with Space ( get Actor Name ( timeline )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( show Origin ( timeline , Ġnames Are Hidden )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle . with Space ( timeline . timeline Type . scope . timeline Pre position ( my Context )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle . with Space ( timeline . get Origin (). name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! show Origin ( timeline , Ġnames Are Hidden )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle . with Space Quoted ( timeline . get Search Query ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( timeline . is Combined ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle . with Space ( if Ġ( my Context . isEmpty ) Ġ" combined " Ġelse Ġmy Context . context . getText ( R . string . combined _ timeline _ on )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtitle . toString () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġget Actor Name ( timeline : ĠTimeline ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( timeline . is Sync edBy Other User ()) Ġtimeline . actor . actor Name In Timeline ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġtimeline . my Account To Sync . to Account ButtonText () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġshow Actor ( timeline : ĠTimeline , Ġaccount To Hide : ĠMy Account , Ġnames Are Hidden : ĠBoolean ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ( timeline . timeline Type . is ForUser () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġ! timeline . is Combined Ġ&& Ġtimeline . actor . non Empty ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġtimeline . actor . not Same User ( account To Hide . actor ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġ( timeline . actor . user . is My User . un true Ġ|| Ġnames Are Hidden )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġshow Origin ( timeline : ĠTimeline , Ġnames Are Hidden : ĠBoolean ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtimeline . timeline Type . is At Origin () Ġ&& Ġ! timeline . is Combined Ġ&& Ġnames Are Hidden ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ