mirror of
https://github.com/TheFunny/ArisuAutoSweeper
synced 2025-12-16 22:05:12 +00:00
perf: login
This commit is contained in:
parent
15ece02855
commit
64a26cf836
@ -186,3 +186,6 @@ class Device(Screenshot, Control, AppControl, Platform):
|
|||||||
super().app_stop()
|
super().app_stop()
|
||||||
self.stuck_record_clear()
|
self.stuck_record_clear()
|
||||||
self.click_record_clear()
|
self.click_record_clear()
|
||||||
|
|
||||||
|
def back(self):
|
||||||
|
self.u2.press("back")
|
||||||
@ -98,7 +98,7 @@ class UI(MainPage):
|
|||||||
continue
|
continue
|
||||||
logger.info("Unknown page, try to back")
|
logger.info("Unknown page, try to back")
|
||||||
if u2_back:
|
if u2_back:
|
||||||
self.device.u2.press("back")
|
self.device.back()
|
||||||
u2_back = False
|
u2_back = False
|
||||||
else:
|
else:
|
||||||
self.device.click(BACK)
|
self.device.click(BACK)
|
||||||
@ -178,7 +178,11 @@ class UI(MainPage):
|
|||||||
continue
|
continue
|
||||||
|
|
||||||
if back_timer.reached_and_reset():
|
if back_timer.reached_and_reset():
|
||||||
self.device.u2.press("back")
|
if self.match_color(LOGIN_LOADING, interval=5, threshold=80) or self.appear_trademark_year():
|
||||||
|
from tasks.login.login import Login
|
||||||
|
Login(self.config, self.device).handle_app_login()
|
||||||
|
continue
|
||||||
|
self.device.back()
|
||||||
logger.info("Unknown page, try to back")
|
logger.info("Unknown page, try to back")
|
||||||
|
|
||||||
# Reset connection
|
# Reset connection
|
||||||
@ -439,7 +443,7 @@ class UI(MainPage):
|
|||||||
self.device.screenshot()
|
self.device.screenshot()
|
||||||
if self.match_color(check_button):
|
if self.match_color(check_button):
|
||||||
break
|
break
|
||||||
self.device.u2.press("back")
|
self.device.back()
|
||||||
if timer.reached():
|
if timer.reached():
|
||||||
logger.error("Failed to close popup")
|
logger.error("Failed to close popup")
|
||||||
raise RequestHumanTakeover
|
raise RequestHumanTakeover
|
||||||
|
|||||||
@ -1,11 +1,9 @@
|
|||||||
from module.base.timer import Timer
|
from module.base.timer import Timer
|
||||||
from module.base.decorator import Config
|
|
||||||
from module.ocr.ocr import Digit
|
|
||||||
from module.exception import GameNotRunningError
|
from module.exception import GameNotRunningError
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from tasks.base.page import page_main
|
from tasks.base.page import page_main
|
||||||
from tasks.base.ui import UI
|
from tasks.base.ui import UI
|
||||||
from tasks.login.assets.assets_login import LOGIN_CONFIRM, LOGIN_LOADING, UPDATE, SURVEY, OCR_YEAR
|
from tasks.login.assets.assets_login import LOGIN_CONFIRM, LOGIN_LOADING, UPDATE
|
||||||
|
|
||||||
|
|
||||||
class Login(UI):
|
class Login(UI):
|
||||||
@ -31,20 +29,11 @@ class Login(UI):
|
|||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
@Config.when(Emulator_GameLanguage='en')
|
|
||||||
def _handle_survey(self):
|
|
||||||
if self.appear_then_click(SURVEY):
|
|
||||||
return True
|
|
||||||
return False
|
|
||||||
|
|
||||||
@Config.when(Emulator_GameLanguage=None)
|
|
||||||
def _handle_survey(self):
|
|
||||||
pass
|
|
||||||
|
|
||||||
logger.hr('App login')
|
logger.hr('App login')
|
||||||
orientation_timer = Timer(5)
|
orientation_timer = Timer(5)
|
||||||
startup_timer = Timer(5).start()
|
startup_timer = Timer(5).start()
|
||||||
app_timer = Timer(5).start()
|
app_timer = Timer(5).start()
|
||||||
|
back_timer = Timer(2).start()
|
||||||
login_success = False
|
login_success = False
|
||||||
|
|
||||||
while 1:
|
while 1:
|
||||||
@ -73,10 +62,11 @@ class Login(UI):
|
|||||||
break
|
break
|
||||||
|
|
||||||
# Watch resource downloading and loading
|
# Watch resource downloading and loading
|
||||||
|
loading = False
|
||||||
if self.match_color(LOGIN_LOADING, interval=5, threshold=45):
|
if self.match_color(LOGIN_LOADING, interval=5, threshold=45):
|
||||||
logger.info('Game resources downloading or loading')
|
logger.info('Game resources downloading or loading')
|
||||||
self.device.stuck_record_clear()
|
self.device.stuck_record_clear()
|
||||||
|
loading = True
|
||||||
# Login
|
# Login
|
||||||
if self.appear_then_click(LOGIN_CONFIRM):
|
if self.appear_then_click(LOGIN_CONFIRM):
|
||||||
login_success = True
|
login_success = True
|
||||||
@ -90,12 +80,10 @@ class Login(UI):
|
|||||||
# continue
|
# continue
|
||||||
if self.appear_then_click(UPDATE):
|
if self.appear_then_click(UPDATE):
|
||||||
continue
|
continue
|
||||||
if _handle_survey(self):
|
|
||||||
continue
|
|
||||||
if self.ui_additional():
|
if self.ui_additional():
|
||||||
continue
|
continue
|
||||||
if not self.appear_trademark_year():
|
if not loading and back_timer.reached_and_reset() and not self.appear_trademark_year():
|
||||||
self.device.u2.press("back")
|
self.device.back()
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user