2023-05-17 16:44:43 +00:00
|
|
|
from module.base.base import ModuleBase
|
2023-10-16 10:40:49 +00:00
|
|
|
from module.logger import logger
|
2023-05-17 16:44:43 +00:00
|
|
|
from tasks.base.assets.assets_base_popup import *
|
|
|
|
|
|
|
|
|
|
|
|
class PopupHandler(ModuleBase):
|
2023-10-16 10:40:49 +00:00
|
|
|
def handle_reward(self, interval=5, click_button=None) -> bool:
|
2023-05-17 16:44:43 +00:00
|
|
|
"""
|
|
|
|
Args:
|
|
|
|
interval:
|
2023-10-16 10:40:49 +00:00
|
|
|
click_button: Set a button to click
|
2023-05-17 16:44:43 +00:00
|
|
|
|
|
|
|
Returns:
|
|
|
|
If handled.
|
|
|
|
"""
|
2023-10-16 10:40:49 +00:00
|
|
|
if click_button is None:
|
|
|
|
if self.appear_then_click(GET_REWARD, interval=interval):
|
|
|
|
return True
|
|
|
|
else:
|
|
|
|
if self.appear(GET_REWARD, interval=interval):
|
|
|
|
logger.info(f'{GET_REWARD} -> {click_button}')
|
|
|
|
self.device.click(click_button)
|
|
|
|
return True
|
2023-05-17 16:44:43 +00:00
|
|
|
|
|
|
|
return False
|
|
|
|
|
|
|
|
def handle_battle_pass_notification(self, interval=5) -> bool:
|
|
|
|
"""
|
|
|
|
Popup notification that you enter battle pass the first time.
|
|
|
|
|
|
|
|
Args:
|
|
|
|
interval:
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
If handled.
|
|
|
|
"""
|
|
|
|
if self.appear_then_click(BATTLE_PASS_NOTIFICATION, interval=interval):
|
|
|
|
return True
|
|
|
|
|
|
|
|
return False
|
2023-05-21 01:38:41 +00:00
|
|
|
|
2023-07-02 07:31:42 +00:00
|
|
|
def handle_monthly_card_reward(self, interval=1) -> bool:
|
2023-05-21 01:38:41 +00:00
|
|
|
"""
|
|
|
|
Popup at 04:00 server time if you have purchased the monthly card.
|
|
|
|
|
|
|
|
Args:
|
|
|
|
interval:
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
If handled.
|
|
|
|
"""
|
|
|
|
if self.appear_then_click(MONTHLY_CARD_REWARD, interval=interval):
|
|
|
|
return True
|
|
|
|
if self.appear_then_click(MONTHLY_CARD_GET_ITEM, interval=interval):
|
|
|
|
return True
|
|
|
|
|
|
|
|
return False
|
2023-09-12 17:37:06 +00:00
|
|
|
|
2023-09-16 21:00:16 +00:00
|
|
|
def handle_popup_cancel(self, interval=2) -> bool:
|
|
|
|
"""
|
|
|
|
Args:
|
|
|
|
interval:
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
If handled.
|
|
|
|
"""
|
|
|
|
if self.appear_then_click(POPUP_CANCEL, interval=interval):
|
|
|
|
return True
|
|
|
|
|
|
|
|
return False
|
|
|
|
|
|
|
|
def handle_popup_confirm(self, interval=2) -> bool:
|
|
|
|
"""
|
|
|
|
Args:
|
|
|
|
interval:
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
If handled.
|
|
|
|
"""
|
|
|
|
if self.appear_then_click(POPUP_CONFIRM, interval=interval):
|
|
|
|
return True
|
|
|
|
|
|
|
|
return False
|
|
|
|
|
2023-09-12 17:37:06 +00:00
|
|
|
def handle_popup_single(self, interval=2) -> bool:
|
|
|
|
"""
|
|
|
|
Popup with one single confirm button in the middle.
|
|
|
|
|
|
|
|
Args:
|
|
|
|
interval:
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
If handled.
|
|
|
|
"""
|
|
|
|
if self.appear_then_click(POPUP_SINGLE, interval=interval):
|
|
|
|
return True
|
|
|
|
|
|
|
|
return False
|