/* Ċ Ġ* Ġ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 . mobile . android . vpn . di Ċ Ċ import Ġcom . duck duck go . di . scopes . App Object Graph Ċ import Ġcom . duck duck go . di . scopes . Vpn Object Graph Ċ import Ġcom . duck duck go . mobile . android . vpn . service . Device Shield Tile Service Ċ import Ġcom . squareup . an vil . annotations . Contribut es To Ċ import Ġcom . squareup . an vil . annotations . Merge Sub component Ċ import Ġdagger . Bind s Ċ import Ġdagger . Module Ċ import Ġdagger . Sub component Ċ import Ġdagger . android . Android Injector Ċ import Ġdagger . binding . Tile Service B ing ing Key Ċ import Ġdagger . mult ib ind ings . Class Key Ċ import Ġdagger . mult ib ind ings . Into Map Ċ Ċ @ Vpn Scope Ċ @ Merge Sub component ( ĊĠĠĠ Ġscope Ġ= ĠV pn Object Graph :: class Ċ ) Ċ interface ĠDevice Shield Tile Service Component Ġ: ĠAndroid Injector < Device Shield Tile Service > Ġ{ ĊĠĠĠ Ġ@ Sub component . Factory ĊĠĠĠ Ġinterface ĠFactory Ġ: ĠAndroid Injector . Factory < Device Shield Tile Service > Ċ } Ċ Ċ @ Contribut es To ( App Object Graph :: class ) Ċ interface ĠDevice Shield Tile Service Component Provider Ġ{ ĊĠĠĠ Ġfun Ġprovide Device Shield Tile Service Component Factory (): ĠDevice Shield Tile Service Component . Factory Ċ } Ċ Ċ @ Module Ċ @ Contribut es To ( App Object Graph :: class ) Ċ abstract Ġclass ĠDevice Shield Tile Service Binding Module Ġ{ ĊĠĠĠ Ġ@ Bind s ĊĠĠĠ Ġ@ Into Map ĊĠĠĠ Ġ// ĠWe Ġdon 't Ġuse Ġthe ĠDevice Shield Tile Service :: class Ġas Ġbinding Ġkey Ġbecause ĠTile Service Ġ( Android ) Ġclass Ġdoes Ġnot ĊĠĠĠ Ġ// Ġexist Ġin Ġall ĠAPIs , Ġand Ġso Ġusing Ġit ĠDevice Shield Tile Service :: class Ġas Ġkey Ġwould Ġcompile Ġbut Ġimmediately Ġcrash ĊĠĠĠ Ġ// Ġat Ġstartup Ġwhen ĠJava Ġclass Ġloader Ġtries Ġto Ġresolve Ġthe ĠTile Service :: class Ġupon ĠD agger Ġsetup ĊĠĠĠ Ġ@ Class Key ( Tile Service B ing ing Key :: class ) ĊĠĠĠ Ġabstract Ġfun Ġbind Device Shield Tile Service Component Factory ( factory : ĠDevice Shield Tile Service Component . Factory ): ĠAndroid Injector . Factory < *> Ċ } Ċ