/* Ċ Ġ* ĠCopyright Ġ 2 0 2 2 ĠW ANG ĠY an ke Ċ Ġ* Ċ Ġ* Ġ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 Ġdev . y ank ew . sample . domain . inter actor Ċ Ċ import Ġdev . y ank ew . sample . domain . config . New Feature Local Param Ċ import Ġdev . y ank ew . sample . domain . config . New Feature Param Ċ import Ġdev . y ank ew . sample . domain . config . New Feature Remote Param Ċ import Ġdev . y ank ew . sample . domain . config . getConfig ured Value Ċ import Ġdev . y ank ew . sample . domain . coroutine . Io Dispatcher Ċ import Ġdev . y ank ew . sample . domain . model . Data Result Ċ import Ġdev . y ank ew . sample . domain . util . Logger Ċ import Ġkotlinx . coroutines . Coroutine Dispatcher Ċ import Ġkotlinx . coroutines . flow . Flow Ċ import Ġkotlinx . coroutines . flow . flow Of Ċ import Ġkotlinx . coroutines . flow . map Ċ import Ġjava . util . Optional Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠGet New Feature Enabled UseCase Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġ@ New Feature Param Ġprivate Ġval Ġlocal Param : ĠOptional < New Feature Local Param >, ĊĠĠĠ Ġ@ New Feature Param Ġprivate Ġval Ġremote Param : ĠOptional < New Feature Remote Param >, ĊĠĠĠ Ġprivate Ġval Ġlogger : ĠLogger , ĊĠĠĠ Ġ@ Io Dispatcher Ġio Dispatcher : ĠCor outine Dispatcher Ċ ) Ġ: ĠFlow UseCase < Unit , ĠBoolean >( io Dispatcher ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġexecute ( parameters : ĠUnit ): ĠFlow < Data Result < Boolean >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlocal Param . getConfig ured Value ( remote Param ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . i (" Use Ġlocal Ġdefault Ġvalue Ġfor Ġnew Ġfeature Ġenabled ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġflow Of ( false ) ĊĠĠĠĠĠĠĠ Ġ}. map Ġ{ ĠData Result . Success ( it ) Ġ} ĊĠĠĠ Ġ} Ċ } Ċ