diff --git a/res/drawable/hidden_next.xml b/res/drawable/hidden_next.xml
index 551faab3..5b6140cf 100644
--- a/res/drawable/hidden_next.xml
+++ b/res/drawable/hidden_next.xml
@@ -2,9 +2,9 @@
+ android:drawable="@drawable/next" />
+ android:drawable="@drawable/next" />
\ No newline at end of file
diff --git a/res/drawable/hidden_play_pause.xml b/res/drawable/hidden_play_pause.xml
index 1493033e..c80526d0 100644
--- a/res/drawable/hidden_play_pause.xml
+++ b/res/drawable/hidden_play_pause.xml
@@ -2,9 +2,9 @@
+ android:drawable="@drawable/pause" />
+ android:drawable="@drawable/pause" />
\ No newline at end of file
diff --git a/res/drawable/next_normal.png b/res/drawable/next.png
similarity index 100%
rename from res/drawable/next_normal.png
rename to res/drawable/next.png
diff --git a/res/drawable/next.xml b/res/drawable/next.xml
deleted file mode 100644
index b1a1746b..00000000
--- a/res/drawable/next.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/res/drawable/next_focused.png b/res/drawable/next_focused.png
deleted file mode 100644
index 9d654d60..00000000
Binary files a/res/drawable/next_focused.png and /dev/null differ
diff --git a/res/drawable/pause_normal.png b/res/drawable/pause.png
similarity index 100%
rename from res/drawable/pause_normal.png
rename to res/drawable/pause.png
diff --git a/res/drawable/pause.xml b/res/drawable/pause.xml
deleted file mode 100644
index 8b279211..00000000
--- a/res/drawable/pause.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/res/drawable/pause_focused.png b/res/drawable/pause_focused.png
deleted file mode 100644
index c0730b0a..00000000
Binary files a/res/drawable/pause_focused.png and /dev/null differ
diff --git a/res/drawable/play_normal.png b/res/drawable/play.png
similarity index 100%
rename from res/drawable/play_normal.png
rename to res/drawable/play.png
diff --git a/res/drawable/play.xml b/res/drawable/play.xml
deleted file mode 100644
index 1a04f654..00000000
--- a/res/drawable/play.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/res/drawable/play_focused.png b/res/drawable/play_focused.png
deleted file mode 100644
index 233a5655..00000000
Binary files a/res/drawable/play_focused.png and /dev/null differ
diff --git a/res/drawable/previous_normal.png b/res/drawable/previous.png
similarity index 100%
rename from res/drawable/previous_normal.png
rename to res/drawable/previous.png
diff --git a/res/drawable/previous.xml b/res/drawable/previous.xml
deleted file mode 100644
index 12d33989..00000000
--- a/res/drawable/previous.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/res/drawable/previous_focused.png b/res/drawable/previous_focused.png
deleted file mode 100644
index ba6a3bef..00000000
Binary files a/res/drawable/previous_focused.png and /dev/null differ
diff --git a/res/layout/playback_buttons.xml b/res/layout/playback_buttons.xml
index f8887d01..1450bdff 100644
--- a/res/layout/playback_buttons.xml
+++ b/res/layout/playback_buttons.xml
@@ -1,25 +1,22 @@
-
-
-
\ No newline at end of file
diff --git a/src/org/kreed/vanilla/ControlButton.java b/src/org/kreed/vanilla/ControlButton.java
new file mode 100644
index 00000000..9687aff2
--- /dev/null
+++ b/src/org/kreed/vanilla/ControlButton.java
@@ -0,0 +1,32 @@
+package org.kreed.vanilla;
+
+import android.content.Context;
+import android.graphics.Color;
+import android.graphics.PorterDuff;
+import android.util.AttributeSet;
+import android.widget.ImageView;
+
+public class ControlButton extends ImageView {
+ private static final int ACTIVE_TINT = Color.argb(100, 0, 255, 0);
+ private static final int INACTIVE_TINT = Color.TRANSPARENT;
+ private int mTint = Color.TRANSPARENT;
+
+ public ControlButton(Context context, AttributeSet attrs)
+ {
+ super(context, attrs);
+
+ setFocusable(true);
+ }
+
+ @Override
+ protected void drawableStateChanged()
+ {
+ super.drawableStateChanged();
+
+ int tint = isPressed() || isFocused() ? ACTIVE_TINT : INACTIVE_TINT;
+ if (tint != mTint) {
+ setColorFilter(tint, PorterDuff.Mode.SRC_ATOP);
+ mTint = tint;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/org/kreed/vanilla/NowPlayingActivity.java b/src/org/kreed/vanilla/NowPlayingActivity.java
index dff377a7..55814a00 100644
--- a/src/org/kreed/vanilla/NowPlayingActivity.java
+++ b/src/org/kreed/vanilla/NowPlayingActivity.java
@@ -40,7 +40,7 @@ import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
-import android.widget.ImageButton;
+import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.SeekBar;
@@ -55,9 +55,9 @@ public class NowPlayingActivity extends Activity implements ServiceConnection, V
private View mControlsTop;
private View mControlsBottom;
- private ImageButton mPreviousButton;
- private ImageButton mPlayPauseButton;
- private ImageButton mNextButton;
+ private View mPreviousButton;
+ private ImageView mPlayPauseButton;
+ private View mNextButton;
private SeekBar mSeekBar;
private TextView mSeekText;
private Button mReconnectButton;
@@ -81,20 +81,20 @@ public class NowPlayingActivity extends Activity implements ServiceConnection, V
mCoverView.setOnClickListener(this);
mLayout = (ViewGroup)mCoverView.getParent();
-
+
mControlsTop = findViewById(R.id.controls_top);
mControlsBottom = findViewById(R.id.controls_bottom);
-
- mPreviousButton = (ImageButton)findViewById(R.id.previous);
+
+ mPreviousButton = findViewById(R.id.previous);
mPreviousButton.setOnClickListener(this);
mPreviousButton.setOnFocusChangeListener(this);
- mPlayPauseButton = (ImageButton)findViewById(R.id.play_pause);
+ mPlayPauseButton = (ImageView)findViewById(R.id.play_pause);
mPlayPauseButton.setOnClickListener(this);
mPlayPauseButton.setOnFocusChangeListener(this);
- mNextButton = (ImageButton)findViewById(R.id.next);
+ mNextButton = findViewById(R.id.next);
mNextButton.setOnClickListener(this);
mNextButton.setOnFocusChangeListener(this);
-
+
mSeekText = (TextView)findViewById(R.id.seek_text);
mSeekBar = (SeekBar)findViewById(R.id.seek_bar);
mSeekBar.setMax(1000);
diff --git a/src/org/kreed/vanilla/RemoteActivity.java b/src/org/kreed/vanilla/RemoteActivity.java
index 6d06c781..e02d1a21 100644
--- a/src/org/kreed/vanilla/RemoteActivity.java
+++ b/src/org/kreed/vanilla/RemoteActivity.java
@@ -32,7 +32,7 @@ import android.os.IBinder;
import android.os.RemoteException;
import android.view.View;
import android.view.Window;
-import android.widget.ImageButton;
+import android.widget.ImageView;
public class RemoteActivity extends Activity implements ServiceConnection, View.OnClickListener {
private CoverView mCoverView;
@@ -40,7 +40,7 @@ public class RemoteActivity extends Activity implements ServiceConnection, View.
private View mOpenButton;
private View mKillButton;
private View mPreviousButton;
- private ImageButton mPlayPauseButton;
+ private ImageView mPlayPauseButton;
private View mNextButton;
@Override
@@ -59,7 +59,7 @@ public class RemoteActivity extends Activity implements ServiceConnection, View.
mKillButton.setOnClickListener(this);
mPreviousButton = findViewById(R.id.previous);
mPreviousButton.setOnClickListener(this);
- mPlayPauseButton = (ImageButton)findViewById(R.id.play_pause);
+ mPlayPauseButton = (ImageView)findViewById(R.id.play_pause);
mPlayPauseButton.setOnClickListener(this);
mNextButton = findViewById(R.id.next);
mNextButton.setOnClickListener(this);