/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 9 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* Ġ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 . android . build . gradle . internal . dsl Ċ Ċ import Ġcom . android . build . api . dsl . Asset Pack Extension Ċ import Ġcom . android . build . api . dsl . Dynamic Delivery Ċ import Ġorg . gradle . api . Action Ċ import Ġorg . gradle . api . model . ObjectFactory Ċ import Ġjavax . inject . Inject Ċ Ċ abstract Ġclass ĠAsset Pack Extension Impl Ġ@ Inject Ġconstructor ( object Factory : ĠObject Factory ) Ġ: ĠAsset Pack Extension { ĊĠĠĠ Ġoverride Ġval Ġdynamic Delivery : ĠDynamic Delivery Ġ= Ġobject Factory . newInstance ( ĊĠĠĠĠĠĠĠ ĠDynamic Delivery Impl :: class . java ) ĊĊĠĠĠ Ġoverride Ġfun Ġdynamic Delivery ( action : ĠDynamic Delivery . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġaction . invoke ( dynamic Delivery ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdynamic Delivery ( action : ĠAction < Dynamic Delivery >) Ġ{ ĊĠĠĠĠĠĠĠ Ġaction . execute ( dynamic Delivery ) ĊĠĠĠ Ġ} Ċ }