Settings: Rebind to volume sliders after returning from stopped.
Bug: 18118623 Change-Id: I29fb22a1a4476639a4f5cce06affd8ce58b6105d
This commit is contained in:
@@ -50,6 +50,7 @@ public class VolumeSeekBarPreference extends SeekBarPreference
|
|||||||
private boolean mMuted;
|
private boolean mMuted;
|
||||||
private int mIconResId;
|
private int mIconResId;
|
||||||
private int mMuteIconResId;
|
private int mMuteIconResId;
|
||||||
|
private boolean mStopped;
|
||||||
|
|
||||||
public VolumeSeekBarPreference(Context context, AttributeSet attrs, int defStyleAttr,
|
public VolumeSeekBarPreference(Context context, AttributeSet attrs, int defStyleAttr,
|
||||||
int defStyleRes) {
|
int defStyleRes) {
|
||||||
@@ -77,8 +78,15 @@ public class VolumeSeekBarPreference extends SeekBarPreference
|
|||||||
mCallback = callback;
|
mCallback = callback;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void onActivityResume() {
|
||||||
|
if (mStopped) {
|
||||||
|
init();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onActivityStop() {
|
public void onActivityStop() {
|
||||||
|
mStopped = true;
|
||||||
if (mVolumizer != null) {
|
if (mVolumizer != null) {
|
||||||
mVolumizer.stop();
|
mVolumizer.stop();
|
||||||
}
|
}
|
||||||
@@ -91,10 +99,15 @@ public class VolumeSeekBarPreference extends SeekBarPreference
|
|||||||
Log.w(TAG, "No stream found, not binding volumizer");
|
Log.w(TAG, "No stream found, not binding volumizer");
|
||||||
return;
|
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);
|
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() {
|
final SeekBarVolumizer.Callback sbvc = new SeekBarVolumizer.Callback() {
|
||||||
@Override
|
@Override
|
||||||
public void onSampleStarting(SeekBarVolumizer sbv) {
|
public void onSampleStarting(SeekBarVolumizer sbv) {
|
||||||
@@ -121,19 +134,11 @@ public class VolumeSeekBarPreference extends SeekBarPreference
|
|||||||
}
|
}
|
||||||
mVolumizer.start();
|
mVolumizer.start();
|
||||||
mVolumizer.setSeekBar(mSeekBar);
|
mVolumizer.setSeekBar(mSeekBar);
|
||||||
mIconView = (ImageView) view.findViewById(com.android.internal.R.id.icon);
|
|
||||||
updateIconView();
|
updateIconView();
|
||||||
mSuppressionTextView = (TextView) view.findViewById(R.id.suppression_text);
|
|
||||||
mCallback.onStreamValueChanged(mStream, mSeekBar.getProgress());
|
mCallback.onStreamValueChanged(mStream, mSeekBar.getProgress());
|
||||||
updateSuppressionText();
|
updateSuppressionText();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onActivityResume() {
|
|
||||||
if (mVolumizer != null) {
|
|
||||||
mVolumizer.start();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// during initialization, this preference is the SeekBar listener
|
// during initialization, this preference is the SeekBar listener
|
||||||
@Override
|
@Override
|
||||||
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromTouch) {
|
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromTouch) {
|
||||||
|
Reference in New Issue
Block a user