/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 Ġ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 . Ċ Ġ*/ Ċ Ċ @ file : Suppress (" NOTH ING _ TO _ INLINE ") Ċ Ċ package Ġandroidx . navigation . dynamic features Ċ Ċ import Ġandroid . content . Component Name Ċ import Ġandroid . net . Uri Ċ import Ġandroidx . annotation . Id Res Ċ import Ġandroidx . navigation . Activity Navigator Ċ import Ġandroidx . navigation . Nav Destination Builder Ċ import Ġandroidx . navigation . Nav Destination Dsl Ċ import Ġandroidx . navigation . get Ċ Ċ /** Ċ Ġ* ĠConstruct Ġa Ġnew Ġ[ Dynamic Activity Navigator . Destination ] Ċ Ġ* Ġ@ param Ġid ĠDestination Ġid . Ċ Ġ*/ Ċ inline Ġfun ĠDynamic Nav Graph Builder . activity ( ĊĠĠĠ Ġ@ Id Res Ġid : ĠInt , ĊĠĠĠ Ġbuilder : ĠDynamic Activity Navigator Destination Builder . () Ġ-> ĠUnit Ċ ) Ġ= Ġdestination ( ĊĠĠĠ ĠDynamic Activity Navigator Destination Builder ( ĊĠĠĠĠĠĠĠ Ġprovider [ Dynamic Activity Navigator :: class ], ĊĠĠĠĠĠĠĠ Ġid ĊĠĠĠ Ġ). apply ( builder ) Ċ ) Ċ Ċ /** Ċ Ġ* ĠDSL Ġfor Ġconstructing Ġa Ġnew Ġ[ Dynamic Activity Navigator . Destination ] Ċ Ġ*/ Ċ @ Nav Destination Dsl Ċ class ĠDynamic Activity Navigator Destination Builder ( ĊĠĠĠ Ġprivate Ġval Ġactivity Navigator : ĠDynamic Activity Navigator , ĊĠĠĠ Ġ@ Id Res Ġid : ĠInt Ċ ) Ġ: ĠNav Destination Builder < Activity Navigator . Destination >( activity Navigator , Ġid ) Ġ{ ĊĊĠĠĠ Ġvar ĠmoduleName : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġtarget Package : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġactivity ClassName : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġaction : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġdata : ĠUri ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġdata Pattern : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġbuild () Ġ= ĊĠĠĠĠĠĠĠ Ġ( super . build () Ġas ĠDynamic Activity Navigator . Destination ). also Ġ{ Ġdestination Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity ClassName ?. also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdestination . set Component Name ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠComponent Name ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( target Package Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget Package !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity Navigator . packageName ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdestination . target Package Ġ= Ġtarget Package ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdestination . moduleName Ġ= ĠmoduleName ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdestination . action Ġ= Ġaction ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdestination . data Ġ= Ġdata ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdestination . data Pattern Ġ= Ġdata Pattern ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ