Settings: Performance tweaks for SeekBarVolumizer.

Bind to existing volumizer instance when possible.

Bug:15091992
Change-Id: I26248967ff85fdb7a850451336d6850e508d4f18
This commit is contained in:
John Spurlock
2014-05-27 13:12:35 -04:00
parent 85ba0ee6ec
commit 85315533a1
2 changed files with 8 additions and 4 deletions

View File

@@ -173,11 +173,13 @@ public class RingerVolumePreference extends VolumePreference {
SeekBar seekBar = (SeekBar) view.findViewById(SEEKBAR_ID[i]); SeekBar seekBar = (SeekBar) view.findViewById(SEEKBAR_ID[i]);
mSeekBars[i] = seekBar; mSeekBars[i] = seekBar;
if (SEEKBAR_TYPE[i] == AudioManager.STREAM_MUSIC) { if (SEEKBAR_TYPE[i] == AudioManager.STREAM_MUSIC) {
mSeekBarVolumizer[i] = new SeekBarVolumizer(getContext(), seekBar, mSeekBarVolumizer[i] = new SeekBarVolumizer(getContext(),
SEEKBAR_TYPE[i], getMediaVolumeUri(getContext()), this); SEEKBAR_TYPE[i], getMediaVolumeUri(getContext()), this);
mSeekBarVolumizer[i].setSeekBar(seekBar);
} else { } else {
mSeekBarVolumizer[i] = new SeekBarVolumizer(getContext(), seekBar, mSeekBarVolumizer[i] = new SeekBarVolumizer(getContext(),
SEEKBAR_TYPE[i], null, this); SEEKBAR_TYPE[i], null, this);
mSeekBarVolumizer[i].setSeekBar(seekBar);
} }
} }

View File

@@ -34,7 +34,6 @@ import com.android.settings.R;
public class VolumeSeekBarPreference extends SeekBarPreference public class VolumeSeekBarPreference extends SeekBarPreference
implements PreferenceManager.OnActivityStopListener { implements PreferenceManager.OnActivityStopListener {
private static final String TAG = "VolumeSeekBarPreference"; private static final String TAG = "VolumeSeekBarPreference";
private final Context mContext; private final Context mContext;
private int mStream; private int mStream;
@@ -82,7 +81,10 @@ public class VolumeSeekBarPreference extends SeekBarPreference
} }
}; };
final Uri sampleUri = mStream == AudioManager.STREAM_MUSIC ? getMediaVolumeUri() : null; final Uri sampleUri = mStream == AudioManager.STREAM_MUSIC ? getMediaVolumeUri() : null;
mVolumizer = new SeekBarVolumizer(mContext, seekBar, mStream, sampleUri, sbvc); if (mVolumizer == null) {
mVolumizer = new SeekBarVolumizer(mContext, mStream, sampleUri, sbvc);
}
mVolumizer.setSeekBar(mSeekBar);
} }
private Uri getMediaVolumeUri() { private Uri getMediaVolumeUri() {