package Ġcom . del ac rix m organ . wishlist . android . ui . history Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . core . os . bundle Of Ċ import Ġandroidx . core . view . isVisible Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . del ac rix m organ . wishlist . android . R Ċ import Ġcom . del ac rix m organ . wishlist . android . common . bottom sheet . Action Bottom Sheet Fragment Ċ import Ġcom . del ac rix m organ . wishlist . android . common . bottom sheet . Confirmation Bottom Sheet Fragment Ċ import Ġcom . del ac rix m organ . wishlist . android . common . bottom sheet . Edit Bottom Sheet Fragment Ċ import Ġcom . del ac rix m organ . wishlist . android . data . category . Date Type Ċ import Ġcom . del ac rix m organ . wishlist . android . data . controller . B ud getData Controller Ċ import Ġcom . del ac rix m organ . wishlist . android . data . controller . Transaction Data Controller Ċ import Ġcom . del ac rix m organ . wishlist . android . data . model . Keys Ċ import Ġcom . del ac rix m organ . wishlist . android . data . model . Sort Type Ċ import Ġcom . del ac rix m organ . wishlist . android . data . model . Transaction Ċ import Ġkotlinx . android . synt hetic . main . fragment _ history _ detail .* Ċ Ċ class ĠHistory Detail Fragment Ġ: ĠFragment (), ĊĠĠĠ ĠHistory RecyclerView Adapter . Listener , ĊĠĠĠ ĠAction Bottom Sheet Fragment . Listener , ĊĠĠĠ ĠEdit Bottom Sheet Fragment . Listener , ĊĠĠĠ ĠConfirm ation Bottom Sheet Fragment . Listener Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( bud getId : ĠString , Ġdate Type : ĠDate Type ) Ġ= ĠHistory Detail Fragment (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= Ġbundle Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠKeys . History . B ud getId . name Ġto Ġb ud getId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠKeys . History . Date Type . name Ġto Ġdate Type ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠviewModel : ĠHistory Detail ViewModel ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġadapter : ĠHistory RecyclerView Adapter ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ history _ detail , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠViewModel Provider ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get ( History Detail ViewModel :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbudget Ġ= ĠB ud getData Controller . get Budget ById ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire NotNull ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments ?. getString ( Keys . History . B ud getId . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdate Type Ġ= Ġrequire NotNull ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarguments ?. get Serializable ( Keys . History . Date Type . name ) Ġas ĠDate Type ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġadapter Ġ= ĠHistory RecyclerView Adapter ( this ) ĊĠĠĠĠĠĠĠ Ġadapter . transactions Ġ= ĠTransaction Data Controller . getTransaction ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbudget , Ġsort Type Ġ= ĠSort Type . Date Descending ĊĠĠĠĠĠĠĠ Ġ). to Mutable List () ĊĊĠĠĠĠĠĠĠ Ġre cyclerView . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġempty State ViewGroup . isVisible Ġ= Ġadapter . transactions . isEmpty () ĊĊĠĠĠĠĠĠĠ Ġswipe Refresh Layout . setOn Refresh Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġswipe Refresh Layout . is Refresh ing Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . transactions Ġ= ĠTransaction Data Controller . getTransaction ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbudget , Ġsort Type Ġ= ĠSort Type . Date Descending ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). to Mutable List () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Edit Bottom Sheet ( title : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠEdit Bottom Sheet Fragment . create ( this , Ġtitle ). show ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild FragmentManager , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAction Bottom Sheet Fragment :: class . simple Name ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Delete Confirmation Bottom Sheet () Ġ{ ĊĠĠĠĠĠĠĠ ĠConfirm ation Bottom Sheet Fragment . create ( this , Ġ" Are Ġyou Ġsure Ġyou Ġwant Ġto Ġdelete ? "). show ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild FragmentManager , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAction Bottom Sheet Fragment :: class . simple Name ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Transaction Selected ( transaction : ĠTransaction ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . transaction Ġ= Ġtransaction ĊĠĠĠĠĠĠĠ Ġval Ġaction Bottom Sheet Fragment Ġ= ĠAction Bottom Sheet Fragment . create ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAction Bottom Sheet Fragment . ActionType . Transaction , Ġthis ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġaction Bottom Sheet Fragment . show ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild FragmentManager , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAction Bottom Sheet Fragment :: class . simple Name ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Item Edited () Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Edit Bottom Sheet ( viewModel . transaction ?. name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Item Deleted () Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Delete Confirmation Bottom Sheet () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Edit Submit ( title : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠTODO ĠEdit ĠTransaction ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Confirm Submit () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠTODO ĠDelete ĠTransaction ĊĠĠĠ Ġ} Ċ }