diff options
author | Kevin Jin <kjin@google.com> | 2013-11-22 13:10:20 -0800 |
---|---|---|
committer | Kevin Jin <kjin@google.com> | 2013-11-22 13:10:20 -0800 |
commit | 5cf5f03c64b65b1f1ecd2140b8d6605ac05b6199 (patch) | |
tree | a03d34edbe68c0b1eb50170c6ecde02de0846475 /src | |
parent | 026e2d0318ee13637adbc71365592705c149c157 (diff) | |
download | droiddriver-5cf5f03c64b65b1f1ecd2140b8d6605ac05b6199.tar.gz |
add driver as a parameter to the ScrollStepStrategy hooks in order to allow
more customization
Change-Id: If50126e82bdeb18511379e6e588c14fa66e28562
Diffstat (limited to 'src')
6 files changed, 25 insertions, 12 deletions
diff --git a/src/com/google/android/droiddriver/instrumentation/ViewElement.java b/src/com/google/android/droiddriver/instrumentation/ViewElement.java index 3a16677..1823194 100644 --- a/src/com/google/android/droiddriver/instrumentation/ViewElement.java +++ b/src/com/google/android/droiddriver/instrumentation/ViewElement.java @@ -190,6 +190,9 @@ public class ViewElement extends BaseUiElement { * {@link com.google.android.droiddriver.DroidDriver#dumpUiElementTree}, then * call this method in setUp to override it with the class name seen in * uiautomatorviewer. + * </p> + * A better solution is to use resource-id instead of classname, which is an + * implementation detail and subject to change. */ public static void overrideClassName(String actualClassName, String overridingClassName) { CLASS_NAME_OVERRIDES.put(actualClassName, overridingClassName); diff --git a/src/com/google/android/droiddriver/scroll/AccessibilityEventScrollStepStrategy.java b/src/com/google/android/droiddriver/scroll/AccessibilityEventScrollStepStrategy.java index 98860e5..e4d8ade 100644 --- a/src/com/google/android/droiddriver/scroll/AccessibilityEventScrollStepStrategy.java +++ b/src/com/google/android/droiddriver/scroll/AccessibilityEventScrollStepStrategy.java @@ -144,10 +144,12 @@ public class AccessibilityEventScrollStepStrategy implements ScrollStepStrategy } @Override - public void beginScrolling(Finder containerFinder, Finder itemFinder, PhysicalDirection direction) { + public void beginScrolling(DroidDriver driver, Finder containerFinder, Finder itemFinder, + PhysicalDirection direction) { atEndData.reset(); } @Override - public void endScrolling(Finder containerFinder, Finder itemFinder, PhysicalDirection direction) {} + public void endScrolling(DroidDriver driver, Finder containerFinder, Finder itemFinder, + PhysicalDirection direction) {} } diff --git a/src/com/google/android/droiddriver/scroll/BaseSentinelStrategy.java b/src/com/google/android/droiddriver/scroll/BaseSentinelStrategy.java index 35a1636..4db5d96 100644 --- a/src/com/google/android/droiddriver/scroll/BaseSentinelStrategy.java +++ b/src/com/google/android/droiddriver/scroll/BaseSentinelStrategy.java @@ -90,10 +90,12 @@ public abstract class BaseSentinelStrategy implements SentinelStrategy { } @Override - public void beginScrolling(Finder containerFinder, Finder itemFinder, PhysicalDirection direction) {} + public void beginScrolling(DroidDriver driver, Finder containerFinder, Finder itemFinder, + PhysicalDirection direction) {} @Override - public void endScrolling(Finder containerFinder, Finder itemFinder, PhysicalDirection direction) {} + public void endScrolling(DroidDriver driver, Finder containerFinder, Finder itemFinder, + PhysicalDirection direction) {} @Override public String toString() { diff --git a/src/com/google/android/droiddriver/scroll/DynamicSentinelStrategy.java b/src/com/google/android/droiddriver/scroll/DynamicSentinelStrategy.java index 7019168..03f302c 100644 --- a/src/com/google/android/droiddriver/scroll/DynamicSentinelStrategy.java +++ b/src/com/google/android/droiddriver/scroll/DynamicSentinelStrategy.java @@ -221,12 +221,14 @@ public class DynamicSentinelStrategy extends BaseSentinelStrategy { } @Override - public void beginScrolling(Finder containerFinder, Finder itemFinder, PhysicalDirection direction) { + public void beginScrolling(DroidDriver driver, Finder containerFinder, Finder itemFinder, + PhysicalDirection direction) { lastSentinel = null; } @Override - public void endScrolling(Finder containerFinder, Finder itemFinder, PhysicalDirection direction) { + public void endScrolling(DroidDriver driver, Finder containerFinder, Finder itemFinder, + PhysicalDirection direction) { // Prevent memory leak lastSentinel = null; } diff --git a/src/com/google/android/droiddriver/scroll/ScrollStepStrategy.java b/src/com/google/android/droiddriver/scroll/ScrollStepStrategy.java index 96d298f..d3474e5 100644 --- a/src/com/google/android/droiddriver/scroll/ScrollStepStrategy.java +++ b/src/com/google/android/droiddriver/scroll/ScrollStepStrategy.java @@ -45,25 +45,29 @@ public interface ScrollStepStrategy { * Called only if this step is at the beginning of a series of scroll steps * with regard to the given arguments. * + * @param driver * @param containerFinder Finder for the container that can scroll, for * instance a ListView * @param itemFinder Finder for the desired item; relative to * {@code containerFinder} * @param direction */ - void beginScrolling(Finder containerFinder, Finder itemFinder, PhysicalDirection direction); + void beginScrolling(DroidDriver driver, Finder containerFinder, Finder itemFinder, + PhysicalDirection direction); /** * Called only if this step is at the end of a series of scroll steps with * regard to the given arguments. * + * @param driver * @param containerFinder Finder for the container that can scroll, for * instance a ListView * @param itemFinder Finder for the desired item; relative to * {@code containerFinder} * @param direction */ - void endScrolling(Finder containerFinder, Finder itemFinder, PhysicalDirection direction); + void endScrolling(DroidDriver driver, Finder containerFinder, Finder itemFinder, + PhysicalDirection direction); /** * {@inheritDoc} diff --git a/src/com/google/android/droiddriver/scroll/StepBasedScroller.java b/src/com/google/android/droiddriver/scroll/StepBasedScroller.java index d2852af..38fb864 100644 --- a/src/com/google/android/droiddriver/scroll/StepBasedScroller.java +++ b/src/com/google/android/droiddriver/scroll/StepBasedScroller.java @@ -125,10 +125,10 @@ public class StepBasedScroller implements Scroller { public UiElement scrollTo(DroidDriver driver, Finder containerFinder, Finder itemFinder, PhysicalDirection direction) { try { - scrollStepStrategy.beginScrolling(containerFinder, itemFinder, direction); + scrollStepStrategy.beginScrolling(driver, containerFinder, itemFinder, direction); return scrollTo(driver, containerFinder, itemFinder, direction, false); } finally { - scrollStepStrategy.endScrolling(containerFinder, itemFinder, direction); + scrollStepStrategy.endScrolling(driver, containerFinder, itemFinder, direction); } } @@ -156,14 +156,14 @@ public class StepBasedScroller implements Scroller { // Fling to beginning is not reliable; scroll to beginning // container.perform(SwipeAction.toFling(backwardDirection)); try { - scrollStepStrategy.beginScrolling(containerFinder, itemFinder, backwardDirection); + scrollStepStrategy.beginScrolling(driver, containerFinder, itemFinder, backwardDirection); for (int i = 0; i < maxScrolls; i++) { if (!scrollStepStrategy.scroll(driver, containerFinder, backwardDirection)) { break; } } } finally { - scrollStepStrategy.endScrolling(containerFinder, itemFinder, backwardDirection); + scrollStepStrategy.endScrolling(driver, containerFinder, itemFinder, backwardDirection); } } } else { |