package Ġcom . pr ate ek j . sn ooper . db reader . activity Ċ Ċ import Ġandroid . graphics . Type face Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View . GONE Ċ import Ġandroid . view . View . VISIBLE Ċ import Ġandroid . widget . TableRow Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . core . content . Context Compat . get Drawable Ċ import Ġcom . pr ate ek j . sn ooper . R Ċ import Ġcom . pr ate ek j . sn ooper . db reader . Database DataReader Ċ import Ġcom . pr ate ek j . sn ooper . db reader . Database Reader Ċ import Ġcom . pr ate ek j . sn ooper . db reader . activity . Database Detail Activity . Companion . TABLE _ NAME Ċ import Ġcom . pr ate ek j . sn ooper . db reader . model . Table Ċ import Ġcom . pr ate ek j . sn ooper . db reader . view . TableView Callback Ċ import Ġcom . pr ate ek j . sn ooper . infra . Background Task Executor Ċ import Ġcom . pr ate ek j . sn ooper . network sn ooper . activity . Sn ooper Base Activity Ċ import Ġkotlinx . android . synt hetic . main . activity _ table _ view .* Ċ Ċ class ĠTable Detail Activity Ġ: ĠSn ooper Base Activity (), ĠTable View Callback Ġ{ ĊĠ Ġprivate Ġlateinit Ġvar Ġdatabase Reader : ĠDatabase Reader ĊĊĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠ ĠsetContentView ( R . layout . activity _ table _ view ) ĊĠĠĠ Ġinit Views () ĊĠĠĠ Ġval ĠtableName Ġ= Ġintent . getString Extra ( TABLE _ NAME ) ĊĠĠĠ Ġval Ġdb Path Ġ= Ġintent . getString Extra ( Database Detail Activity . DB _ PATH ) ĊĠĠĠ Ġval Ġbackground Task Executor Ġ= ĠBackground Task Executor ( this ) ĊĠĠĠ Ġdatabase Reader Ġ= ĠDatabase Reader ( this , Ġbackground Task Executor , ĠDatabase DataReader ()) ĊĠĠĠ Ġdatabase Reader . fetch Table Content ( this , Ġdb Path , ĠtableName !! ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon Table Fetch Started () Ġ{ ĊĠĠĠ Ġembedded _ loader !!. visibility Ġ= ĠVIS IBLE ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon Table Fetch Completed ( table : ĠTable ) Ġ{ ĊĠĠĠ Ġembedded _ loader !!. visibility Ġ= ĠG ONE ĊĠĠĠ Ġupdate View ( table ) ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġinit Views () Ġ{ ĊĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĠĠĠ Ġsupport ActionBar !!. set Display Home As Up Enabled ( true ) ĊĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġupdate View ( table : ĠTable ) Ġ{ ĊĠĠĠ Ġadd TableColumn Names ( table ) ĊĠĠĠ Ġadd Table Rows To Ui ( table ) ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġadd Table Rows To Ui ( table : ĠTable ) Ġ{ ĊĠĠĠ Ġval Ġrows Ġ= Ġtable . rows !! ĊĠĠĠ Ġfor Ġ( i Ġin Ġrows . indices ) Ġ{ ĊĠĠĠĠĠ Ġtable _ layout !!. addView ( add Row Data ( rows [ i ]. data , Ġi Ġ+ Ġ 1 )) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġadd TableColumn Names ( table : ĠTable ) Ġ{ ĊĠĠĠ Ġval Ġcolumn Row Ġ= ĠTable Row ( this ) ĊĠĠĠ Ġval Ġserial No Cell Ġ= Ġget Cell View ( getString ( R . string . serial _ number _ column _ heading )) ĊĠĠĠ Ġserial No Cell . setType face ( null , ĠType face . BOLD ) ĊĠĠĠ Ġcolumn Row . addView ( serial No Cell ) ĊĠĠĠ Ġfor Ġ( column Ġin Ġtable . columns !! ) Ġ{ ĊĠĠĠĠĠ Ġval Ġcolumn View Ġ= Ġget Cell View ( column ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġset BackgroundColor ( Context Compat . getColor ( this @ Table Detail Activity , ĠR . color . sn ooper _ grey )) ĊĠĠĠĠĠĠĠ Ġbackground Ġ= Ġget Drawable ( this @ Table Detail Activity , ĠR . drawable . table _ cell _ background ) ĊĠĠĠĠĠĠĠ Ġset Type face ( null , ĠType face . BOLD ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġcolumn Row . addView ( column View ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġtable _ layout !!. addView ( column Row ) ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġadd Row Data ( data : ĠList < String >, Ġserial Number : ĠInt ): ĠTable Row Ġ{ ĊĠĠĠ Ġval Ġrow Ġ= ĠTable Row ( this ) ĊĠĠĠ Ġrow . addView ( getCell View ( serial Number . toString ())) ĊĠĠĠ Ġfor Ġ( cell Value Ġin Ġdata ) Ġ{ ĊĠĠĠĠĠ Ġrow . addView ( getCell View ( cell Value )) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġrow ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġget Cell View ( cell Value : ĠString ): ĠTextView Ġ{ ĊĠĠĠ Ġval ĠtextView Ġ= ĠTextView ( this ) ĊĠĠĠ ĠtextView . set Padding ( 1 , Ġ 0 , Ġ 0 , Ġ 0 ) ĊĠĠĠ ĠtextView . background Ġ= Ġget Drawable ( this , ĠR . drawable . table _ cell _ background ) ĊĠĠĠ ĠtextView . text Ġ= Ġcell Value ĊĠĠĠ Ġreturn ĠtextView ĊĠ Ġ} Ċ }