@@ -28,6 +28,8 @@ import android.view.inputmethod.InputMethodManager
2828import android.widget.AdapterView
2929import android.widget.AdapterView.OnItemClickListener
3030import android.widget.ArrayAdapter
31+ import android.widget.SeekBar
32+ import android.widget.SeekBar.OnSeekBarChangeListener
3133import android.widget.Toast
3234import androidx.annotation.CheckResult
3335import androidx.appcompat.app.AppCompatActivity
@@ -472,6 +474,47 @@ class MainActivity : AppCompatActivity(), NlpListener, OnRobotReadyListener,
472474 btnIsFrontTOFEnabled.setOnClickListener { isFrontTOFEnabled() }
473475 btnToggleBackTOF.setOnClickListener { toggleBackTOF() }
474476 btnIsBackTOFEnabled.setOnClickListener { isBackTOFEnabled() }
477+ btnMinimumObstacleDistance.setOnClickListener {
478+ if (requestPermissionIfNeeded(Permission .SETTINGS , REQUEST_CODE_NORMAL )) {
479+ return @setOnClickListener
480+ }
481+ if (robot.minimumObstacleDistance == - 1 ) {
482+ Toast .makeText(this , " Minimum Obstacle Distance settings is not supported on your robot." , Toast .LENGTH_SHORT ).show()
483+ return @setOnClickListener
484+ }
485+
486+ if (groupMinimumObstacleDistance.visibility == View .GONE ) {
487+ groupMinimumObstacleDistance.visibility = View .VISIBLE
488+ }
489+ val distance = robot.minimumObstacleDistance
490+ textMinimumObstacleDistance.text = " $distance "
491+ seekbarMinimumObstacleDistance.progress = distance.coerceIn(0 , 100 )
492+ seekbarMinimumObstacleDistance.setOnSeekBarChangeListener(object : OnSeekBarChangeListener {
493+ override fun onProgressChanged (
494+ seekBar : SeekBar ? ,
495+ progress : Int ,
496+ fromUser : Boolean
497+ ) {
498+ seekBar ? : return
499+ // Round to 5x
500+ val value = seekBar.progress / 5 * 5
501+ seekBar.progress = value
502+ textMinimumObstacleDistance.text = " $value "
503+ }
504+
505+ override fun onStartTrackingTouch (seekBar : SeekBar ? ) {
506+ // nothing
507+ }
508+
509+ override fun onStopTrackingTouch (seekBar : SeekBar ? ) {
510+ seekBar ? : return
511+ // Round to 5x
512+ val value = seekBar.progress / 5 * 5
513+ robot.minimumObstacleDistance = value
514+ }
515+
516+ })
517+ }
475518 btnGetAllFloors.setOnClickListener { getAllFloors() }
476519 btnLoadFloorAtElevator.setOnClickListener { loadFloorAtElevator() }
477520 btnGetCurrentFloor.setOnClickListener {
0 commit comments