android / input-samples

Multiple samples showing the best practices in input on Android.
Apache License 2.0
288 stars 266 forks source link

not working onCommitContent #4

Open dimmitriy opened 7 years ago

dimmitriy commented 7 years ago

not called onCommitContent of an interface OnCommitContentListener:

`EditText exitText = new EditText(this) { @Override public InputConnection onCreateInputConnection(EditorInfo editorInfo) { final InputConnection ic = super.onCreateInputConnection(editorInfo); EditorInfoCompat.setContentMimeTypes(editorInfo, mimeTypes); final InputConnectionCompat.OnCommitContentListener callback = new InputConnectionCompat.OnCommitContentListener() {

                @Override
                public boolean onCommitContent(InputContentInfoCompat inputContentInfo, int flags, Bundle opts) {
                    return MainActivity.this.onCommitContent(inputContentInfo, flags, opts, mimeTypes);
                }
            };
            return InputConnectionCompat.createWrapper(ic, editorInfo, callback);
        }
    };`

` private boolean onCommitContent(InputContentInfoCompat inputContentInfo, int flags, Bundle opts, String[] contentMimeTypes) { Log.d("tagger", "onCommitContent inside"); try { if (mCurrentInputContentInfo != null) { mCurrentInputContentInfo.releasePermission(); } } catch (Exception e) { Log.e(TAG, "InputContentInfoCompat#releasePermission() failed.", e); } finally { mCurrentInputContentInfo = null; } mWebView.loadUrl("about:blank"); mMimeTypes.setText(""); mContentUri.setText(""); mLabel.setText(""); mLinkUri.setText(""); mFlags.setText("");

    boolean supported = false;
    for (final String mimeType : contentMimeTypes) {
        if (inputContentInfo.getDescription().hasMimeType(mimeType)) {
            supported = true;
            break;
        }
    }
    return supported && onCommitContentInternal(inputContentInfo, flags);
}`

what I can do in this case?