package Ġorg . invent iv et alent . post box app Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . content . Intent Filter Ċ import Ġandroid . os . Battery Manager Ċ Ċ class ĠB attery Info Ġ{ ĊĊĠĠĠ Ġval Ġis Ch arging : ĠBoolean ĊĠĠĠ Ġval Ġbattery Pct : ĠFloat ? ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbattery Status : ĠIntent ? Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIntent Filter ( Intent . ACTION _ B ATTER Y _ CHANGED ). let Ġ{ Ġif ilter Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMainActivity . instance ?. application Context ?. register Receiver ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ilter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġstatus : ĠInt Ġ= Ġbattery Status ?. getInt Extra ( Battery Manager . EXTRA _ STATUS , Ġ- 1 ) Ġ?: Ġ- 1 ĊĠĠĠĠĠĠĠ Ġis Ch arging Ġ= Ġstatus Ġ== ĠB attery Manager . B ATTER Y _ STATUS _ CHAR GING ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ|| Ġstatus Ġ== ĠB attery Manager . B ATTER Y _ STATUS _ FULL ĊĠĠĠĠĠĠĠ Ġbattery Pct Ġ= Ġbattery Status ?. let Ġ{ Ġintent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlevel : ĠInt Ġ= Ġintent . getInt Extra ( Battery Manager . EXTRA _ LEVEL , Ġ- 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscale : ĠInt Ġ= Ġintent . getInt Extra ( Battery Manager . EXTRA _ SCALE , Ġ- 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlevel Ġ* Ġ 1 0 0 Ġ/ Ġscale . toFloat () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }