예제 #1
0
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    SurfaceView surfaceView = (SurfaceView) findViewById(R.id.surfaceView);
    surfaceView.getHolder().addCallback(this);
    surfaceView.setOnTouchListener(this);

    mDrawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);
    if (mDrawerLayout != null) { // xlarge-land has no drawer layout (drawer is always open)
      mDrawerToggle =
          new ActionBarDrawerToggle(
              this, mDrawerLayout, R.string.drawer_open, R.string.drawer_close);
      mDrawerLayout.addDrawerListener(mDrawerToggle);
      getActionBar().setDisplayHomeAsUpEnabled(true);
      getActionBar().setHomeButtonEnabled(true);
    }

    mDrawerList = (ListView) findViewById(R.id.leftDrawer);
    mStateAdapter = new StateAdapter(this);
    mDrawerList.setAdapter(mStateAdapter);

    mApplication = (ViewerApplication) getApplication();
    mApplication.setViewerActivity(this);
  }
예제 #2
0
  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
    // Pass the event to ActionBarDrawerToggle, if it returns
    // true, then it has handled the app icon touch event
    if (mDrawerToggle != null && mDrawerToggle.onOptionsItemSelected(item)) {
      return true;
    }

    switch (item.getItemId()) {
      case R.id.action_left:
        onKeyPressed(mApplication.getNativeHandle(), KeyEvent.KEYCODE_SOFT_LEFT);
        return true;
      case R.id.action_right:
        onKeyPressed(mApplication.getNativeHandle(), KeyEvent.KEYCODE_SOFT_RIGHT);
        return true;
      default:
        return super.onOptionsItemSelected(item);
    }
  }
예제 #3
0
 @Override
 public boolean onTouch(View v, MotionEvent event) {
   int count = event.getPointerCount();
   for (int i = 0; i < count; i++) {
     final float x = event.getX(i);
     final float y = event.getY(i);
     final int owner = event.getPointerId(i);
     int action = event.getAction() & MotionEvent.ACTION_MASK;
     onTouched(mApplication.getNativeHandle(), owner, action, x, y);
   }
   return true;
 }
예제 #4
0
 public void onStateChanged(String stateName, String stateValue) {
   onUIStateChanged(mApplication.getNativeHandle(), stateName, stateValue);
 }
예제 #5
0
 @Override
 public void surfaceDestroyed(SurfaceHolder holder) {
   if (mApplication.getNativeHandle() != 0) {
     onSurfaceDestroyed(mApplication.getNativeHandle());
   }
 }
예제 #6
0
 @Override
 public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
   if (mApplication.getNativeHandle() != 0) {
     onSurfaceChanged(mApplication.getNativeHandle(), holder.getSurface());
   }
 }
예제 #7
0
 @Override
 public void surfaceCreated(SurfaceHolder holder) {
   if (mApplication.getNativeHandle() != 0) {
     onSurfaceCreated(mApplication.getNativeHandle(), holder.getSurface());
   }
 }
예제 #8
0
 @Override
 protected void onDestroy() {
   mApplication.setViewerActivity(null);
   super.onDestroy();
 }