package Ġcom . flip per devices . dee plink . impl . dispatcher Ċ Ċ import Ġcom . flip per devices . core . di . App Graph Ċ import Ġcom . flip per devices . core . log . Log Tag Provider Ċ import Ġcom . flip per devices . core . log . info Ċ import Ġcom . flip per devices . dee plink . api . Deep Link Dispatcher Ċ import Ġcom . flip per devices . dee plink . api . Deep Link Handler Ċ import Ġcom . flip per devices . dee plink . model . Dee plink Ċ import Ġcom . flip per devices . file manager . api . share . FileManager Deep Link Handler Ċ import Ġcom . flip per devices . share . api . Archive Key Dee plink Handler Ċ import Ġcom . github . ter r ak ok . c icer one . Router Ċ import Ġcom . squareup . an vil . annotations . Contribut es Binding Ċ import Ġjavax . inject . Inject Ċ Ċ @ Contribut es Binding ( App Graph :: class , ĠDeep Link Dispatcher :: class ) Ċ class ĠDeep Link Dispatcher Impl Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġfile Manager Handler : ĠFile Manager Deep Link Handler , ĊĠĠĠ Ġkey Receive Handler : ĠArchive Key Dee plink Handler Ċ ) Ġ: ĠDeep Link Dispatcher , ĠLog Tag Provider Ġ{ ĊĠĠĠ Ġoverride Ġval ĠTAG Ġ= Ġ" Deep Link Dispatcher " ĊĊĠĠĠ Ġprivate Ġval Ġhandlers Ġ= Ġmutable ListOf ( ĊĠĠĠĠĠĠĠ Ġkey Receive Handler , ĊĠĠĠĠĠĠĠ Ġfile Manager Handler ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġprocess ( router : ĠRouter , Ġdee plink : ĠDee plink ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsupported Handlers Ġ= Ġhandlers . map Ġ{ Ġit . is Support Link ( dee plink ) Ġto Ġit Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . first Ġ!= Ġnull Ġ} ĊĊĠĠĠĠĠĠĠ Ġinfo Ġ{ Ġ" Found Ġ${ supported Handlers . size } Ġsupported Ġhandlers : Ġ$ supported Handlers " Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġprocess Handler Ġ= Ġsupported Handlers ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. max By OrNull Ġ{ Ġit . first !! Ġ} Ġ?: Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġinfo Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Choice Ġhandler Ġ${ process Handler . second . java Class } Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" with Ġpriority Ġ${ process Handler . first }" ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprocess Handler . second . process Link ( router , Ġdee plink ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġregister Handler ( deep Link Handler : ĠDeep Link Handler ) Ġ{ ĊĠĠĠĠĠĠĠ Ġhandlers . add ( deep Link Handler ) ĊĠĠĠ Ġ} Ċ } Ċ