Merge changes I93619476,Idc284541 into main am: 1d1198c209 am: e424e4ae2f

Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/3448642

Change-Id: I457e4cbe2db93ba7c07d6e8e2e5d1816c75ad03c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/compatibility_matrices/bump.py b/compatibility_matrices/bump.py
index 63aa386..6c694d3 100755
--- a/compatibility_matrices/bump.py
+++ b/compatibility_matrices/bump.py
@@ -45,6 +45,7 @@
         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"
@@ -129,27 +130,27 @@
             return
         try:
             check_call(["grep", "-h",
-                        f"{self.current_letter.upper()} = {self.current_level}",
-                        "system/libvintf/include/vintf/Level.h"])
+                        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("system/libvintf/analyze_matrix/analyze_matrix.cpp",
+            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("system/libvintf/include/vintf/Level.h",
+            add_lines_above(f"{self.top}/system/libvintf/include/vintf/Level.h",
                             "    // To add new values:",
-                            f"    {self.current_letter.upper()} = {self.current_level},")
-            add_lines_above("system/libvintf/include/vintf/Level.h",
+                            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()},")
-            add_lines_above("system/libvintf/RuntimeInfo.cpp",
+                            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))
 
@@ -185,7 +186,11 @@
     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()