sdm660-common: DeviceSettings: Fix Clear Speaker IllegalStateException

* trace:
  E AndroidRuntime: java.lang.IllegalStateException
  E AndroidRuntime: 	at android.media.MediaPlayer._stop(Native Method)
  E AndroidRuntime: 	at android.media.MediaPlayer.stop(MediaPlayer.java:1397)

* also do small refactoring while at it

Former-commit-id: 98f1335384a6b534becf87ad54333f737de9e15e
Signed-off-by: Joey Huab <joey@evolution-x.org>
This commit is contained in:
Volodymyr Zhdanov 2021-10-20 18:04:39 +03:00 committed by CakesTwix
parent 7b224410e5
commit dbb6cddf41
Signed by: CakesTwix
GPG key ID: 7B11051D5CE19825

View file

@ -77,8 +77,8 @@ public class ClearSpeakerFragment extends PreferenceFragment implements
@Override @Override
public void onStop() { public void onStop() {
stopPlaying();
super.onStop(); super.onStop();
stopPlaying();
} }
public boolean startPlaying() { public boolean startPlaying() {
@ -107,9 +107,12 @@ public class ClearSpeakerFragment extends PreferenceFragment implements
public void stopPlaying() { public void stopPlaying() {
if (mMediaPlayer != null) { if (mMediaPlayer != null) {
if (mMediaPlayer.isPlaying()) {
mMediaPlayer.stop(); mMediaPlayer.stop();
mMediaPlayer.reset(); mMediaPlayer.reset();
mMediaPlayer.release(); mMediaPlayer.release();
mMediaPlayer=null;
}
} }
mAudioManager.setParameters("status_earpiece_clean=off"); mAudioManager.setParameters("status_earpiece_clean=off");
mClearSpeakerPref.setEnabled(true); mClearSpeakerPref.setEnabled(true);