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

Commit d07ca2b8 authored by Devin Moore's avatar Devin Moore
Browse files

Update libvintf with next year's levels

Test: cd hardware/interfaces && ./compatibility_matrices/bump.py ...
Bug: 389665041
Change-Id: I936194765f56cbd52e2c27dffb96452458251fa1
parent 6d9b76b5
Loading
Loading
Loading
Loading
+13 −8
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ class Bump(object):
        self.current_level = cmdline_args.current_level
        self.current_letter = cmdline_args.current_letter
        self.current_version = cmdline_args.platform_version
        self.next_version = cmdline_args.next_platform_version
        self.current_module_name = f"framework_compatibility_matrix.{self.current_level}.xml"
        self.current_xml = self.interfaces_dir / f"compatibility_matrices/compatibility_matrix.{self.current_level}.xml"
        self.device_module_name = "framework_compatibility_matrix.device.xml"
@@ -132,27 +133,27 @@ class Bump(object):
            return
        try:
            check_call(["grep", "-h",
                        f"{self.current_letter.upper()} = {self.current_level}",
                        f"{self.next_letter.upper()} = {self.next_level}",
                        f"{self.top}/system/libvintf/include/vintf/Level.h"])
        except subprocess.CalledProcessError:
            print("Adding new API level to libvintf")
            add_lines_above(f"{self.top}/system/libvintf/analyze_matrix/analyze_matrix.cpp",
                            "        case Level::UNSPECIFIED:",
                            textwrap.indent(textwrap.dedent(f"""\
                                    case Level::{self.current_letter.upper()}:
                                        return "Android {self.current_version} ({self.current_letter.upper()})";"""),
                                    case Level::{self.next_letter.upper()}:
                                        return "Android {self.next_version} ({self.next_letter.upper()})";"""),
                            "    "*2))
            add_lines_above(f"{self.top}/system/libvintf/include/vintf/Level.h",
                            "    // To add new values:",
                            f"    {self.current_letter.upper()} = {self.current_level},")
                            f"    {self.next_letter.upper()} = {self.next_level},")
            add_lines_above(f"{self.top}/system/libvintf/include/vintf/Level.h",
                            "        Level::UNSPECIFIED,",
                            f"        Level::{self.current_letter.upper()},")
                            f"        Level::{self.next_letter.upper()},")
            add_lines_above(f"{self.top}/system/libvintf/RuntimeInfo.cpp",
                            "            // Add more levels above this line.",
                            textwrap.indent(textwrap.dedent(f"""\
                                        case {self.current_version}: {{
                                            ret = Level::{self.current_letter.upper()};
                                        case {self.next_version}: {{
                                            ret = Level::{self.next_letter.upper()};
                                        }} break;"""),
                            "    "*3))

@@ -188,7 +189,11 @@ def main():
    parser.add_argument("platform_version",
                        type=str,
                        nargs="?",
                        help="Android release version number number (e.g. 16)")
                        help="Current Android release version number (e.g. 16)")
    parser.add_argument("next_platform_version",
                        type=str,
                        nargs="?",
                        help="Next Android release version number number (e.g. 17)")
    cmdline_args = parser.parse_args()

    Bump(cmdline_args).run()