diff options
author | 2011-01-26 23:13:18 +0900 | |
---|---|---|
committer | 2011-01-27 01:49:44 +0900 | |
commit | 123c4a38514c003aac50caed7ad3cb6ab8f2515a (patch) | |
tree | 3b7788907b69468a48a27be2f892b3d5535fb0a2 /java/src/com/android/inputmethod/latin/LatinIME.java | |
parent | 5cd87e1b1c4258e8d016518914eccfbb4437cace (diff) | |
download | latinime-123c4a38514c003aac50caed7ad3cb6ab8f2515a.tar.gz latinime-123c4a38514c003aac50caed7ad3cb6ab8f2515a.tar.xz latinime-123c4a38514c003aac50caed7ad3cb6ab8f2515a.zip |
Fix BroadcastReceiver leakage in SubtypeSwitcher
Bug: 3345931
Change-Id: If31a6e803ea7e1a857085ced354722c484fda075
Diffstat (limited to '')
-rw-r--r-- | java/src/com/android/inputmethod/latin/LatinIME.java | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 78674b4e4..2bc5184fc 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -37,6 +37,7 @@ import android.content.res.Configuration; import android.content.res.Resources; import android.inputmethodservice.InputMethodService; import android.media.AudioManager; +import android.net.ConnectivityManager; import android.os.Debug; import android.os.Handler; import android.os.Message; @@ -388,8 +389,10 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen mOrientation = res.getConfiguration().orientation; initSuggestPuncList(); - // register to receive ringer mode changes for silent mode - IntentFilter filter = new IntentFilter(AudioManager.RINGER_MODE_CHANGED_ACTION); + // register to receive ringer mode change and network state change. + final IntentFilter filter = new IntentFilter(); + filter.addAction(AudioManager.RINGER_MODE_CHANGED_ACTION); + filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); registerReceiver(mReceiver, filter); mVoiceConnector = VoiceIMEConnector.init(this, prefs, mHandler); prefs.registerOnSharedPreferenceChangeListener(this); @@ -1986,11 +1989,16 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen } - // receive ringer mode changes to detect silent mode + // receive ringer mode change and network state change. private BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { - updateRingerMode(); + final String action = intent.getAction(); + if (action.equals(AudioManager.RINGER_MODE_CHANGED_ACTION)) { + updateRingerMode(); + } else if (action.equals(ConnectivityManager.CONNECTIVITY_ACTION)) { + mSubtypeSwitcher.onNetworkStateChanged(intent); + } } }; |