package Ġcom . xf inity . blueprint . architecture Ċ Ċ import Ġ` in `. sr ain . cube . views . ptr . Ptr Classic Frame Layout Ċ import Ġandroidx . appcompat . app . ActionBar Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġandroid . view . View Ċ import Ġcom . xf inity . blueprint . Component Registry Ċ import Ġcom . xf inity . blueprint . presenter . Screen Presenter Ċ import Ġcom . xf inity . blueprint . view . Screen View Delegate Ċ Ċ interface ĠArch itect < in ĠT Ġ: ĠScreen Presenter <* >> Ġ{ ĊĠĠĠ Ġval Ġcomponent Registry : ĠComponent Registry ĊĠĠĠ Ġfun Ġinit Blueprint ( layout : ĠView , Ġpresenter : ĠT , Ġaction Bar : ĠAction Bar ? Ġ= Ġnull ) Ċ } Ċ Ċ abstract Ġclass ĠDefault Arch itect < out ĠT Ġ: ĠDefault Screen View >( override Ġval Ġcomponent Registry : ĠComponent Registry ) ĊĠĠĠ Ġ: ĠArch itect < Screen Presenter < T >> Ġ{ ĊĠĠĠ Ġlateinit Ġvar Ġcontainer : ĠView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġloading Dot s : ĠView ĊĠĠĠ Ġprotected Ġlateinit Ġvar Ġre cyclerView : Ġandroidx . recyclerview . widget . RecyclerView ĊĠĠĠ Ġlateinit Ġvar Ġscreen View Delegate : ĠScreen View Delegate ĊĠĠĠ Ġvar Ġptr Frame : ĠPtr Classic Frame Layout ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġsupport ActionBar : ĠAction Bar ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġinit Blueprint ( layout : ĠView , Ġpresenter : ĠScreen Presenter < T >, Ġaction Bar : ĠAction Bar ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġcontainer Ġ= Ġlayout . findViewById ( R . id . container ) ĊĠĠĠĠĠĠĠ Ġloading Dot s Ġ= Ġlayout . findViewById ( R . id . loading _ dots ) ĊĠĠĠĠĠĠĠ Ġre cyclerView Ġ= Ġlayout . findViewById ( R . id . recycler _ view ) Ġas Ġandroidx . recyclerview . widget . RecyclerView ĊĠĠĠĠĠĠĠ Ġptr Frame Ġ= Ġlayout . findViewById ( R . id . ptr _ frame ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar Ġ= Ġaction Bar ĊĊĠĠĠĠĠĠĠ Ġscreen View Delegate Ġ= ĠScreen View Delegate ( component Registry , Ġloading Dot s ) ĊĊĠĠĠĠĠĠĠ Ġval Ġscreen View Ġ= Ġget Screen View () ĊĠĠĠĠĠĠĠ Ġpresenter . attach View ( screen View ) ĊĠĠĠĠĠĠĠ Ġre cyclerView . adapter Ġ= Ġscreen View . screen View Delegate . component Adapter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun Ġget Screen View (): ĠT Ċ } Ċ Ċ class ĠDefault Screen View Arch itect ( component Registry : ĠComponent Registry ) ĊĠĠĠ Ġ: ĠDefault Arch itect < Default Screen View >( component Registry ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġget Screen View (): ĠDefault Screen View Ġ= ĠDefault Screen View ( screen View Delegate , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar Message View ( container ), ĠPull To Refresh View ( ptr Frame ), ĠRecyclerView Screen Manager ( re cyclerView )) Ċ } Ċ Ċ class ĠToolbar Screen View Arch itect ( component Registry : ĠComponent Registry ) ĊĠĠĠ Ġ: ĠDefault Arch itect < Toolbar Screen View >( component Registry ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġget Screen View (): ĠToolbar Screen View Ġ= ĠToolbar Screen View ( screen View Delegate , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar Message View ( container ), ĠPull To Refresh View ( ptr Frame ), ĠRecyclerView Screen Manager ( re cyclerView ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsupport ActionBar ) Ċ }