FileDocCategorySizeDatePackage
TouchModeFlexibleAsserts.javaAPI DocAndroid 1.5 API3013Wed May 06 22:42:02 BST 2009com.android.frameworktest.util

TouchModeFlexibleAsserts

public class TouchModeFlexibleAsserts extends Object
When entering touch mode via touch, the tests can be flaky. These asserts are more flexible (allowing up to MAX_ATTEMPTS touches to enter touch mode via touch or tap) until we can find a way to solve the flakiness.

Fields Summary
private static int
MAX_ATTEMPTS
private static int
MAX_DELAY_MILLIS
Constructors Summary
Methods Summary
public static voidassertInTouchModeAfterClick(android.test.InstrumentationTestCase test, android.view.View viewToTouch)


           
        int numAttemptsAtTouchMode = 0;
        while (numAttemptsAtTouchMode < MAX_ATTEMPTS &&
                !viewToTouch.isInTouchMode()) {
            TouchUtils.clickView(test, viewToTouch);
            numAttemptsAtTouchMode++;
        }
        Assert.assertTrue("even after " + MAX_ATTEMPTS + " clicks, did not enter "
                + "touch mode", viewToTouch.isInTouchMode());
        //Assert.assertEquals("number of touches to enter touch mode", 1, numAttemptsAtTouchMode);
    
public static voidassertInTouchModeAfterTap(android.test.InstrumentationTestCase test, android.view.View viewToTouch)

        int numAttemptsAtTouchMode = 0;
        while (numAttemptsAtTouchMode < MAX_ATTEMPTS &&
                !viewToTouch.isInTouchMode()) {
            TouchUtils.tapView(test, viewToTouch);
            numAttemptsAtTouchMode++;
        }
        Assert.assertTrue("even after " + MAX_ATTEMPTS + " taps, did not enter "
                + "touch mode", viewToTouch.isInTouchMode());
        //Assert.assertEquals("number of touches to enter touch mode", 1, numAttemptsAtTouchMode);
    
public static voidassertNotInTouchModeAfterKey(android.test.InstrumentationTestCase test, int keyCode, android.view.View checkForTouchMode)

        test.sendKeys(keyCode);
        int amountLeft = MAX_DELAY_MILLIS;

        while (checkForTouchMode.isInTouchMode() && amountLeft > 0) {
            amountLeft -= 200;
            try {
                Thread.sleep(200);
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
        }
        Assert.assertFalse("even after waiting " + MAX_DELAY_MILLIS + " millis after " 
                + "pressing key event, still in touch mode", checkForTouchMode.isInTouchMode());