1635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKaypackage com.android.documentsui; 2635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay 3635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKayimport android.graphics.Point; 4635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKayimport android.support.v7.widget.RecyclerView; 5635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay 6f862155e3476f8d9644d57072a6d92375bde628eSteve McKaypublic class TestInputEvent implements Events.InputEvent { 7635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay 8635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay public boolean mouseEvent; 9635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay public boolean primaryButtonPressed; 10635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay public boolean secondaryButtonPressed; 11635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay public boolean shiftKeyDow; 12635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay public boolean actionDown; 13635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay public boolean actionUp; 14635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay public Point location; 15635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay public int position = Integer.MIN_VALUE; 16635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay 17635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay public TestInputEvent() {} 18635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay 19635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay public TestInputEvent(int position) { 20635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay this.position = position; 21635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay } 22635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay 23635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay @Override 24635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay public boolean isMouseEvent() { 25635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay return mouseEvent; 26635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay } 27635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay 28635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay @Override 29635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay public boolean isPrimaryButtonPressed() { 30635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay return primaryButtonPressed; 31635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay } 32635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay 33635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay @Override 34635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay public boolean isSecondaryButtonPressed() { 35635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay return secondaryButtonPressed; 36635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay } 37635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay 38635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay @Override 39635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay public boolean isShiftKeyDown() { 40635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay return shiftKeyDow; 41635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay } 42635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay 43635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay @Override 44635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay public boolean isActionDown() { 45635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay return actionDown; 46635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay } 47635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay 48635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay @Override 49635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay public boolean isActionUp() { 50635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay return actionUp; 51635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay } 52635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay 53635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay @Override 54635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay public Point getOrigin() { 55635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay return location; 56635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay } 57635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay 58635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay @Override 59635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay public boolean isOverItem() { 60635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay return position != Integer.MIN_VALUE && position != RecyclerView.NO_POSITION; 61635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay } 62635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay 63635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay @Override 64635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay public int getItemPosition() { 65635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay return position; 66635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay } 67635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay 68635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay public static TestInputEvent tap(int position) { 69635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay return new TestInputEvent(position); 70635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay } 71635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay 72635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay public static TestInputEvent shiftTap(int position) { 73635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay TestInputEvent e = new TestInputEvent(position); 74635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay e.shiftKeyDow = true; 75635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay return e; 76635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay } 77635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay 78635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay public static TestInputEvent click(int position) { 79635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay TestInputEvent e = new TestInputEvent(position); 80635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay e.mouseEvent = true; 81635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay return e; 82635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay } 83635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay 84635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay public static TestInputEvent shiftClick(int position) { 85635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay TestInputEvent e = new TestInputEvent(position); 86635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay e.mouseEvent = true; 87635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay e.shiftKeyDow = true; 88635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay return e; 89635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay } 90635b09499749194b0db5bd09ef3aa07f2469ee2aSteve McKay} 91