-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcookbook.py
62 lines (49 loc) · 1.9 KB
/
cookbook.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
from py_adb.package_info import PackageInfo
from py_adb.device_info import DeviceInfo
from py_adb.android_properties import Properties
from py_adb.android_packages import Package
class Info:
"""
TODO: Module or Class for it
"""
@staticmethod
def get_environment(dev_id: str, package: str):
"""
Method print into console
- Device - id
- Brand
- Model
- Package version
:dev_id: device id
:package: package
TODO: Unit test
"""
print("Device - {dev}".format(dev=dev_id))
properties = DeviceInfo.get_prop(dev_id, Properties.BRAND, Properties.MODEL)
for prop, value in properties.items():
print("{} - {}".format(prop, value))
print()
print("Package - {pac}".format(pac=package))
package_versions = PackageInfo.get_package_version(dev_id, package)
for version in package_versions:
print("Version - {ver}".format(pac=package, ver=version))
@staticmethod
def get_packages_info(dev_id: str, *android_packages) -> list:
"""
Return a list<Package>
:dev_id: Device ID
:*AndroidKPackage: AndroidPackage(enum)
"""
# TODO: Add check for each package
# assert android_packages isinstance(Package)
packages = []
for package in android_packages:
package = Package(package.value.get("package"), package.value.get("App Name"),
PackageInfo.get_package_version(dev_id, package.value.get("package")))
packages.append(package)
return packages
# if __name__ == "__main__":
# package = "com.android.vending"
# Info.get_environment(ADB.get_connected_devices()[0], package)
# adb shell dumpsys package com.android.vending | grep version
# adb shell dumpsys package com.google.android.youtube | grep version