[Android] AudioMiniPlayer: add motion event support

Edward Wang git at videolan.org
Thu Aug 29 20:33:12 CEST 2013


vlc-ports/android | branch: master | Edward Wang <edward.c.wang at compdigitec.com> | Thu Aug 29 20:29:48 2013 +0200| [29c9d412d0e5b5c8c36f99e5c62c3f0240553c09] | committer: Edward Wang

AudioMiniPlayer: add motion event support

> http://git.videolan.org/gitweb.cgi/vlc-ports/android.git/?a=commit;h=29c9d412d0e5b5c8c36f99e5c62c3f0240553c09
---

 .../org/videolan/vlc/widget/AudioMiniPlayer.java   |   29 +++++++++++++++++---
 1 file changed, 25 insertions(+), 4 deletions(-)

diff --git a/vlc-android/src/org/videolan/vlc/widget/AudioMiniPlayer.java b/vlc-android/src/org/videolan/vlc/widget/AudioMiniPlayer.java
index 020864b..6b9213b 100644
--- a/vlc-android/src/org/videolan/vlc/widget/AudioMiniPlayer.java
+++ b/vlc-android/src/org/videolan/vlc/widget/AudioMiniPlayer.java
@@ -30,11 +30,13 @@ import android.graphics.Bitmap;
 import android.os.Bundle;
 import android.support.v4.app.Fragment;
 import android.support.v4.app.FragmentTransaction;
+import android.util.Log;
 import android.view.ContextMenu;
 import android.view.ContextMenu.ContextMenuInfo;
 import android.view.LayoutInflater;
 import android.view.MenuInflater;
 import android.view.MenuItem;
+import android.view.MotionEvent;
 import android.view.View;
 import android.view.View.OnClickListener;
 import android.view.ViewGroup;
@@ -43,6 +45,7 @@ import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.ProgressBar;
 import android.widget.TextView;
+import android.widget.Toast;
 
 public class AudioMiniPlayer extends Fragment implements IAudioPlayer {
     public static final String TAG = "VLC/AudioMiniPlayer";
@@ -58,6 +61,8 @@ public class AudioMiniPlayer extends Fragment implements IAudioPlayer {
     private ImageView mCover;
     private ProgressBar mProgressBar;
 
+    private float mTouchX, mTouchY;
+
     // Listener for the play and pause buttons
     private final OnClickListener onMediaControlClickListener = new OnClickListener() {
         @Override
@@ -102,12 +107,28 @@ public class AudioMiniPlayer extends Fragment implements IAudioPlayer {
         mBackward.setOnClickListener(onMediaControlClickListener);
         mProgressBar = (ProgressBar) v.findViewById(R.id.timeline);
 
-        LinearLayout root = (LinearLayout) v.findViewById(R.id.root_node);
+        final LinearLayout root = (LinearLayout) v.findViewById(R.id.root_node);
 
-        root.setOnClickListener(new OnClickListener() {
+        root.setOnTouchListener(new View.OnTouchListener() {
             @Override
-            public void onClick(View v) {
-                AudioPlayerActivity.start(getActivity());
+            public boolean onTouch(View v, MotionEvent event) {
+                switch (event.getAction()) {
+                case MotionEvent.ACTION_DOWN:
+                    mTouchX = event.getRawX();
+                    mTouchY = event.getRawY();
+                    break;
+                case MotionEvent.ACTION_UP:
+                    if(mTouchY - event.getRawY() > root.getHeight()) {
+                        Toast.makeText(AudioMiniPlayer.this.getActivity(), "AudioMiniPlayer swipe up", Toast.LENGTH_SHORT).show();
+                        return true;
+                    } else if(Math.abs( mTouchY - event.getRawY() ) < 5 && Math.abs( mTouchX - event.getRawX() ) < 5) {
+                        // effectively a click
+                        AudioPlayerActivity.start(getActivity());
+                        return true;
+                    } else
+                        return false;
+                }
+                return true;
             }
         });
 



More information about the Android mailing list