def dump_view_server(package):
     kwargs1 = {VERBOSE: False, 'ignoresecuredevice': False, 'ignoreversioncheck': False}
     kwargs2 = {ViewClientOptions.FORCE_VIEW_SERVER_USE: False, ViewClientOptions.START_VIEW_SERVER: True,
                ViewClientOptions.AUTO_DUMP: False, ViewClientOptions.IGNORE_UIAUTOMATOR_KILLED: True,
                ViewClientOptions.COMPRESSED_DUMP: True,
                ViewClientOptions.USE_UIAUTOMATOR_HELPER: False,
                ViewClientOptions.DEBUG: {},
                }
     kwargs2[ViewClientOptions.FORCE_VIEW_SERVER_USE] = True
     vc = ViewClient(*ViewClient.connectToDeviceOrExit(**kwargs1), **kwargs2)
     options = {WINDOW: -1, SAVE_SCREENSHOT: None, SAVE_VIEW_SCREENSHOTS: None, DO_NOT_DUMP_VIEWS: False,
                DEVICE_ART: None, DROP_SHADOW: False, SCREEN_GLARE: False}
     windows = vc.list()
     print windows
     transform = MAP['b']
     for window in windows:
         if package not in windows[window]:
             continue
         print windows[window]
         vc.dump(window=int(window))
         # ViewClient.imageDirectory = options[SAVE_VIEW_SCREENSHOTS]
         return ViewClientHandler.traverse(vc, transform=transform)
#! /usr/bin/env python

'''
Copyright (C) 2014  Diego Torres Milano
Created on Apr 24, 2014

@author: diego
'''

from com.dtmilano.android.viewclient import ViewClient

kwargs1 = {'verbose': True, 'ignoresecuredevice': True}
kwargs2 = {'startviewserver': True, 'forceviewserveruse': True, 'autodump': False, 'ignoreuiautomatorkilled': True}
vc = ViewClient(*ViewClient.connectToDeviceOrExit(**kwargs1), **kwargs2)
windows = vc.list()
for wId in windows.keys():
    print ">>> window=", wId, windows[wId]
    vc.dump(window=wId)
    vc.traverse(transform=ViewClient.TRAVERSE_CIT, indent="    ")