public virtual void restartInput([email protected] inputContext , android.view.inputmethod.EditorInfo attribute) { throw new System.NotImplementedException(); }
public abstract void startInput([email protected] arg1, android.view.inputmethod.EditorInfo arg2);
public abstract [email protected] startInput([email protected] arg1, [email protected] arg2, android.view.inputmethod.EditorInfo arg3, bool arg4, bool arg5);
public abstract void startInput(android.view.inputmethod.InputConnection arg1, android.view.inputmethod.EditorInfo arg2);
public virtual void onExtractingInputChanged(android.view.inputmethod.EditorInfo ei) { throw new System.NotImplementedException(); }
public virtual [email protected] startInput([email protected] client, [email protected] inputContext, android.view.inputmethod.EditorInfo attribute, bool initial, bool needResult) { throw new System.NotImplementedException(); }
internal virtual void doStartInput(android.view.inputmethod.InputConnection ic, android.view.inputmethod.EditorInfo attribute, bool restarting) { throw new System.NotImplementedException(); }
public virtual void onUpdateExtractingViews(android.view.inputmethod.EditorInfo ei ) { throw new System.NotImplementedException(); }
public virtual void onStartCandidatesView(android.view.inputmethod.EditorInfo info , bool restarting) { throw new System.NotImplementedException(); }
public virtual void onStartInput(android.view.inputmethod.EditorInfo attribute, bool restarting) { throw new System.NotImplementedException(); }
public override void restartInput(android.view.inputmethod.InputConnection ic, android.view.inputmethod.EditorInfo attribute) { throw new System.NotImplementedException(); }
void android.view.inputmethod.InputMethod.restartInput(android.view.inputmethod.InputConnection arg0, android.view.inputmethod.EditorInfo arg1) { global::MonoJavaBridge.JNIEnv @__env = global::MonoJavaBridge.JNIEnv.ThreadEnv; if (!IsClrObject) { @__env.CallVoidMethod(this.JvmHandle, global::android.view.inputmethod.InputMethod_._restartInput10206, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1)); } else { @__env.CallNonVirtualVoidMethod(this.JvmHandle, global::android.view.inputmethod.InputMethod_.staticClass, global::android.view.inputmethod.InputMethod_._restartInput10206, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1)); } }
/// <summary> /// Reset all of the state associated with a served view being connected /// to an input method /// </summary> internal void clearConnectionLocked() { mCurrentTextBoxAttribute = null; mServedInputConnection = null; }
/// <hide></hide> public void checkFocus() { // This is called a lot, so short-circuit before locking. if (mServedView == mNextServedView && !mNextServedNeedsStart) { return; } android.view.inputmethod.InputConnection ic = null; lock (mH) { if (mServedView == mNextServedView && !mNextServedNeedsStart) { return; } mNextServedNeedsStart = false; if (mNextServedView == null) { finishInputLocked(); // In this case, we used to have a focused view on the window, // but no longer do. We should make sure the input method is // no longer shown, since it serves no purpose. closeCurrentInput(); return; } ic = mServedInputConnection; mServedView = mNextServedView; mCurrentTextBoxAttribute = null; mCompletions = null; mServedConnecting = true; } if (ic != null) { ic.finishComposingText(); } startInputInner(); }
internal void startInputInner() { android.view.View view; lock (mH) { view = mServedView; // Make sure we have a window token for the served view. if (view == null) { return; } } // Now we need to get an input connection from the served view. // This is complicated in a couple ways: we can't be holding our lock // when calling out to the view, and we need to make sure we call into // the view on the same thread that is driving its view hierarchy. android.os.Handler vh = view.getHandler(); if (vh == null) { // If the view doesn't have a handler, something has changed out // from under us, so just bail. return; } if (vh.getLooper() != android.os.Looper.myLooper()) { // The view is running on a different thread than our own, so // we need to reschedule our work for over there. vh.post(new _Runnable_976()); return; } // Okay we are now ready to call into the served view and have it // do its stuff. // Life is good: let's hook everything up! android.view.inputmethod.EditorInfo tba = new android.view.inputmethod.EditorInfo (); tba.packageName = view.getContext().getPackageName(); tba.fieldId = view.getId(); android.view.inputmethod.InputConnection ic = view.onCreateInputConnection(tba); lock (mH) { // Now that we are locked again, validate that our state hasn't // changed. if (mServedView != view || !mServedConnecting) { // Something else happened, so abort. return; } // If we already have a text box, then this view is already // connected so we want to restart it. bool initial = mCurrentTextBoxAttribute == null; // Hook 'em up and let 'er rip. mCurrentTextBoxAttribute = tba; mServedConnecting = false; mServedInputConnection = ic; [email protected] servedContext; if (ic != null) { mCursorSelStart = tba.initialSelStart; mCursorSelEnd = tba.initialSelEnd; mCursorCandStart = -1; mCursorCandEnd = -1; mCursorRect.setEmpty(); servedContext = new android.view.inputmethod.InputMethodManager.ControlledInputConnectionWrapper (this, vh.getLooper(), ic); } else { servedContext = null; } try { [email protected] res = mService.startInput(mClient, servedContext , tba, initial, true); if (res != null) { if (res.id != null) { mBindSequence = res.sequence; mCurMethod = res.method; } else { if (mCurMethod == null) { // This means there is no input method available. return; } } } if (mCurMethod != null && mCompletions != null) { try { mCurMethod.displayCompletions(mCompletions); } catch (android.os.RemoteException) { } } } catch (android.os.RemoteException e) { android.util.Log.w(TAG, "IME died: " + mCurId, e); } } }