package Ġcom . d inar ap aran id . pri ma Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . core . graphics . drawable . to Drawable Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . d inar ap aran id . pri ma . core . Folder Ċ import Ġcom . d inar ap aran id . pri ma . databinding . Activity Folders Binding Ċ import Ġcom . d inar ap aran id . pri ma . fragments . Choose Folder Fragment Ċ import Ġcom . d inar ap aran id . pri ma . utils . Params Ċ import Ġcom . d inar ap aran id . pri ma . utils . extensions . root File Ċ import Ġcom . d inar ap aran id . pri ma . utils . extensions . to Bitmap Ċ import Ġcom . d inar ap aran id . pri ma . utils . pol ym orphism . Abstract Activity Ċ import Ġcom . d inar ap aran id . pri ma . view models . android x . Folders Activity ViewModel Ċ import Ġcom . d inar ap aran id . pri ma . view models . mv vm . ViewModel Ċ import Ġjava . lang . ref . Weak Reference Ċ Ċ class ĠFold ers Activity Ġ: ĠAbstract Activity (), ĊĠĠĠ ĠChoose Folder Fragment . Callbacks Ġ{ ĊĠĠĠ Ġinternal Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġinternal Ġconst Ġval ĠP ICK _ FOLDER Ġ= Ġ 2 1 2 ĊĠĠĠĠĠĠĠ Ġinternal Ġconst Ġval ĠF OLDER _ KEY Ġ= Ġ" folder " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġbinding : ĠActivity Folders Binding ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġval ĠviewModel : ĠFold ers Activity ViewModel Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠViewModel Provider ( this )[ Folders Activity ViewModel :: class . java ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Theme () ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġinit View ( savedInstanceState ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġbinding Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit First Fragment () Ġ{ ĊĠĠĠĠĠĠĠ Ġcurrent Fragment Ġ= ĠWeak Reference ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsupport FragmentManager . find Fragment ById ( R . id . gtm _ fragment _ container ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( current Fragment . get () Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsupport FragmentManager ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . folders _ fragment _ container , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChoose Folder Fragment . newInstance ( Folder . from File ( this . root File ) !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit View ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠData Binding Util ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ContentView < Activity Folders Binding >( this , ĠR . layout . activity _ folders ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠViewModel () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠParams . instance . background Image ?. run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfolders Main Layout . background Ġ= Ġto Bitmap (). to Drawable ( resources ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġinit First Fragment () ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( binding !!. folders Switch Toolbar ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar !!. set Display Show Title Enabled ( false ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Folder Selected ( folder : ĠFolder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsupport FragmentManager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Custom Animations ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . anim . slide _ in , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . anim . slide _ out , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . anim . slide _ in , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . anim . slide _ out ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . folders _ fragment _ container , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChoose Folder Fragment . newInstance ( folder ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addTo Back Stack ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit () ĊĠĠĠ Ġ} Ċ }