Add android.jar for Android R (beta revision 2)
Content of README.google:
Name: Android system library jar
URL: https://developer.android.com/studio/index.html
Version: API version S (preview revision 2)
Revision: NA
License: Apache License Version 2.0
Description:
This is the android.jar pulled using the android sdk manager.
Bug: 181356260
Change-Id: I78607540a153aad5709ae6ade065c837b82b1578
diff --git a/build.gradle b/build.gradle
index 2e908a5..30c839c 100644
--- a/build.gradle
+++ b/build.gradle
@@ -307,6 +307,7 @@
"android_jar/lib-v28",
"android_jar/lib-v29",
"android_jar/lib-v30",
+ "android_jar/lib-v31",
"core-lambda-stubs",
"dart-sdk",
"ddmlib",
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/BackportedMethodRewriter.java b/src/main/java/com/android/tools/r8/ir/desugar/BackportedMethodRewriter.java
index 2fc5c3a..5d5a292 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/BackportedMethodRewriter.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/BackportedMethodRewriter.java
@@ -983,6 +983,17 @@
new MethodGenerator(
method, BackportedMethods::CollectionsMethods_copyOfSet, "copyOfSet"));
+ // Map
+ type = factory.mapType;
+
+ // Map Map.copyOf(Map)
+ name = factory.createString("copyOf");
+ proto = factory.createProto(factory.mapType, factory.mapType);
+ method = factory.createMethod(type, proto, name);
+ addProvider(
+ new MethodGenerator(
+ method, BackportedMethods::CollectionsMethods_copyOfMap, "copyOfMap"));
+
// Byte
type = factory.boxedByteType;
@@ -1120,17 +1131,6 @@
addProvider(
new MethodGenerator(
method, BackportedMethods::CollectionsMethods_copyOfList, "copyOfList"));
-
- // Map
- type = factory.mapType;
-
- // Map Map.copyOf(Map)
- name = factory.createString("copyOf");
- proto = factory.createProto(factory.mapType, factory.mapType);
- method = factory.createMethod(type, proto, name);
- addProvider(
- new MethodGenerator(
- method, BackportedMethods::CollectionsMethods_copyOfMap, "copyOfMap"));
}
private void initializeJava11MethodProviders(DexItemFactory factory) {
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 7181e84..523552a 100644
--- a/src/main/java/com/android/tools/r8/utils/AndroidApiLevel.java
+++ b/src/main/java/com/android/tools/r8/utils/AndroidApiLevel.java
@@ -42,7 +42,7 @@
R(30),
S(31);
- public static final AndroidApiLevel LATEST = R;
+ public static final AndroidApiLevel LATEST = S;
public static final int magicApiLevelUsedByAndroidPlatformBuild = 10000;
@@ -150,6 +150,8 @@
return P;
case 29:
return Q;
+ case 30:
+ return R;
default:
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 e9557fa..f06f3d7 100644
--- a/src/main/java/com/android/tools/r8/utils/DexVersion.java
+++ b/src/main/java/com/android/tools/r8/utils/DexVersion.java
@@ -38,6 +38,7 @@
public static DexVersion getDexVersion(AndroidApiLevel androidApiLevel) {
switch (androidApiLevel) {
+ case S:
case R:
case Q:
case P:
diff --git a/src/test/java/com/android/tools/r8/ToolHelper.java b/src/test/java/com/android/tools/r8/ToolHelper.java
index 18037be..e9a47e3 100644
--- a/src/test/java/com/android/tools/r8/ToolHelper.java
+++ b/src/test/java/com/android/tools/r8/ToolHelper.java
@@ -825,8 +825,6 @@
case J_MR1:
case J_MR2:
case K_WATCH:
- // TODO(b/1813562600): Add android jar for S.
- case S:
return false;
default:
return true;
diff --git a/src/test/java/com/android/tools/r8/testing/ToolHelperTest.java b/src/test/java/com/android/tools/r8/testing/ToolHelperTest.java
index 5492f54..b0e1ab2 100644
--- a/src/test/java/com/android/tools/r8/testing/ToolHelperTest.java
+++ b/src/test/java/com/android/tools/r8/testing/ToolHelperTest.java
@@ -30,9 +30,7 @@
ToolHelper.getFirstSupportedAndroidJar(AndroidApiLevel.K_WATCH), AndroidApiLevel.L);
// All android.jar's for API level L are present.
for (AndroidApiLevel androidApiLevel : AndroidApiLevel.values()) {
- // TODO(b/181356260): Add AndroidJar for S.
- if (androidApiLevel.isGreaterThanOrEqualTo(AndroidApiLevel.L)
- && androidApiLevel.isLessThan(AndroidApiLevel.S)) {
+ if (androidApiLevel.isGreaterThanOrEqualTo(AndroidApiLevel.L)) {
checkExpectedAndroidJar(
ToolHelper.getFirstSupportedAndroidJar(androidApiLevel), androidApiLevel);
}
diff --git a/third_party/android_jar/lib-v31.tar.gz.sha1 b/third_party/android_jar/lib-v31.tar.gz.sha1
new file mode 100644
index 0000000..20eb896
--- /dev/null
+++ b/third_party/android_jar/lib-v31.tar.gz.sha1
@@ -0,0 +1 @@
+758bc25bf1aa97fab86205b0dd5db396f9b129cd
\ No newline at end of file