Add latest api level support
- The dex version used for an api version greater than the last known will
be the version of the latest Android released.
Change-Id: Ieb57eb102efbcc200840f55f7ef0fc8b4d89f67e
diff --git a/src/main/java/com/android/tools/r8/utils/AndroidApiLevel.java b/src/main/java/com/android/tools/r8/utils/AndroidApiLevel.java
index b1bdfde..47bd02e 100644
--- a/src/main/java/com/android/tools/r8/utils/AndroidApiLevel.java
+++ b/src/main/java/com/android/tools/r8/utils/AndroidApiLevel.java
@@ -9,6 +9,7 @@
* Android API level description
*/
public enum AndroidApiLevel {
+ LATEST(-1),
P(27),
O(26),
N_MR1(25),
@@ -76,6 +77,9 @@
public static AndroidApiLevel getAndroidApiLevel(int apiLevel) {
switch (apiLevel) {
+ case 0:
+ // 0 is not supported, it should not happen
+ throw new Unreachable();
case 1:
return B;
case 2:
@@ -131,7 +135,7 @@
case 27:
return P;
default:
- throw new Unreachable();
+ return LATEST;
}
}
}
diff --git a/src/main/java/com/android/tools/r8/utils/DexVersion.java b/src/main/java/com/android/tools/r8/utils/DexVersion.java
index e45a0dc..c9fa818 100644
--- a/src/main/java/com/android/tools/r8/utils/DexVersion.java
+++ b/src/main/java/com/android/tools/r8/utils/DexVersion.java
@@ -50,6 +50,7 @@
switch (androidApiLevel) {
case P:
return DexVersion.V39;
+ case LATEST:
case O:
return DexVersion.V38;
case N_MR1: