/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 1 ĠD uck Duck Go Ċ Ġ* Ċ Ġ* Ġ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 Ġcom . duck duck go . app . browser . user agent Ċ Ċ import Ġcom . duck duck go . app . global . plugins . Plugin Point Ċ import Ġcom . duck duck go . di . scopes . App Scope Ċ import Ġcom . squareup . an vil . annotations . Contribut es To Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġdagger . Single Instance In Ċ import Ġdagger . mult ib ind ings . Mult ib inds Ċ Ċ class ĠUser Agent Interceptor Plugin Point ( ĊĠĠĠ Ġprivate Ġval Ġuser Agent Interceptor : ĠSet < @ Jvm Suppress W ild cards ĠUser Agent Interceptor > Ċ ) Ġ: ĠPlugin Point < UserAgent Interceptor > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġget Plugins (): ĠCollection < UserAgent Interceptor > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġuser Agent Interceptor ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Module Ċ @ Contribut es To ( App Scope :: class ) Ċ abstract Ġclass ĠUser Agent Interceptor Binding Module Ġ{ ĊĊĠĠĠ Ġ@ Mult ib inds ĊĠĠĠ Ġabstract Ġfun Ġprovide UserAgent Interceptor Plugins (): ĠSet < @ Jvm Suppress W ild cards ĠUser Agent Interceptor > Ċ } Ċ Ċ @ Module Ċ @ Contribut es To ( App Scope :: class ) Ċ class ĠUser Agent Plugin Point Module Ġ{ ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Single Instance In ( App Scope :: class ) ĊĠĠĠ Ġfun Ġprovide UserAgent Interceptor Plugin Point ( ĊĠĠĠĠĠĠĠ Ġuser Agent Interceptor : ĠSet < @ Jvm Suppress W ild cards ĠUser Agent Interceptor > ĊĠĠĠ Ġ): ĠPlugin Point < UserAgent Interceptor > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠUser Agent Interceptor Plugin Point ( userAgent Interceptor ) ĊĠĠĠ Ġ} Ċ } Ċ