Skip to content
Snippets Groups Projects
Commit 793791cd authored by Jean Chalard's avatar Jean Chalard
Browse files

Simplify audio management (A2)

There is little point in deferring loading for this. Getting the
service at startup time is not very expensive anyway, plus we
can avoid getting it in a later change if sound is off in settings.

Change-Id: I08d65467f245fa2f9f617eb23257c327b3115673
parent 564496ba
No related branches found
No related tags found
No related merge requests found
......@@ -37,7 +37,7 @@ public class AudioAndHapticFeedbackManager extends BroadcastReceiver {
final private LatinIME mLatinIme;
final private SettingsValues mSettingsValues;
final private KeyboardSwitcher mKeyboardSwitcher;
private AudioManager mAudioManager;
final private AudioManager mAudioManager;
final private VibratorCompatWrapper mVibrator;
private boolean mSilentModeOn;
......@@ -48,6 +48,8 @@ public class AudioAndHapticFeedbackManager extends BroadcastReceiver {
mKeyboardSwitcher = keyboardSwitcher;
mSilentModeOn = true;
mVibrator = VibratorCompatWrapper.getInstance(mLatinIme);
mAudioManager = (AudioManager) mLatinIme.getSystemService(Context.AUDIO_SERVICE);
updateRingerMode();
}
public void hapticAndAudioFeedback(final int primaryCode) {
......@@ -61,21 +63,16 @@ public class AudioAndHapticFeedbackManager extends BroadcastReceiver {
// update flags for silent mode
private void updateRingerMode() {
if (mAudioManager == null) {
mAudioManager = (AudioManager) mLatinIme.getSystemService(Context.AUDIO_SERVICE);
if (mAudioManager == null) return;
if (!mSettingsValues.mSoundOn || mAudioManager == null) {
mSilentModeOn = true;
} else {
mSilentModeOn = (mAudioManager.getRingerMode() != AudioManager.RINGER_MODE_NORMAL);
}
mSilentModeOn = (mAudioManager.getRingerMode() != AudioManager.RINGER_MODE_NORMAL);
}
private void playKeyClick(int primaryCode) {
// if mAudioManager is null, we don't have the ringer state yet
// mAudioManager will be set by updateRingerMode
if (mAudioManager == null) {
if (mKeyboardSwitcher.getKeyboardView() != null) {
updateRingerMode();
}
}
// if mAudioManager is null, we can't play a sound anyway, so return
if (mAudioManager == null) return;
if (isSoundOn()) {
final int sound;
switch (primaryCode) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment