mirror of
https://github.com/ARM-software/workload-automation.git
synced 2025-02-21 20:38:57 +00:00
AndroidWorkload: Split up setup_workload_apk
method.
Split up `setup_workload_apk` method into smaller methods to improve readability.
This commit is contained in:
parent
6ac0c20619
commit
8c9ae6db53
@ -238,13 +238,30 @@ class ApkWorkload(Workload):
|
|||||||
if self.apk_file or self.exact_abi:
|
if self.apk_file or self.exact_abi:
|
||||||
break
|
break
|
||||||
|
|
||||||
|
host_version = self.check_host_version()
|
||||||
|
self.verify_apk_version(target_version, target_abi, host_version)
|
||||||
|
|
||||||
|
if self.force_install:
|
||||||
|
self.force_install_apk(context, host_version)
|
||||||
|
elif self.check_apk:
|
||||||
|
self.prefer_host_apk(context, host_version, target_version)
|
||||||
|
else:
|
||||||
|
self.prefer_target_apk(context, host_version, target_version)
|
||||||
|
|
||||||
|
self.reset(context)
|
||||||
|
self.apk_version = self.device.get_installed_package_version(self.package)
|
||||||
|
context.add_classifiers(apk_version=self.apk_version)
|
||||||
|
|
||||||
|
def check_host_version(self):
|
||||||
host_version = None
|
host_version = None
|
||||||
if self.apk_file is not None:
|
if self.apk_file is not None:
|
||||||
host_version = ApkInfo(self.apk_file).version_name
|
host_version = ApkInfo(self.apk_file).version_name
|
||||||
if host_version:
|
if host_version:
|
||||||
host_version = LooseVersion(host_version)
|
host_version = LooseVersion(host_version)
|
||||||
self.logger.debug("Found version '{}' on host".format(host_version))
|
self.logger.debug("Found version '{}' on host".format(host_version))
|
||||||
|
return host_version
|
||||||
|
|
||||||
|
def verify_apk_version(self, target_version, target_abi, host_version):
|
||||||
# Error if apk was not found anywhere
|
# Error if apk was not found anywhere
|
||||||
if target_version is None and host_version is None:
|
if target_version is None and host_version is None:
|
||||||
msg = "Could not find APK for '{}' on the host or target device"
|
msg = "Could not find APK for '{}' on the host or target device"
|
||||||
@ -261,18 +278,6 @@ class ApkWorkload(Workload):
|
|||||||
msg = "APK abi '{}' not found on the host and target is '{}'"
|
msg = "APK abi '{}' not found on the host and target is '{}'"
|
||||||
raise ResourceError(msg.format(self.device.abi, target_abi))
|
raise ResourceError(msg.format(self.device.abi, target_abi))
|
||||||
|
|
||||||
# Ensure the apk is setup on the device
|
|
||||||
if self.force_install:
|
|
||||||
self.force_install_apk(context, host_version)
|
|
||||||
elif self.check_apk:
|
|
||||||
self.prefer_host_apk(context, host_version, target_version)
|
|
||||||
else:
|
|
||||||
self.prefer_target_apk(context, host_version, target_version)
|
|
||||||
|
|
||||||
self.reset(context)
|
|
||||||
self.apk_version = self.device.get_installed_package_version(self.package)
|
|
||||||
context.add_classifiers(apk_version=self.apk_version)
|
|
||||||
|
|
||||||
def launch_application(self):
|
def launch_application(self):
|
||||||
if self.launch_main:
|
if self.launch_main:
|
||||||
self.launch_package() # launch default activity without intent data
|
self.launch_package() # launch default activity without intent data
|
||||||
|
Loading…
x
Reference in New Issue
Block a user