package Ġuk . co . j ake lee . dynamic icon changing Ċ Ċ import Ġandroid . content . Component Name Ċ import Ġandroid . content . pm . PackageManager Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġenum Ġclass ĠICON _ CO LO UR Ġ{ ĠRED , ĠGREEN , ĠBL UE Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ Ġred . setOnClickListener Ġ{ Ġset Icon ( ICON _ CO LO UR . RED ) Ġ} ĊĠĠĠĠĠĠĠ Ġgreen . setOnClickListener Ġ{ Ġset Icon ( ICON _ CO LO UR . GREEN ) Ġ} ĊĠĠĠĠĠĠĠ Ġblue . setOnClickListener Ġ{ Ġset Icon ( ICON _ CO LO UR . BLUE ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Icon ( target Colour : ĠICON _ CO LO UR ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( value Ġin ĠICON _ CO LO UR . values ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaction Ġ= Ġif Ġ( value Ġ== Ġtarget Colour ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPackage Manager . COMPONENT _ ENABLED _ STATE _ ENABLED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPackage Manager . COMPONENT _ ENABLED _ STATE _ DISABLED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpackage Manager . set Component Enabled Setting ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠComponent Name ( Build Config . APPLICATION _ ID , Ġ"${ Build Config . APPLICATION _ ID }.${ value . name } "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaction , ĠPackage Manager . D ONT _ KILL _ APP ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ