/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠSub stance ĠMobile Ċ Ġ* Ċ Ġ* Ġ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 Ġmobile . sub stance . colors . glide Ċ Ċ import Ġandroid . widget . ImageView Ċ import Ġcom . bump tech . glide . RequestBuilder Ċ import Ġcom . bump tech . glide . Request Manager Ċ import Ġcom . bump tech . glide . load . Option Ċ import Ġcom . bump tech . glide . request . RequestOptions Ċ import Ġmobile . sub stance . colors . Color Package Ċ import Ġmobile . sub stance . colors . Dominant Color Package Ċ import Ġmobile . sub stance . colors . Dynamic Colors Ċ import Ġmobile . sub stance . colors . UI Color Package Ċ Ċ /** Ċ Ġ* Ġ@ author ĠJul ian ĠO st are k Ċ Ġ*/ Ċ Ċ inline Ġfun Ġ< re ified ĠCP Ġ: ĠColor Package > ĠRequest Manager . load With Colors ( model : ĠAny ?): ĠRequest Builder < Dynamic Colors Wrapper < CP >> Ġ{ ĊĠĠĠ Ġreturn Ġ` as `( Dynamic Colors Wrapper :: class . java ) ĊĠĠĠĠĠĠĠ Ġ. load ( model ) ĊĠĠĠĠĠĠĠ Ġ. apply ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRequest Options () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( Option . memory ( Dynamic Colors Trans coder . TRANS CODE _ TYPE _ PARAM ), ĠCP :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. dis allow Hardware Config () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġas ĠRequest Builder < Dynamic Colors Wrapper < CP >> Ċ } Ċ Ċ inline Ġfun ĠRequest Builder < Dynamic Colors Wrapper < UI Color Package >> . mode ( mode : ĠInt ) ĊĠĠĠĠĠĠĠ Ġ: ĠRequest Builder < Dynamic Colors Wrapper < UI Color Package >> Ġ{ ĊĠĠĠ Ġreturn Ġapply ( ĊĠĠĠĠĠĠĠ ĠRequest Options () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOption . memory ( Dynamic Colors Trans coder . UI _ COLORS _ MODE _ PRIMARY ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmode Ġand ĠDynamic Colors . MASK _ PRIMARY ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOption . memory ( Dynamic Colors Trans coder . UI _ COLORS _ MODE _ ACC ENT ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmode Ġand ĠDynamic Colors . MASK _ ACC ENT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) Ċ } Ċ Ċ inline Ġfun ĠRequest Builder < Dynamic Colors Wrapper < UI Color Package >> . primary Mode ( primary Mode : ĠInt ) ĊĠĠĠĠĠĠĠ Ġ: ĠRequest Builder < Dynamic Colors Wrapper < UI Color Package >> Ġ{ ĊĠĠĠ Ġreturn Ġapply ( ĊĠĠĠĠĠĠĠ ĠRequest Options () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( Option . memory ( Dynamic Colors Trans coder . UI _ COLORS _ MODE _ PRIMARY ), Ġprimary Mode ) ĊĠĠĠ Ġ) Ċ } Ċ Ċ inline Ġfun ĠRequest Builder < Dynamic Colors Wrapper < UI Color Package >> . accent Mode ( accent Mode : ĠInt ) ĊĠĠĠĠĠĠĠ Ġ: ĠRequest Builder < Dynamic Colors Wrapper < UI Color Package >> Ġ{ ĊĠĠĠ Ġreturn Ġapply ( ĊĠĠĠĠĠĠĠ ĠRequest Options () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( Option . memory ( Dynamic Colors Trans coder . UI _ COLORS _ MODE _ ACC ENT ), Ġaccent Mode ) ĊĠĠĠ Ġ) Ċ } Ċ Ċ inline Ġfun Ġ< re ified ĠCP Ġ: ĠColor Package > ĠRequest Builder < Dynamic Colors Wrapper < CP >> . into ( ĊĠĠĠ ĠimageView : ĠImageView , ĊĠĠĠ Ġon Colors Extract ed : ĠOn Colors Extract ed Listener < CP > Ċ ): ĠDynamic Colors Target < CP > Ġ{ ĊĠĠĠ Ġval Ġtarget Ġ= Ġwhen Ġ( CP :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠ ĠUI Color Package :: class . java Ġ-> ĠDynamic Colors Target . UI Impl ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠimageView , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Colors Extract ed Ġas ĠOn Colors Extract ed Listener < UI Color Package > ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠDom inant Color Package :: class . java Ġ-> ĠDynamic Colors Target . Dominant Impl ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠimageView , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Colors Extract ed Ġas ĠOn Colors Extract ed Listener < Dominant Color Package > ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Type Ġparameter Ġ' CP ' Ġmust Ġbe Ġeither ĠUI Color Package Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" or ĠDom inant Color Package " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġinto ( target Ġas ĠDynamic Colors Target < CP >) Ċ }