private boolean mMuted;
private int mIconResId;
private int mMuteIconResId;
+ private boolean mStopped;
public VolumeSeekBarPreference(Context context, AttributeSet attrs, int defStyleAttr,
int defStyleRes) {
mCallback = callback;
}
+ public void onActivityResume() {
+ if (mStopped) {
+ init();
+ }
+ }
+
@Override
public void onActivityStop() {
+ mStopped = true;
if (mVolumizer != null) {
mVolumizer.stop();
}
Log.w(TAG, "No stream found, not binding volumizer");
return;
}
+ mSeekBar = (SeekBar) view.findViewById(com.android.internal.R.id.seekbar);
+ mIconView = (ImageView) view.findViewById(com.android.internal.R.id.icon);
+ mSuppressionTextView = (TextView) view.findViewById(R.id.suppression_text);
+ init();
+ }
+
+ private void init() {
+ if (mSeekBar == null) return;
getPreferenceManager().registerOnActivityStopListener(this);
- final SeekBar seekBar = (SeekBar) view.findViewById(com.android.internal.R.id.seekbar);
- if (seekBar == mSeekBar) return;
- mSeekBar = seekBar;
final SeekBarVolumizer.Callback sbvc = new SeekBarVolumizer.Callback() {
@Override
public void onSampleStarting(SeekBarVolumizer sbv) {
}
mVolumizer.start();
mVolumizer.setSeekBar(mSeekBar);
- mIconView = (ImageView) view.findViewById(com.android.internal.R.id.icon);
updateIconView();
- mSuppressionTextView = (TextView) view.findViewById(R.id.suppression_text);
mCallback.onStreamValueChanged(mStream, mSeekBar.getProgress());
updateSuppressionText();
}
- public void onActivityResume() {
- if (mVolumizer != null) {
- mVolumizer.start();
- }
- }
-
// during initialization, this preference is the SeekBar listener
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromTouch) {