# Copyright 2015 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import logging from telemetry.page import shared_page_state class AndroidScreenRestorationSharedState(shared_page_state.SharedPageState): """ Ensures the screen is on before and after each user story is run. """ def WillRunStory(self, page): super(AndroidScreenRestorationSharedState, self).WillRunStory(page) self._EnsureScreenOn() def DidRunStory(self, results): try: super(AndroidScreenRestorationSharedState, self).DidRunStory(results) finally: self._EnsureScreenOn() def CanRunOnBrowser(self, browser_info, _): if not browser_info.browser_type.startswith('android'): logging.warning('Browser is non-Android, skipping test') return False return True def _EnsureScreenOn(self): self.platform.android_action_runner.TurnScreenOn()