diff options
author | Clark Scheff <clark@cyngn.com> | 2014-07-24 16:17:44 -0700 |
---|---|---|
committer | Clark Scheff <clark@cyngn.com> | 2014-07-24 16:17:44 -0700 |
commit | 6b40c9e032a4490638fe4b549a7fb18e7c478a07 (patch) | |
tree | 77934d3c7325a1df45fbcaa339df56571d35f29a /src/org/cyanogenmod/theme | |
parent | b09bf6030d82e45a07173f76ee94132ceb6f8eff (diff) | |
download | packages_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.java | 23 |
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); } } }); |