| Index: blimp/client/app/android/java/src/org/chromium/blimp/BlimpView.java
|
| diff --git a/blimp/client/app/android/java/src/org/chromium/blimp/BlimpView.java b/blimp/client/app/android/java/src/org/chromium/blimp/BlimpView.java
|
| deleted file mode 100644
|
| index aaa555b17997afc0d456d89e57c49159ecca917b..0000000000000000000000000000000000000000
|
| --- a/blimp/client/app/android/java/src/org/chromium/blimp/BlimpView.java
|
| +++ /dev/null
|
| @@ -1,207 +0,0 @@
|
| -// Copyright 2015 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -package org.chromium.blimp;
|
| -
|
| -import android.content.Context;
|
| -import android.graphics.Color;
|
| -import android.graphics.Point;
|
| -import android.os.Build;
|
| -import android.util.AttributeSet;
|
| -import android.view.MotionEvent;
|
| -import android.view.Surface;
|
| -import android.view.SurfaceHolder;
|
| -import android.view.SurfaceView;
|
| -import android.view.View;
|
| -import android.view.WindowManager;
|
| -
|
| -import org.chromium.base.annotations.CalledByNative;
|
| -import org.chromium.base.annotations.JNINamespace;
|
| -import org.chromium.blimp.session.BlimpClientSession;
|
| -import org.chromium.ui.UiUtils;
|
| -
|
| -/**
|
| - * A {@link View} that will visually represent the Blimp rendered content. This {@link View} starts
|
| - * a native compositor.
|
| - */
|
| -@JNINamespace("blimp::client::app")
|
| -public class BlimpView
|
| - extends SurfaceView implements SurfaceHolder.Callback, View.OnLayoutChangeListener {
|
| - private long mNativeBlimpViewPtr;
|
| -
|
| - /**
|
| - * Builds a new {@link BlimpView}.
|
| - * @param context A {@link Context} instance.
|
| - * @param attrs An {@link AttributeSet} instance.
|
| - */
|
| - public BlimpView(Context context, AttributeSet attrs) {
|
| - super(context, attrs);
|
| - setFocusable(true);
|
| - setFocusableInTouchMode(true);
|
| - addOnLayoutChangeListener(this);
|
| - }
|
| -
|
| - /**
|
| - * Starts up rendering for this {@link View}. This will start up the native compositor and will
|
| - * display it's contents.
|
| - * @param blimpClientSession The {@link BlimpClientSession} that contains the content-lite
|
| - * features required by the native components of the compositor.
|
| - */
|
| - public void initializeRenderer(BlimpClientSession blimpClientSession) {
|
| - assert mNativeBlimpViewPtr == 0;
|
| -
|
| - WindowManager windowManager =
|
| - (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE);
|
| - Point displaySize = new Point();
|
| - windowManager.getDefaultDisplay().getSize(displaySize);
|
| - Point physicalSize = new Point();
|
| - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
|
| - windowManager.getDefaultDisplay().getRealSize(physicalSize);
|
| - }
|
| - float deviceScaleFactor = getContext().getResources().getDisplayMetrics().density;
|
| - mNativeBlimpViewPtr = nativeInit(blimpClientSession, physicalSize.x, physicalSize.y,
|
| - displaySize.x, displaySize.y, deviceScaleFactor);
|
| - getHolder().addCallback(this);
|
| - setBackgroundColor(Color.WHITE);
|
| - setVisibility(VISIBLE);
|
| - }
|
| -
|
| - /**
|
| - * Stops rendering for this {@link View} and destroys all internal state. This {@link View}
|
| - * should not be used after this.
|
| - */
|
| - public void destroyRenderer() {
|
| - getHolder().removeCallback(this);
|
| - if (mNativeBlimpViewPtr != 0) {
|
| - nativeDestroy(mNativeBlimpViewPtr);
|
| - mNativeBlimpViewPtr = 0;
|
| - }
|
| - }
|
| -
|
| - // View.OnLayoutChangeListener implementation.
|
| - @Override
|
| - public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft,
|
| - int oldTop, int oldRight, int oldBottom) {
|
| - if (mNativeBlimpViewPtr == 0) return;
|
| - nativeOnContentAreaSizeChanged(mNativeBlimpViewPtr, right - left, bottom - top,
|
| - getContext().getResources().getDisplayMetrics().density);
|
| - }
|
| -
|
| - // View overrides.
|
| - @Override
|
| - public boolean onTouchEvent(MotionEvent event) {
|
| - if (mNativeBlimpViewPtr == 0) return false;
|
| -
|
| - int eventAction = event.getActionMasked();
|
| -
|
| - // Close the IME. It might be open for typing URL into toolbar.
|
| - // TODO(shaktisahu): Detect if the IME was open and return immediately (crbug/606977)
|
| - UiUtils.hideKeyboard(this);
|
| -
|
| - if (!isValidTouchEventActionForNative(eventAction)) return false;
|
| -
|
| - int pointerCount = event.getPointerCount();
|
| -
|
| - float[] touchMajor = {event.getTouchMajor(), pointerCount > 1 ? event.getTouchMajor(1) : 0};
|
| - float[] touchMinor = {event.getTouchMinor(), pointerCount > 1 ? event.getTouchMinor(1) : 0};
|
| -
|
| - for (int i = 0; i < 2; i++) {
|
| - if (touchMajor[i] < touchMinor[i]) {
|
| - float tmp = touchMajor[i];
|
| - touchMajor[i] = touchMinor[i];
|
| - touchMinor[i] = tmp;
|
| - }
|
| - }
|
| -
|
| - boolean consumed = nativeOnTouchEvent(mNativeBlimpViewPtr, event,
|
| - event.getEventTime(), eventAction,
|
| - pointerCount, event.getHistorySize(), event.getActionIndex(),
|
| - event.getX(), event.getY(),
|
| - pointerCount > 1 ? event.getX(1) : 0,
|
| - pointerCount > 1 ? event.getY(1) : 0,
|
| - event.getPointerId(0), pointerCount > 1 ? event.getPointerId(1) : -1,
|
| - touchMajor[0], touchMajor[1],
|
| - touchMinor[0], touchMinor[1],
|
| - event.getOrientation(), pointerCount > 1 ? event.getOrientation(1) : 0,
|
| - event.getAxisValue(MotionEvent.AXIS_TILT),
|
| - pointerCount > 1 ? event.getAxisValue(MotionEvent.AXIS_TILT, 1) : 0,
|
| - event.getRawX(), event.getRawY(),
|
| - event.getToolType(0),
|
| - pointerCount > 1 ? event.getToolType(1) : MotionEvent.TOOL_TYPE_UNKNOWN,
|
| - event.getButtonState(),
|
| - event.getMetaState());
|
| -
|
| - return consumed;
|
| - }
|
| -
|
| - // SurfaceView overrides.
|
| - @Override
|
| - protected void onFinishInflate() {
|
| - super.onFinishInflate();
|
| -
|
| - setZOrderMediaOverlay(true);
|
| - setVisibility(GONE);
|
| - }
|
| -
|
| - // SurfaceHolder.Callback2 interface.
|
| - @Override
|
| - public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
|
| - if (mNativeBlimpViewPtr == 0) return;
|
| - nativeOnSurfaceChanged(mNativeBlimpViewPtr, format, width, height, holder.getSurface());
|
| - }
|
| -
|
| - @Override
|
| - public void surfaceCreated(SurfaceHolder holder) {
|
| - if (mNativeBlimpViewPtr == 0) return;
|
| - nativeOnSurfaceCreated(mNativeBlimpViewPtr);
|
| - }
|
| -
|
| - @Override
|
| - public void surfaceDestroyed(SurfaceHolder holder) {
|
| - if (mNativeBlimpViewPtr == 0) return;
|
| - nativeOnSurfaceDestroyed(mNativeBlimpViewPtr);
|
| - }
|
| -
|
| - private static boolean isValidTouchEventActionForNative(int eventAction) {
|
| - // Only these actions have any effect on gesture detection. Other
|
| - // actions have no corresponding WebTouchEvent type and may confuse the
|
| - // touch pipline, so we ignore them entirely.
|
| - return eventAction == MotionEvent.ACTION_DOWN
|
| - || eventAction == MotionEvent.ACTION_UP
|
| - || eventAction == MotionEvent.ACTION_CANCEL
|
| - || eventAction == MotionEvent.ACTION_MOVE
|
| - || eventAction == MotionEvent.ACTION_POINTER_DOWN
|
| - || eventAction == MotionEvent.ACTION_POINTER_UP;
|
| - }
|
| -
|
| - @CalledByNative
|
| - public void onSwapBuffersCompleted() {
|
| - if (getBackground() == null) return;
|
| -
|
| - setBackgroundResource(0);
|
| - }
|
| -
|
| - // Native Methods
|
| - private native long nativeInit(BlimpClientSession blimpClientSession, int physicalWidth,
|
| - int physicalHeight, int displayWidth, int displayHeight, float dpToPixel);
|
| - private native void nativeDestroy(long nativeBlimpView);
|
| - private native void nativeOnContentAreaSizeChanged(
|
| - long nativeBlimpView, int width, int height, float dpToPx);
|
| - private native void nativeOnSurfaceChanged(
|
| - long nativeBlimpView, int format, int width, int height, Surface surface);
|
| - private native void nativeOnSurfaceCreated(long nativeBlimpView);
|
| - private native void nativeOnSurfaceDestroyed(long nativeBlimpView);
|
| - private native boolean nativeOnTouchEvent(
|
| - long nativeBlimpView, MotionEvent event,
|
| - long timeMs, int action, int pointerCount, int historySize, int actionIndex,
|
| - float x0, float y0, float x1, float y1,
|
| - int pointerId0, int pointerId1,
|
| - float touchMajor0, float touchMajor1,
|
| - float touchMinor0, float touchMinor1,
|
| - float orientation0, float orientation1,
|
| - float tilt0, float tilt1,
|
| - float rawX, float rawY,
|
| - int androidToolType0, int androidToolType1,
|
| - int androidButtonState, int androidMetaState);
|
| -}
|
|
|