1
0
mirror of https://github.com/0O0o0oOoO00/Alas.git synced 2026-05-15 04:29:25 +08:00
Files
Alas/module/gg_handler/speedup.py
2025-09-14 17:57:06 +08:00

82 lines
3.6 KiB
Python

from module.gg_handler.gg_data import GGData
from module.logger import logger
from module.config.deep import deep_get, deep_set
from module.base.base import ModuleBase
import uiautomator2 as u2
class SpeedUp(ModuleBase):
def __init__(self, config, device):
super().__init__(config, device)
self.d = u2.connect(self.device.serial)
self.gg_package_name = deep_get(self.config.data, keys='GameManager.GGHandler.GGPackageName')
def Run(self):
_run = False
_set = False
_confirmed = False
import os
rate = float(deep_get(self.config.data, keys='GameManager.SpeedUp.Rate', default=5.0))
_repush = deep_get(self.config.data, keys='GameManager.SpeedUp.PushLua')
if _repush:
self.device.adb_shell("mkdir /sdcard/Notes")
self.device.sleep(0.5)
self.device.adb_shell("rm /sdcard/Notes/SpeedUp.lua")
self.device.sleep(0.5)
self.device.adb_push("bin/Lua/SpeedUp.lua", "/sdcard/Notes/SpeedUp.lua")
self.device.sleep(0.5)
logger.info('Lua Pushed')
while 1:
self.device.sleep(1)
if self.d(resourceId=f"{self.gg_package_name}:id/search_toolbar").exists:
self.d.xpath(
f'//*[@resource-id="{self.gg_package_name}'
f':id/search_toolbar"]/android.widget.ImageView[last()]'
).click()
logger.info('Click run Scripts')
self.device.sleep(0.3)
if self.d(resourceId=f"{self.gg_package_name}:id/file").exists:
self.d(resourceId=f"{self.gg_package_name}:id/file").send_keys("/sdcard/Notes/SpeedUp.lua")
logger.info('Lua path set')
if self.d.xpath('//*[@text="执行"]').exists:
self.d.xpath('//*[@text="执行"]').click()
logger.info('Click Run')
self.device.sleep(0.5)
if self.d.xpath('//*[contains(@text,"设置倍速")]').exists:
self.d.xpath('//*[contains(@text,"设置倍速")]').click()
logger.info('Click Change Statistic')
self.device.sleep(0.5)
if self.d(resourceId=f"{self.gg_package_name}:id/edit").exists:
self.d(resourceId=f"{self.gg_package_name}:id/edit").send_keys(f"{rate}")
logger.info(f'Factor Set: {rate}')
self.device.sleep(0.5)
_set = True
if _set and self.d.xpath('//*[@text="确定"]').exists:
self.d.xpath('//*[@text="确定"]').click()
logger.info("Click confirm")
self.device.sleep(0.5)
_confirmed = True
if _confirmed:
self.d.wait_timeout = deep_get(self.config.data, "GameManager.SpeedUp.Timeout")
logger.info(f'Xpath timeout set to {self.d.wait_timeout} seconds')
if _set and _confirmed:
try:
# GGData(self.config).set_data(target='gg_on', value=True)
self.d.xpath('//*[@text="确定"]').click()
except Exception as e:
pass
# GGData(self.config).set_data(target='gg_on', value=True)
logger.attr('GG', 'Enabled')
logger.info("Close the script")
self.d.wait_timeout = 3
logger.info(f'Xpath timeout set to {self.d.wait_timeout} seconds')
if _set and _confirmed:
break
else:
return 0
logger.hr('GG Enabled: SpeedUp', level=2)
# self.d.app_stop(self.gg_package_name)
return 1