package Ġcom . example . plant ly . activity Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġcom . example . plant ly . R Ċ import Ġcom . example . plant ly . adapters . My Pl ants Adapter Ċ import Ġcom . example . plant ly . network . Storage Manager . get My Pl ants Ċ import Ġkotlinx . android . synt hetic . main . activity _ my _ pl ants .* Ċ import Ġkotlinx . android . synt hetic . main . activity _ search .* Ċ import Ġkotlinx . android . synt hetic . main . app _ toolbar .* Ċ Ċ class ĠMy Pl ants Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġshared Preferences Ġ= Ġget SharedPreferences ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Theme Pref ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠContext . MODE _ PRIVATE ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ/* Get Ġthe Ġtheme Key Ġfrom Ġshared Ġpref Ġto Ġinitialise Ġthe Ġcorrect Ġcolour Ġscheme */ ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( shared Preferences . getString ( theme Key , Ġ" Default ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Default " Ġ-> Ġ Ġthis . set Theme ( R . style . Theme _ Plant ly ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" D ais y " Ġ-> Ġ Ġthis . set Theme ( R . style . Theme _ Plant ly _ D ais y ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" S ak ura " Ġ-> Ġ Ġthis . set Theme ( R . style . Theme _ Plant ly _ S ak ura ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" C antal ou pe " Ġ-> Ġ Ġthis . set Theme ( R . style . Theme _ Plant ly _ C antal ou pe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ my _ pl ants ) ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( app _ toolbar ) ĊĊĠĠĠĠĠĠĠ Ġapp _ toolbar . title Ġ= Ġ" Plant ly Ġ- ĠMy ĠPl ants " ĊĊĠĠĠĠĠĠĠ Ġ/* Define Ġstock Ġalert Ġdialog Ġto Ġbe Ġused Ġfor Ġdifferent Ġmessages */ ĊĠĠĠĠĠĠĠ Ġval Ġalert : ĠAlertDialog . Builder Ġ= ĠAlertDialog . Builder ( this @ My Pl ants Activity ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button ( android . R . string . ok ) Ġ{ Ġ_, Ġ_ Ġ-> Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setIcon ( android . R . drawable . ic _ dialog _ alert ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setOn Dismiss Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Back Pressed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmy _ plant _ recycler . layout Manager Ġ= ĠLinearLayoutManager ( this @ My Pl ants Activity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmy Pl ants Ġ= Ġget My Pl ants ( files Dir ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( my Pl ants . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* Output Ġa Ġdialog Ġto Ġinform Ġthe Ġuser Ġthat Ġthis Ġactivity Ġis Ġnot Ġcurrently Ġavailable ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠThis Ġwill Ġreturn Ġthe Ġuser Ġto Ġthe Ġmain Ġmenu Ġwhen Ġdis missed */ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalert . setTitle (" Sorry , Ġno Ġcan Ġdo !") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage (" You Ġappear Ġto Ġhave Ġno Ġpl ants Ġin Ġyour Ġcollection . ĠCome Ġback Ġwhen Ġyou 've Ġadded Ġa Ġfew !") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* Fill Ġre cyclerView Ġwith Ġpl ants Ġfrom Ġthe Ġlocal Ġfile */ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmy _ plant _ recycler . adapter Ġ= ĠMy Pl ants Adapter ( my Pl ants ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/* Output Ġa Ġdialog Ġto Ġinform Ġthe Ġuser Ġthat Ġthis Ġactivity Ġis Ġnot Ġcurrently Ġavailable ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠThis Ġwill Ġreturn Ġthe Ġuser Ġto Ġthe Ġmain Ġmenu Ġwhen Ġdis missed */ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalert . setTitle (" Sorry , Ġthere 's Ġan Ġissue Ġright Ġnow !") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage (" You Ġappear Ġto Ġhave Ġno Ġpl ants Ġin Ġyour Ġcollection Ġor Ġthe Ġfile Ġhas Ġbeen Ġlost .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// On Ġrestart , Ġrecreate Ġand Ġload Ġin Ġusers Ġpl ants . ĊĠĠĠ Ġ// This Ġavoids Ġany Ġalready Ġremoved Ġpl ants Ġfrom Ġstill Ġshowing Ġin Ġthe Ġre cycler view . ĊĠĠĠ Ġoverride Ġfun Ġon Restart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Restart () ĊĠĠĠĠĠĠĠ Ġrecreate () ĊĠĠĠ Ġ} Ċ }