package com.google.android.DemoKit; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; public class BaseActivity extends DemoKitActivity { private InputController mInputController; public BaseActivity() { super(); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (mAccessory != null) { showControls(); } else { hideControls(); } } @Override public boolean onCreateOptionsMenu(Menu menu) { menu.add("Simulate"); menu.add("Quit"); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getTitle() == "Simulate") { showControls(); } else if (item.getTitle() == "Quit") { finish(); System.exit(0); } return true; } protected void enableControls(boolean enable) { if (enable) { showControls(); } else { hideControls(); } } protected void hideControls() { setContentView(R.layout.no_device); mInputController = null; } protected void showControls() { setContentView(R.layout.main); mInputController = new InputController(this); mInputController.accessoryAttached(); } protected void handleJoyMessage(JoyMsg j) { if (mInputController != null) { mInputController.joystickMoved(j.getX(), j.getY()); } } protected void handleLightMessage(LightMsg l) { if (mInputController != null) { mInputController.setLightValue(l.getLight()); } } protected void handleTemperatureMessage(TemperatureMsg t) { if (mInputController != null) { mInputController.setTemperature(t.getTemperature()); } } protected void handleSwitchMessage(SwitchMsg o) { if (mInputController != null) { byte sw = o.getSw(); if (sw >= 0 && sw < 4) { mInputController.switchStateChanged(sw, o.getState() != 0); } else if (sw == 4) { mInputController .joystickButtonSwitchStateChanged(o.getState() != 0); } } } }