package Ġcom . github . pp as zk iew ic z . tools . demo Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġcom . github . pp as zk iew ic z . tools . demo . bind Service . Bind Service Demo Activity Ċ import Ġcom . github . pp as zk iew ic z . tools . demo . coroutines . Test Activity Base Ċ import Ġcom . github . pp as zk iew ic z . tools . demo . coroutines . Test Activity Params Ċ import Ġcom . github . pp as zk iew ic z . tools . demo . coroutines . Test Activity Params Dialog Ċ import Ġcom . github . pp as zk iew ic z . tools . demo . coroutines . loader Demo . Loader Activity Ċ import Ġcom . github . pp as zk iew ic z . tools . demo . coroutines . task Service Demo . Task Service Activity Ċ import Ġcom . github . pp as zk iew ic z . tools . demo . databinding . Activity Main Binding Ċ import Ġcom . github . pp as zk iew ic z . tools . demo . ling ering Service Demo . L ing ering Service Activity Ċ import Ġcom . github . pp as zk iew ic z . tools . demo . ling ering Service Demo . L ing ering Service Activity 2 Ċ import Ġcom . github . pp as zk iew ic z . tools . demo . ling ering Service Demo . L ing ering Service Activity 3 Ċ import Ġcom . github . pp as zk iew ic z . tools . demo . re cyclerView . Nested Recycler Demo Activity Ċ import Ġcom . github . pp as zk iew ic z . tools . demo . viewModel . Sync able LiveData Demo Activity Ċ import Ġcom . github . pp as zk iew ic z . tools . demo . views . Save State Test Activity Ċ import Ġcom . github . pp as zk iew ic z . tools . demo . views . Stable TextView Activity Ċ import Ġcom . github . pp as zk iew ic z . tools . toolbox . delegate . preferences Ċ import Ġcom . github . pp as zk iew ic z . tools . toolbox . delegate . view Binding Ċ import Ġcom . github . pp as zk iew ic z . tools . toolbox . extensions . startActivity Ċ Ċ /** Ċ Ġ* ĠActivity Ġfor Ġselecting Ġtest . Ċ Ġ* Ġ*/ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTAG Ġ= Ġ" MainActivity " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSAVE _ PARAMS Ġ= Ġ" SAVE _ PARAMS " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġenum Ġclass ĠTest Enum Ġ{ ĊĠĠĠĠĠĠĠ ĠON , ĠOFF ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġdefault Ġparams ĊĠĠĠ Ġvar Ġparams Ġ= ĠTest Activity Params ( ĊĠĠĠĠĠĠĠĠ 8 , ĊĠĠĠĠĠĠĠĠ 1 0 , ĊĠĠĠĠĠĠĠĠ 5 , ĊĠĠĠĠĠĠĠĠ 5 , ĊĠĠĠĠĠĠĠĠ 0 . 0 5 f , ĊĠĠĠĠĠĠĠĠ 1 0 ĠĠĠ Ġ// Ġless Ġtasks Ġthan Ġprogress Ġviews ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ// Ġboolean Ġstored Ġin Ġshared Ġpreferences ĊĠĠĠ Ġvar Ġstored Preference Ġby Ġpreferences (). boolean (" Bool ", Ġfalse ) ĊĊĠĠĠ Ġ// Ġdelegate Ġobject Ġstoring Ġenum Ġin Ġshared Ġpreferences : Ġkept Ġexplicitly Ġbc Ġli ved ata Ġwill Ġbe Ġused Ġtoo ĊĠĠĠ Ġval Ġenum Pref Ġ= Ġpreferences (). enum (" Enum Pref ", ĠTest Enum . OFF ) ĊĠĠĠ Ġvar Ġstored Pref Enum Ġby Ġenum Pref ĊĊĠĠĠ Ġ// Ġview binding Ġ( created Ġby Ġdelegate ) ĊĠĠĠ Ġval Ġbinding Ġby Ġview Binding < Activity Main Binding >() ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġwith ( binding ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠsavedInstanceState ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġrestore Ġedited Ġparams ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparams Ġ= Ġit . get Parcelable ( SAVE _ PARAMS ) !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġtask Ġtests ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Loader Test 1 . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity < Loader Activity > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( Test Activity Base . EXTRA _ LOAD ER _ ARGS , Ġparams ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Service Test 1 . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity < Task Service Activity > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( Test Activity Base . EXTRA _ LOAD ER _ ARGS , Ġparams ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġbinding Ġservice Ġtest ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Bound Service . setOnClickListener Ġ{ ĠstartActivity < Bind Service Demo Activity >() Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġl ing ering Ġservice Ġtests ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn L ing ering Test 1 . setOnClickListener Ġ{ ĠstartActivity < L ing ering Service Activity >() Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn L ing ering Test 2 . setOnClickListener Ġ{ ĠstartActivity < L ing ering Service Activity 2 >() Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn L ing ering Test 3 . setOnClickListener Ġ{ ĠstartActivity < L ing ering Service Activity 3 >() Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġlayouts Ġtest ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Views Test 1 . setOnClickListener Ġ{ ĠstartActivity < Save State Test Activity >() Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Sync LiveData Test 1 . setOnClickListener Ġ{ ĠstartActivity < Sync able LiveData Demo Activity >() Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Recycler Test . setOnClickListener Ġ{ ĠstartActivity < Nested Recycler Demo Activity >() Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Stable TextView Test . setOnClickListener Ġ{ ĠstartActivity < Stable TextView Activity >() Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġpreference Ġobserver ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenum Pref . live Data . observe ( this @ MainActivity , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtxt Preference Value . text Ġ= Ġit . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Save InstanceState ( out State : ĠBundle ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Save InstanceState ( out State ) ĊĠĠĠĠĠĠĠ Ġout State . put Parcelable ( SAVE _ PARAMS , Ġparams ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠInf late Ġthe Ġmenu ; Ġthis Ġadds Ġitems Ġto Ġthe Ġaction Ġbar Ġif Ġit Ġis Ġpresent . ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . menu _ main , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġmenu . find Item ( R . id . action _ test _ enum ). isChecked Ġ= Ġstored Pref Enum Ġ== ĠTest Enum . ON ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠHandle Ġaction Ġbar Ġitem Ġclicks Ġhere . ĠThe Ġaction Ġbar Ġwill ĊĠĠĠĠĠĠĠ Ġ// Ġautomatically Ġhandle Ġclicks Ġon Ġthe ĠHome / Up Ġbutton , Ġso Ġlong ĊĠĠĠĠĠĠĠ Ġ// Ġas Ġyou Ġspecify Ġa Ġparent Ġactivity Ġin ĠAndroid Manifest . xml . ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ edit _ params Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest Activity Params Dialog . create And Show ( this , Ġparams ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparams Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ test _ enum Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . isChecked Ġ= Ġ! item . isChecked ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstored Pref Enum Ġ= Ġif Ġ( item . isChecked ) ĠTest Enum . ON Ġelse ĠTest Enum . OFF ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ