androvac/app/src/main/java/eu/worn/apps/androvac/MainActivity.java

72 lines
2.7 KiB
Java

package eu.worn.apps.androvac;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.CompoundButton;
import android.widget.Switch;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private IRBeamer beamer;
private RoboVac11sRemote remote;
private void beam(byte[] msg) {
beamer.transmit(remote.modulation.getCarrierFrequency(), remote.modulation.modulate(msg));
}
public void onClick(View v) {
byte[] msg;
switch (v.getId()) {
case R.id.cleanAuto: msg = remote.cleanAuto(); break;
case R.id.cleanSpot: msg = remote.cleanSpot(); break;
case R.id.cleanEdge: msg = remote.cleanEdge(); break;
case R.id.cleanRoom: msg = remote.cleanRoom(); break;
case R.id.powerStandard: msg = remote.powerStandard(); break;
case R.id.powerMax: msg = remote.powerMax(); break;
case R.id.powerBoostIQ: msg = remote.powerBoostIQ(); break;
case R.id.moveForward: msg = remote.moveForward(); break;
case R.id.moveBackward: msg = remote.moveBackward(); break;
case R.id.moveCCW: msg = remote.moveCCW(); break;
case R.id.moveCW: msg = remote.moveCW(); break;
case R.id.returnBase: msg = remote.returnBase(); break;
case R.id.stop: msg = remote.stop(); break;
default: msg = new byte[0];
}
if (msg.length > 0)
beam(msg);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (remote == null)
remote = new RoboVac11sRemote();
if (beamer == null) {
beamer = new AndroidIRBeamer(this);
if (!beamer.isAvailable()) {
Toast.makeText(this.getApplicationContext(),
"No IR beamer found: entering debug mode",
Toast.LENGTH_LONG).show();
beamer = new DebugIRBeamer(this);
}
}
findViewById(R.id.schedule).setEnabled(
((Switch) findViewById(R.id.enableSchedule)).isChecked());
((Switch) findViewById(R.id.enableSchedule)).setOnCheckedChangeListener(
new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
findViewById(R.id.schedule).setEnabled(isChecked);
}
});
}
}