aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/src/com/android/inputmethod/latin/AudioAndHapticFeedbackManager.java21
1 files changed, 9 insertions, 12 deletions
diff --git a/java/src/com/android/inputmethod/latin/AudioAndHapticFeedbackManager.java b/java/src/com/android/inputmethod/latin/AudioAndHapticFeedbackManager.java
index 7455316df..8d54f50dd 100644
--- a/java/src/com/android/inputmethod/latin/AudioAndHapticFeedbackManager.java
+++ b/java/src/com/android/inputmethod/latin/AudioAndHapticFeedbackManager.java
@@ -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) {