Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(23)

Unified Diff: platform_tools/android/apps/viewer/src/main/java/org/skia/viewer/ViewerActivity.java

Issue 1965013007: Use swipe gesture to switch between slides on Android (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Revision Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | tools/viewer/sk_app/Window.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: platform_tools/android/apps/viewer/src/main/java/org/skia/viewer/ViewerActivity.java
diff --git a/platform_tools/android/apps/viewer/src/main/java/org/skia/viewer/ViewerActivity.java b/platform_tools/android/apps/viewer/src/main/java/org/skia/viewer/ViewerActivity.java
index 48cec39f483d658970297cc17813b460b75dc53b..e115de65b32bed8113f80de5b0f471b618753a70 100644
--- a/platform_tools/android/apps/viewer/src/main/java/org/skia/viewer/ViewerActivity.java
+++ b/platform_tools/android/apps/viewer/src/main/java/org/skia/viewer/ViewerActivity.java
@@ -9,17 +9,50 @@ package org.skia.viewer;
import android.app.Activity;
import android.os.Bundle;
+import android.util.Log;
+import android.view.GestureDetector;
+import android.view.KeyEvent;
+import android.view.MotionEvent;
import android.view.Surface;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
+import android.view.View;
+
+public class ViewerActivity
+ extends Activity implements SurfaceHolder.Callback, View.OnTouchListener {
+ private static final float FLING_VELOCITY_THRESHOLD = 1000;
-public class ViewerActivity extends Activity implements SurfaceHolder.Callback {
private SurfaceView mView;
private ViewerApplication mApplication;
+ private GestureDetector mGestureDetector;
private native void onSurfaceCreated(long handle, Surface surface);
private native void onSurfaceChanged(long handle, Surface surface);
private native void onSurfaceDestroyed(long handle);
+ private native void onKeyPressed(long handle, int keycode);
+
+ private class GestureListener extends GestureDetector.SimpleOnGestureListener {
+ @Override
+ public boolean onDown(MotionEvent e) {
+ return true;
+ }
+
+ @Override
+ public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
+ if (Math.abs(velocityX) > Math.abs(velocityY)
+ && Math.abs(velocityX) > FLING_VELOCITY_THRESHOLD) {
+ if (velocityX > 0) {
+ // Fling right
+ onKeyPressed(mApplication.getNativeHandle(), KeyEvent.KEYCODE_SOFT_RIGHT);
+ } else {
+ // Fling left
+ onKeyPressed(mApplication.getNativeHandle(), KeyEvent.KEYCODE_SOFT_LEFT);
+ }
+ return true;
+ }
+ return false;
+ }
+ }
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -29,6 +62,9 @@ public class ViewerActivity extends Activity implements SurfaceHolder.Callback {
mApplication = (ViewerApplication) getApplication();
mView = (SurfaceView) findViewById(R.id.surfaceView);
mView.getHolder().addCallback(this);
+
+ mGestureDetector = new GestureDetector(getApplicationContext(), new GestureListener());
+ mView.setOnTouchListener(this);
}
@Override
@@ -51,4 +87,9 @@ public class ViewerActivity extends Activity implements SurfaceHolder.Callback {
onSurfaceDestroyed(mApplication.getNativeHandle());
}
}
+
+ @Override
+ public boolean onTouch(View v, MotionEvent event) {
+ return mGestureDetector.onTouchEvent(event);
+ }
}
« no previous file with comments | « no previous file | tools/viewer/sk_app/Window.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698