migueldar 1ea7b42e29 added gui
Reviewers: #testers, kuba-orlik

Reviewed By: #testers, kuba-orlik

Subscribers: kuba-orlik

Maniphest Tasks: T2741

Differential Revision: https://hub.sealcode.org/D1354
2024-01-18 11:41:14 +01:00

87 lines
1.8 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Rentgen android</title>
</head>
<body>
<div>
<img id="screen" src="" style="display: inline-block" />
<p
id="clicks-log"
style="
height: 600px;
width: 300px;
overflow-y: auto;
display: inline-block;
margin-left: 20px;
"
></p>
<p
id="traffic-log"
style="
height: 600px;
width: 500px;
overflow-y: auto;
display: inline-block;
margin-left: 20px;
"
></p>
</div>
<script>
var screen = document.getElementById("screen");
var clicksLog = document.getElementById("clicks-log");
async function displayImage() {
try {
const response = await fetch("screen");
const blob = await response.blob();
screen.src = URL.createObjectURL(blob);
} catch (error) {
console.error("Error fetching image: ", error);
}
}
async function handleTouchEvent(event) {
var phoneX = event.offsetX;
var phoneY = event.offsetY;
if (
phoneX <= 320 &&
phoneX >= 0 &&
phoneY <= 640 &&
phoneY >= 0
) {
clicksLog.innerText += `await click(${phoneX}, ${phoneY});\n`;
await fetch("touch", {
method: "POST",
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
body: `x=${phoneX}&y=${phoneY}`,
});
}
}
async function sleep(time) {
return new Promise((resolve) => setTimeout(resolve, time));
}
async function screenshot_loop() {
var before;
while (true) {
before = performance.now();
await displayImage();
while (performance.now() - before < ___screenshotDelayMs___)
await sleep(50);
}
}
screen.addEventListener("click", handleTouchEvent);
screenshot_loop();
</script>
<script src="/trafficLog.js"></script>
</body>
</html>