package Ġio . github . fe elf re el inux . wy kop mob il ny . utils . wy kop _ link _ handler Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġio . github . fe elf re el inux . wy kop mob il ny . ui . modules . New Navigator Ċ import Ġio . github . fe elf re el inux . wy kop mob il ny . ui . modules . New Navigator Api Ċ import Ġio . github . fe elf re el inux . wy kop mob il ny . ui . modules . links . link details . Link Details Activity Ċ import Ġio . github . fe elf re el inux . wy kop mob il ny . ui . modules . mik ro blog . entry . Entry Activity Ċ import Ġio . github . fe elf re el inux . wy kop mob il ny . ui . modules . tag . Tag Activity Ċ import Ġio . github . fe elf re el inux . wy kop mob il ny . ui . modules . pm . conversation . Conversation Activity Ċ import Ġio . github . fe elf re el inux . wy kop mob il ny . utils . wy kop _ link _ handler . link parser . Conversation Link Parser Ċ import Ġio . github . fe elf re el inux . wy kop mob il ny . utils . wy kop _ link _ handler . link parser . Entry Link Parser Ċ import Ġio . github . fe elf re el inux . wy kop mob il ny . utils . wy kop _ link _ handler . link parser . Link Parser Ċ import Ġio . github . fe elf re el inux . wy kop mob il ny . utils . wy kop _ link _ handler . link parser . Tag Link Parser Ċ Ċ interface ĠW yk op Link Handler Api Ġ{ ĊĠĠĠ Ġfun Ġhandle Url ( url : ĠString , Ġrefresh Notifications Ġ: ĠBoolean Ġ= Ġfalse ) Ċ } Ċ Ċ class ĠW yk op Link Handler ( val Ġcontext : ĠActivity , Ġprivate Ġval Ġnavigator Api : ĠNew Navigator Api ) Ġ: ĠW yk op Link Handler Api Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPRO FILE _ PREFIX Ġ= Ġ'@ ' ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTAG _ PREFIX Ġ= Ġ'#' ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠEN TRY _ MATCH ER Ġ= Ġ" wp is " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠLINK _ MATCH ER Ġ= Ġ" link " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTAG _ MATCH ER Ġ= Ġ" tag " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPM _ MATCH ER Ġ= Ġ" wi ad om osc - pr yw at na " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠDE LIMITER Ġ= Ġ"/" ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Link Intent ( url : ĠString , Ġcontext Ġ: ĠContext ): ĠIntent ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresource Ġ= Ġurl . substring After (" wy kop . pl /") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( resource . substring Before ( Companion . DE LIMITER )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠComp anion . ENTRY _ MATCH ER Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġentry Id Ġ= ĠEntry Link Parser . getEntry Id ( url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( entry Id Ġ!= Ġnull ) ĠEntry Activity . create Intent ( context , Ġentry Id , ĠEntry Link Parser . getEntry Comment Id ( url )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠComp anion . TAG _ MATCH ER Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTag Activity . create Intent ( context , ĠTag Link Parser . getTag ( url )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠComp anion . PM _ MATCH ER Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCon versation Activity . create Intent ( context , ĠCon versation Link Parser . get Conversation User ( url )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠComp anion . LINK _ MATCH ER Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlink Id Ġ= ĠLink Parser . get Link Id ( url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( link Id Ġ!= Ġnull ) ĠLink Details Activity . create Intent ( context , Ġlink Id , ĠLink Parser . get Link Comment Id ( url )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhandle Url ( url : ĠString , Ġrefresh Notifications : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( url . first ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPRO FILE _ PREFIX Ġ-> Ġhandle Profile ( url ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTAG _ PREFIX Ġ-> Ġhandle Tag ( url ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġhandle Link ( url , Ġrefresh Notifications ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhandle Profile ( login : ĠString ) Ġ{ Ġ//@ TODO ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhandle Tag ( tag : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnavigator Api . open Tag Activity ( tag . remove Prefix ( TAG _ PREFIX . toString ())) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhandle Link ( url : ĠString , Ġrefresh Notifications Ġ: ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= Ġget Link Intent ( url , Ġcontext ) ĊĠĠĠĠĠĠĠ Ġif Ġ( intent Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( refresh Notifications ) Ġcontext . startActivity For Result ( intent , ĠNew Navigator . STARTED _ FROM _ NOTIFICATION S _ CODE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġcontext . startActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnavigator Api . open Browser ( url ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }