summaryrefslogtreecommitdiffstats
path: root/src/org/cyanogenmod/theme
diff options
context:
space:
mode:
authorClark Scheff <clark@cyngn.com>2014-07-24 16:17:44 -0700
committerClark Scheff <clark@cyngn.com>2014-07-24 16:17:44 -0700
commit6b40c9e032a4490638fe4b549a7fb18e7c478a07 (patch)
tree77934d3c7325a1df45fbcaa339df56571d35f29a /src/org/cyanogenmod/theme
parentb09bf6030d82e45a07173f76ee94132ceb6f8eff (diff)
downloadpackages_apps_ThemeChooser-6b40c9e032a4490638fe4b549a7fb18e7c478a07.tar.gz
packages_apps_ThemeChooser-6b40c9e032a4490638fe4b549a7fb18e7c478a07.tar.bz2
packages_apps_ThemeChooser-6b40c9e032a4490638fe4b549a7fb18e7c478a07.zip
Add stop button to sounds component selection items.
Change-Id: I44029bab15347bda318963f93ece690e38875b07
Diffstat (limited to 'src/org/cyanogenmod/theme')
-rw-r--r--src/org/cyanogenmod/theme/chooserv2/ComponentSelector.java23
1 files changed, 18 insertions, 5 deletions
diff --git a/src/org/cyanogenmod/theme/chooserv2/ComponentSelector.java b/src/org/cyanogenmod/theme/chooserv2/ComponentSelector.java
index 9efb6ac..3bd327a 100644
--- a/src/org/cyanogenmod/theme/chooserv2/ComponentSelector.java
+++ b/src/org/cyanogenmod/theme/chooserv2/ComponentSelector.java
@@ -38,6 +38,7 @@ import android.support.v4.content.Loader;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
+import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -107,6 +108,7 @@ public class ComponentSelector extends LinearLayout
private OnOpenCloseListener mOpenCloseListener;
private MediaPlayer mMediaPlayer;
+ private ImageView mCurrentPlayPause;
public ComponentSelector(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -682,7 +684,7 @@ public class ComponentSelector extends LinearLayout
v.setTag(cursor.getString(pkgNameIndex));
v.setOnClickListener(mItemClickListener);
parent.addView(v, mSoundItemParams);
- View playButton = v.findViewById(R.id.play_button);
+ final View playButton = v.findViewById(R.id.play_button);
playButton.setTag(cursor.getString(pkgNameIndex));
playButton.setOnClickListener(new OnClickListener() {
@Override
@@ -696,15 +698,26 @@ public class ComponentSelector extends LinearLayout
} else {
type = RingtoneManager.TYPE_ALARM;
}
+ boolean shouldStop = playButton == mCurrentPlayPause;
try {
if (mMediaPlayer != null && mMediaPlayer.isPlaying()) {
mMediaPlayer.stop();
+ if (mCurrentPlayPause != null) {
+ mCurrentPlayPause.setImageResource(
+ R.drawable.media_sound__selector_preview);
+ }
+ mCurrentPlayPause = null;
+ }
+ if (mCurrentPlayPause != playButton && !shouldStop) {
+ AudioUtils.loadThemeAudible(mContext, type, pkgName,
+ mMediaPlayer);
+ mMediaPlayer.start();
+ mCurrentPlayPause = (ImageView) playButton;
+ mCurrentPlayPause.setImageResource(
+ R.drawable.media_sound__selector_stop);
}
- AudioUtils.loadThemeAudible(mContext, type, pkgName,
- mMediaPlayer);
- mMediaPlayer.start();
} catch (PackageManager.NameNotFoundException e) {
- e.printStackTrace();
+ Log.w(TAG, "Unable to play preview sound", e);
}
}
});