Use custom class Point
The framework class android.graphics.Point cannot be used in unit tests. Implement our own Point.
This commit is contained in:
parent
63909fd10d
commit
ad4c061cd2
4 changed files with 51 additions and 8 deletions
|
@ -2,7 +2,6 @@ package com.genymobile.scrcpy;
|
||||||
|
|
||||||
import com.genymobile.scrcpy.wrappers.ServiceManager;
|
import com.genymobile.scrcpy.wrappers.ServiceManager;
|
||||||
|
|
||||||
import android.graphics.Point;
|
|
||||||
import android.graphics.Rect;
|
import android.graphics.Rect;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
|
@ -107,8 +106,8 @@ public final class Device {
|
||||||
}
|
}
|
||||||
Rect contentRect = screenInfo.getContentRect();
|
Rect contentRect = screenInfo.getContentRect();
|
||||||
Point point = position.getPoint();
|
Point point = position.getPoint();
|
||||||
int scaledX = contentRect.left + point.x * contentRect.width() / videoSize.getWidth();
|
int scaledX = contentRect.left + point.getX() * contentRect.width() / videoSize.getWidth();
|
||||||
int scaledY = contentRect.top + point.y * contentRect.height() / videoSize.getHeight();
|
int scaledY = contentRect.top + point.getY() * contentRect.height() / videoSize.getHeight();
|
||||||
return new Point(scaledX, scaledY);
|
return new Point(scaledX, scaledY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,6 @@ package com.genymobile.scrcpy;
|
||||||
|
|
||||||
import com.genymobile.scrcpy.wrappers.InputManager;
|
import com.genymobile.scrcpy.wrappers.InputManager;
|
||||||
|
|
||||||
import android.graphics.Point;
|
|
||||||
import android.os.SystemClock;
|
import android.os.SystemClock;
|
||||||
import android.view.InputDevice;
|
import android.view.InputDevice;
|
||||||
import android.view.InputEvent;
|
import android.view.InputEvent;
|
||||||
|
@ -43,8 +42,8 @@ public class EventController {
|
||||||
|
|
||||||
private void setPointerCoords(Point point) {
|
private void setPointerCoords(Point point) {
|
||||||
MotionEvent.PointerCoords coords = pointerCoords[0];
|
MotionEvent.PointerCoords coords = pointerCoords[0];
|
||||||
coords.x = point.x;
|
coords.x = point.getX();
|
||||||
coords.y = point.y;
|
coords.y = point.getY();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setScroll(int hScroll, int vScroll) {
|
private void setScroll(int hScroll, int vScroll) {
|
||||||
|
|
47
server/src/main/java/com/genymobile/scrcpy/Point.java
Normal file
47
server/src/main/java/com/genymobile/scrcpy/Point.java
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
package com.genymobile.scrcpy;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
public class Point {
|
||||||
|
private final int x;
|
||||||
|
private final int y;
|
||||||
|
|
||||||
|
public Point(int x, int y) {
|
||||||
|
this.x = x;
|
||||||
|
this.y = y;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getX() {
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getY() {
|
||||||
|
return y;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (o == null || getClass() != o.getClass()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
Point point = (Point) o;
|
||||||
|
return x == point.x
|
||||||
|
&& y == point.y;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hash(x, y);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "Point{"
|
||||||
|
+ "x=" + x
|
||||||
|
+ ", y=" + y
|
||||||
|
+ '}';
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,7 +1,5 @@
|
||||||
package com.genymobile.scrcpy;
|
package com.genymobile.scrcpy;
|
||||||
|
|
||||||
import android.graphics.Point;
|
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
public class Position {
|
public class Position {
|
||||||
|
|
Loading…
Reference in a new issue