Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f145ffb2 authored by Inseob Kim's avatar Inseob Kim Committed by Automerger Merge Worker
Browse files

Merge "Add support for auto-generated characteristics RRO" into main am: 8fc7cf63

parents c61d9b57 8fc7cf63
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@
# Fakes don't get installed, and NDK stubs aren't installed to device.
static_allowed_patterns := $(TARGET_OUT_FAKE)/% $(SOONG_OUT_DIR)/ndk/%
# RROs become REQUIRED by the source module, but are always placed on the vendor partition.
static_allowed_patterns += %__auto_generated_characteristics_rro.apk
static_allowed_patterns += %__auto_generated_rro_product.apk
static_allowed_patterns += %__auto_generated_rro_vendor.apk
# Auto-included targets are not considered
+10 −0
Original line number Diff line number Diff line
@@ -96,3 +96,13 @@ python_test_host {
        unit_test: true,
    },
}

python_binary_host {
  name: "characteristics_rro_generator",
  srcs: ["characteristics_rro_generator.py"],
  version: {
    py3: {
      embedded_launcher: true,
    },
  },
}
+23 −0
Original line number Diff line number Diff line
#!/usr/bin/env python3
import sys
from xml.dom.minidom import parseString

def parse_package(manifest):
    with open(manifest, 'r') as f:
        data = f.read()
    dom = parseString(data)
    return dom.documentElement.getAttribute('package')

if __name__ == '__main__':
    if len(sys.argv) != 3:
        sys.exit(f"usage: {sys_argv[0]} target_package_manifest output\n")
    package_name = parse_package(sys.argv[1])
    with open(sys.argv[2], "w") as f:
        f.write(f'''<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="{package_name}.auto_generated_characteristics_rro">
    <application android:hasCode="false" />
    <overlay android:targetPackage="{package_name}"
             android:isStatic="true"
             android:priority="0" />
</manifest>
''')