1f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphreypackage com.xtremelabs.robolectric.shadows;
2f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey
3f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphreyimport android.os.IBinder;
4f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphreyimport android.os.ResultReceiver;
5f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphreyimport android.view.View;
6f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphreyimport android.view.inputmethod.InputMethodManager;
7f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey
8f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphreyimport com.xtremelabs.robolectric.internal.Implementation;
9f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphreyimport com.xtremelabs.robolectric.internal.Implements;
10f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey
11f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey@Implements(InputMethodManager.class)
12f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphreypublic class ShadowInputMethodManager {
13f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey
14f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey	private boolean softInputVisible;
15f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey
16f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey	@Implementation
17f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey	public boolean showSoftInput(View view, int flags) {
18f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey		return showSoftInput(view, flags, null);
19f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey	}
20f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey
21f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey	@Implementation
22f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey	public boolean showSoftInput(View view, int flags, ResultReceiver resultReceiver) {
23f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey		softInputVisible = true;
24f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey		return true;
25f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey	}
26f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey
27f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey	@Implementation
28f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey	public boolean hideSoftInputFromWindow(IBinder windowToken, int flags) {
29f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey		return hideSoftInputFromWindow(windowToken, flags, null);
30f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey	}
31f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey
32f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey	@Implementation
33f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey	public boolean hideSoftInputFromWindow(IBinder windowToken, int flags, ResultReceiver resultReceiver) {
34f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey		softInputVisible = false;
35f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey		return true;
36f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey	}
37f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey
38f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey	public boolean isSoftInputVisible() {
39f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey		return softInputVisible;
40f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey	}
41f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey}
42