Change min api level in build metadata to string

Change-Id: If30bba250130ff7354927560cc6ac1d9374b2552
diff --git a/src/main/java/com/android/tools/r8/metadata/R8OptionsMetadata.java b/src/main/java/com/android/tools/r8/metadata/R8OptionsMetadata.java
index eb3e4d8..f50b85b 100644
--- a/src/main/java/com/android/tools/r8/metadata/R8OptionsMetadata.java
+++ b/src/main/java/com/android/tools/r8/metadata/R8OptionsMetadata.java
@@ -23,7 +23,7 @@
    */
   R8LibraryDesugaringMetadata getLibraryDesugaringMetadata();
 
-  int getMinApiLevel();
+  String getMinApiLevel();
 
   boolean hasObfuscationDictionary();
 
diff --git a/src/main/java/com/android/tools/r8/metadata/impl/D8R8OptionsMetadata.java b/src/main/java/com/android/tools/r8/metadata/impl/D8R8OptionsMetadata.java
index 0ec0446..f7ed932 100644
--- a/src/main/java/com/android/tools/r8/metadata/impl/D8R8OptionsMetadata.java
+++ b/src/main/java/com/android/tools/r8/metadata/impl/D8R8OptionsMetadata.java
@@ -16,7 +16,7 @@
    */
   LibraryDesugaringMetadata getLibraryDesugaringMetadata();
 
-  int getMinApiLevel();
+  String getMinApiLevel();
 
   boolean isDebugModeEnabled();
 }
diff --git a/src/main/java/com/android/tools/r8/metadata/impl/D8R8OptionsMetadataImpl.java b/src/main/java/com/android/tools/r8/metadata/impl/D8R8OptionsMetadataImpl.java
index 00b0527..f8c5529 100644
--- a/src/main/java/com/android/tools/r8/metadata/impl/D8R8OptionsMetadataImpl.java
+++ b/src/main/java/com/android/tools/r8/metadata/impl/D8R8OptionsMetadataImpl.java
@@ -33,7 +33,7 @@
 
   @Expose
   @SerializedName("minApiLevel")
-  private final int minApiLevel;
+  private final String minApiLevel;
 
   @Expose
   @SerializedName("isDebugModeEnabled")
@@ -45,7 +45,8 @@
       InternalOptions options) {
     this.apiModelingMetadata = apiModelingMetadata;
     this.libraryDesugaringMetadata = libraryDesugaringMetadata;
-    this.minApiLevel = options.isGeneratingDex() ? options.getMinApiLevel().getLevel() : -1;
+    this.minApiLevel =
+        options.isGeneratingDex() ? Integer.toString(options.getMinApiLevel().getLevel()) : null;
     this.isDebugModeEnabled = options.debug;
   }
 
@@ -60,7 +61,7 @@
   }
 
   @Override
-  public int getMinApiLevel() {
+  public String getMinApiLevel() {
     return minApiLevel;
   }
 
diff --git a/src/test/java/com/android/tools/r8/metadata/D8BuildMetadataTest.java b/src/test/java/com/android/tools/r8/metadata/D8BuildMetadataTest.java
index eaa0898..a10e2cc 100644
--- a/src/test/java/com/android/tools/r8/metadata/D8BuildMetadataTest.java
+++ b/src/test/java/com/android/tools/r8/metadata/D8BuildMetadataTest.java
@@ -64,7 +64,7 @@
     // Options metadata.
     assertNotNull(buildMetadata.getOptionsMetadata());
     assertEquals(
-        parameters.isCfRuntime() ? -1 : parameters.getApiLevel().getLevel(),
+        parameters.isCfRuntime() ? null : Integer.toString(parameters.getApiLevel().getLevel()),
         buildMetadata.getOptionsMetadata().getMinApiLevel());
     assertFalse(buildMetadata.getOptionsMetadata().isDebugModeEnabled());
     // Options metadata (library desugaring).
diff --git a/src/test/java/com/android/tools/r8/metadata/R8BuildMetadataTest.java b/src/test/java/com/android/tools/r8/metadata/R8BuildMetadataTest.java
index 1fa5d19..0216ecc 100644
--- a/src/test/java/com/android/tools/r8/metadata/R8BuildMetadataTest.java
+++ b/src/test/java/com/android/tools/r8/metadata/R8BuildMetadataTest.java
@@ -143,7 +143,7 @@
     assertNotNull(buildMetadata.getOptionsMetadata());
     assertNotNull(buildMetadata.getOptionsMetadata().getKeepAttributesMetadata());
     assertEquals(
-        parameters.isCfRuntime() ? -1 : parameters.getApiLevel().getLevel(),
+        parameters.isCfRuntime() ? null : Integer.toString(parameters.getApiLevel().getLevel()),
         buildMetadata.getOptionsMetadata().getMinApiLevel());
     assertFalse(buildMetadata.getOptionsMetadata().isDebugModeEnabled());
     // Options metadata (library desugaring).