def METHOD_NAME(self, skip_first_screenshot=True):
    """
    Returns:
        bool: If received.
    Pages:
        in: page_battle_pass
        out: page_battle_pass
    """
    logger.hr('Battle pass receive', level=1)
    self.battle_status_click_interval = 2
    confirm_timer = Timer(1, count=3).start()
    received = False
    while 1:
        if skip_first_screenshot:
            skip_first_screenshot = False
        else:
            self.device.screenshot()
        if self.appear_then_click(REWARD_RECEIVE, offset=(20, 20), interval=2):
            confirm_timer.reset()
            continue
        if self.appear(REWARD_RECEIVE_SP, offset=(20, 20), interval=2) \
                and REWARD_RECEIVE_SP.match_appear_on(self.device.image, threshold=15):
            self.device.click(REWARD_RECEIVE_SP)
            confirm_timer.reset()
            continue
        if self.handle_battle_pass_popup():
            confirm_timer.reset()
            continue
        if self.handle_popup_confirm('BATTLE_PASS'):
            # Lock new META ships
            confirm_timer.reset()
            continue
        if self.handle_get_items():
            received = True
            confirm_timer.reset()
            continue
        if self.handle_get_ship():
            received = True
            confirm_timer.reset()
            continue
        if self.handle_get_skin():
            received = True
            confirm_timer.reset()
            continue
        # End
        if self.appear(BATTLE_PASS_CHECK, offset=(20, 20)) and not self.appear(REWARD_RECEIVE, offset=(20, 20)):
            if confirm_timer.reached():
                break
        else:
            confirm_timer.reset()
    logger.info(f'Battle pass receive finished, received={received}')
    return received