aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2012-03-08 02:31:57 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-03-08 02:31:57 -0800
commitd749fb86ab59cdaeee1580ac3e3e8584913c3546 (patch)
treeb8bd5502ecf14b04d9a6706bc06c795ce37b726b /java/src
parent7cfae8343412d3367750b1402919d470285f2dfa (diff)
parent793791cdf0d54a55a73f931ffe3c62590c881f1e (diff)
downloadlatinime-d749fb86ab59cdaeee1580ac3e3e8584913c3546.tar.gz
latinime-d749fb86ab59cdaeee1580ac3e3e8584913c3546.tar.xz
latinime-d749fb86ab59cdaeee1580ac3e3e8584913c3546.zip
Merge "Simplify audio management (A2)"
Diffstat (limited to 'java/src')
-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) {