aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2012-03-09 11:00:23 +0900
committerJean Chalard <jchalard@google.com>2012-03-09 11:00:23 +0900
commit21af2f40c59de3ea5ec183aa278406bf28d5e3bd (patch)
tree5c5072805c18eff1c72ed19b78e899d1b4e44a3f /java/src/com
parent7b77c683d7de842ede62800125f6ba2370e86a19 (diff)
downloadlatinime-21af2f40c59de3ea5ec183aa278406bf28d5e3bd.tar.gz
latinime-21af2f40c59de3ea5ec183aa278406bf28d5e3bd.tar.xz
latinime-21af2f40c59de3ea5ec183aa278406bf28d5e3bd.zip
Merge broadcast receivers again
It's probably simpler not to have registers dance around, and just message the feedback manager when the audio event happens. Change-Id: Id0710ed102d10d01f1af93ad8cb660653bb3a9f8
Diffstat (limited to 'java/src/com')
-rw-r--r--java/src/com/android/inputmethod/latin/AudioAndHapticFeedbackManager.java14
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIME.java14
2 files changed, 7 insertions, 21 deletions
diff --git a/java/src/com/android/inputmethod/latin/AudioAndHapticFeedbackManager.java b/java/src/com/android/inputmethod/latin/AudioAndHapticFeedbackManager.java
index 1cbdbd650..9c5ccc76b 100644
--- a/java/src/com/android/inputmethod/latin/AudioAndHapticFeedbackManager.java
+++ b/java/src/com/android/inputmethod/latin/AudioAndHapticFeedbackManager.java
@@ -16,9 +16,7 @@
package com.android.inputmethod.latin;
-import android.content.BroadcastReceiver;
import android.content.Context;
-import android.content.Intent;
import android.media.AudioManager;
import android.view.HapticFeedbackConstants;
import android.view.View;
@@ -32,7 +30,7 @@ import com.android.inputmethod.keyboard.Keyboard;
* It offers a consistent and simple interface that allows LatinIME to forget about the
* complexity of settings and the like.
*/
-public class AudioAndHapticFeedbackManager extends BroadcastReceiver {
+public class AudioAndHapticFeedbackManager {
final private SettingsValues mSettingsValues;
final private AudioManager mAudioManager;
final private VibratorCompatWrapper mVibrator;
@@ -100,13 +98,7 @@ public class AudioAndHapticFeedbackManager extends BroadcastReceiver {
}
}
- @Override
- public void onReceive(Context context, Intent intent) {
- final String action = intent.getAction();
- // The following test is supposedly useless since we only listen for the ringer event.
- // Still, it's a good safety measure.
- if (action.equals(AudioManager.RINGER_MODE_CHANGED_ACTION)) {
- mSoundOn = reevaluateIfSoundIsOn();
- }
+ public void onRingerModeChanged() {
+ mSoundOn = reevaluateIfSoundIsOn();
}
}
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index ca38cdeec..73a96895f 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -532,6 +532,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
// Also receive installation and removal of a dictionary pack.
final IntentFilter filter = new IntentFilter();
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
+ filter.addAction(AudioManager.RINGER_MODE_CHANGED_ACTION);
registerReceiver(mReceiver, filter);
mVoiceProxy = VoiceProxy.init(this, prefs, mHandler);
@@ -547,19 +548,11 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
registerReceiver(mDictionaryPackInstallReceiver, newDictFilter);
}
- private void renewFeedbackReceiver() {
- if (null != mFeedbackManager) unregisterReceiver(mFeedbackManager);
- mFeedbackManager = new AudioAndHapticFeedbackManager(this, mSettingsValues);
- final IntentFilter ringerModeFilter = new IntentFilter();
- ringerModeFilter.addAction(AudioManager.RINGER_MODE_CHANGED_ACTION);
- registerReceiver(mFeedbackManager, ringerModeFilter);
- }
-
// Has to be package-visible for unit tests
/* package */ void loadSettings() {
if (null == mPrefs) mPrefs = PreferenceManager.getDefaultSharedPreferences(this);
mSettingsValues = new SettingsValues(mPrefs, this, mSubtypeSwitcher.getInputLocaleStr());
- renewFeedbackReceiver();
+ mFeedbackManager = new AudioAndHapticFeedbackManager(this, mSettingsValues);
resetContactsDictionary(null == mSuggest ? null : mSuggest.getContactsDictionary());
}
@@ -648,7 +641,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
mSuggest = null;
}
unregisterReceiver(mReceiver);
- unregisterReceiver(mFeedbackManager);
unregisterReceiver(mDictionaryPackInstallReceiver);
mVoiceProxy.destroy();
LatinImeLogger.commit();
@@ -2356,6 +2348,8 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
final String action = intent.getAction();
if (action.equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
mSubtypeSwitcher.onNetworkStateChanged(intent);
+ } else if (action.equals(AudioManager.RINGER_MODE_CHANGED_ACTION)) {
+ mFeedbackManager.onRingerModeChanged();
}
}
};