aboutsummaryrefslogtreecommitdiff
path: root/shadows/framework/src/main/java/org/robolectric/shadows/ShadowVirtualMouse.java
blob: 08fa1d654b6c1cb0baf7c448aa854029b8cb0b22 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package org.robolectric.shadows;

import android.hardware.input.VirtualMouse;
import android.hardware.input.VirtualMouseButtonEvent;
import android.hardware.input.VirtualMouseRelativeEvent;
import android.hardware.input.VirtualMouseScrollEvent;
import android.os.Build.VERSION_CODES;
import java.util.ArrayList;
import java.util.List;
import org.robolectric.annotation.Implementation;
import org.robolectric.annotation.Implements;

/** Shadow for VirtualMouse. */
@Implements(value = VirtualMouse.class, minSdk = VERSION_CODES.TIRAMISU, isInAndroidSdk = false)
public class ShadowVirtualMouse extends ShadowVirtualInputDevice {

  private final List<VirtualMouseButtonEvent> sentButtonEvents = new ArrayList<>();
  private final List<VirtualMouseScrollEvent> sentScrollEvents = new ArrayList<>();
  private final List<VirtualMouseRelativeEvent> sentRelativeEvents = new ArrayList<>();

  @Implementation
  protected void sendButtonEvent(VirtualMouseButtonEvent event) {
    sentButtonEvents.add(event);
  }

  @Implementation
  protected void sendScrollEvent(VirtualMouseScrollEvent event) {
    sentScrollEvents.add(event);
  }

  @Implementation
  protected void sendRelativeEvent(VirtualMouseRelativeEvent event) {
    sentRelativeEvents.add(event);
  }

  public List<VirtualMouseButtonEvent> getSentButtonEvents() {
    return sentButtonEvents;
  }

  public List<VirtualMouseScrollEvent> getSentScrollEvents() {
    return sentScrollEvents;
  }

  public List<VirtualMouseRelativeEvent> getSentRelativeEvents() {
    return sentRelativeEvents;
  }
}