Skip to content

Instantly share code, notes, and snippets.

@jtmuller5
Created May 20, 2020 00:02
Show Gist options
  • Save jtmuller5/53732a5c81ed4baf932aa787ad7ea77a to your computer and use it in GitHub Desktop.
Save jtmuller5/53732a5c81ed4baf932aa787ad7ea77a to your computer and use it in GitHub Desktop.
class HomeFragment : Fragment(), SensorEventListener {
private lateinit var homeViewModel: HomeViewModel
private lateinit var sensorManager: SensorManager
lateinit var main: MainActivity
var mGravity: Sensor? = null
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
main = requireActivity() as MainActivity
sensorManager = main.getSystemService(Context.SENSOR_SERVICE) as SensorManager
mGravity = sensorManager.getDefaultSensor(Sensor.TYPE_GRAVITY)
homeViewModel =
ViewModelProviders.of(this).get(HomeViewModel::class.java)
val root = inflater.inflate(R.layout.fragment_home, container, false)
return root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val deviceSensors: List<Sensor> = sensorManager.getSensorList(Sensor.TYPE_ALL)
deviceSensors.forEach {
Log.d("Sensors",it.toString())
}
}
override fun onResume() {
super.onResume()
mGravity.also { grav ->
sensorManager.registerListener(this,grav,SensorManager.SENSOR_DELAY_NORMAL)
}
}
override fun onPause() {
super.onPause()
sensorManager.unregisterListener(this)
}
override fun onAccuracyChanged(sensor: Sensor?, accuracy: Int) {
Log.d("Accuracy","None")
}
override fun onSensorChanged(event: SensorEvent) {
val gravity = event.values[0]
angle_value.setText(gravity.toString())
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment