From 30bb453747a8a2010c3bf82fd25885ef1eaaa8a7 Mon Sep 17 00:00:00 2001 From: Sergei Trofimov Date: Wed, 1 Jul 2015 16:17:39 +0100 Subject: [PATCH] gaming workloads: added an option to prevent clearing of package data before execution --- wlauto/common/android/workload.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/wlauto/common/android/workload.py b/wlauto/common/android/workload.py index 3781d999..8a4def8d 100644 --- a/wlauto/common/android/workload.py +++ b/wlauto/common/android/workload.py @@ -362,6 +362,14 @@ class GameWorkload(ApkWorkload, ReventWorkload): loading_time = 10 supported_platforms = ['android'] + parameters = [ + Parameter('clear_data_on_reset', kind=bool, default=True, + description=""" + If set to ``False``, this will prevent WA from clearing package + data for this workload prior to running it. + """), + ] + def __init__(self, device, **kwargs): # pylint: disable=W0613 ApkWorkload.__init__(self, device, **kwargs) ReventWorkload.__init__(self, device, _call_super=False, **kwargs) @@ -386,10 +394,12 @@ class GameWorkload(ApkWorkload, ReventWorkload): def reset(self, context): # If saved state exists, restore it; if not, do full # uninstall/install cycle. + self.device.execute('am force-stop {}'.format(self.package)) if self.saved_state_file: self._deploy_resource_tarball(context, self.saved_state_file) else: - ApkWorkload.reset(self, context) + if self.clear_data_on_reset: + self.device.execute('pm clear {}'.format(self.package)) self._deploy_assets(context) def run(self, context):