apkcrawler: Decrease ADB calls.
Store the activity and fragment names to decrease the number of adb
dumps.
Change-Id: Ic3b70a05dacef1da67b2e92db7a60dc5301f50f9
diff --git a/crawlui.py b/crawlui.py
index c5ae36c..add0233 100644
--- a/crawlui.py
+++ b/crawlui.py
@@ -89,17 +89,17 @@
return [screen_path, screenshot_num]
-def find_view_idx(package_name, vc_dump):
+def find_view_idx(vc_dump, activity, fragment):
for i in range(len(view_array)):
- if view_array[i].is_duplicate(get_activity_name(),
- get_fragment_name(package_name), vc_dump):
+ if view_array[i].is_duplicate(activity,
+ fragment, vc_dump):
return i
return -1
def create_view(package_name, vc_dump, activity, fragment):
"""Store the current view in the View data structure."""
- v = View(get_activity_name(), get_fragment_name(package_name))
+ v = View(activity, fragment)
v.hierarchy = vc_dump
for component in v.hierarchy:
@@ -154,18 +154,17 @@
activity = get_activity_name()
fragment = get_fragment_name(package_name)
global view_root
- view_root = create_view(package_name, vc_dump, get_activity_name(),
- get_fragment_name(package_name))
+ view_root = create_view(package_name, vc_dump, activity,
+ fragment)
view_array.append(view_root)
while True:
if device.isKeyboardShown():
perform_press_back()
- activity = get_activity_name()
- fragment = get_fragment_name(package_name)
+
# Determine if this is a View that has already been seen.
- view_idx = find_view_idx(package_name, vc_dump)
+ view_idx = find_view_idx(vc_dump, activity, fragment)
if view_idx >= 0:
print '**FOUND DUPLICATE'
curr_view = view_array[view_idx]
@@ -193,3 +192,5 @@
return
vc_dump = vc.dump(window='-1')
+ activity = get_activity_name()
+ fragment = get_fragment_name(package_name)