diff options
author | 2012-08-21 01:37:19 -0700 | |
---|---|---|
committer | 2012-08-21 01:37:19 -0700 | |
commit | 18f69b02ef814bf0b7f3607d9e34096d104c2173 (patch) | |
tree | 76a8dfb1989d578774fbb11fac3e9fda647ae094 /java/src | |
parent | 6785b9072762e15bb49657ce7b7d228dab76e44a (diff) | |
parent | 8d0cf41f49b1962ecc255de13fe35d7f0a8c2f3d (diff) | |
download | latinime-18f69b02ef814bf0b7f3607d9e34096d104c2173.tar.gz latinime-18f69b02ef814bf0b7f3607d9e34096d104c2173.tar.xz latinime-18f69b02ef814bf0b7f3607d9e34096d104c2173.zip |
Merge "Fix NPE" into jb-mr1-dev
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/KeyboardView.java | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java index ccbb081b4..fe14c3ffc 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java @@ -30,6 +30,7 @@ import android.graphics.Typeface; import android.graphics.drawable.Drawable; import android.os.Message; import android.util.AttributeSet; +import android.util.Log; import android.util.SparseArray; import android.util.TypedValue; import android.view.LayoutInflater; @@ -78,6 +79,8 @@ import java.util.HashSet; * @attr ref R.styleable#KeyboardView_shadowRadius */ public class KeyboardView extends View implements PointerTracker.DrawingProxy { + private static final String TAG = KeyboardView.class.getSimpleName(); + // Miscellaneous constants private static final int[] LONG_PRESSABLE_STATE_SET = { android.R.attr.state_long_pressable }; @@ -932,9 +935,18 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { final int[] viewOrigin = new int[2]; getLocationInWindow(viewOrigin); mPreviewPlacerView.setOrigin(viewOrigin[0], viewOrigin[1]); - final ViewGroup windowContentView = - (ViewGroup)getRootView().findViewById(android.R.id.content); - windowContentView.addView(mPreviewPlacerView); + final View rootView = getRootView(); + if (rootView == null) { + Log.w(TAG, "Cannot find root view"); + return; + } + final ViewGroup windowContentView = (ViewGroup)rootView.findViewById(android.R.id.content); + // Note: It'd be very weird if we get null by android.R.id.content. + if (windowContentView == null) { + Log.w(TAG, "Cannot find android.R.id.content view to add PreviewPlacerView"); + } else { + windowContentView.addView(mPreviewPlacerView); + } } public void showGestureFloatingPreviewText(String gestureFloatingPreviewText) { |