| 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 17eabd4d9ab8ba6d7372c30e7375de1bb36ecce8..163b4c34be4b06992d9f4e1cf0112b9627f2ebc8 100755
|
| --- a/build/android/incremental_install/generate_android_manifest.py
|
| +++ b/build/android/incremental_install/generate_android_manifest.py
|
| @@ -21,8 +21,10 @@ _ANDROID_NAMESPACE = 'http://schemas.android.com/apk/res/android'
|
| ElementTree.register_namespace('android', _ANDROID_NAMESPACE)
|
|
|
| _INCREMENTAL_APP_NAME = 'org.chromium.incrementalinstall.BootstrapApplication'
|
| -_META_DATA_NAME = 'incremental-install-real-app'
|
| +_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'
|
|
|
|
|
| def _AddNamespace(name):
|
| @@ -45,6 +47,12 @@ def _ParseArgs():
|
| return parser.parse_args()
|
|
|
|
|
| +def _CreateMetaData(parent, name, value):
|
| + meta_data_node = ElementTree.SubElement(parent, 'meta-data')
|
| + meta_data_node.set(_AddNamespace('name'), name)
|
| + meta_data_node.set(_AddNamespace('value'), value)
|
| +
|
| +
|
| def _ProcessManifest(main_manifest, disable_isolated_processes):
|
| """Returns a transformed AndroidManifest.xml for use with _incremental apks.
|
|
|
| @@ -68,10 +76,18 @@ def _ProcessManifest(main_manifest, disable_isolated_processes):
|
| real_app_class = app_node.get(_AddNamespace('name'),
|
| _DEFAULT_APPLICATION_CLASS)
|
| app_node.set(_AddNamespace('name'), _INCREMENTAL_APP_NAME)
|
| + _CreateMetaData(app_node, _META_DATA_APP_NAME, real_app_class)
|
| +
|
| + # 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]
|
| + real_instrumentation_class = instrumentation_node.get(_AddNamespace('name'))
|
| + instrumentation_node.set(_AddNamespace('name'),
|
| + _DEFAULT_INSTRUMENTATION_CLASS)
|
| + _CreateMetaData(app_node, _META_DATA_INSTRUMENTATION_NAME,
|
| + real_instrumentation_class)
|
|
|
| - meta_data_node = ElementTree.SubElement(app_node, 'meta-data')
|
| - meta_data_node.set(_AddNamespace('name'), _META_DATA_NAME)
|
| - meta_data_node.set(_AddNamespace('value'), real_app_class)
|
| return ElementTree.tostring(doc, encoding='UTF-8')
|
|
|
|
|
|
|