mirror of
https://github.com/ARM-software/workload-automation.git
synced 2025-04-15 23:30:47 +01:00
fw/workload: Add activity
attribute to APK workloads
Allow specifying an `activity` attribute for an APK based workload which will override the automatically detected activity from the resolved APK.
This commit is contained in:
parent
8647ceafd8
commit
753786a45c
@ -175,6 +175,7 @@ class ApkWorkload(Workload):
|
|||||||
loading_time = 10
|
loading_time = 10
|
||||||
package_names = []
|
package_names = []
|
||||||
supported_versions = []
|
supported_versions = []
|
||||||
|
activity = None
|
||||||
view = None
|
view = None
|
||||||
clear_data_on_reset = True
|
clear_data_on_reset = True
|
||||||
|
|
||||||
@ -266,7 +267,8 @@ class ApkWorkload(Workload):
|
|||||||
uninstall=self.uninstall,
|
uninstall=self.uninstall,
|
||||||
exact_abi=self.exact_abi,
|
exact_abi=self.exact_abi,
|
||||||
prefer_host_package=self.prefer_host_package,
|
prefer_host_package=self.prefer_host_package,
|
||||||
clear_data_on_reset=self.clear_data_on_reset)
|
clear_data_on_reset=self.clear_data_on_reset,
|
||||||
|
activity=self.activity)
|
||||||
|
|
||||||
@once_per_instance
|
@once_per_instance
|
||||||
def initialize(self, context):
|
def initialize(self, context):
|
||||||
@ -647,13 +649,16 @@ class PackageHandler(object):
|
|||||||
|
|
||||||
@property
|
@property
|
||||||
def activity(self):
|
def activity(self):
|
||||||
|
if self._activity:
|
||||||
|
return self._activity
|
||||||
if self.apk_info is None:
|
if self.apk_info is None:
|
||||||
return None
|
return None
|
||||||
return self.apk_info.activity
|
return self.apk_info.activity
|
||||||
|
|
||||||
def __init__(self, owner, install_timeout=300, version=None, variant=None,
|
def __init__(self, owner, install_timeout=300, version=None, variant=None,
|
||||||
package_name=None, strict=False, force_install=False, uninstall=False,
|
package_name=None, strict=False, force_install=False, uninstall=False,
|
||||||
exact_abi=False, prefer_host_package=True, clear_data_on_reset=True):
|
exact_abi=False, prefer_host_package=True, clear_data_on_reset=True,
|
||||||
|
activity=None):
|
||||||
self.logger = logging.getLogger('apk')
|
self.logger = logging.getLogger('apk')
|
||||||
self.owner = owner
|
self.owner = owner
|
||||||
self.target = self.owner.target
|
self.target = self.owner.target
|
||||||
@ -667,6 +672,7 @@ class PackageHandler(object):
|
|||||||
self.exact_abi = exact_abi
|
self.exact_abi = exact_abi
|
||||||
self.prefer_host_package = prefer_host_package
|
self.prefer_host_package = prefer_host_package
|
||||||
self.clear_data_on_reset = clear_data_on_reset
|
self.clear_data_on_reset = clear_data_on_reset
|
||||||
|
self._activity = activity
|
||||||
self.supported_abi = self.target.supported_abi
|
self.supported_abi = self.target.supported_abi
|
||||||
self.apk_file = None
|
self.apk_file = None
|
||||||
self.apk_info = None
|
self.apk_info = None
|
||||||
@ -805,11 +811,11 @@ class PackageHandler(object):
|
|||||||
self.apk_version = host_version
|
self.apk_version = host_version
|
||||||
|
|
||||||
def start_activity(self):
|
def start_activity(self):
|
||||||
if not self.apk_info.activity:
|
if not self.activity:
|
||||||
cmd = 'am start -W {}'.format(self.apk_info.package)
|
cmd = 'am start -W {}'.format(self.apk_info.package)
|
||||||
else:
|
else:
|
||||||
cmd = 'am start -W -n {}/{}'.format(self.apk_info.package,
|
cmd = 'am start -W -n {}/{}'.format(self.apk_info.package,
|
||||||
self.apk_info.activity)
|
self.activity)
|
||||||
output = self.target.execute(cmd)
|
output = self.target.execute(cmd)
|
||||||
if 'Error:' in output:
|
if 'Error:' in output:
|
||||||
# this will dismiss any error dialogs
|
# this will dismiss any error dialogs
|
||||||
|
Loading…
x
Reference in New Issue
Block a user