Methods Summary |
---|
public void | destructiveCheckImeInitialState(android.view.View rootView, android.view.View servedView)
if (mExpectAutoPop && (mTargetActivity.getWindow().getAttributes().
softInputMode&WindowManager.LayoutParams.SOFT_INPUT_MASK_ADJUST)
== WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE) {
assertTrue(destructiveCheckImeUp(rootView, servedView));
} else {
assertFalse(destructiveCheckImeUp(rootView, servedView));
}
|
public boolean | destructiveCheckImeUp(android.view.View rootView, android.view.View servedView)
int origHeight;
int newHeight;
origHeight = rootView.getHeight();
// Tell the keyboard to go away.
mImm.hideSoftInputFromWindow(servedView.getWindowToken(), 0);
// Give it five seconds to adjust
newHeight = rootView.getHeight();
long timeoutTime = SystemClock.uptimeMillis() + WAIT_FOR_IME;
while (Math.abs(newHeight - origHeight) < IME_MIN_HEIGHT && SystemClock.uptimeMillis() < timeoutTime) {
newHeight = rootView.getHeight();
}
return (Math.abs(origHeight - newHeight) >= IME_MIN_HEIGHT);
|
void | pause(int millis)
try {
Thread.sleep(millis);
} catch (InterruptedException e) {
}
|
public void | setUp()
super.setUp();
mTargetActivity = launchActivity(TARGET_PACKAGE_NAME, mTargetActivityClass, null);
mExpectAutoPop = mTargetActivity.getResources().getBoolean(R.bool.def_expect_ime_autopop);
mImm = InputMethodManager.getInstance(mTargetActivity);
|
public void | verifyEditTextAdjustment(android.view.View editText, int rootViewHeight)
int[] origLocation = new int[2];
int[] newLocation = new int[2];
// Tell the keyboard to go away.
mImm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
// Bring the target EditText into focus.
mTargetActivity.runOnUiThread(new Runnable() {
public void run() {
editText.requestFocus();
}
});
// Get the original location of the EditText.
editText.getLocationOnScreen(origLocation);
// Tap the EditText to bring up the IME.
sendKeys(KeyEvent.KEYCODE_DPAD_CENTER);
// Wait until the EditText pops above the IME or until we hit the timeout.
editText.getLocationOnScreen(newLocation);
long timeoutTime = SystemClock.uptimeMillis() + WAIT_FOR_IME;
while (newLocation[1] > rootViewHeight - IME_MIN_HEIGHT && SystemClock.uptimeMillis() < timeoutTime) {
editText.getLocationOnScreen(newLocation);
pause(100);
}
assertTrue(newLocation[1] <= rootViewHeight - IME_MIN_HEIGHT);
// Tell the keyboard to go away.
mImm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
|