package Ġme . tat ark a . shard . sample Ċ Ċ import Ġandroid . view . View Ċ import Ġandroidx . appcompat . widget . Toolbar Ċ import Ġandroidx . navigation . Nav Controller Ċ import Ġandroidx . navigation . Navigation . find Nav Controller Ċ import Ġandroidx . navigation . ui . setup With Nav Controller Ċ import Ġme . tat ark a . shard . app . Shard Ċ import Ġme . tat ark a . shard . nav . Shard Navigator Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠNavigation Shard Ġ@ Inject Ġconstructor () Ġ: ĠSh ard (), ĠReset able Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġcontroller : ĠNav Controller ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate () Ġ{ ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . navigation ) ĊĠĠĠĠĠĠĠ Ġcontroller Ġ= Ġfind Nav Controller ( require ViewById ( R . id . nav )) ĊĠĠĠĠĠĠĠ Ġrequire ViewById < Toolbar >( R . id . toolbar ). setup With Nav Controller ( controller ) ĊĠĠĠĠĠĠĠ Ġrequire ViewById < View >( R . id . root ). setOnClickListener Ġ{ Ġcontroller . navigate ( R . id . root ) Ġ} ĊĠĠĠĠĠĠĠ Ġrequire ViewById < View >( R . id . dest 1 ). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontroller . navigate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . dest 1 , Ġnull , Ġnull , ĠSh ard Navigator . Extras . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. transition ( R . transition . square _ transition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġrequire ViewById < View >( R . id . dest 2 ). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontroller . navigate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . dest 2 , Ġnull , Ġnull , ĠSh ard Navigator . Extras . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. transition ( R . transition . square _ transition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġreset () Ġ{ ĊĠĠĠĠĠĠĠ Ġcontroller . navigate ( R . id . root ) ĊĠĠĠ Ġ} Ċ } Ċ