/* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttps :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . example . andro idth ings . kotlin Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġandroid . hardware . Sensor Ċ import Ġandroid . hardware . Sensor Event Ċ import Ġandroid . hardware . Sensor EventListener Ċ import Ġandroid . hardware . Sensor Manager Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġcom . google . android . things . contrib . driver . b mx 2 8 0 . B mx 2 8 0 Sensor Driver Ċ Ċ private Ġconst Ġval ĠTAG Ġ= Ġ" Temperature Activity " Ċ Ċ class ĠTemperature Activity : ĠActivity (), ĠSensor EventListener Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġsensor Driver : ĠB mx 2 8 0 Sensor Driver ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġinit Sensor Driver ( Board Defaults . i 2 c Port Name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ Ġstart Reading Temperature () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġclose Sensor Driver () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġ[ START Ġdriver - b mx 2 8 0 - kotlin ] ĊĠĠĠ Ġprivate Ġfun Ġinit Sensor Driver ( i 2 c Port : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsensor Driver Ġ= ĠB mx 2 8 0 Sensor Driver ( i 2 c Port ) ĊĠĠĠĠĠĠĠ Ġ// ĠRegister Ġthe Ġperipheral Ġwith Ġthe Ġsystem Ġas Ġa Ġtemperature Ġsensor . ĊĠĠĠĠĠĠĠ Ġsensor Driver . register Temperature Sensor () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġstart Reading Temperature () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsensor Manager Ġ= Ġget System Service ( Context . SENSOR _ SERVICE ) Ġas ĠSensor Manager ĊĠĠĠĠĠĠĠ Ġ// ĠFind Ġthe ĠSensor Ġthat Ġwe Ġregistered . ĊĠĠĠĠĠĠĠ Ġval Ġsensor Ġ= Ġsensor Manager . get Dynamic Sensor List ( Sensor . TYPE _ AM BI ENT _ TEMP ER ATURE )[ 0 ] ĊĠĠĠĠĠĠĠ Ġsensor Manager . register Listener ( this , Ġsensor , ĠSensor Manager . SENSOR _ DELAY _ NORMAL ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġclose Sensor Driver () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsensor Manager Ġ= Ġget System Service ( Context . SENSOR _ SERVICE ) Ġas ĠSensor Manager ĊĠĠĠĠĠĠĠ Ġsensor Manager . unregister Listener ( this ) ĊĠĠĠĠĠĠĠ Ġ// ĠThis Ġun registers Ġthe Ġperipheral Ġas Ġa Ġtemperature Ġsensor . ĊĠĠĠĠĠĠĠ Ġsensor Driver . close () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġfrom ĠSensor EventListener Ġinterface ĊĠĠĠ Ġoverride Ġfun Ġon Sensor Changed ( event : ĠSensor Event ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . i ( TAG , Ġ" Temperature Ġchanged : Ġ${ event . values [ 0 ]} ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Accuracy Changed ( sensor : ĠSensor , Ġaccuracy : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . i ( TAG , Ġ" Sensor Ġaccuracy Ġchanged : Ġ$ accuracy ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġ// Ġ[ END Ġdriver - b mx 2 8 0 - kotlin ] Ċ } Ċ