package Ġkr . or . light salt . kot lo id . app Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . fragment . app . Fragment Activity Ċ import Ġandroidx . navigation . fragment . Nav Host Fragment Ċ import Ġkr . or . light salt . kot lo id . instantiate Fragment Ċ import Ġkotlin . reflect . K Class Ċ Ċ @ Suppress (" unused ") Ċ abstract Ġclass ĠPage < T > Ġ{ ĊĠĠĠ Ġopen Ġvar Ġdata : ĠT ? Ġ= Ġnull ĊĠĠĠ Ġopen Ġvar Ġtitle : ĠCharSequence ? Ġ= Ġnull ĊĠĠĠ Ġopen Ġvar Ġvisible Ġ= Ġtrue ĊĠĠĠ Ġabstract Ġval Ġid : ĠLong ĊĠĠĠ Ġabstract Ġfun Ġis Page Of ( fragment : ĠFragment ): ĠBoolean ĊĠĠĠ Ġabstract Ġfun Ġinstantiate ( activity : ĠFragment Activity ): ĠFragment ĊĊĠĠĠ Ġopen Ġclass ĠFragment Page < T >( fragment : ĠK Class < out ĠFragment >, Ġprivate Ġval Ġargs : ĠBundle ? Ġ= Ġnull ) Ġ: ĠPage < T >() Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġfragment Name : ĠString Ġ= Ġfragment . java . name ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġid Ġget () Ġ= Ġfragment Name . hashCode (). to Long () ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġis Page Of ( fragment : ĠFragment ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Name Ġ== Ġfragment . java Class . name ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġinstantiate ( activity : ĠFragment Activity ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . instantiate Fragment ( fragment Name ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= Ġargs ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġclass ĠNav Host Page < T >( private Ġval Ġgraph Res Id : ĠInt , Ġprivate Ġval Ġstart Destination Args : ĠBundle ? Ġ= Ġnull ) Ġ: ĠPage < T >() Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġid Ġget () Ġ= Ġgraph Res Id . to Long () ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġis Page Of ( fragment : ĠFragment ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Ġis ĠNav Host Fragment Ġ&& Ġfragment . id Ġ== Ġgraph Res Id ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġinstantiate ( activity : ĠFragment Activity ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNav Host Fragment . create ( graph Res Id , Ġstart Destination Args ) ĊĠĠĠ Ġ} Ċ } Ċ