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