package io.apptik.widget; import android.os.Bundle; import android.support.test.uiautomator.Configurator; import android.support.test.uiautomator.UiObject; import android.support.test.uiautomator.UiObjectNotFoundException; import android.support.test.uiautomator.UiScrollable; import android.support.test.uiautomator.UiSelector; import android.view.accessibility.AccessibilityNodeInfo; import static io.apptik.widget.MultiSlider.VirtualTreeProvider.ACT_SET_PROGRESS; public class UiMultiSlider extends UiScrollable { /** * Constructor. * * @param container a {@link UiSelector} selector to identify the scrollable * layout element. * @since API Level 16 */ public UiMultiSlider(UiSelector container) { super(container); setAsHorizontalList(); } public UiMultiSlider(UiObject uiObject) { this(uiObject.getSelector()); } public boolean moveThumbForward() throws UiObjectNotFoundException { AccessibilityNodeInfo ani = findAccessibilityNodeInfo(Configurator.getInstance().getWaitForSelectorTimeout()); if (ani == null) { throw new UiObjectNotFoundException(getSelector().toString()); } return ani.performAction(AccessibilityNodeInfo.ACTION_SCROLL_FORWARD); } public boolean moveThumbBackward() throws UiObjectNotFoundException { AccessibilityNodeInfo ani = findAccessibilityNodeInfo(Configurator.getInstance().getWaitForSelectorTimeout()); if (ani == null) { throw new UiObjectNotFoundException(getSelector().toString()); } return ani.performAction(AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD); } public boolean setThumbValue(int value) throws UiObjectNotFoundException { AccessibilityNodeInfo ani = findAccessibilityNodeInfo(Configurator.getInstance().getWaitForSelectorTimeout()); if (ani == null) { throw new UiObjectNotFoundException(getSelector().toString()); } Bundle args = new Bundle(); args.putInt("value", value); return ani.performAction(ACT_SET_PROGRESS, args); } }