class
MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super
.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val mySensorManager = getSystemService(SENSOR_SERVICE) as SensorManager
val lightSensor = mySensorManager.getDefaultSensor(Sensor.TYPE_LIGHT)
if
(lightSensor !=
null
) {
available!!.text =
"LIGHT Available"
mySensorManager.registerListener(
lightSensorListener,
lightSensor,
SensorManager.SENSOR_DELAY_NORMAL
)
}
else
{
available!!.text =
"LIGHT NOT Available"
}
}
private
val lightSensorListener: SensorEventListener = object : SensorEventListener {
override fun onAccuracyChanged(sensor: Sensor, accuracy: Int) {
}
override fun onSensorChanged(event: SensorEvent) {
if
(event.sensor.type == Sensor.TYPE_LIGHT) {
intensity!!.text =
""
+ event.values[
0
]
if
(event.values[
0
] in
0.0
..
50.0
) {
light!!.text =
"Switch On Lights"
circularProgressBar.apply {
progress = 65f
setProgressWithAnimation(65f,
1000
)
progressMax = 200f
progressBarColor = Color.BLACK
progressBarColorStart = Color.GRAY
progressBarColorEnd = Color.WHITE
progressBarColorDirection =
CircularProgressBar.GradientDirection.TOP_TO_BOTTOM
backgroundProgressBarColor = Color.GRAY
backgroundProgressBarColorStart = Color.WHITE
backgroundProgressBarColorEnd = Color.WHITE
backgroundProgressBarColorDirection =
CircularProgressBar.GradientDirection.TOP_TO_BOTTOM
progressBarWidth = 7f
backgroundProgressBarWidth = 3f
roundBorder =
true
startAngle = 180f
progressDirection = CircularProgressBar.ProgressDirection.TO_RIGHT
}
}
else
if
(event.values[
0
] in
50.0
..
100.0
) {
light!!.text =
"Dim Light"
circularProgressBar.apply {
progress = 65f
setProgressWithAnimation(65f,
1000
)
progressMax = 200f
progressBarColor = Color.BLACK
progressBarColorStart = Color.GRAY
progressBarColorEnd = Color.RED
progressBarColorDirection =
CircularProgressBar.GradientDirection.TOP_TO_BOTTOM
backgroundProgressBarColor = Color.GRAY
backgroundProgressBarColorStart = Color.WHITE
backgroundProgressBarColorEnd = Color.WHITE
backgroundProgressBarColorDirection =
CircularProgressBar.GradientDirection.TOP_TO_BOTTOM
progressBarWidth = 7f
backgroundProgressBarWidth = 3f
roundBorder =
true
startAngle = 180f
progressDirection = CircularProgressBar.ProgressDirection.TO_RIGHT
}
}
else
if
(event.values[
0
] in
100.0
..
200.0
) {
light!!.text =
"Bright Light"
circularProgressBar.apply {
progress = 65f
setProgressWithAnimation(65f,
20000
)
progressMax = 200f
progressBarColor = Color.BLACK
progressBarColorStart = Color.GRAY
progressBarColorEnd = Color.RED
progressBarColorDirection =
CircularProgressBar.GradientDirection.TOP_TO_BOTTOM
backgroundProgressBarColor = Color.GRAY
backgroundProgressBarColorStart = Color.WHITE
backgroundProgressBarColorEnd = Color.RED
backgroundProgressBarColorDirection =
CircularProgressBar.GradientDirection.TOP_TO_BOTTOM
progressBarWidth = 7f
backgroundProgressBarWidth = 3f
roundBorder =
true
startAngle = 180f
progressDirection = CircularProgressBar.ProgressDirection.TO_RIGHT
}
}
else
{
circularProgressBar.apply {
light!!.text =
"Very Bright Light"
progress = 65f
setProgressWithAnimation(65f,
1000
)
progressMax = 200f
progressBarColor = Color.BLACK
progressBarColorStart = Color.GRAY
progressBarColorEnd = Color.RED
progressBarColorDirection =
CircularProgressBar.GradientDirection.TOP_TO_BOTTOM
backgroundProgressBarColor = Color.GRAY
backgroundProgressBarColorStart = Color.WHITE
backgroundProgressBarColorEnd = Color.MAGENTA
backgroundProgressBarColorDirection =
CircularProgressBar.GradientDirection.TOP_TO_BOTTOM
progressBarWidth = 7f
backgroundProgressBarWidth = 3f
roundBorder =
true
startAngle = 180f
progressDirection = CircularProgressBar.ProgressDirection.TO_RIGHT
}
}
}
}
}
}