package Ġcom . example . sensor app Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . hardware . Sensor Ċ import Ġandroid . hardware . Sensor Event Ċ import Ġandroid . hardware . Sensor EventListener Ċ import Ġandroid . hardware . Sensor Manager Ċ import Ġandroid . media . MediaPlayer Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . widget . Toast Ċ import Ġkotlinx . android . synt hetic . main . activity _ light .* Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġjava . lang . Exception Ċ Ċ class ĠLight Activity Ġ: ĠAppCompatActivity (), ĠSensor EventListener Ġ{ ĊĠĠĠ Ġ// Sensor Ġevent Ġlistener Ġwill Ġprovide Ġa Ġvalue Ġevery time Ġsensor Ġchanges ĊĠĠĠ Ġvar Ġsensor Ġ: ĠSensor ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġsensor Manager Ġ: ĠSensor Manager ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġmedia Player Ġ: ĠMedia Player ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ light ) ĊĠĠĠĠĠĠĠ Ġsensor Manager Ġ= Ġget System Service ( Context . SENSOR _ SERVICE ) Ġas ĠSensor Manager ĊĠĠĠĠĠĠĠ Ġsensor Ġ= Ġsensor Manager !!. getDefault Sensor ( Sensor . TYPE _ LIGHT ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġsensor Manager !!. register Listener ( this , Ġsensor , ĠSensor Manager . SENSOR _ DELAY _ NORMAL ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠĠĠĠĠ Ġsensor Manager !!. unregister Listener ( this ) ĊĠĠĠĠĠĠĠ Ġmedia Player !!. stop () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Accuracy Changed ( sensor : ĠSensor ?, Ġaccuracy : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// TO ĠDO ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġis Running Ġ= Ġfalse ĊĠĠĠ Ġoverride Ġfun Ġon Sensor Changed ( event : ĠSensor Event ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d (" Sensor ĠLight ", Ġevent !!. values [ 0 ]. toString () Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġlight Val Ġ= Ġevent !!. values [ 0 ] ĊĠĠĠĠĠĠĠ Ġif ( light Val Ġ> Ġ 1 0 Ġ&& Ġ! isRunning ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtxt View _ light . set BackgroundColor ( getColor ( R . color . color Accent )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtxt View _ light . text Ġ=" Light ĠTurn ed ĠOn " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Running Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry { Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" Change Ġdetected ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmedia Player Ġ= ĠMedia Player () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmedia Player !!. set DataSource (" https :// file - examples . com / wp - content / uploads / 2 0 1 7 / 1 1 / file _ example _ MP 3 _ 2 MG . mp 3 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmedia Player !!. prepare () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmedia Player !!. start () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} catch Ġ( ex : ĠException ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" MediaPlayer Ġerror ", Ġex . message . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġif ( light Val Ġ< Ġ 1 0 ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtxt View _ light . set BackgroundColor ( getColor ( R . color . color White )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtxt View _ light . text Ġ=" Light ĠTurn ed ĠOff " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( media Player Ġ!= Ġnull ) Ġmedia Player !!. stop () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Running Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }