Example #1
0
    @Override
    public boolean onTouch(View view, MotionEvent event) {
      if (layerView == null) {
        return false;
      }

      switch (event.getAction()) {
        case MotionEvent.ACTION_MOVE:
          if (moveZoomedView(event)) {
            dragged = true;
          }
          break;

        case MotionEvent.ACTION_UP:
          if (dragged) {
            dragged = false;
          } else {
            if (isClickInZoomedView(event.getY())) {
              GeckoAppShell.notifyObservers("Gesture:ClickInZoomedView", "");
              layerView.dispatchTouchEvent(actionDownEvent);
              actionDownEvent.recycle();
              PointF convertedPosition =
                  getUnzoomedPositionFromPointInZoomedView(event.getX(), event.getY());
              // the LayerView expects the coordinates relative to the window, not the surface, so
              // we need
              // to adjust that here.
              convertedPosition.y += layerView.getSurfaceTranslation();
              MotionEvent e =
                  MotionEvent.obtain(
                      event.getDownTime(),
                      event.getEventTime(),
                      MotionEvent.ACTION_UP,
                      convertedPosition.x,
                      convertedPosition.y,
                      event.getMetaState());
              layerView.dispatchTouchEvent(e);
              e.recycle();
            }
          }
          break;

        case MotionEvent.ACTION_DOWN:
          dragged = false;
          originRawX = event.getRawX();
          originRawY = event.getRawY();
          PointF convertedPosition =
              getUnzoomedPositionFromPointInZoomedView(event.getX(), event.getY());
          // the LayerView expects the coordinates relative to the window, not the surface, so we
          // need
          // to adjust that here.
          convertedPosition.y += layerView.getSurfaceTranslation();
          actionDownEvent =
              MotionEvent.obtain(
                  event.getDownTime(),
                  event.getEventTime(),
                  MotionEvent.ACTION_DOWN,
                  convertedPosition.x,
                  convertedPosition.y,
                  event.getMetaState());
          break;
      }
      return true;
    }
Example #2
0
 @Override
 public void notifyCheckUpdateResult(String result) {
   GeckoAppShell.notifyObservers("Update:CheckResult", result);
 }