package Ġcom . or ist ats . db Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . google . android . material . floating action button . Floating ActionButton Ċ import Ġcom . or ist ats . MainActivity Ċ import Ġcom . or ist ats . R Ċ Ċ class ĠRaw _ Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠDB _ Raw _ New _ Entry _ Activity Request Code Ġ= Ġ 1 ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdb _ ViewModel : ĠDB _ ViewModel ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance () Ġ= ĠRaw _ Fragment () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġinflater . inflate ( R . layout . db _ raw _ fragment , Ġcontainer , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġval Ġre cyclerView Ġ= Ġview . findViewById < RecyclerView >( R . id . db _ raw _ recyclerview ) ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= Ġcontext ?. let Ġ{ ĠRaw _ ListAdapter ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġre cyclerView . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġre cyclerView . layout Manager Ġ= ĠLinearLayoutManager ( context ) ĊĊĠĠĠĠĠĠĠ Ġdb _ ViewModel Ġ= Ġ( getActivity () Ġas ĠMainActivity ). db _ ViewModel ĊĊĠĠĠĠĠĠĠ Ġdb _ ViewModel . all R aws . observe ( view Lifecycle Owner , ĠObserver Ġ{ Ġdb _ raw _ entities Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠUpdate Ġthe Ġcached Ġcopy Ġof Ġentities Ġin Ġthe Ġadapter . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdb _ raw _ entities ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( adapter Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . set DB _ Raw _ Entities ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĊĠĠĠĠĠĠĠ Ġval Ġraw _ fab _ add Ġ= Ġview . findViewById < Floating ActionButton >( R . id . db _ raw _ fab _ add ) ĊĠĠĠĠĠĠĠ Ġraw _ fab _ add . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context , ĠRaw _ New _ Entry _ Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( intent , ĠDB _ Raw _ New _ Entry _ Activity Request Code ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġraw _ fab _ reset Ġ= Ġview . findViewById < Floating ActionButton >( R . id . db _ raw _ fab _ reset ) ĊĠĠĠĠĠĠĠ Ġraw _ fab _ reset . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠDelete Ġall Ġcontent Ġhere . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdb _ ViewModel . raw _ delete _ all () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAdd Ġsample Ġnumbers Ġhere . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġvar Ġdb _ Raw _ Entity Ġ= ĠDB _ Raw _ Entity ( 1 2 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġdb _ ViewModel . raw _ insert ( db _ Raw _ Entity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġdb _ Raw _ Entity Ġ= ĠDB _ Raw _ Entity ( 1 3 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġdb _ ViewModel . raw _ insert ( db _ Raw _ Entity ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( request Code Ġ== ĠDB _ Raw _ New _ Entry _ Activity Request Code Ġ&& ĠresultCode Ġ== ĠActivity . RESULT _ OK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata ?. getString Extra ( Raw _ New _ Entry _ Activity . EXTRA _ REPLY _ M ILL IS )?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdb _ raw _ entity Ġ= ĠDB _ Raw _ Entity ( it . to Long ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb _ ViewModel . raw _ insert ( db _ raw _ entity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . raw _ not _ saved , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġ( activity Ġas ĠMainActivity ). support ActionBar ?. title Ġ= ĠgetString ( R . string . fragment _ db _ raw ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Update Ġaction Ġbar Ġtitle Ġwhen Ġview pager Ġfoc uses Ġthis Ġfragment ĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġ( activity Ġas ĠMainActivity ). support ActionBar ?. title Ġ= ĠgetString ( R . string . fragment _ db _ raw ) ĊĠĠĠ Ġ} Ċ }