@Override /** * When this activity pauses, this method sets the current activity to null, fires a javascript * 'pause' event, and if the activity is finishing, remove all dialogs associated with it. */ protected void onPause() { inForeground = false; super.onPause(); isResumed = false; Log.d(TAG, "Activity " + this + " onPause", Log.DEBUG_MODE); TiApplication tiApp = getTiApp(); if (tiApp.isRestartPending()) { releaseDialogs(true); if (!isFinishing()) { finish(); } return; } if (!windowStack.empty()) { windowStack.peek().onWindowFocusChange(false); } TiApplication.updateActivityTransitionState(true); tiApp.setCurrentActivity(this, null); TiUIHelper.showSoftKeyboard(getWindow().getDecorView(), false); if (this.isFinishing()) { releaseDialogs(true); } else { // release non-persistent dialogs when activity hides releaseDialogs(false); } if (activityProxy != null) { activityProxy.fireSyncEvent(TiC.EVENT_PAUSE, null); } synchronized (lifecycleListeners.synchronizedList()) { for (OnLifecycleEvent listener : lifecycleListeners.nonNull()) { try { TiLifecycle.fireLifecycleEvent(this, listener, TiLifecycle.LIFECYCLE_ON_PAUSE); } catch (Throwable t) { Log.e(TAG, "Error dispatching lifecycle event: " + t.getMessage(), t); } } } // Checkpoint for ti.end event if (tiApp != null) { tiApp.postAnalyticsEvent(TiAnalyticsEventFactory.createAppEndEvent()); } }
@Override public void focus() { super.focus(); if (nativeView != null) { if (proxy.hasProperty(TiC.PROPERTY_EDITABLE) && !(TiConvert.toBoolean(proxy.getProperty(TiC.PROPERTY_EDITABLE)))) { TiUIHelper.showSoftKeyboard(nativeView, false); } else { TiUIHelper.requestSoftInputChange(proxy, nativeView); } } }
public void blur() { if (nativeView != null) { TiUIHelper.showSoftKeyboard(nativeView, false); nativeView.clearFocus(); } }