Пример #1
0
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_second);
    // Init
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    mButton = (FloatingActionButton) findViewById(R.id.startFab);
    mSeekbar = (SeekBar) findViewById(R.id.mySeekBar);
    myMap = (ImageMap) findViewById(R.id.mMap);
    myMap.setOnTouchListener(this);
    fromSpin = (Spinner) findViewById(R.id.spinnerFrom);
    toSpin = (Spinner) findViewById(R.id.spinnerTo);
    // Step Sensor
    sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
    stepSensor = sensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER);
    sensorManager.registerListener(this, stepSensor, SensorManager.SENSOR_DELAY_FASTEST);

    readGraph();
    mButton.setOnClickListener(
        new View.OnClickListener() {
          @Override
          public void onClick(View v) {
            if (!started) {
              RobotControl.getInstance().setHeading();
              mSeekbar.setEnabled(false);
              /** GRAPH CALCULATION Begin * */
              RobotControl rc = RobotControl.getInstance();

              mGraph.setNewOrigin(rc.getX(), rc.getY());
              final String from = fromSpin.getSelectedItem().toString();
              final String to = toSpin.getSelectedItem().toString();
              mNodes = mGraph.getShortestPath(from, to);
              Log.d("SUPER LOG", mNodes.toString());
              rc.driveAlong(
                  mNodes,
                  new Runnable() {
                    @Override
                    public void run() {
                      Toast.makeText(getApplicationContext(), "Success!", Toast.LENGTH_SHORT)
                          .show();
                      fromSpin.setPrompt(to);
                      mSeekbar.setEnabled(true);
                    }
                  });
              // GRAPH PART END
              started = true;
            }
          }
        });

    mSeekbar.setOnSeekBarChangeListener(
        new SeekBar.OnSeekBarChangeListener() {
          @Override
          public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
            RobotControl.getInstance().rotateTo((float) progress);
          }

          @Override
          public void onStartTrackingTouch(SeekBar seekBar) {}

          @Override
          public void onStopTrackingTouch(SeekBar seekBar) {}
        });
  }