Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1401)

Unified Diff: build/android/incremental_install/generate_android_manifest.py

Issue 2790453003: Android: Make incremental install work for two <instrumentation> (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: build/android/incremental_install/generate_android_manifest.py
diff --git a/build/android/incremental_install/generate_android_manifest.py b/build/android/incremental_install/generate_android_manifest.py
index 15c758dcc6cea21ad9e38bff02bc72cd700c4d17..a26771665634b09d29565ea7f329b92ba8b342a2 100755
--- a/build/android/incremental_install/generate_android_manifest.py
+++ b/build/android/incremental_install/generate_android_manifest.py
@@ -22,9 +22,15 @@ ElementTree.register_namespace('android', _ANDROID_NAMESPACE)
_INCREMENTAL_APP_NAME = 'org.chromium.incrementalinstall.BootstrapApplication'
_META_DATA_APP_NAME = 'incremental-install-real-app'
-_META_DATA_INSTRUMENTATION_NAME = 'incremental-install-real-instrumentation'
_DEFAULT_APPLICATION_CLASS = 'android.app.Application'
-_DEFAULT_INSTRUMENTATION_CLASS = 'android.app.Instrumentation'
+_META_DATA_INSTRUMENTATION_NAMES = [
+ 'incremental-install-real-instrumentation-0',
+ 'incremental-install-real-instrumentation-1',
+]
+_INCREMENTAL_INSTRUMENTATION_CLASSES = [
+ 'android.app.Instrumentation',
+ 'org.chromium.incrementalinstall.SecondInstrumentation',
+]
def _AddNamespace(name):
@@ -84,12 +90,13 @@ def _ProcessManifest(main_manifest, disable_isolated_processes):
# Seems to be a bug in ElementTree, as doc.find() doesn't work here.
instrumentation_nodes = doc.findall('instrumentation')
- if instrumentation_nodes:
- instrumentation_node = instrumentation_nodes[0]
+ assert len(instrumentation_nodes) <= 2, (
+ 'Need to update incremental install to support >2 <instrumentation> tags')
+ for i, instrumentation_node in enumerate(instrumentation_nodes):
real_instrumentation_class = instrumentation_node.get(_AddNamespace('name'))
instrumentation_node.set(_AddNamespace('name'),
- _DEFAULT_INSTRUMENTATION_CLASS)
- _CreateMetaData(app_node, _META_DATA_INSTRUMENTATION_NAME,
+ _INCREMENTAL_INSTRUMENTATION_CLASSES[i])
+ _CreateMetaData(app_node, _META_DATA_INSTRUMENTATION_NAMES[i],
real_instrumentation_class)
return ElementTree.tostring(doc, encoding='UTF-8')

Powered by Google App Engine
This is Rietveld 408576698