gitextract_n5js309u/ ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── feature_request.md │ │ ├── question---support-.md │ │ └── question.md │ └── workflows/ │ └── main.yml ├── .gitignore ├── .readthedocs.yml ├── LICENSE ├── MANIFEST.in ├── README.rst ├── dev_scripts/ │ ├── README │ ├── clean_install │ ├── clear_env │ ├── get_apk_versions │ ├── pep8 │ ├── pylint │ ├── pylint_plugins.py │ ├── rebuild_all_uiauto │ └── update_copyrights ├── doc/ │ ├── Makefile │ ├── build_instrument_method_map.py │ ├── build_plugin_docs.py │ ├── make.bat │ ├── requirements.txt │ └── source/ │ ├── api/ │ │ ├── output.rst │ │ └── workload.rst │ ├── api.rst │ ├── changes.rst │ ├── conf.py │ ├── developer_information/ │ │ ├── developer_guide/ │ │ │ └── writing_plugins.rst │ │ ├── developer_guide.rst │ │ ├── developer_reference/ │ │ │ ├── contributing.rst │ │ │ ├── framework_overview.rst │ │ │ ├── plugins.rst │ │ │ ├── revent.rst │ │ │ └── serialization.rst │ │ ├── developer_reference.rst │ │ ├── how_to.rst │ │ └── how_tos/ │ │ ├── adding_plugins.rst │ │ └── processing_output.rst │ ├── developer_information.rst │ ├── faq.rst │ ├── glossary.rst │ ├── index.rst │ ├── instrument_method_map.template │ ├── migration_guide.rst │ ├── plugins.rst │ ├── user_information/ │ │ ├── how_to.rst │ │ ├── how_tos/ │ │ │ ├── agenda.rst │ │ │ ├── device_setup.rst │ │ │ └── revent.rst │ │ ├── installation.rst │ │ ├── user_guide.rst │ │ ├── user_reference/ │ │ │ ├── agenda.rst │ │ │ ├── configuration.rst │ │ │ ├── invocation.rst │ │ │ ├── output_directory.rst │ │ │ └── runtime_parameters.rst │ │ └── user_reference.rst │ └── user_information.rst ├── extras/ │ ├── Dockerfile │ ├── README │ ├── pylintrc │ └── walog.vim ├── pytest.ini ├── requirements.txt ├── scripts/ │ ├── cpustates │ └── wa ├── setup.py ├── tests/ │ ├── __init__.py │ ├── ci/ │ │ └── idle_agenda.yaml │ ├── data/ │ │ ├── bad-syntax-agenda.yaml │ │ ├── extensions/ │ │ │ └── devices/ │ │ │ └── test_device.py │ │ ├── includes/ │ │ │ ├── agenda.yaml │ │ │ ├── configs/ │ │ │ │ └── test.yaml │ │ │ ├── section-include.yaml │ │ │ ├── sections/ │ │ │ │ ├── section1.yaml │ │ │ │ └── section2.yaml │ │ │ ├── user/ │ │ │ │ └── config.yaml │ │ │ └── workloads.yaml │ │ ├── interrupts/ │ │ │ ├── after │ │ │ ├── before │ │ │ └── result │ │ ├── logcat.2.log │ │ ├── logcat.log │ │ ├── test-agenda.yaml │ │ └── test-config.py │ ├── test_agenda_parser.py │ ├── test_config.py │ ├── test_diff.py │ ├── test_exec_control.py │ ├── test_execution.py │ ├── test_plugin.py │ ├── test_runtime_param_utils.py │ ├── test_signal.py │ └── test_utils.py └── wa/ ├── __init__.py ├── assets/ │ └── bin/ │ ├── arm64/ │ │ └── revent │ └── armeabi/ │ └── revent ├── commands/ │ ├── __init__.py │ ├── create.py │ ├── list.py │ ├── postgres_schemas/ │ │ ├── postgres_schema.sql │ │ ├── postgres_schema_update_v1.2.sql │ │ ├── postgres_schema_update_v1.3.sql │ │ ├── postgres_schema_update_v1.4.sql │ │ ├── postgres_schema_update_v1.5.sql │ │ └── postgres_schema_update_v1.6.sql │ ├── process.py │ ├── report.py │ ├── revent.py │ ├── run.py │ ├── schema_changelog.rst │ ├── show.py │ └── templates/ │ ├── apk_workload │ ├── apkrevent_workload │ ├── apkuiauto_workload │ ├── basic_workload │ ├── revent_workload │ ├── setup.template │ ├── uiauto/ │ │ ├── UiAutomation.java │ │ ├── uiauto_AndroidManifest.xml │ │ ├── uiauto_build.gradle │ │ ├── uiauto_build_script │ │ └── uiauto_workload_template/ │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── settings.gradle │ └── uiauto_workload ├── framework/ │ ├── __init__.py │ ├── command.py │ ├── configuration/ │ │ ├── __init__.py │ │ ├── core.py │ │ ├── default.py │ │ ├── execution.py │ │ ├── parsers.py │ │ ├── plugin_cache.py │ │ └── tree.py │ ├── entrypoint.py │ ├── exception.py │ ├── execution.py │ ├── getters.py │ ├── host.py │ ├── instrument.py │ ├── job.py │ ├── output.py │ ├── output_processor.py │ ├── plugin.py │ ├── pluginloader.py │ ├── resource.py │ ├── run.py │ ├── signal.py │ ├── target/ │ │ ├── __init__.py │ │ ├── assistant.py │ │ ├── config.py │ │ ├── descriptor.py │ │ ├── info.py │ │ ├── manager.py │ │ ├── runtime_config.py │ │ └── runtime_parameter_manager.py │ ├── uiauto/ │ │ ├── app/ │ │ │ ├── build.gradle │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── arm/ │ │ │ └── wa/ │ │ │ └── uiauto/ │ │ │ ├── ActionLogger.java │ │ │ ├── ApplaunchInterface.java │ │ │ ├── BaseUiAutomation.java │ │ │ ├── UiAutoUtils.java │ │ │ └── UxPerfUiAutomation.java │ │ ├── build.gradle │ │ ├── build.sh │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── settings.gradle │ │ └── uiauto.aar │ ├── version.py │ └── workload.py ├── instruments/ │ ├── __init__.py │ ├── delay.py │ ├── dmesg.py │ ├── energy_measurement.py │ ├── fps.py │ ├── hwmon.py │ ├── misc.py │ ├── perf.py │ ├── perfetto.py │ ├── poller/ │ │ ├── Makefile │ │ ├── __init__.py │ │ ├── bin/ │ │ │ ├── arm64/ │ │ │ │ └── poller │ │ │ └── armeabi/ │ │ │ └── poller │ │ └── poller.c │ ├── proc_stat/ │ │ ├── __init__.py │ │ └── gather-load.sh │ ├── screencap.py │ ├── serialmon.py │ └── trace_cmd.py ├── output_processors/ │ ├── __init__.py │ ├── cpustates.py │ ├── csvproc.py │ ├── postgresql.py │ ├── sqlite.py │ ├── status.py │ ├── targz.py │ └── uxperf.py ├── tools/ │ └── revent/ │ ├── Makefile │ └── revent.c ├── utils/ │ ├── __init__.py │ ├── android.py │ ├── cpustates.py │ ├── diff.py │ ├── doc.py │ ├── exec_control.py │ ├── formatter.py │ ├── log.py │ ├── misc.py │ ├── postgres.py │ ├── revent.py │ ├── serializer.py │ ├── terminalsize.py │ ├── trace_cmd.py │ └── types.py └── workloads/ ├── __init__.py ├── adobereader/ │ ├── __init__.py │ ├── com.arm.wa.uiauto.adobereader.apk │ └── uiauto/ │ ├── app/ │ │ ├── build.gradle │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── arm/ │ │ └── wa/ │ │ └── uiauto/ │ │ └── adobereader/ │ │ └── UiAutomation.java │ ├── build.gradle │ ├── build.sh │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── aitutu/ │ ├── __init__.py │ ├── com.arm.wa.uiauto.aitutu.apk │ └── uiauto/ │ ├── app/ │ │ ├── build.gradle │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── arm/ │ │ └── wa/ │ │ └── uiauto/ │ │ └── aitutu/ │ │ └── UiAutomation.java │ ├── build.gradle │ ├── build.sh │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── androbench/ │ ├── __init__.py │ ├── com.arm.wa.uiauto.androbench.apk │ └── uiauto/ │ ├── app/ │ │ ├── build.gradle │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── arm/ │ │ └── wa/ │ │ └── uiauto/ │ │ └── androbench/ │ │ └── UiAutomation.java │ ├── build.gradle │ ├── build.sh │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── angrybirds_rio/ │ └── __init__.py ├── antutu/ │ ├── __init__.py │ ├── com.arm.wa.uiauto.antutu.apk │ └── uiauto/ │ ├── app/ │ │ ├── build.gradle │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── arm/ │ │ └── wa/ │ │ └── uiauto/ │ │ └── antutu/ │ │ └── UiAutomation.java │ ├── build.gradle │ ├── build.sh │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── apache.py ├── applaunch/ │ ├── __init__.py │ ├── com.arm.wa.uiauto.applaunch.apk │ └── uiauto/ │ ├── app/ │ │ ├── build.gradle │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── arm/ │ │ └── wa/ │ │ └── uiauto/ │ │ └── applaunch/ │ │ └── UiAutomation.java │ ├── build.gradle │ ├── build.sh │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── benchmarkpi/ │ ├── __init__.py │ ├── com.arm.wa.uiauto.benchmarkpi.apk │ └── uiauto/ │ ├── app/ │ │ ├── build.gradle │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── arm/ │ │ └── wa/ │ │ └── uiauto/ │ │ └── benchmarkpi/ │ │ └── UiAutomation.java │ ├── build.gradle │ ├── build.sh │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── chrome/ │ ├── __init__.py │ ├── com.arm.wa.uiauto.chrome.apk │ └── uiauto/ │ ├── app/ │ │ ├── build.gradle │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── arm/ │ │ └── wa/ │ │ └── uiauto/ │ │ └── UiAutomation.java │ ├── build.gradle │ ├── build.sh │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── deepbench/ │ └── __init__.py ├── dhrystone/ │ ├── __init__.py │ ├── bin/ │ │ ├── arm64/ │ │ │ └── dhrystone │ │ └── armeabi/ │ │ └── dhrystone │ └── src/ │ ├── Makefile │ └── dhrystone.c ├── drarm/ │ └── __init__.py ├── exoplayer/ │ └── __init__.py ├── geekbench/ │ ├── __init__.py │ ├── com.arm.wa.uiauto.geekbench.apk │ └── uiauto/ │ ├── app/ │ │ ├── build.gradle │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── arm/ │ │ └── wa/ │ │ └── uiauto/ │ │ └── geekbench/ │ │ └── UiAutomation.java │ ├── build.gradle │ ├── build.sh │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── gfxbench/ │ ├── __init__.py │ ├── com.arm.wa.uiauto.gfxbench.apk │ └── uiauto/ │ ├── app/ │ │ ├── build.gradle │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── arm/ │ │ └── wa/ │ │ └── uiauto/ │ │ └── gfxbench/ │ │ └── UiAutomation.java │ ├── build.gradle │ ├── build.sh │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── glbenchmark/ │ ├── __init__.py │ ├── com.arm.wa.uiauto.glbenchmark.apk │ └── uiauto/ │ ├── app/ │ │ ├── build.gradle │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── arm/ │ │ └── wa/ │ │ └── uiauto/ │ │ └── glbenchmark/ │ │ └── UiAutomation.java │ ├── build.gradle │ ├── build.sh │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── gmail/ │ ├── __init__.py │ ├── com.arm.wa.uiauto.gmail.apk │ └── uiauto/ │ ├── app/ │ │ ├── build.gradle │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── arm/ │ │ └── wa/ │ │ └── uiauto/ │ │ └── gmail/ │ │ └── UiAutomation.java │ ├── build.gradle │ ├── build.sh │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── googlemaps/ │ ├── __init__.py │ ├── com.arm.wa.uiauto.googlemaps.apk │ └── uiauto/ │ ├── app/ │ │ ├── build.gradle │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── arm/ │ │ └── wa/ │ │ └── uiauto/ │ │ └── UiAutomation.java │ ├── build.gradle │ ├── build.sh │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── googlephotos/ │ ├── __init__.py │ ├── com.arm.wa.uiauto.googlephotos.apk │ └── uiauto/ │ ├── app/ │ │ ├── build.gradle │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── arm/ │ │ └── wa/ │ │ └── uiauto/ │ │ └── googlephotos/ │ │ └── UiAutomation.java │ ├── build.gradle │ ├── build.sh │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── googleplaybooks/ │ ├── __init__.py │ ├── com.arm.wa.uiauto.googleplaybooks.apk │ └── uiauto/ │ ├── app/ │ │ ├── build.gradle │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── arm/ │ │ └── wa/ │ │ └── uiauto/ │ │ └── googleplaybooks/ │ │ └── UiAutomation.java │ ├── build.gradle │ ├── build.sh │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── googleslides/ │ ├── __init__.py │ ├── com.arm.wa.uiauto.googleslides.apk │ └── uiauto/ │ ├── app/ │ │ ├── build.gradle │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── arm/ │ │ └── wa/ │ │ └── uiauto/ │ │ └── googleslides/ │ │ └── UiAutomation.java │ ├── build.gradle │ ├── build.sh │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── hackbench/ │ ├── __init__.py │ ├── bin/ │ │ ├── arm64/ │ │ │ └── hackbench │ │ └── armeabi/ │ │ └── hackbench │ └── src/ │ └── LICENSE ├── homescreen/ │ └── __init__.py ├── honorofkings/ │ └── __init__.py ├── hwuitest/ │ └── __init__.py ├── idle.py ├── jankbench/ │ └── __init__.py ├── lmbench/ │ ├── __init__.py │ └── bin/ │ ├── COPYING │ ├── COPYING-2 │ ├── README │ ├── arm64/ │ │ ├── bw_mem │ │ └── lat_mem_rd │ └── armeabi/ │ ├── bw_mem │ └── lat_mem_rd ├── manual/ │ └── __init__.py ├── meabo/ │ └── __init__.py ├── memcpy/ │ ├── __init__.py │ ├── bin/ │ │ ├── arm64/ │ │ │ └── memcpy │ │ └── armeabi/ │ │ └── memcpy │ └── src/ │ ├── build.sh │ └── memcopy.c ├── mongoperf/ │ └── __init__.py ├── motionmark/ │ ├── __init__.py │ ├── com.arm.wa.uiauto.motionmark.apk │ └── uiauto/ │ ├── app/ │ │ ├── build.gradle │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── arm/ │ │ └── wa/ │ │ └── uiauto/ │ │ └── motionmark/ │ │ └── UiAutomation.java │ ├── build.gradle │ ├── build.sh │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── openssl/ │ └── __init__.py ├── pcmark/ │ ├── __init__.py │ ├── com.arm.wa.uiauto.pcmark.apk │ └── uiauto/ │ ├── app/ │ │ ├── build.gradle │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── arm/ │ │ └── wa/ │ │ └── uiauto/ │ │ └── pcmark/ │ │ └── UiAutomation.java │ ├── build.gradle │ ├── build.sh │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── recentfling/ │ └── __init__.py ├── rt_app/ │ ├── LICENSE │ ├── __init__.py │ ├── bin/ │ │ ├── arm64/ │ │ │ ├── README.rt-app │ │ │ └── rt-app │ │ ├── armeabi/ │ │ │ ├── README.rt-app │ │ │ └── rt-app │ │ ├── ppc64le/ │ │ │ ├── README.rt-app │ │ │ └── rt-app │ │ ├── x86/ │ │ │ ├── README.rt-app │ │ │ └── rt-app │ │ └── x86_64/ │ │ ├── README.rt-app │ │ └── rt-app │ ├── use_cases/ │ │ ├── browser-long.json │ │ ├── browser-short.json │ │ ├── camera-long.json │ │ ├── camera-short.json │ │ ├── mp3-long.json │ │ ├── mp3-short.json │ │ ├── spreading-tasks.json │ │ ├── taskset.json │ │ ├── video-long.json │ │ └── video-short.json │ └── workgen ├── schbench/ │ ├── __init__.py │ ├── bin/ │ │ └── arm64/ │ │ └── schbench │ └── src/ │ └── LICENSE ├── shellscript/ │ └── __init__.py ├── speedometer/ │ ├── LICENSE │ ├── __init__.py │ ├── speedometer_archive-2.0.tar.lzma │ ├── speedometer_archive-2.1.tar.lzma │ └── speedometer_archive-3.0.tar.lzma ├── stress_ng/ │ ├── LICENSE │ ├── __init__.py │ └── bin/ │ ├── arm64/ │ │ └── stress-ng │ └── armeabi/ │ └── stress-ng ├── sysbench/ │ ├── LICENSE │ ├── __init__.py │ └── bin/ │ ├── arm64/ │ │ └── sysbench │ └── armeabi/ │ └── sysbench ├── templerun2/ │ └── __init__.py ├── the_chase/ │ └── __init__.py ├── uibench/ │ └── __init__.py ├── uibenchjanktests/ │ └── __init__.py ├── vellamo/ │ ├── __init__.py │ ├── com.arm.wa.uiauto.vellamo.apk │ └── uiauto/ │ ├── app/ │ │ ├── build.gradle │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── arm/ │ │ └── wa/ │ │ └── uiauto/ │ │ └── vellamo/ │ │ └── UiAutomation.java │ ├── build.gradle │ ├── build.sh │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── youtube/ │ ├── __init__.py │ ├── com.arm.wa.uiauto.youtube.apk │ └── uiauto/ │ ├── app/ │ │ ├── build.gradle │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── arm/ │ │ └── wa/ │ │ └── uiauto/ │ │ └── youtube/ │ │ └── UiAutomation.java │ ├── build.gradle │ ├── build.sh │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle └── youtube_playback/ └── __init__.py