| // Copyright 2013 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| package org.chromium.content.browser.test.util; |
| |
| import android.os.IBinder; |
| import android.os.ResultReceiver; |
| import android.view.View; |
| import android.view.inputmethod.EditorInfo; |
| import android.view.inputmethod.InputConnection; |
| |
| import org.chromium.content.browser.ContentViewCore; |
| import org.chromium.content.browser.input.InputMethodManagerWrapper; |
| |
| public class TestInputMethodManagerWrapper extends InputMethodManagerWrapper { |
| private final ContentViewCore mContentViewCore; |
| private InputConnection mInputConnection; |
| private int mShowSoftInputCounter = 0; |
| private int mUpdateSelectionCounter = 0; |
| private EditorInfo mEditorInfo; |
| |
| public TestInputMethodManagerWrapper(ContentViewCore contentViewCore) { |
| super(null); |
| mContentViewCore = contentViewCore; |
| } |
| |
| @Override |
| public void restartInput(View view) { |
| mEditorInfo = new EditorInfo(); |
| mInputConnection = mContentViewCore.onCreateInputConnection(mEditorInfo); |
| } |
| |
| @Override |
| public void showSoftInput(View view, int flags, ResultReceiver resultReceiver) { |
| mShowSoftInputCounter++; |
| if (mInputConnection != null) return; |
| mEditorInfo = new EditorInfo(); |
| mInputConnection = mContentViewCore.onCreateInputConnection(mEditorInfo); |
| } |
| |
| @Override |
| public boolean isActive(View view) { |
| if (mInputConnection == null) return false; |
| return true; |
| } |
| |
| @Override |
| public boolean hideSoftInputFromWindow(IBinder windowToken, int flags, |
| ResultReceiver resultReceiver) { |
| boolean retVal = mInputConnection == null; |
| mInputConnection = null; |
| return retVal; |
| } |
| |
| @Override |
| public void updateSelection(View view, int selStart, int selEnd, |
| int candidatesStart, int candidatesEnd) { |
| mUpdateSelectionCounter++; |
| } |
| |
| public int getShowSoftInputCounter() { |
| return mShowSoftInputCounter; |
| } |
| |
| public int getUpdateSelectionCounter() { |
| return mUpdateSelectionCounter; |
| } |
| |
| public EditorInfo getEditorInfo() { |
| return mEditorInfo; |
| } |
| } |
| |