package Ġru . sm ity uk h . jo om 2 . navigation Ċ Ċ import Ġandroid . net . Uri Ċ Ċ interface ĠDee plink Handler Ġ{ ĊĠĠĠ Ġfun Ġhandle ( uri : ĠUri ): ĠBoolean Ċ } Ċ Ċ class ĠDee plink Handler Prod ( private Ġval Ġnavigation : ĠNavigation ) Ġ: ĠDee plink Handler Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġhttp Expression Ġ= ĠRegex ("^ https ? :// g iphy . com / gif s /( \\ w +) \\ s *$ ") ĊĠĠĠ Ġprivate Ġval Ġj oom Expression Ġ= ĠRegex ("^ jo om :// gif s /( \\ w +) \\ s *$ ") ĊĊĠĠĠ Ġoverride Ġfun Ġhandle ( uri : ĠUri ): ĠBoolean Ġ= Ġwhen Ġ( uri . scheme ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ" jo om " Ġ-> Ġhandle Http ( uri ) ĊĠĠĠĠĠĠĠ Ġ" http ", Ġ" https " Ġ-> Ġhandle J oom ( uri ) ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhandle Http ( uri : ĠUri ): ĠBoolean Ġ= Ġhandle Common ( uri , Ġj oom Expression ) ĊĊĠĠĠ Ġprivate Ġfun Ġhandle J oom ( uri : ĠUri ): ĠBoolean Ġ= Ġhandle Common ( uri , Ġhttp Expression ) ĊĊĠĠĠ Ġprivate Ġfun Ġhandle Common ( uri : ĠUri , Ġexpression : ĠRegex ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġexpression . find ( uri . toString ()) ĊĠĠĠĠĠĠĠ Ġif Ġ( result Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġnavigation . navigate To Details ( result . group Values [ 1 ]) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ċ }