/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠA K 2 . Ċ Ġ* Ċ Ġ* Ġ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 Ġorg . ak 2 . android . build . fl avors Ċ Ċ import Ġcom . android . build . gradle . Base Extension Ċ import Ġorg . ak 2 . android . build . Android Version Ċ import Ġorg . ak 2 . android . build . Android Version .* Ċ import Ġorg . ak 2 . android . build . configur ators . Project Configuration Ċ import Ġorg . ak 2 . android . build . configur ators . effective Target Sdk Version Code Ċ Ċ enum Ġclass ĠAndroid Platforms Ġ( ĊĠĠĠ Ġval Ġmin Sdk Version Ġ: Ġorg . ak 2 . android . build . Android Version , ĊĠĠĠ Ġval Ġmax Sdk Version Ġ: Ġorg . ak 2 . android . build . Android Version ? Ġ= Ġnull Ċ ) Ġ: ĠFl avor Ġ{ ĊĊĠĠĠ Ġandroid 2 x ĠĠĠ Ġ( min Sdk Version Ġ= ĠG ING ER B READ , ĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Sdk Version Ġ= ĠG ING ER B READ _ MR 1 ĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠ Ġandroid 3 x ĠĠĠ Ġ( min Sdk Version Ġ= ĠH ONE Y COMB , ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Sdk Version Ġ= ĠH ONE Y COMB _ MR 2 ĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠ Ġandroid 4 x ĠĠĠ Ġ( min Sdk Version Ġ= ĠI CE _ CRE AM _ S AND W ICH , ĠĠĠĠĠĠ Ġmax Sdk Version Ġ= ĠK IT K AT ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠ Ġandroid 5 x ĠĠĠ Ġ( min Sdk Version Ġ= ĠK IT K AT _ WATCH , ĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Sdk Version Ġ= ĠL OL LI POP _ MR 1 ĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠ Ġandroid 6 x ĠĠĠ Ġ( min Sdk Version Ġ= ĠM , ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Sdk Version Ġ= ĠM ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠ Ġandroid 7 x ĠĠĠ Ġ( min Sdk Version Ġ= ĠN , ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Sdk Version Ġ= ĠN _ MR 1 ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠ Ġandroid 8 x ĠĠĠ Ġ( min Sdk Version Ġ= ĠO , ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Sdk Version Ġ= ĠO ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠ Ġandroid 9 x ĠĠĠ Ġ( min Sdk Version Ġ= ĠP , ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Sdk Version Ġ= ĠP ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠ Ġandroid 1 0 x ĠĠ Ġ( min Sdk Version Ġ= ĠQ , ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Sdk Version Ġ= ĠQ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠ Ġandroid 2 x 3 x Ġ Ġ( min Sdk Version Ġ= Ġandroid 2 x . min Sdk Version , Ġ Ġmax Sdk Version Ġ= Ġandroid 3 x . max Sdk Version Ġ), ĊĠĠĠ Ġandroid 2 x 3 x 4 x ( min Sdk Version Ġ= Ġandroid 2 x . min Sdk Version , Ġ Ġmax Sdk Version Ġ= Ġandroid 4 x . max Sdk Version Ġ), ĊĠĠĠ Ġandroid 4 xx ĠĠ Ġ( min Sdk Version Ġ= Ġandroid 4 x . min Sdk Version ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠ Ġandroid 4 1 x ĠĠ Ġ( min Sdk Version Ġ= ĠAND ROID _ 4 _ 1 ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠ Ġandroid 5 xx ĠĠ Ġ( min Sdk Version Ġ= Ġandroid 5 x . min Sdk Version ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠ Ġandroid 6 xx ĠĠ Ġ( min Sdk Version Ġ= Ġandroid 6 x . min Sdk Version ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠ Ġandroid 7 xx ĠĠ Ġ( min Sdk Version Ġ= Ġandroid 7 x . min Sdk Version ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠ Ġandroid 8 xx ĠĠ Ġ( min Sdk Version Ġ= Ġandroid 8 x . min Sdk Version ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠ Ġandroid 9 xx ĠĠ Ġ( min Sdk Version Ġ= Ġandroid 9 x . min Sdk Version ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠ Ġandroid 1 0 xx Ġ Ġ( min Sdk Version Ġ= Ġandroid 1 0 x . min Sdk Version ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠ Ġall ĠĠĠĠĠĠĠĠĠ Ġ( min Sdk Version Ġ= Ġandroid 2 x . min Sdk Version ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ); ĊĊĠĠĠ Ġoverride Ġval Ġdimension Name Ġ= Ġ" Android Platform " ĊĊĠĠĠ Ġoverride Ġfun Ġconfigure ( android : ĠBase Extension , Ġproject Config : ĠProject Configuration ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġproduct Flavor Ġ= Ġandroid . product Fl avors . create ( name ) ĊĠĠĠĠĠĠĠ Ġproduct Flavor . dimension Ġ= Ġdimension Name ĊĊĠĠĠĠĠĠĠ Ġthis . min Sdk Version . let ( Android Version :: code ). let ( product Flavor :: set Min Sdk Version ) ĊĠĠĠĠĠĠĠ Ġthis . max Sdk Version ?. let ( Android Version :: code )?. let ( product Flavor :: setMax Sdk Version ) ĊĊĠĠĠĠĠĠĠ Ġval Ġtarget Sdk Version Ġ= ĠMath . min ( this . max Sdk Version ?. code Ġ?: ĠInteger . MAX _ VALUE , Ġproject Config . effective Target Sdk Version Code ) ĊĠĠĠĠĠĠĠ Ġproduct Flavor . setTarget Sdk Version ( target Sdk Version ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcan Use As Dependency ( that : ĠFl avor ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( that Ġis ĠAndroid Platforms ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġthis Min Version Ġ= Ġthis . min Sdk Version . code ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġthat Min Version Ġ= Ġthat . min Sdk Version . code ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġthis Max Version Ġ= Ġthis . max Sdk Version ?. code Ġ?: ĠInteger . MAX _ VALUE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġthat Max Version Ġ= Ġthat . max Sdk Version ?. code Ġ?: ĠInteger . MAX _ VALUE ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ Ġthat Min Version Ġ<= Ġthis Min Version Ġ&& Ġthis Max Version Ġ<= Ġthat Max Version ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} Ċ }