package Ġcom . e gor iku . feature activity main . presentation . activity Ċ Ċ import Ġcom . e gor iku . core . di . utils . I Analytics Ċ import Ġcom . e gor iku . core . di . utils . I Router Ċ import Ġcom . e gor iku . feature activity main . common . Constants . Tracking Ċ import Ġcom . e gor iku . feature activity main . presentation . screen . Landing Screen Ċ import Ġcom . e gor iku . feature activity main . presentation . screen . Photo Report Screen Ċ import Ġcom . e gor iku . feature activity main . presentation . screen . Screen Factory Ċ import Ġcom . e gor iku . ui . arch . p vm . Base Presenter Ċ import Ġru . ter r ak ok . c icer one . android . support . Support App Screen Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠMainActivity Presenter Ċ @ Inject Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġrouter : ĠI Router , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġanalytics Interface : ĠI Analytics , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġscreen Factory : ĠScreen Factory ) ĊĠĠĠ Ġ: ĠBase Presenter < MainActivity Contract . View >(), ĠMainActivity Contract . Presenter Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġcurrent Screen : ĠSupport App Screen ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġopen Landing () Ġ{ ĊĠĠĠĠĠĠĠ Ġnew Root Screen ( Landing Screen ( screen Factory . get Landing ()), ĠTracking . TRACK ING _ FRAGMENT _ LAND ING ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġopen Photo Report () Ġ{ ĊĠĠĠĠĠĠĠ Ġnavigate To ( Photo Report Screen ( screen Factory . get Photo Report ()), ĠTracking . TRACK ING _ FRAGMENT _ PH OTO _ REPORT ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġnavigate To ( screen : ĠSupport App Screen , Ġtrack Page Id : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( check If Screen New ( screen )) Ġreturn ĊĊĠĠĠĠĠĠĠ Ġanalytics Interface . track Page View ( track Page Id ) ĊĠĠĠĠĠĠĠ Ġrouter . navigate To ( screen ) ĊĠĠĠĠĠĠĠ Ġcurrent Screen Ġ= Ġscreen ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġnew Root Screen ( screen : ĠSupport App Screen , Ġtrack Page Id : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( check If Screen New ( screen )) Ġreturn ĊĊĠĠĠĠĠĠĠ Ġanalytics Interface . track Page View ( track Page Id ) ĊĠĠĠĠĠĠĠ Ġrouter . new Root Screen ( screen ) ĊĠĠĠĠĠĠĠ Ġcurrent Screen Ġ= Ġscreen ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcheck If Screen New ( new Screen : ĠSupport App Screen ) Ġ= Ġcurrent Screen Ġ== Ġnew Screen ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ= Ġrouter . exit () Ċ }