I have created a sensor readings in my android application with kotlin. But I want to implement a TimeStamp to notice the timings for every event change in sensors. Could anyone help me please?
class MainActivity : AppCompatActivity(),SensorEventListener { private lateinit var mSensorManager: SensorManager private var mAccelerometer : Sensor ?=null private var resume = false private lateinit var square: TextView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
mSensorManager = getSystemService(Context.SENSOR_SERVICE) as SensorManager
mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER)
}
override fun onSensorChanged(event: SensorEvent?) {
if(event != null && resume){
if(event?.sensor?.type == Sensor.TYPE_ACCELEROMETER){
val sides = event.values[0]
val upDown = event.values[1]
square = findViewById(R.id.sensor_value)
square.apply{
rotationX = upDown * 3f
rotationY = sides * 3f
rotation = -sides
translationX = sides * -10
translationY = upDown * 10
/*
// set reference times
if (sensorTimeReference === 0L && myTimeReference === 0L) {
sensorTimeReference = event.timestamp
myTimeReference = System.currentTimeMillis()
}
// set event timestamp to current time in milliseconds
event.timestamp = myTimeReference +
Math.round((event.timestamp - sensorTimeReference) / 1000000.0)
// some code... */
}
val color = if(upDown.toInt() == 0 && sides.toInt() == 0) Color.GREEN else Color.WHITE
square.setBackgroundColor(color)
square.text = "Accelerometer readings \n\n up/down ${upDown.toInt()}\nleft/right ${sides.toInt()} \n "
}
}
}
override fun onResume() {
super.onResume()
mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_FASTEST,
SensorManager.SENSOR_DELAY_FASTEST)
}
override fun onPause(){
super.onPause()
mSensorManager.unregisterListener(this)
}
fun resumeReading(view: View){
this.resume = true
}
fun pauseReading(view: View){
this.resume = false
}
override fun onAccuracyChanged(sensor: Sensor?, accuracy: Int) {
return
}
override fun onDestroy(){
mSensorManager.unregisterListener(this)
super.onDestroy()
}
}