diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIText.java b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIText.java index fea4eb62d6e..5e5d3066d5d 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIText.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIText.java @@ -496,13 +496,9 @@ public void onTextChanged(CharSequence s, int start, int before, int count) public void focus() { super.focus(); - if (tv != null) { - if (proxy.hasProperty(TiC.PROPERTY_EDITABLE) - && !(TiConvert.toBoolean(proxy.getProperty(TiC.PROPERTY_EDITABLE)))) { - TiUIHelper.showSoftKeyboard(tv, false); - } else { - TiUIHelper.showSoftKeyboard(tv, true); - } + if (tv != null && proxy != null && proxy.getProperties() != null) { + final boolean editable = proxy.getProperties().optBoolean(TiC.PROPERTY_EDITABLE, false); + TiUIHelper.showSoftKeyboard(tv, editable); } } diff --git a/android/titanium/src/java/org/appcelerator/titanium/util/TiUIHelper.java b/android/titanium/src/java/org/appcelerator/titanium/util/TiUIHelper.java index e68609653af..6fa1d6b22cb 100644 --- a/android/titanium/src/java/org/appcelerator/titanium/util/TiUIHelper.java +++ b/android/titanium/src/java/org/appcelerator/titanium/util/TiUIHelper.java @@ -1116,20 +1116,14 @@ public static void requestSoftInputChange(KrollProxy proxy, View view) */ public static void showSoftKeyboard(View view, boolean show) { - InputMethodManager imm = (InputMethodManager) view.getContext().getSystemService(Activity.INPUT_METHOD_SERVICE); - + final InputMethodManager imm = + (InputMethodManager) view.getContext().getSystemService(Activity.INPUT_METHOD_SERVICE); if (imm != null) { - boolean useForce = - (Build.VERSION.SDK_INT <= Build.VERSION_CODES.DONUT || Build.VERSION.SDK_INT >= 8) ? true : false; - String model = APSAnalyticsMeta.getModel(); - if (model.toLowerCase().startsWith("droid")) { - useForce = true; - } + view.requestFocus(); if (show) { - imm.showSoftInput(view, useForce ? InputMethodManager.SHOW_FORCED : InputMethodManager.SHOW_IMPLICIT); + imm.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT); } else { - imm.hideSoftInputFromWindow(view.getWindowToken(), - useForce ? 0 : InputMethodManager.HIDE_IMPLICIT_ONLY); + imm.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_IMPLICIT_ONLY); } } }