package Ġscreens witch ers ample . first Ċ Ċ import Ġandroid . view . View Ċ import Ġandroidx . annotation . Layout Res Ċ import Ġcom . jay new st rom . screens witch er . dialog manager . dialog Dis player Ċ import Ġjavax . inject . Inject Ċ import Ġjavax . inject . Provider Ċ Ċ internal Ġclass ĠFirst Presenter Ġprivate Ġconstructor ( private Ġval Ġview : ĠView , Ġcomponent : ĠFirst Component ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Layout Res Ġfun Ġlayout Id () Ġ= ĠR . layout . first _ view ĊĠĠĠĠĠĠĠ Ġfun Ġbind View ( view : ĠView , Ġcomponent : ĠFirst Component ) Ġ= ĠFirst Presenter ( view , Ġcomponent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Inject Ġlateinit Ġvar Ġdialog Factory Provider : ĠProvider < First Dialog Factory > ĊĠĠĠ Ġ@ Inject Ġlateinit Ġvar Ġnavigator : ĠFirst Navigator ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġcomponent . inject ( this ) ĊĊĠĠĠĠĠĠĠ Ġview . findViewById < View >( R . id . btn _ second ). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnavigator . push To Second Screen ( view ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġview . findViewById < View >( R . id . btn _ replace _ with _ second ). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnavigator . replace With Second Screen ( view ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġview . findViewById < View >( R . id . btn _ show _ first _ dialog ). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . dialog Dis player ()?. show ( dialog Factory Provider . get ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġview . findViewById < View >( R . id . btn _ show _ navigate _ dialog ). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . dialog Dis player ()?. show ( Navigate Dialog Factory ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ