Fix an NPE in InputMethodService when mExtractAction is null.
This happens with certain third-party IMEs.
Fixes: http://code.google.com/p/cyanogenmod/issues/detail?id=231
Change-Id: Idf4349ee9c7c8f73c255745bc65b49ba9b593874
diff --git a/core/java/android/inputmethodservice/InputMethodService.java b/core/java/android/inputmethodservice/InputMethodService.java
index 5499bba..f4fbaad 100644
--- a/core/java/android/inputmethodservice/InputMethodService.java
+++ b/core/java/android/inputmethodservice/InputMethodService.java
@@ -1981,15 +1981,19 @@
ei.inputType != InputType.TYPE_NULL);
if (hasAction) {
mExtractAccessories.setVisibility(View.VISIBLE);
- if (ei.actionLabel != null) {
- mExtractAction.setText(ei.actionLabel);
- } else {
- mExtractAction.setText(getTextForImeAction(ei.imeOptions));
+ if (mExtractAction != null) {
+ if (ei.actionLabel != null) {
+ mExtractAction.setText(ei.actionLabel);
+ } else {
+ mExtractAction.setText(getTextForImeAction(ei.imeOptions));
+ }
+ mExtractAction.setOnClickListener(mActionClickListener);
}
- mExtractAction.setOnClickListener(mActionClickListener);
} else {
mExtractAccessories.setVisibility(View.GONE);
- mExtractAction.setOnClickListener(null);
+ if (mExtractAction != null) {
+ mExtractAction.setOnClickListener(null);
+ }
}
}