package Ġcom . sh in wan 2 . post maker . home Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . support . v 4 . view . Gravity Compat Ċ import Ġandroid . support . v 7 . app . ActionBar Drawer Toggle Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . view . MenuItem Ċ import Ġcom . sh in wan 2 . post maker . R Ċ import Ġcom . sh in wan 2 . post maker . post . Create Post Activity Ċ import Ġcom . sh in wan 2 . post maker . post . Timeline Posts Fragment Ċ import Ġcom . sh in wan 2 . post maker . util . de bounce Click s Ċ import Ġdagger . android . Android Injection Ċ import Ġdagger . android . Dispatch ing Android Injector Ċ import Ġdagger . android . support . Has Support Fragment Injector Ċ import Ġio . reactivex . dis pos ables . Composite Disposable Ċ import Ġkotlinx . android . synt hetic . main . activity _ home . drawer Layout Ċ import Ġkotlinx . android . synt hetic . main . activity _ home . fab Ċ import Ġkotlinx . android . synt hetic . main . activity _ home . top Toolbar Ċ import Ġjavax . inject . Inject Ċ Ċ private Ġconst Ġval ĠFR AG MENT _ TAG Ġ= Ġ" FRAGMENT _ TAG " Ċ Ċ class ĠHome Activity Ġ: ĠAppCompatActivity (), ĠHas Support Fragment Injector Ġ{ ĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġdispatch ing Android Injector : ĠDispatch ing Android Injector < Fragment > ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdrawer Toggle : ĠAction Bar Drawer Toggle ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcomposite Disposable : ĠComposite Disposable ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠAndroid Injection . inject ( this ) ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ home ) ĊĠĠĠĠĠĠĠ Ġcomposite Disposable Ġ= ĠComposite Disposable () ĊĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( top Toolbar ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar !!. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠsetTitle ( R . string . home _ title ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Display Home As Up Enabled ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Home Button Enabled ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdrawer Toggle Ġ= ĠAction Bar Drawer Toggle ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis , Ġdrawer Layout , Ġtop Toolbar , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . home _ drawer _ content description _ open , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . home _ drawer _ content description _ close ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġdrawer Layout . add Drawer Listener ( drawer Toggle ) ĊĊĠĠĠĠĠĠĠ Ġcomposite Disposable . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfab . de bounce Click s (). subscribe Ġ{ Ġnavigate To Create Post () Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġset Fragment () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Post Create ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Post Create ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġdrawer Toggle . sync State () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( drawer Layout . is Drawer Open ( Gravity Compat . START )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer Layout . close Drawer ( Gravity Compat . START ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Back Pressed () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . id . home Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer Layout . open Drawer ( Gravity Compat . START ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġcomposite Disposable . clear () ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsupport Fragment Injector () Ġ= Ġdispatch ing Android Injector ĊĊĠĠĠ Ġprivate Ġfun Ġnavigate To Create Post () Ġ{ ĊĠĠĠĠĠĠĠ ĠstartActivity ( Create Post Activity . create Post Intent ( this )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Fragment () Ġ{ ĊĠĠĠĠĠĠĠ Ġsupport FragmentManager . find Fragment By Tag ( FRAGMENT _ TAG ) Ġas ? ĠTimeline Posts Fragment ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: ĠTimeline Posts Fragment (). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsupport FragmentManager . beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ( R . id . fragment Container , Ġit , ĠFR AG MENT _ TAG ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġintent ( context : ĠContext ) Ġ= ĠIntent ( context , ĠHome Activity :: class . java ) ĊĠĠĠ Ġ} Ċ }