aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--JavaLibrary.bp93
-rw-r--r--apex/Android.bp45
-rw-r--r--apex/com.android.i18n.avbpubkeybin0 -> 1032 bytes
-rw-r--r--apex/com.android.i18n.pem51
-rw-r--r--apex/com.android.i18n.pk8bin0 -> 2374 bytes
-rw-r--r--apex/com.android.i18n.x509.pem31
-rw-r--r--apex/manifest.json4
-rw-r--r--libart/src/main/java/dalvik/system/VMRuntime.java7
-rw-r--r--luni/TEST_MAPPING13
-rw-r--r--luni/src/main/java/android/system/UnixSocketAddress.java7
-rw-r--r--luni/src/main/java/libcore/net/MimeMap.java2
-rw-r--r--luni/src/main/java/libcore/net/mime.types844
-rw-r--r--luni/src/main/java/libcore/net/mime.types.README13
-rw-r--r--luni/src/main/java/libcore/timezone/TimeZoneDataFiles.java16
-rw-r--r--luni/src/test/java/libcore/java/lang/PackageTest.java2
-rw-r--r--luni/src/test/java/libcore/java/util/ComparatorTest.java33
-rw-r--r--luni/src/test/java/libcore/java/util/LocaleTest.java4
-rw-r--r--luni/src/test/java/libcore/libcore/icu/TimeZoneIntegrationTest.java6
-rw-r--r--luni/src/test/java/libcore/libcore/timezone/TimeZoneDataFilesTest.java6
-rw-r--r--luni/src/test/java/tests/security/cert/CertPathBuilder1Test.java4
-rw-r--r--mmodules/core_platform_api/api/platform/current-api.txt1
-rw-r--r--mmodules/intracoreapi/Android.bp9
-rw-r--r--mmodules/intracoreapi/api/intra/current-api.txt191
-rw-r--r--ojluni/annotations/mmodule/java/net/SocketImpl.annotated.java2
-rw-r--r--ojluni/annotations/sdk/nullability/java/lang/reflect/Executable.annotated.java2
-rw-r--r--ojluni/annotations/sdk/nullability/java/util/HashMap.annotated.java4
-rw-r--r--ojluni/annotations/sdk/nullability/java/util/logging/Logger.annotated.java2
-rw-r--r--openjdk_java_files.bp5
-rw-r--r--support/src/test/java/libcore/java/security/StandardNames.java3
-rw-r--r--support/src/test/java/libcore/testing/categories/Example.java35
-rw-r--r--tools/upstream/src/main/java/libcore/CompareUpstreams.java26
-rw-r--r--tools/upstream/src/main/java/libcore/Repository.java12
-rw-r--r--tools/upstream/src/main/java/libcore/StandardRepositories.java12
-rw-r--r--tools/upstream/src/main/java/libcore/Util.java18
34 files changed, 499 insertions, 1004 deletions
diff --git a/JavaLibrary.bp b/JavaLibrary.bp
index f446439ebf7..e1d8145714e 100644
--- a/JavaLibrary.bp
+++ b/JavaLibrary.bp
@@ -45,9 +45,34 @@ build = [
]
// The Java files and their associated resources.
-core_resource_dirs = [
- "luni/src/main/java",
- "ojluni/src/main/resources/",
+filegroup {
+ name: "core-luni-resources",
+ visibility: [
+ "//libcore:__subpackages__",
+ ],
+ path: "luni/src/main/java/",
+ srcs: [
+ "luni/src/main/java/libcore/net/android.mime.types",
+ "luni/src/main/java/java/util/logging/logging.properties",
+ "luni/src/main/java/java/security/security.properties",
+ ],
+}
+
+filegroup {
+ name: "core-ojluni-resources",
+ visibility: [
+ "//libcore:__subpackages__",
+ ],
+ path: "ojluni/src/main/resources/",
+ srcs: [
+ "ojluni/src/main/resources/**/*",
+ ],
+}
+
+core_resources = [
+ ":core-luni-resources",
+ ":core-ojluni-resources",
+ ":debian.mime.types",
]
// The source files that go into core-oj.
@@ -74,7 +99,6 @@ filegroup {
],
srcs: [
":non_openjdk_java_files",
- ":android_icu4j_src_files",
],
}
@@ -84,7 +108,6 @@ filegroup {
name: "core_libart_api_files",
srcs: [
":non_openjdk_javadoc_files",
- ":android_icu4j_src_files",
],
}
@@ -97,6 +120,7 @@ filegroup {
"//frameworks/base",
],
srcs: [
+ ":android_icu4j_src_files",
":core_oj_api_files",
":core_libart_api_files",
":conscrypt_public_api_files",
@@ -117,6 +141,7 @@ filegroup {
"//libcore:__subpackages__",
],
srcs: [
+ ":android_icu4j_src_files",
":apache-xml_api_files",
":bouncycastle_java_files",
":conscrypt_java_files",
@@ -167,6 +192,7 @@ java_library {
defaults: ["libcore_java_defaults"],
srcs: [
+ ":android_icu4j_src_files",
":core_oj_java_files",
":core_libart_java_files",
":openjdk_lambda_stub_files",
@@ -180,11 +206,19 @@ java_library {
javacflags: ["--patch-module=java.base=."],
},
- java_resource_dirs: core_resource_dirs,
+ java_resources: core_resources,
static_libs: ["android_icu4j_resources_lib"],
java_version: "1.9",
installable: false,
+
+ plugins: ["compat-changeid-annotation-processor"],
+}
+
+platform_compat_config {
+ name: "libcore-platform-compat-config",
+ prefix: "libcore",
+ src: ":core-all",
}
// A system modules definition for use by core library targets only. It only
@@ -192,7 +226,7 @@ java_library {
// core-libart as well as the lambda stubs needed to compile Java lambda code.
// It does not contain other parts of core library like conscrypt, bouncycastle,
// etc. This system_modules definition is used to bootstrap compilation for
-// other parts of the core library like core-oj, core-libart, conscrypt,
+// other parts of the core library like core-oj, core-libart, core-icu4j, conscrypt,
// bouncycastle, etc.
//
// If you want to compile against the entire core library implementation, for
@@ -216,7 +250,7 @@ java_library {
hostdex: true,
srcs: [":core_oj_java_files"],
- java_resource_dirs: core_resource_dirs,
+ java_resources: core_resources,
sdk_version: "none",
libs: ["core-all"],
@@ -247,8 +281,8 @@ java_library {
}
// Contains parts of core library not associated with OpenJDK. Contains not
-// just java.*, javax.* code but also android.icu.*, android.system.* and
-// various internal libcore.* packages.
+// just java.*, javax.* code but also android.system.* and various internal
+// libcore.* packages.
java_library {
name: "core-libart",
visibility: [
@@ -263,7 +297,6 @@ java_library {
hostdex: true,
srcs: [":core_libart_java_files"],
- static_libs: ["android_icu4j_resources_lib"],
java_version: "1.9",
sdk_version: "none",
@@ -296,6 +329,28 @@ java_library {
},
}
+java_library {
+ name: "core-icu4j",
+ visibility: [
+ "//art/build/apex",
+ "//external/robolectric-shadows",
+ "//frameworks/layoutlib",
+ ],
+ defaults: ["libcore_java_defaults"],
+ installable: true,
+ hostdex: true,
+
+ srcs: [":android_icu4j_src_files"],
+ static_libs: ["android_icu4j_resources_lib"],
+
+ sdk_version: "none",
+ libs: ["core-all"],
+ system_modules: "core-all-system-modules",
+ openjdk9: {
+ javacflags: ["--patch-module=java.base=."],
+ },
+}
+
// Provided solely to contribute information about which hidden parts of the
// core-oj API are used by apps.
//
@@ -334,7 +389,7 @@ java_library {
}
//
-// Guaranteed unstripped versions of core-oj and core-libart.
+// Guaranteed unstripped versions of core-icu4j, core-oj and core-libart.
//
// The build system may or may not strip the core-oj and core-libart jars,
// but these will not be stripped. See b/24535627.
@@ -369,6 +424,19 @@ java_library {
notice: "ojluni/NOTICE",
}
+java_library {
+ name: "core-icu4j-testdex",
+ installable: true,
+ static_libs: ["core-icu4j"],
+ sdk_version: "none",
+ libs: ["core-all"],
+ system_modules: "core-all-system-modules",
+ dxflags: ["--core-library"],
+ dex_preopt: {
+ enabled: false,
+ },
+}
+
java_defaults {
name: "core_lambda_stubs_defaults",
defaults: ["libcore_java_defaults"],
@@ -457,6 +525,7 @@ java_system_modules {
libs: [
"core-oj",
"core-libart",
+ "core-icu4j",
"bouncycastle",
"conscrypt",
"okhttp",
diff --git a/apex/Android.bp b/apex/Android.bp
new file mode 100644
index 00000000000..51a7335f343
--- /dev/null
+++ b/apex/Android.bp
@@ -0,0 +1,45 @@
+//
+// Copyright (C) 2019 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// i18n APEX is intended as a home for ICU as of July 2019.
+// Various parts and dependencies of ICU would be gradually moved into this APEX,
+// and the below build rules should reflect the latest status.
+// TODO(b/138434658): Move the apex declaration back to external/icu
+// The apex is declared in libcore/ to workaround new dependency from external/icu
+// to system/sepolicy in a downstream branch.
+apex {
+ name: "com.android.i18n",
+ defaults: ["com.android.i18n-defaults"],
+ certificate: ":com.android.i18n.certificate",
+}
+
+apex_defaults {
+ name: "com.android.i18n-defaults",
+ compile_multilib: "both",
+ manifest: "manifest.json",
+ prebuilts: ["apex_icu.dat"],
+ key: "com.android.i18n.key",
+}
+
+apex_key {
+ name: "com.android.i18n.key",
+ public_key: "com.android.i18n.avbpubkey",
+ private_key: "com.android.i18n.pem",
+}
+
+android_app_certificate {
+ name: "com.android.i18n.certificate",
+ certificate: "com.android.i18n",
+}
diff --git a/apex/com.android.i18n.avbpubkey b/apex/com.android.i18n.avbpubkey
new file mode 100644
index 00000000000..f1c97a08988
--- /dev/null
+++ b/apex/com.android.i18n.avbpubkey
Binary files differ
diff --git a/apex/com.android.i18n.pem b/apex/com.android.i18n.pem
new file mode 100644
index 00000000000..7676453e99c
--- /dev/null
+++ b/apex/com.android.i18n.pem
@@ -0,0 +1,51 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIJKwIBAAKCAgEA89VXuQrlqB0L731Es2ud65k5XkyGn0FjQfynPYRPz3nkpNaF
+3LbJ6JXIGKUQMY2pVQFNl2wUtylTJohNv8SWu/hPBMOmHu2zGvvfErKN7QD25y12
+D9jws3VlPhCWQsEZSjloYKI1MvMPcvtLgHoSuMl6JlT8mngC+uR8WLGtDKZYGICf
+I2rhQ5ugzDp00tGJJV9HKAXHx7zA9X+29HbMte57ibOrO4Xs7zLankV3rVEc0ZcD
+phA1RYh6lg9KYfsq/zbEbCRGPLTlqKa3zDPrnXTKInR//5fW7tWgqqRyXGumM8pA
+B1Huba878WnMwcWWYLjxRMQ6hOOCnGY7167JoAnX+NRmUZWXrrSiaCr6o61ingb6
+6BvQTN0f1q2lXIf1bOPRkeNkxBB7q3YFa4XaF9ZpQs7V4vlrvE/uLWDmhTQ6snML
+zWYbD+/nQ6u5BIdh+1rNk5RWp53IoNTGyJQnTpSkA2u+rtDuyKG4av6Vx2cPJ5Mu
+8vAALAyEOqlZr0CeJR0h3m6XVt0PpDxNUvQU53tlzIKD2BuELWeRSJ79DkYf+Soh
+vc0upDbdsy1r4C/Df5UpKnOKCmrYmJ1tdiigVeDH3y0B0ilD2dUqubqlc5Tw0a13
+PkpWPdJV7QpTyb3GDWa4DRpYRxCGDylCsS2rsXbsiMGqJFL3G0w06ahTmFUCAwEA
+AQKCAgEA4nVbQsXHI8rOYgADBWxGwCCPsm/6fABbslZ38N9ozHYWD64ZpzKw9W3e
+6FytXIiIIyXRrXe5CZ+81UW0iA2KPUvR/8fCCmmTddVFifUBcYP6zBxh0TgX3WSD
+wg/frmHvHguRUGZ2aDpsN8sChXFa3/pnkyBNdx1NDz2T60AhS2VW3nLe2iMS0hrB
+Tcxg4cevy2DhEl/D+1LoF1olTojjeXjjjbGrr92jf0jI2EQGcZaq4FGUFvBouYqW
+57WNzNBcT6nK5fEOtqT/wxIMFACIrLViYnu2wWiBO1J3JOUUPZfRRbpqmyHSAlbE
+omMzwyfCkVRS6B4jh3ZRwPYGUDvKjyNLeXXEr7Q6sAiwhvgz8Z5DIyzZr9SkExuQ
+5jfjfYCNsFaA/QmA34hV5KsPLfLFbW3hvDc6ApOn3yvOkIP3Cb2JM/mfyHh7cRpz
+y/UTep2e3uNj7fDkdrqp2oj/EOSKa0KSJCpqkgUwEFFCEvxeYeUgwlM+axSZNXEx
+ocRgQpui/2tVH8rgny3ayYDknleVaWtzxg7QLH7vV90ztjh4XjmZgl4R6N6vO1IT
+G2XN05vySoE+8ZdQVz3Ko3w3NLon4gwyXv8K+PmHBUsIoY37OPpZoj24n/Uajcuh
+crr5zSGlXhC+OzNk1tJ1NosHF70b/sYwdSIRpxEzA7QggSi6iAUCggEBAP5yHpkr
+BZB/C95zT4xd8ugYAw/5rFQXgwYkf1CYUp/lEXBUJGnimIwo5Gr9tGAAxTwXTTJH
+TI25EhAFu/WEh4h31SkL2b3S6jqupCqYwZdrl5TAY/35FBpGZN+ZirTHPP6ZobxX
+8zhHTl+7mKN/neA6sbLwH4WDZa+LUHScTnVSjzyL2PorPdsolFjOLILQE6LZjinB
+5bX972wjK4Q72gfdkia/Csq8Wo2/k53A2ur0fFojRHHI1M9Fthe6OI4RX/RwyHih
+R9S68xrz2bcYQ8XpoaaNpLY/FXev8WcBicjApN+eQQCK2ZGA9+UxgQRld317Wvqf
+zAyKp5idtRJUbb8CggEBAPVSoNyrghZFfaWGDe3pCnKkeZhqNsLbI5YrQohX6Quy
+BhRCP5t5wyNuMQX5rRZqeb3VgbW/06faVwZZ+bwA0KT7RYy0zgJhfD6bZ7WmzQMc
+HmAVqvN8iZIIjpMeN/174yYdqq0ShUYmra151ReL/CWs32kBWNKT6l487J7DAoYR
+ZHtec9nbs2ZFqea+PNAP8VAcsmsemwXe1w63RxDgdZccJmMj0TWmBj47RstMWTLE
+CrCGfXW9qmvs/Itzbuy589DS0AXZfTW+U0TD4RnCcjV7JDyEZASA3V7lMiyKXDTJ
+6+CUcgzOWzdTfAeVcG0olXXNCdCePX8uiqkwSCaXpusCggEBAI4tHkPf8kAHfY5T
+SIPaizx9DlkC3fQvHxtzkWBrfN+zk8b8fUxdPXgz8U6HbR6nz44ARzZs+K3IV/tz
++M77uu/aZdWFtamIDTG1HC5hJOuDRzPrPPRRFZaI9xyqIwNYwRBSsDkZu+IalgSQ
+Qn45dPIyWdDus+5auZsZcV93Z6/O7hKa4icHuoyXZC0rJ1wBALficLmMitrihcIa
+9Nnyx6XVfTEBVvppvP+vqMBhXvIiosmLI1ehLKiU/2bKu4dG1iM0UhB1rjmELQtG
+bsUMXfJc1eLHCt566XfzbCRui5sNahM5zoCLFX9kXSBIRRs7x0TqhK++Uro/T97L
+YL5ZRukCggEBAOaEpB93EZ/34F7/HmumBWlAX/n2JErpPAFJ2RTg9l1FBS1YKwjf
+W5wZWPtyZ1Ce8JKO43lzLWGWaxvOxDoC0guVCP90jffyvprd0JACkrYPYAONmLt/
+FI4ieEaJqLcKCKGyUsSamJ0Yjy5pQvEDWwXT8YJr/5iv4RR4TyfHusFb6n16fYYD
+SgoZ/9KQg/hGYsySipzZf3X+tTpgweh74kMB8phJ+bZdsZQcgyNZNJ/dUuYZGh7f
+ABq174DiESNkgFSDI3G7skoj8360SPq5mjPi6GPtS0ZoCJu45nKv+ICqFHlNQ/YA
+mfnc+rjtlV0dO4QcDNL5PnQZubXNZp7M9c0CggEBAIrfxdeELSqeVld3nhHFty0b
+ZdmFJWRj6k9zjoOYe8LPkAiue0Zm10sCiLFiRgTH6msnfBloYJ2iiDgSSnIlUvaH
+HFxoLWtv2az2B3g6gfJ5KbdE8mqfz0hGMOUBPFBarC4HrPslR28Cwn8mD5CvN4a/
+oAz3kOlaGokVF6Ikwd606JBFTVKSwr2niTJUwGXgn85tViCWqUm4v24BntbZZ9Rs
+k6ffBUl/k02zw/U405I3qTjCAnetNY3wHmjvdqkCcoWTAmG04IfGlqVE3NMjjLQD
+h9Xx2Nr5SV6djWbmYfT0Ox4Ha/IPuCCAZbBv6Or2wQSOQwb5fUgFcu3NrXU1rQQ=
+-----END RSA PRIVATE KEY-----
diff --git a/apex/com.android.i18n.pk8 b/apex/com.android.i18n.pk8
new file mode 100644
index 00000000000..100ed144562
--- /dev/null
+++ b/apex/com.android.i18n.pk8
Binary files differ
diff --git a/apex/com.android.i18n.x509.pem b/apex/com.android.i18n.x509.pem
new file mode 100644
index 00000000000..fcf1a53d130
--- /dev/null
+++ b/apex/com.android.i18n.x509.pem
@@ -0,0 +1,31 @@
+-----BEGIN CERTIFICATE-----
+MIIFUTCCAzmgAwIBAgIUHufr9X4LD87MyuJ/8AaMvsIhXjUwDQYJKoZIhvcNAQEL
+BQAwNzELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmcm9uaWExEzARBgNVBAoM
+Ckdvb2dsZSBMTEMwIBcNMTkwNzA1MTU0ODM2WhgPNDc1NzA1MzExNTQ4MzZaMDcx
+CzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZnJvbmlhMRMwEQYDVQQKDApHb29n
+bGUgTExDMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsUMFBc1QNyhj
+gU47F2O3kUrZhATA6Gz644sXvrqUg03retG3jsIEFmBXgbXngvF2yq9sRiGm4D5j
+9Sf5fguDqy9C/Q8MiUEAqQo1ygy9MubMfdGVLb2dcFoKXwyig8KzSS03+73IiUnF
+iCy5GzPO6ltga4nsbXUE6egexE3WGLQ0Lu7gCLNZn1Zd20p4BlTUl64CEu9zt6NN
+D6okd7IGceipBbpK9WDMW6ygXJ5sTJohZYSrSOPkoQFVilWFd5VryBxboTmxhSyo
+4dvNavnNCKOhsCCi8QIHOlXMDWxN970giv60FzoXoD2QwD5o+3I6SIIutEnGmh/d
+SECcK9yK+YECqw2XhvoBR4NH4RltaWKZsy62YPSYZXJXZ4H1P+9L9Q5dwLlI2Itt
+IWtYY88T8P2w8e2KzYewkE/XM4kRUw8pNWod1Hok2WuvZxdbPJ0+Hhvo1FVTwV1K
+kdtUuVPut6fpA2hEfGmwdKpK18Qe5ZLBZ1r1lSrjlfct+BWelADaZRNNyJey0u/s
+DgZGbiJG6tJqDESN229/eMTRt9gDncIx7S37RFgOv8jlUul5miKH3QP6neotofWw
+EWEKFjaDNhqU83rdpk48Br/HTiXA6pvaGlN0RQyBVB7uavvTYKTp8cGU11hkIx8p
+Vkp0EOCs9ajlt1+GyMCrPOk8A10rrOcCAwEAAaNTMFEwHQYDVR0OBBYEFMXzY0Gf
+eAdY8RjzwPnOou8VgjD3MB8GA1UdIwQYMBaAFMXzY0GfeAdY8RjzwPnOou8VgjD3
+MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIBABrAExrvMkg26gQg
+rUh170Ms8T5jvIpWyIb7fSLjsA0c2q+zZiIUViO1t2eNQtdExGcmEOBF1+LqAIbT
+zA8nz9ZHweGZi01VodPaGKuz2VWWMzQaENW2RQGaxO9g8nCHGrbwchE7IbNOT1FD
+jzVYWcCKydr4niJWjSy9ey8eNDv/Iqto64/nPI7PxtBVfH7G8hgamyVtwWhhciTH
+nlg6X0EAxq5VwZSK4G8n+gsozPQHRjvBrSzt0A187vh/g6LQPLDZjPnzbZVtfFtM
+pv+hImxyDN3DZYrna2aGxWBIXEFjH61xueBGWaCo8TwvR8NIHM/i4s/zyhUxGUYL
+307i940cEF3rYJ/urzZzXJlxiu8p0Y12i/t+vXRqXM8d65QSMLqDDBHqZ3mPkcBp
+U7hWVi5HuyWGQF4FMK8sdemJITJpg1xztybsvRJ9kDeWxPNQllC4dREaKVhI/3WM
+eP7bpMmZxngoHbAB2f11lQf1A0fWFkng/Gntqnw0Dd6J+++NuuoFUjZLAWzUpoje
+J6J9CuxBjng0n94ZN+E8E5zsAtaO9WvhSQwTvNbHZmERxvtSm6mIH1XEBTi5tOHZ
+PBAAJuzZrFFZWevI44vgpCrF4lO3F9qE+sKn+2sARGuAjGCNV+jJCD+7tySjf7js
+2uaWgWOl7EexciIHD9FbZ3ANsiRU
+-----END CERTIFICATE-----
diff --git a/apex/manifest.json b/apex/manifest.json
new file mode 100644
index 00000000000..4d1b2b6e35f
--- /dev/null
+++ b/apex/manifest.json
@@ -0,0 +1,4 @@
+{
+ "name": "com.android.i18n",
+ "version": 1
+} \ No newline at end of file
diff --git a/libart/src/main/java/dalvik/system/VMRuntime.java b/libart/src/main/java/dalvik/system/VMRuntime.java
index 3729468d25a..6f89b99ba00 100644
--- a/libart/src/main/java/dalvik/system/VMRuntime.java
+++ b/libart/src/main/java/dalvik/system/VMRuntime.java
@@ -53,6 +53,7 @@ public final class VMRuntime {
ABI_TO_INSTRUCTION_SET_MAP.put("x86", "x86");
ABI_TO_INSTRUCTION_SET_MAP.put("x86_64", "x86_64");
ABI_TO_INSTRUCTION_SET_MAP.put("arm64-v8a", "arm64");
+ ABI_TO_INSTRUCTION_SET_MAP.put("arm64-v8a-hwasan", "arm64");
}
/**
@@ -651,6 +652,12 @@ public final class VMRuntime {
public static native boolean hasBootImageSpaces();
/**
+ * Used to notify the runtime that boot completed.
+ */
+ @libcore.api.CorePlatformApi
+ public static native void bootCompleted();
+
+ /**
* Returns the instruction set of the current runtime.
*/
@UnsupportedAppUsage
diff --git a/luni/TEST_MAPPING b/luni/TEST_MAPPING
new file mode 100644
index 00000000000..f71de6b87e0
--- /dev/null
+++ b/luni/TEST_MAPPING
@@ -0,0 +1,13 @@
+{
+ "presubmit": [
+ // TODO(b/130283485): Remove this once the example has served its purpose.
+ {
+ "name": "CtsLibcoreTestCases",
+ "options": [
+ {
+ "include-annotation": "libcore.testing.categories.Example"
+ }
+ ]
+ }
+ ]
+}
diff --git a/luni/src/main/java/android/system/UnixSocketAddress.java b/luni/src/main/java/android/system/UnixSocketAddress.java
index bd211eff4aa..993cc5bb1f3 100644
--- a/luni/src/main/java/android/system/UnixSocketAddress.java
+++ b/luni/src/main/java/android/system/UnixSocketAddress.java
@@ -35,6 +35,7 @@ public final class UnixSocketAddress extends SocketAddress {
// 1) pathname: 0 < sun_path.length <= NAMED_PATH_LENGTH, sun_path[0] != 0.
// 2) unnamed: sun_path = [].
// 3) abstract: 0 < sun_path.length <= NAMED_PATH_LENGTH, sun_path[0] == 0.
+ // Note that the array referenced by this field can be modified from JNI (libcore_io_Linux.cpp).
private final byte[] sun_path;
/** This constructor is also used from JNI. */
@@ -56,6 +57,9 @@ public final class UnixSocketAddress extends SocketAddress {
/**
* Creates a named, abstract AF_UNIX socket address.
+ *
+ * @throws NullPointerException if {@code name} is null
+ * @throws IllegalArgumentException if {@code name} is invalid, e.g. too long
*/
public static UnixSocketAddress createAbstract(String name) {
byte[] nameBytes = name.getBytes(StandardCharsets.UTF_8);
@@ -67,6 +71,9 @@ public final class UnixSocketAddress extends SocketAddress {
/**
* Creates a named, filesystem AF_UNIX socket address.
+ *
+ * @throws NullPointerException if {@code name} is null
+ * @throws IllegalArgumentException if {@code name} is invalid, e.g. too long
*/
@libcore.api.CorePlatformApi
public static UnixSocketAddress createFileSystem(String pathName) {
diff --git a/luni/src/main/java/libcore/net/MimeMap.java b/luni/src/main/java/libcore/net/MimeMap.java
index 756fe3f8136..afb6cbd25fd 100644
--- a/luni/src/main/java/libcore/net/MimeMap.java
+++ b/luni/src/main/java/libcore/net/MimeMap.java
@@ -29,7 +29,7 @@ import libcore.util.Nullable;
@libcore.api.CorePlatformApi
public abstract class MimeMap {
private static AtomicReference<MimeMap> defaultHolder = new AtomicReference<>(
- MimeMapImpl.parseFromResources("mime.types", "android.mime.types"));
+ MimeMapImpl.parseFromResources("/mime.types", "android.mime.types"));
/**
* @return The system's current default {@link MimeMap}.
diff --git a/luni/src/main/java/libcore/net/mime.types b/luni/src/main/java/libcore/net/mime.types
deleted file mode 100644
index dfa7a425fce..00000000000
--- a/luni/src/main/java/libcore/net/mime.types
+++ /dev/null
@@ -1,844 +0,0 @@
-###############################################################################
-#
-# MIME media types and the extensions that represent them.
-#
-# The format of this file is a media type on the left and zero or more
-# filename extensions on the right. Programs using this file will map
-# files ending with those extensions to the associated type.
-#
-# This file is part of the "mime-support" package. Please report a bug using
-# the "reportbug" command of the "reportbug" package if you would like new
-# types or extensions to be added.
-#
-# The reason that all types are managed by the mime-support package instead
-# allowing individual packages to install types in much the same way as they
-# add entries in to the mailcap file is so these types can be referenced by
-# other programs (such as a web server) even if the specific support package
-# for that type is not installed.
-#
-# Users can add their own types if they wish by creating a ".mime.types"
-# file in their home directory. Definitions included there will take
-# precedence over those listed here.
-#
-###############################################################################
-
-
-application/activemessage
-application/andrew-inset ez
-application/annodex anx
-application/applefile
-application/atom+xml atom
-application/atomcat+xml atomcat
-application/atomicmail
-application/atomserv+xml atomsrv
-application/batch-SMTP
-application/bbolin lin
-application/beep+xml
-application/cals-1840
-application/commonground
-application/cu-seeme cu
-application/cybercash
-application/davmount+xml davmount
-application/dca-rft
-application/dec-dx
-application/dicom dcm
-application/docbook+xml
-application/dsptype tsp
-application/dvcs
-application/ecmascript es
-application/edi-consent
-application/edi-x12
-application/edifact
-application/epub+zip epub
-application/eshop
-application/font-sfnt otf ttf
-application/font-tdpfr pfr
-application/font-woff woff
-application/futuresplash spl
-application/ghostview
-application/gzip gz
-application/hta hta
-application/http
-application/hyperstudio
-application/iges
-application/index
-application/index.cmd
-application/index.obj
-application/index.response
-application/index.vnd
-application/iotp
-application/ipp
-application/isup
-application/java-archive jar
-application/java-serialized-object ser
-application/java-vm class
-application/javascript js
-application/json json
-application/m3g m3g
-application/mac-binhex40 hqx
-application/mac-compactpro cpt
-application/macwriteii
-application/marc
-application/mathematica nb nbp
-application/mbox mbox
-application/ms-tnef
-application/msaccess mdb
-application/msword doc dot
-application/mxf mxf
-application/news-message-id
-application/news-transmission
-application/ocsp-request
-application/ocsp-response
-application/octet-stream bin deploy msu msp
-application/oda oda
-application/oebps-package+xml opf
-application/ogg ogx
-application/onenote one onetoc2 onetmp onepkg
-application/parityfec
-application/pdf pdf
-application/pgp-encrypted pgp
-application/pgp-keys key
-application/pgp-signature sig
-application/pics-rules prf
-application/pkcs10
-application/pkcs7-mime
-application/pkcs7-signature
-application/pkix-cert
-application/pkix-crl
-application/pkixcmp
-application/postscript ps ai eps epsi epsf eps2 eps3
-application/prs.alvestrand.titrax-sheet
-application/prs.cww
-application/prs.nprend
-application/qsig
-application/rar rar
-application/rdf+xml rdf
-application/remote-printing
-application/riscos
-application/rtf rtf
-application/sdp
-application/set-payment
-application/set-payment-initiation
-application/set-registration
-application/set-registration-initiation
-application/sgml
-application/sgml-open-catalog
-application/sieve
-application/sla stl
-application/slate
-application/smil+xml smi smil
-application/timestamp-query
-application/timestamp-reply
-application/vemmi
-application/whoispp-query
-application/whoispp-response
-application/wita
-application/x400-bp
-application/xhtml+xml xhtml xht
-application/xml xml xsd
-application/xml-dtd
-application/xml-external-parsed-entity
-application/xslt+xml xsl xslt
-application/xspf+xml xspf
-application/zip zip
-application/vnd.3M.Post-it-Notes
-application/vnd.accpac.simply.aso
-application/vnd.accpac.simply.imp
-application/vnd.acucobol
-application/vnd.aether.imp
-application/vnd.android.package-archive apk
-application/vnd.anser-web-certificate-issue-initiation
-application/vnd.anser-web-funds-transfer-initiation
-application/vnd.audiograph
-application/vnd.bmi
-application/vnd.businessobjects
-application/vnd.canon-cpdl
-application/vnd.canon-lips
-application/vnd.cinderella cdy
-application/vnd.claymore
-application/vnd.commerce-battelle
-application/vnd.commonspace
-application/vnd.comsocaller
-application/vnd.contact.cmsg
-application/vnd.cosmocaller
-application/vnd.ctc-posml
-application/vnd.cups-postscript
-application/vnd.cups-raster
-application/vnd.cups-raw
-application/vnd.cybank
-application/vnd.debian.binary-package deb ddeb udeb
-application/vnd.dna
-application/vnd.dpgraph
-application/vnd.dxr
-application/vnd.ecdis-update
-application/vnd.ecowin.chart
-application/vnd.ecowin.filerequest
-application/vnd.ecowin.fileupdate
-application/vnd.ecowin.series
-application/vnd.ecowin.seriesrequest
-application/vnd.ecowin.seriesupdate
-application/vnd.enliven
-application/vnd.epson.esf
-application/vnd.epson.msf
-application/vnd.epson.quickanime
-application/vnd.epson.salt
-application/vnd.epson.ssf
-application/vnd.ericsson.quickcall
-application/vnd.eudora.data
-application/vnd.fdf
-application/vnd.ffsns
-application/vnd.flographit
-application/vnd.font-fontforge-sfd sfd
-application/vnd.framemaker
-application/vnd.fsc.weblaunch
-application/vnd.fujitsu.oasys
-application/vnd.fujitsu.oasys2
-application/vnd.fujitsu.oasys3
-application/vnd.fujitsu.oasysgp
-application/vnd.fujitsu.oasysprs
-application/vnd.fujixerox.ddd
-application/vnd.fujixerox.docuworks
-application/vnd.fujixerox.docuworks.binder
-application/vnd.fut-misnet
-application/vnd.google-earth.kml+xml kml
-application/vnd.google-earth.kmz kmz
-application/vnd.grafeq
-application/vnd.groove-account
-application/vnd.groove-identity-message
-application/vnd.groove-injector
-application/vnd.groove-tool-message
-application/vnd.groove-tool-template
-application/vnd.groove-vcard
-application/vnd.hhe.lesson-player
-application/vnd.hp-HPGL
-application/vnd.hp-PCL
-application/vnd.hp-PCLXL
-application/vnd.hp-hpid
-application/vnd.hp-hps
-application/vnd.httphone
-application/vnd.hzn-3d-crossword
-application/vnd.ibm.MiniPay
-application/vnd.ibm.afplinedata
-application/vnd.ibm.modcap
-application/vnd.informix-visionary
-application/vnd.intercon.formnet
-application/vnd.intertrust.digibox
-application/vnd.intertrust.nncp
-application/vnd.intu.qbo
-application/vnd.intu.qfx
-application/vnd.irepository.package+xml
-application/vnd.is-xpr
-application/vnd.japannet-directory-service
-application/vnd.japannet-jpnstore-wakeup
-application/vnd.japannet-payment-wakeup
-application/vnd.japannet-registration
-application/vnd.japannet-registration-wakeup
-application/vnd.japannet-setstore-wakeup
-application/vnd.japannet-verification
-application/vnd.japannet-verification-wakeup
-application/vnd.koan
-application/vnd.lotus-1-2-3
-application/vnd.lotus-approach
-application/vnd.lotus-freelance
-application/vnd.lotus-notes
-application/vnd.lotus-organizer
-application/vnd.lotus-screencam
-application/vnd.lotus-wordpro
-application/vnd.mcd
-application/vnd.mediastation.cdkey
-application/vnd.meridian-slingshot
-application/vnd.mif
-application/vnd.minisoft-hp3000-save
-application/vnd.mitsubishi.misty-guard.trustweb
-application/vnd.mobius.daf
-application/vnd.mobius.dis
-application/vnd.mobius.msl
-application/vnd.mobius.plc
-application/vnd.mobius.txf
-application/vnd.motorola.flexsuite
-application/vnd.motorola.flexsuite.adsi
-application/vnd.motorola.flexsuite.fis
-application/vnd.motorola.flexsuite.gotap
-application/vnd.motorola.flexsuite.kmr
-application/vnd.motorola.flexsuite.ttc
-application/vnd.motorola.flexsuite.wem
-application/vnd.mozilla.xul+xml xul
-application/vnd.ms-artgalry
-application/vnd.ms-asf
-application/vnd.ms-excel xls xlb xlt
-application/vnd.ms-excel.addin.macroEnabled.12 xlam
-application/vnd.ms-excel.sheet.binary.macroEnabled.12 xlsb
-application/vnd.ms-excel.sheet.macroEnabled.12 xlsm
-application/vnd.ms-excel.template.macroEnabled.12 xltm
-application/vnd.ms-fontobject eot
-application/vnd.ms-lrm
-application/vnd.ms-officetheme thmx
-application/vnd.ms-pki.seccat cat
-#application/vnd.ms-pki.stl stl
-application/vnd.ms-powerpoint ppt pps
-application/vnd.ms-powerpoint.addin.macroEnabled.12 ppam
-application/vnd.ms-powerpoint.presentation.macroEnabled.12 pptm
-application/vnd.ms-powerpoint.slide.macroEnabled.12 sldm
-application/vnd.ms-powerpoint.slideshow.macroEnabled.12 ppsm
-application/vnd.ms-powerpoint.template.macroEnabled.12 potm
-application/vnd.ms-project
-application/vnd.ms-tnef
-application/vnd.ms-word.document.macroEnabled.12 docm
-application/vnd.ms-word.template.macroEnabled.12 dotm
-application/vnd.ms-works
-application/vnd.mseq
-application/vnd.msign
-application/vnd.music-niff
-application/vnd.musician
-application/vnd.netfpx
-application/vnd.noblenet-directory
-application/vnd.noblenet-sealer
-application/vnd.noblenet-web
-application/vnd.novadigm.EDM
-application/vnd.novadigm.EDX
-application/vnd.novadigm.EXT
-application/vnd.oasis.opendocument.chart odc
-application/vnd.oasis.opendocument.database odb
-application/vnd.oasis.opendocument.formula odf
-application/vnd.oasis.opendocument.graphics odg
-application/vnd.oasis.opendocument.graphics-template otg
-application/vnd.oasis.opendocument.image odi
-application/vnd.oasis.opendocument.presentation odp
-application/vnd.oasis.opendocument.presentation-template otp
-application/vnd.oasis.opendocument.spreadsheet ods
-application/vnd.oasis.opendocument.spreadsheet-template ots
-application/vnd.oasis.opendocument.text odt
-application/vnd.oasis.opendocument.text-master odm
-application/vnd.oasis.opendocument.text-template ott
-application/vnd.oasis.opendocument.text-web oth
-application/vnd.openxmlformats-officedocument.presentationml.presentation pptx
-application/vnd.openxmlformats-officedocument.presentationml.slide sldx
-application/vnd.openxmlformats-officedocument.presentationml.slideshow ppsx
-application/vnd.openxmlformats-officedocument.presentationml.template potx
-application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx
-application/vnd.openxmlformats-officedocument.spreadsheetml.template xltx
-application/vnd.openxmlformats-officedocument.wordprocessingml.document docx
-application/vnd.openxmlformats-officedocument.wordprocessingml.template dotx
-application/vnd.osa.netdeploy
-application/vnd.palm
-application/vnd.pg.format
-application/vnd.pg.osasli
-application/vnd.powerbuilder6
-application/vnd.powerbuilder6-s
-application/vnd.powerbuilder7
-application/vnd.powerbuilder7-s
-application/vnd.powerbuilder75
-application/vnd.powerbuilder75-s
-application/vnd.previewsystems.box
-application/vnd.publishare-delta-tree
-application/vnd.pvi.ptid1
-application/vnd.pwg-xhtml-print+xml
-application/vnd.rapid
-application/vnd.rim.cod cod
-application/vnd.s3sms
-application/vnd.seemail
-application/vnd.shana.informed.formdata
-application/vnd.shana.informed.formtemplate
-application/vnd.shana.informed.interchange
-application/vnd.shana.informed.package
-application/vnd.smaf mmf
-application/vnd.sss-cod
-application/vnd.sss-dtf
-application/vnd.sss-ntf
-application/vnd.stardivision.calc sdc
-application/vnd.stardivision.chart sds
-application/vnd.stardivision.draw sda
-application/vnd.stardivision.impress sdd
-application/vnd.stardivision.math sdf
-application/vnd.stardivision.writer sdw
-application/vnd.stardivision.writer-global sgl
-application/vnd.street-stream
-application/vnd.sun.xml.calc sxc
-application/vnd.sun.xml.calc.template stc
-application/vnd.sun.xml.draw sxd
-application/vnd.sun.xml.draw.template std
-application/vnd.sun.xml.impress sxi
-application/vnd.sun.xml.impress.template sti
-application/vnd.sun.xml.math sxm
-application/vnd.sun.xml.writer sxw
-application/vnd.sun.xml.writer.global sxg
-application/vnd.sun.xml.writer.template stw
-application/vnd.svd
-application/vnd.swiftview-ics
-application/vnd.symbian.install sis
-application/vnd.tcpdump.pcap cap pcap
-application/vnd.triscape.mxs
-application/vnd.trueapp
-application/vnd.truedoc
-application/vnd.tve-trigger
-application/vnd.ufdl
-application/vnd.uplanet.alert
-application/vnd.uplanet.alert-wbxml
-application/vnd.uplanet.bearer-choice
-application/vnd.uplanet.bearer-choice-wbxml
-application/vnd.uplanet.cacheop
-application/vnd.uplanet.cacheop-wbxml
-application/vnd.uplanet.channel
-application/vnd.uplanet.channel-wbxml
-application/vnd.uplanet.list
-application/vnd.uplanet.list-wbxml
-application/vnd.uplanet.listcmd
-application/vnd.uplanet.listcmd-wbxml
-application/vnd.uplanet.signal
-application/vnd.vcx
-application/vnd.vectorworks
-application/vnd.vidsoft.vidconference
-application/vnd.visio vsd vst vsw vss
-application/vnd.vividence.scriptfile
-application/vnd.wap.sic
-application/vnd.wap.slc
-application/vnd.wap.wbxml wbxml
-application/vnd.wap.wmlc wmlc
-application/vnd.wap.wmlscriptc wmlsc
-application/vnd.webturbo
-application/vnd.wordperfect wpd
-application/vnd.wordperfect5.1 wp5
-application/vnd.wrq-hp3000-labelled
-application/vnd.wt.stf
-application/vnd.xara
-application/vnd.xfdl
-application/vnd.yellowriver-custom-menu
-application/zlib
-application/x-123 wk
-application/x-7z-compressed 7z
-application/x-abiword abw
-application/x-apple-diskimage dmg
-application/x-bcpio bcpio
-application/x-bittorrent torrent
-application/x-cab cab
-application/x-cbr cbr
-application/x-cbz cbz
-application/x-cdf cdf cda
-application/x-cdlink vcd
-application/x-chess-pgn pgn
-application/x-comsol mph
-application/x-core
-application/x-cpio cpio
-application/x-csh csh
-application/x-debian-package deb udeb
-application/x-director dcr dir dxr
-application/x-dms dms
-application/x-doom wad
-application/x-dvi dvi
-application/x-executable
-application/x-font pfa pfb gsf
-application/x-font-pcf pcf pcf.Z
-application/x-freemind mm
-application/x-futuresplash spl
-application/x-ganttproject gan
-application/x-gnumeric gnumeric
-application/x-go-sgf sgf
-application/x-graphing-calculator gcf
-application/x-gtar gtar
-application/x-gtar-compressed tgz taz
-application/x-hdf hdf
-#application/x-httpd-eruby rhtml
-#application/x-httpd-php phtml pht php
-#application/x-httpd-php-source phps
-#application/x-httpd-php3 php3
-#application/x-httpd-php3-preprocessed php3p
-#application/x-httpd-php4 php4
-#application/x-httpd-php5 php5
-application/x-hwp hwp
-application/x-ica ica
-application/x-info info
-application/x-internet-signup ins isp
-application/x-iphone iii
-application/x-iso9660-image iso
-application/x-jam jam
-application/x-java-applet
-application/x-java-bean
-application/x-java-jnlp-file jnlp
-application/x-jmol jmz
-application/x-kchart chrt
-application/x-kdelnk
-application/x-killustrator kil
-application/x-koan skp skd skt skm
-application/x-kpresenter kpr kpt
-application/x-kspread ksp
-application/x-kword kwd kwt
-application/x-latex latex
-application/x-lha lha
-application/x-lyx lyx
-application/x-lzh lzh
-application/x-lzx lzx
-application/x-maker frm maker frame fm fb book fbdoc
-application/x-mif mif
-application/x-mpegURL m3u8
-application/x-ms-application application
-application/x-ms-manifest manifest
-application/x-ms-wmd wmd
-application/x-ms-wmz wmz
-application/x-msdos-program com exe bat dll
-application/x-msi msi
-application/x-netcdf nc
-application/x-ns-proxy-autoconfig pac
-application/x-nwc nwc
-application/x-object o
-application/x-oz-application oza
-application/x-pkcs7-certreqresp p7r
-application/x-pkcs7-crl crl
-application/x-python-code pyc pyo
-application/x-qgis qgs shp shx
-application/x-quicktimeplayer qtl
-application/x-rdp rdp
-application/x-redhat-package-manager rpm
-application/x-rss+xml rss
-application/x-ruby rb
-application/x-rx
-application/x-scilab sci sce
-application/x-scilab-xcos xcos
-application/x-sh sh
-application/x-shar shar
-application/x-shellscript
-application/x-shockwave-flash swf swfl
-application/x-silverlight scr
-application/x-sql sql
-application/x-stuffit sit sitx
-application/x-sv4cpio sv4cpio
-application/x-sv4crc sv4crc
-application/x-tar tar
-application/x-tcl tcl
-application/x-tex-gf gf
-application/x-tex-pk pk
-application/x-texinfo texinfo texi
-application/x-trash ~ % bak old sik
-application/x-troff t tr roff
-application/x-troff-man man
-application/x-troff-me me
-application/x-troff-ms ms
-application/x-ustar ustar
-application/x-videolan
-application/x-wais-source src
-application/x-wingz wz
-application/x-x509-ca-cert crt
-application/x-xcf xcf
-application/x-xfig fig
-application/x-xpinstall xpi
-application/x-xz xz
-
-audio/32kadpcm
-audio/3gpp
-audio/amr amr
-audio/amr-wb awb
-audio/annodex axa
-audio/basic au snd
-audio/csound csd orc sco
-audio/flac flac
-audio/g.722.1
-audio/l16
-audio/midi mid midi kar
-audio/mp4a-latm
-audio/mpa-robust
-audio/mpeg mpga mpega mp2 mp3 m4a
-audio/mpegurl m3u
-audio/ogg oga ogg opus spx
-audio/parityfec
-audio/prs.sid sid
-audio/telephone-event
-audio/tone
-audio/vnd.cisco.nse
-audio/vnd.cns.anp1
-audio/vnd.cns.inf1
-audio/vnd.digital-winds
-audio/vnd.everad.plj
-audio/vnd.lucent.voice
-audio/vnd.nortel.vbk
-audio/vnd.nuera.ecelp4800
-audio/vnd.nuera.ecelp7470
-audio/vnd.nuera.ecelp9600
-audio/vnd.octel.sbc
-audio/vnd.qcelp
-audio/vnd.rhetorex.32kadpcm
-audio/vnd.vmx.cvsd
-audio/x-aiff aif aiff aifc
-audio/x-gsm gsm
-audio/x-mpegurl m3u
-audio/x-ms-wma wma
-audio/x-ms-wax wax
-audio/x-pn-realaudio-plugin
-audio/x-pn-realaudio ra rm ram
-audio/x-realaudio ra
-audio/x-scpls pls
-audio/x-sd2 sd2
-audio/x-wav wav
-
-chemical/x-alchemy alc
-chemical/x-cache cac cache
-chemical/x-cache-csf csf
-chemical/x-cactvs-binary cbin cascii ctab
-chemical/x-cdx cdx
-chemical/x-cerius cer
-chemical/x-chem3d c3d
-chemical/x-chemdraw chm
-chemical/x-cif cif
-chemical/x-cmdf cmdf
-chemical/x-cml cml
-chemical/x-compass cpa
-chemical/x-crossfire bsd
-chemical/x-csml csml csm
-chemical/x-ctx ctx
-chemical/x-cxf cxf cef
-#chemical/x-daylight-smiles smi
-chemical/x-embl-dl-nucleotide emb embl
-chemical/x-galactic-spc spc
-chemical/x-gamess-input inp gam gamin
-chemical/x-gaussian-checkpoint fch fchk
-chemical/x-gaussian-cube cub
-chemical/x-gaussian-input gau gjc gjf
-chemical/x-gaussian-log gal
-chemical/x-gcg8-sequence gcg
-chemical/x-genbank gen
-chemical/x-hin hin
-chemical/x-isostar istr ist
-chemical/x-jcamp-dx jdx dx
-chemical/x-kinemage kin
-chemical/x-macmolecule mcm
-chemical/x-macromodel-input mmd mmod
-chemical/x-mdl-molfile mol
-chemical/x-mdl-rdfile rd
-chemical/x-mdl-rxnfile rxn
-chemical/x-mdl-sdfile sd sdf
-chemical/x-mdl-tgf tgf
-#chemical/x-mif mif
-chemical/x-mmcif mcif
-chemical/x-mol2 mol2
-chemical/x-molconn-Z b
-chemical/x-mopac-graph gpt
-chemical/x-mopac-input mop mopcrt mpc zmt
-chemical/x-mopac-out moo
-chemical/x-mopac-vib mvb
-chemical/x-ncbi-asn1 asn
-chemical/x-ncbi-asn1-ascii prt ent
-chemical/x-ncbi-asn1-binary val aso
-chemical/x-ncbi-asn1-spec asn
-chemical/x-pdb pdb ent
-chemical/x-rosdal ros
-chemical/x-swissprot sw
-chemical/x-vamas-iso14976 vms
-chemical/x-vmd vmd
-chemical/x-xtel xtel
-chemical/x-xyz xyz
-
-font/collection ttc
-font/otf ttf otf
-font/sfnt ttf otf
-font/ttf ttf otf
-font/woff woff
-font/woff2 woff2
-
-image/cgm
-image/g3fax
-image/gif gif
-image/ief ief
-image/jp2 jp2 jpg2
-image/jpeg jpeg jpg jpe
-image/jpm jpm
-image/jpx jpx jpf
-image/naplps
-image/pcx pcx
-image/png png
-image/prs.btif
-image/prs.pti
-image/svg+xml svg svgz
-image/tiff tiff tif
-image/vnd.cns.inf2
-image/vnd.djvu djvu djv
-image/vnd.dwg
-image/vnd.dxf
-image/vnd.fastbidsheet
-image/vnd.fpx
-image/vnd.fst
-image/vnd.fujixerox.edmics-mmr
-image/vnd.fujixerox.edmics-rlc
-image/vnd.microsoft.icon ico
-image/vnd.mix
-image/vnd.net-fpx
-image/vnd.svf
-image/vnd.wap.wbmp wbmp
-image/vnd.xiff
-image/x-canon-cr2 cr2
-image/x-canon-crw crw
-image/x-cmu-raster ras
-image/x-coreldraw cdr
-image/x-coreldrawpattern pat
-image/x-coreldrawtemplate cdt
-image/x-corelphotopaint cpt
-image/x-epson-erf erf
-image/x-icon
-image/x-jg art
-image/x-jng jng
-image/x-ms-bmp bmp
-image/x-nikon-nef nef
-image/x-olympus-orf orf
-image/x-photoshop psd
-image/x-portable-anymap pnm
-image/x-portable-bitmap pbm
-image/x-portable-graymap pgm
-image/x-portable-pixmap ppm
-image/x-rgb rgb
-image/x-xbitmap xbm
-image/x-xpixmap xpm
-image/x-xwindowdump xwd
-
-inode/chardevice
-inode/blockdevice
-inode/directory-locked
-inode/directory
-inode/fifo
-inode/socket
-
-message/delivery-status
-message/disposition-notification
-message/external-body
-message/http
-message/s-http
-message/news
-message/partial
-message/rfc822 eml
-
-model/iges igs iges
-model/mesh msh mesh silo
-model/vnd.dwf
-model/vnd.flatland.3dml
-model/vnd.gdl
-model/vnd.gs-gdl
-model/vnd.gtw
-model/vnd.mts
-model/vnd.vtu
-model/vrml wrl vrml
-model/x3d+vrml x3dv
-model/x3d+xml x3d
-model/x3d+binary x3db
-
-multipart/alternative
-multipart/appledouble
-multipart/byteranges
-multipart/digest
-multipart/encrypted
-multipart/form-data
-multipart/header-set
-multipart/mixed
-multipart/parallel
-multipart/related
-multipart/report
-multipart/signed
-multipart/voice-message
-
-text/cache-manifest appcache
-text/calendar ics icz
-text/css css
-text/csv csv
-text/directory
-text/english
-text/enriched
-text/h323 323
-text/html html htm shtml
-text/iuls uls
-text/mathml mml
-text/markdown md markdown
-text/parityfec
-text/plain asc txt text pot brf srt
-text/prs.lines.tag
-text/rfc822-headers
-text/richtext rtx
-text/rtf
-text/scriptlet sct wsc
-text/t140
-text/texmacs tm
-text/tab-separated-values tsv
-text/turtle ttl
-text/uri-list
-text/vcard vcf vcard
-text/vnd.abc
-text/vnd.curl
-text/vnd.debian.copyright
-text/vnd.DMClientScript
-text/vnd.flatland.3dml
-text/vnd.fly
-text/vnd.fmi.flexstor
-text/vnd.in3d.3dml
-text/vnd.in3d.spot
-text/vnd.IPTC.NewsML
-text/vnd.IPTC.NITF
-text/vnd.latex-z
-text/vnd.motorola.reflex
-text/vnd.ms-mediapackage
-text/vnd.sun.j2me.app-descriptor jad
-text/vnd.wap.si
-text/vnd.wap.sl
-text/vnd.wap.wml wml
-text/vnd.wap.wmlscript wmls
-text/x-bibtex bib
-text/x-boo boo
-text/x-c++hdr h++ hpp hxx hh
-text/x-c++src c++ cpp cxx cc
-text/x-chdr h
-text/x-component htc
-text/x-crontab
-text/x-csh csh
-text/x-csrc c
-text/x-dsrc d
-text/x-diff diff patch
-text/x-haskell hs
-text/x-java java
-text/x-lilypond ly
-text/x-literate-haskell lhs
-text/x-makefile
-text/x-moc moc
-text/x-pascal p pas
-text/x-pcs-gcd gcd
-text/x-perl pl pm
-text/x-python py
-text/x-scala scala
-text/x-server-parsed-html
-text/x-setext etx
-text/x-sfv sfv
-text/x-sh sh
-text/x-tcl tcl tk
-text/x-tex tex ltx sty cls
-text/x-vcalendar vcs
-
-video/3gpp 3gp
-video/annodex axv
-video/dl dl
-video/dv dif dv
-video/fli fli
-video/gl gl
-video/mpeg mpeg mpg mpe
-video/MP2T ts
-video/mp4 mp4
-video/quicktime qt mov
-video/mp4v-es
-video/ogg ogv
-video/parityfec
-video/pointer
-video/webm webm
-video/vnd.fvt
-video/vnd.motorola.video
-video/vnd.motorola.videop
-video/vnd.mpegurl mxu
-video/vnd.mts
-video/vnd.nokia.interleaved-multimedia
-video/vnd.vivo
-video/x-flv flv
-video/x-la-asf lsf lsx
-video/x-mng mng
-video/x-ms-asf asf asx
-video/x-ms-wm wm
-video/x-ms-wmv wmv
-video/x-ms-wmx wmx
-video/x-ms-wvx wvx
-video/x-msvideo avi
-video/x-sgi-movie movie
-video/x-matroska mpv mkv
-
-x-conference/x-cooltalk ice
-
-x-epoc/x-sisx-app sisx
-x-world/x-vrml vrm vrml wrl
diff --git a/luni/src/main/java/libcore/net/mime.types.README b/luni/src/main/java/libcore/net/mime.types.README
deleted file mode 100644
index a9707b743b6..00000000000
--- a/luni/src/main/java/libcore/net/mime.types.README
+++ /dev/null
@@ -1,13 +0,0 @@
-Debian is the upstream for this mapping file:
-https://salsa.debian.org/debian/mime-support
-
-Last updated to version debian/3.61 (commit
-d4bbcca4ba04582ad1d253d82fc139bb23841a43).
-
-Copyright: public-domain
-License: ad-hoc
- This package was written by Brian White <bcwhite@pobox.com> and others.
- It contains public information compiled from around the 'net and many people.
- .
- The "update-mime" program was written by Brian White and has been
- placed in the public domain.
diff --git a/luni/src/main/java/libcore/timezone/TimeZoneDataFiles.java b/luni/src/main/java/libcore/timezone/TimeZoneDataFiles.java
index a571ec7fc22..d95ff502797 100644
--- a/luni/src/main/java/libcore/timezone/TimeZoneDataFiles.java
+++ b/luni/src/main/java/libcore/timezone/TimeZoneDataFiles.java
@@ -27,7 +27,7 @@ import java.util.List;
@libcore.api.CorePlatformApi
public final class TimeZoneDataFiles {
private static final String ANDROID_ROOT_ENV = "ANDROID_ROOT";
- private static final String ANDROID_RUNTIME_ROOT_ENV = "ANDROID_RUNTIME_ROOT";
+ private static final String ANDROID_I18N_ROOT_ENV = "ANDROID_I18N_ROOT";
private static final String ANDROID_TZDATA_ROOT_ENV = "ANDROID_TZDATA_ROOT";
private static final String ANDROID_DATA_ENV = "ANDROID_DATA";
@@ -79,12 +79,12 @@ public final class TimeZoneDataFiles {
return System.getenv(ANDROID_TZDATA_ROOT_ENV) + "/etc/" + fileName;
}
- public static String getRuntimeModuleIcuFile(String fileName) {
- return getRuntimeModuleFile("icu/" + fileName);
+ public static String getI18nModuleIcuFile(String fileName) {
+ return getI18nModuleFile("icu/" + fileName);
}
- private static String getRuntimeModuleFile(String fileName) {
- return System.getenv(ANDROID_RUNTIME_ROOT_ENV) + "/etc/" + fileName;
+ private static String getI18nModuleFile(String fileName) {
+ return System.getenv(ANDROID_I18N_ROOT_ENV) + "/etc/" + fileName;
}
public static String getSystemTzFile(String fileName) {
@@ -114,10 +114,10 @@ public final class TimeZoneDataFiles {
String timeZoneModuleIcuDataPath = getTimeZoneModuleIcuFile("");
paths.add(timeZoneModuleIcuDataPath);
- // ICU should always look in the runtime module path as this is where most of the data
+ // ICU should always look in the i18n module path as this is where most of the data
// can be found.
- String runtimeModuleIcuDataPath = getRuntimeModuleIcuFile("");
- paths.add(runtimeModuleIcuDataPath);
+ String i18nModuleIcuDataPath = getI18nModuleIcuFile("");
+ paths.add(i18nModuleIcuDataPath);
return String.join(":", paths);
}
diff --git a/luni/src/test/java/libcore/java/lang/PackageTest.java b/luni/src/test/java/libcore/java/lang/PackageTest.java
index 672af5dcc29..68f3b5daad4 100644
--- a/luni/src/test/java/libcore/java/lang/PackageTest.java
+++ b/luni/src/test/java/libcore/java/lang/PackageTest.java
@@ -22,9 +22,11 @@ import java.util.List;
import libcore.junit.junit3.TestCaseWithRules;
import libcore.junit.util.SwitchTargetSdkVersionRule;
import libcore.junit.util.SwitchTargetSdkVersionRule.TargetSdkVersion;
+import libcore.testing.categories.Example;
import org.junit.Rule;
import org.junit.rules.TestRule;
+@Example
public final class PackageTest extends TestCaseWithRules {
@Rule
diff --git a/luni/src/test/java/libcore/java/util/ComparatorTest.java b/luni/src/test/java/libcore/java/util/ComparatorTest.java
index a636ea6b10b..6516df5aff0 100644
--- a/luni/src/test/java/libcore/java/util/ComparatorTest.java
+++ b/luni/src/test/java/libcore/java/util/ComparatorTest.java
@@ -16,6 +16,7 @@
package libcore.java.util;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
@@ -35,17 +36,22 @@ public final class ComparatorTest extends TestCase {
private static final Item ONEZERO = new Item(1, 0);
private static final Item ONEONE = new Item(1, 1);
- private static final Item[] orderedItems = new Item[]{ZERO, ONE, TWO, THREE, FOUR};
- private static final Item[] nullsFirstItems = new Item[]{null, ZERO, ONE, TWO, THREE, FOUR};
- private static final Item[] nullsLastItems = new Item[]{ZERO, ONE, TWO, THREE, FOUR, null};
- private static final Item[] orderedItemsMatrix = new Item[]{ZEROZERO, ZEROONE, ONEZERO, ONEONE};
-
- private <T> void checkComparison(Comparator<T> comparator, T[] items) {
- for (int i = 0; i < items.length - 1; ++i) {
- assertEquals(0, comparator.compare(items[i], items[i]));
- for (int j = i + 1; j < items.length; ++j) {
- assertTrue(comparator.compare(items[i], items[j]) < 0);
- assertTrue(comparator.compare(items[j], items[i]) > 0);
+ private final List<Item> orderedItems = listOf(ZERO, ONE, TWO, THREE, FOUR);
+ private final List<Item> nullsFirstItems = listOf(null, ZERO, ONE, TWO, THREE, FOUR);
+ private final List<Item> nullsLastItems = listOf(ZERO, ONE, TWO, THREE, FOUR, null);
+ private final List<Item> orderedItemsMatrix = listOf(ZEROZERO, ZEROONE, ONEZERO, ONEONE);
+
+ private static<T> List<T> listOf(T... values) {
+ return Collections.unmodifiableList(Arrays.asList(values));
+ }
+
+ private <T> void checkComparison(Comparator<T> comparator, List<T> items) {
+ for (int i = 0; i < items.size() - 1; ++i) {
+ T a = items.get(i);
+ assertEquals(0, comparator.compare(a, a));
+ for (T b : items.subList(i+1, items.size())) {
+ assertTrue(comparator.compare(a, b) < 0);
+ assertTrue(comparator.compare(b, a) > 0);
}
}
}
@@ -83,10 +89,11 @@ public final class ComparatorTest extends TestCase {
}
public void testReverseOrder() {
- List<Item> itemsList = Arrays.asList(orderedItems);
+ // Make a copy that we can reverse. http://b/139015474
+ List<Item> itemsList = new ArrayList<>(orderedItems);
Collections.reverse(itemsList);
Comparator<Item> comparator = Comparator.reverseOrder();
- checkComparison(comparator, (Item[]) itemsList.toArray());
+ checkComparison(comparator, itemsList);
}
public void testReverse() {
diff --git a/luni/src/test/java/libcore/java/util/LocaleTest.java b/luni/src/test/java/libcore/java/util/LocaleTest.java
index 33e427c38c6..3efe94e3a1c 100644
--- a/luni/src/test/java/libcore/java/util/LocaleTest.java
+++ b/luni/src/test/java/libcore/java/util/LocaleTest.java
@@ -156,12 +156,12 @@ public class LocaleTest extends junit.framework.TestCase {
public void test_getDisplayCountry_8870289() throws Exception {
assertEquals("Hong Kong", new Locale("", "HK").getDisplayCountry(Locale.US));
- assertEquals("Macau", new Locale("", "MO").getDisplayCountry(Locale.US));
+ assertEquals("Macao", new Locale("", "MO").getDisplayCountry(Locale.US));
assertEquals("Palestine", new Locale("", "PS").getDisplayCountry(Locale.US));
assertEquals("Cocos (Keeling) Islands", new Locale("", "CC").getDisplayCountry(Locale.US));
assertEquals("Falkland Islands (Islas Malvinas)", new Locale("", "FK").getDisplayCountry(Locale.US));
- assertEquals("Macedonia (FYROM)", new Locale("", "MK").getDisplayCountry(Locale.US));
+ assertEquals("North Macedonia", new Locale("", "MK").getDisplayCountry(Locale.US));
assertEquals("Myanmar (Burma)", new Locale("", "MM").getDisplayCountry(Locale.US));
assertEquals("Taiwan", new Locale("", "TW").getDisplayCountry(Locale.US));
}
diff --git a/luni/src/test/java/libcore/libcore/icu/TimeZoneIntegrationTest.java b/luni/src/test/java/libcore/libcore/icu/TimeZoneIntegrationTest.java
index b23e33de376..3470eb810f0 100644
--- a/luni/src/test/java/libcore/libcore/icu/TimeZoneIntegrationTest.java
+++ b/luni/src/test/java/libcore/libcore/icu/TimeZoneIntegrationTest.java
@@ -281,8 +281,8 @@ public class TimeZoneIntegrationTest {
}
String icuDatFileName = "icudt" + VersionInfo.ICU_VERSION.getMajor() + "l.dat";
- String runtimeModuleIcuData = TimeZoneDataFiles.getRuntimeModuleIcuFile(icuDatFileName);
- assertFileExists(runtimeModuleIcuData);
+ String i18nModuleIcuData = TimeZoneDataFiles.getI18nModuleIcuFile(icuDatFileName);
+ assertFileExists(i18nModuleIcuData);
// Devices currently have a subset of the time zone files in /system. These are going away
// but we test them while they exist. Host ART should match device.
@@ -300,7 +300,7 @@ public class TimeZoneIntegrationTest {
// exists we can say it should resolve (realpath) to the same file as the runtime module.
String systemIcuData = TimeZoneDataFiles.getSystemIcuFile(icuDatFileName);
if (new File(systemIcuData).exists()) {
- assertEquals(Os.realpath(runtimeModuleIcuData), Os.realpath(systemIcuData));
+ assertEquals(Os.realpath(i18nModuleIcuData), Os.realpath(systemIcuData));
}
}
diff --git a/luni/src/test/java/libcore/libcore/timezone/TimeZoneDataFilesTest.java b/luni/src/test/java/libcore/libcore/timezone/TimeZoneDataFilesTest.java
index 14eb74d631c..282b18e7e36 100644
--- a/luni/src/test/java/libcore/libcore/timezone/TimeZoneDataFilesTest.java
+++ b/luni/src/test/java/libcore/libcore/timezone/TimeZoneDataFilesTest.java
@@ -27,13 +27,13 @@ import static org.junit.Assert.assertTrue;
public class TimeZoneDataFilesTest {
private static final String ANDROID_TZDATA_ROOT_ENV = "ANDROID_TZDATA_ROOT";
- private static final String ANDROID_RUNTIME_ROOT_ENV = "ANDROID_RUNTIME_ROOT";
+ private static final String ANDROID_I18N_ROOT_ENV = "ANDROID_I18N_ROOT";
@Test
public void expectedEnvironmentVariables() {
// These environment variables are required to locate data files used by libcore / ICU.
assertNotNull(System.getenv(ANDROID_TZDATA_ROOT_ENV));
- assertNotNull(System.getenv(ANDROID_RUNTIME_ROOT_ENV));
+ assertNotNull(System.getenv(ANDROID_I18N_ROOT_ENV));
}
@Test
@@ -66,7 +66,7 @@ public class TimeZoneDataFilesTest {
String runtimeModulePath = paths[2];
assertTrue(runtimeModulePath + " invalid",
- runtimeModulePath.startsWith(System.getenv(ANDROID_RUNTIME_ROOT_ENV)));
+ runtimeModulePath.startsWith(System.getenv(ANDROID_I18N_ROOT_ENV)));
assertTrue(runtimeModulePath + " invalid", runtimeModulePath.contains("/etc/icu"));
}
}
diff --git a/luni/src/test/java/tests/security/cert/CertPathBuilder1Test.java b/luni/src/test/java/tests/security/cert/CertPathBuilder1Test.java
index aae021b830e..20597db2c91 100644
--- a/luni/src/test/java/tests/security/cert/CertPathBuilder1Test.java
+++ b/luni/src/test/java/tests/security/cert/CertPathBuilder1Test.java
@@ -22,8 +22,6 @@
package tests.security.cert;
-import dalvik.annotation.KnownFailure;
-
import org.apache.harmony.security.tests.support.SpiEngUtils;
import org.apache.harmony.security.tests.support.cert.MyCertPathBuilderSpi;
import org.apache.harmony.security.tests.support.cert.TestUtils;
@@ -316,8 +314,6 @@ public class CertPathBuilder1Test extends TestCase {
}
}
- // Test passed on RI
- @KnownFailure(value="expired certificate bug 2322662")
public void testBuild() throws Exception {
TestUtils.initCertPathSSCertChain();
CertPathParameters params = TestUtils.getCertPathParameters();
diff --git a/mmodules/core_platform_api/api/platform/current-api.txt b/mmodules/core_platform_api/api/platform/current-api.txt
index e3b8d9c88c1..c1f808fd152 100644
--- a/mmodules/core_platform_api/api/platform/current-api.txt
+++ b/mmodules/core_platform_api/api/platform/current-api.txt
@@ -815,6 +815,7 @@ package dalvik.system {
public final class VMRuntime {
method @dalvik.annotation.compat.UnsupportedAppUsage @dalvik.annotation.optimization.FastNative public long addressOf(Object);
+ method public static void bootCompleted();
method public void clampGrowthLimit();
method @dalvik.annotation.compat.UnsupportedAppUsage public void clearGrowthLimit();
method public static boolean didPruneDalvikCache();
diff --git a/mmodules/intracoreapi/Android.bp b/mmodules/intracoreapi/Android.bp
index fab9d83b1d2..dc0099a2a21 100644
--- a/mmodules/intracoreapi/Android.bp
+++ b/mmodules/intracoreapi/Android.bp
@@ -71,13 +71,14 @@ java_system_modules {
libs: ["core.intra.stubs"],
}
-// A rule that checks we can build core-libart and core-oj using only the source
-// for core-libart and core-oj and the APIs in core-intra-stubs. This proves we
-// don't actually depend on things from (for example) conscrypt we haven't added
-// to the intra-core API.
+// A rule that checks we can build core-icu4j, core-libart and core-oj using only
+// the source for core-libart and core-oj and the APIs in core-intra-stubs.
+// This proves we don't actually depend on things from (for example) conscrypt we
+// haven't added to the intra-core API.
java_library {
name: "core-libart-oj.depscheck",
srcs: [
+ ":android_icu4j_src_files",
":core_libart_java_files",
":core_oj_java_files",
],
diff --git a/mmodules/intracoreapi/api/intra/current-api.txt b/mmodules/intracoreapi/api/intra/current-api.txt
index 740313876f0..b18a1705724 100644
--- a/mmodules/intracoreapi/api/intra/current-api.txt
+++ b/mmodules/intracoreapi/api/intra/current-api.txt
@@ -103,164 +103,213 @@ package com.android.org.conscrypt {
ctor @libcore.api.IntraCoreApi public OAEPParameters();
}
+ @libcore.api.IntraCoreApi public abstract class OpenSSLAeadCipher extends com.android.org.conscrypt.OpenSSLCipher {
+ }
+
+ @libcore.api.IntraCoreApi public abstract class OpenSSLAeadCipherAES extends com.android.org.conscrypt.OpenSSLAeadCipher {
+ }
+
+ @libcore.api.IntraCoreApi public static class OpenSSLAeadCipherAES.GCM extends com.android.org.conscrypt.OpenSSLAeadCipherAES {
+ ctor @libcore.api.IntraCoreApi public OpenSSLAeadCipherAES.GCM();
+ }
+
+ @libcore.api.IntraCoreApi public static class OpenSSLAeadCipherAES.GCM.AES_128 extends com.android.org.conscrypt.OpenSSLAeadCipherAES.GCM {
+ ctor @libcore.api.IntraCoreApi public OpenSSLAeadCipherAES.GCM.AES_128();
+ }
+
+ @libcore.api.IntraCoreApi public static class OpenSSLAeadCipherAES.GCM.AES_256 extends com.android.org.conscrypt.OpenSSLAeadCipherAES.GCM {
+ ctor @libcore.api.IntraCoreApi public OpenSSLAeadCipherAES.GCM.AES_256();
+ }
+
+ @libcore.api.IntraCoreApi public static class OpenSSLAeadCipherAES.GCM_SIV extends com.android.org.conscrypt.OpenSSLAeadCipherAES {
+ ctor @libcore.api.IntraCoreApi public OpenSSLAeadCipherAES.GCM_SIV();
+ }
+
+ @libcore.api.IntraCoreApi public static class OpenSSLAeadCipherAES.GCM_SIV.AES_128 extends com.android.org.conscrypt.OpenSSLAeadCipherAES.GCM_SIV {
+ ctor @libcore.api.IntraCoreApi public OpenSSLAeadCipherAES.GCM_SIV.AES_128();
+ }
+
+ @libcore.api.IntraCoreApi public static class OpenSSLAeadCipherAES.GCM_SIV.AES_256 extends com.android.org.conscrypt.OpenSSLAeadCipherAES.GCM_SIV {
+ ctor @libcore.api.IntraCoreApi public OpenSSLAeadCipherAES.GCM_SIV.AES_256();
+ }
+
+ @libcore.api.IntraCoreApi public class OpenSSLAeadCipherChaCha20 extends com.android.org.conscrypt.OpenSSLAeadCipher {
+ ctor @libcore.api.IntraCoreApi public OpenSSLAeadCipherChaCha20();
+ }
+
@libcore.api.IntraCoreApi public abstract class OpenSSLCipher extends javax.crypto.CipherSpi {
}
- @libcore.api.IntraCoreApi public abstract static class OpenSSLCipher.EVP_AEAD extends com.android.org.conscrypt.OpenSSLCipher {
+ @libcore.api.IntraCoreApi public class OpenSSLCipherChaCha20 extends com.android.org.conscrypt.OpenSSLCipher {
+ ctor @libcore.api.IntraCoreApi public OpenSSLCipherChaCha20();
+ }
+
+ @libcore.api.IntraCoreApi public abstract class OpenSSLCipherRSA extends javax.crypto.CipherSpi {
}
- @libcore.api.IntraCoreApi public abstract static class OpenSSLCipher.EVP_AEAD.AES extends com.android.org.conscrypt.OpenSSLCipher.EVP_AEAD {
+ @libcore.api.IntraCoreApi public static class OpenSSLCipherRSA.OAEP extends com.android.org.conscrypt.OpenSSLCipherRSA {
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_AEAD.AES.GCM extends com.android.org.conscrypt.OpenSSLCipher.EVP_AEAD.AES {
- ctor @libcore.api.IntraCoreApi public OpenSSLCipher.EVP_AEAD.AES.GCM();
+ @libcore.api.IntraCoreApi public static final class OpenSSLCipherRSA.OAEP.SHA1 extends com.android.org.conscrypt.OpenSSLCipherRSA.OAEP {
+ ctor @libcore.api.IntraCoreApi public OpenSSLCipherRSA.OAEP.SHA1();
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_AEAD.AES.GCM.AES_128 extends com.android.org.conscrypt.OpenSSLCipher.EVP_AEAD.AES.GCM {
- ctor @libcore.api.IntraCoreApi public OpenSSLCipher.EVP_AEAD.AES.GCM.AES_128();
+ @libcore.api.IntraCoreApi public static final class OpenSSLCipherRSA.OAEP.SHA224 extends com.android.org.conscrypt.OpenSSLCipherRSA.OAEP {
+ ctor @libcore.api.IntraCoreApi public OpenSSLCipherRSA.OAEP.SHA224();
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_AEAD.AES.GCM.AES_256 extends com.android.org.conscrypt.OpenSSLCipher.EVP_AEAD.AES.GCM {
- ctor @libcore.api.IntraCoreApi public OpenSSLCipher.EVP_AEAD.AES.GCM.AES_256();
+ @libcore.api.IntraCoreApi public static final class OpenSSLCipherRSA.OAEP.SHA256 extends com.android.org.conscrypt.OpenSSLCipherRSA.OAEP {
+ ctor @libcore.api.IntraCoreApi public OpenSSLCipherRSA.OAEP.SHA256();
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_AEAD.ChaCha20 extends com.android.org.conscrypt.OpenSSLCipher.EVP_AEAD {
- ctor @libcore.api.IntraCoreApi public OpenSSLCipher.EVP_AEAD.ChaCha20();
+ @libcore.api.IntraCoreApi public static final class OpenSSLCipherRSA.OAEP.SHA384 extends com.android.org.conscrypt.OpenSSLCipherRSA.OAEP {
+ ctor @libcore.api.IntraCoreApi public OpenSSLCipherRSA.OAEP.SHA384();
}
- @libcore.api.IntraCoreApi public abstract static class OpenSSLCipher.EVP_CIPHER extends com.android.org.conscrypt.OpenSSLCipher {
+ @libcore.api.IntraCoreApi public static final class OpenSSLCipherRSA.OAEP.SHA512 extends com.android.org.conscrypt.OpenSSLCipherRSA.OAEP {
+ ctor @libcore.api.IntraCoreApi public OpenSSLCipherRSA.OAEP.SHA512();
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_CIPHER.AES extends com.android.org.conscrypt.OpenSSLCipher.EVP_CIPHER {
+ @libcore.api.IntraCoreApi public static final class OpenSSLCipherRSA.PKCS1 extends com.android.org.conscrypt.OpenSSLCipherRSA {
+ ctor @libcore.api.IntraCoreApi public OpenSSLCipherRSA.PKCS1();
+ }
+
+ @libcore.api.IntraCoreApi public static final class OpenSSLCipherRSA.Raw extends com.android.org.conscrypt.OpenSSLCipherRSA {
+ ctor @libcore.api.IntraCoreApi public OpenSSLCipherRSA.Raw();
+ }
+
+ @libcore.api.IntraCoreApi public abstract class OpenSSLContextImpl extends javax.net.ssl.SSLContextSpi {
+ }
+
+ @libcore.api.IntraCoreApi public static final class OpenSSLContextImpl.TLSv1 extends com.android.org.conscrypt.OpenSSLContextImpl {
+ ctor @libcore.api.IntraCoreApi public OpenSSLContextImpl.TLSv1();
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_CIPHER.AES.CBC extends com.android.org.conscrypt.OpenSSLCipher.EVP_CIPHER.AES {
+ @libcore.api.IntraCoreApi public static final class OpenSSLContextImpl.TLSv11 extends com.android.org.conscrypt.OpenSSLContextImpl {
+ ctor @libcore.api.IntraCoreApi public OpenSSLContextImpl.TLSv11();
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_CIPHER.AES.CBC.NoPadding extends com.android.org.conscrypt.OpenSSLCipher.EVP_CIPHER.AES.CBC {
- ctor @libcore.api.IntraCoreApi public OpenSSLCipher.EVP_CIPHER.AES.CBC.NoPadding();
+ @libcore.api.IntraCoreApi public static final class OpenSSLContextImpl.TLSv12 extends com.android.org.conscrypt.OpenSSLContextImpl {
+ ctor @dalvik.annotation.compat.UnsupportedAppUsage @libcore.api.IntraCoreApi public OpenSSLContextImpl.TLSv12();
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_CIPHER.AES.CBC.PKCS5Padding extends com.android.org.conscrypt.OpenSSLCipher.EVP_CIPHER.AES.CBC {
- ctor @libcore.api.IntraCoreApi public OpenSSLCipher.EVP_CIPHER.AES.CBC.PKCS5Padding();
+ @libcore.api.IntraCoreApi public static final class OpenSSLContextImpl.TLSv13 extends com.android.org.conscrypt.OpenSSLContextImpl {
+ ctor @libcore.api.IntraCoreApi public OpenSSLContextImpl.TLSv13();
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_CIPHER.AES.CTR extends com.android.org.conscrypt.OpenSSLCipher.EVP_CIPHER.AES {
- ctor @libcore.api.IntraCoreApi public OpenSSLCipher.EVP_CIPHER.AES.CTR();
+ @libcore.api.IntraCoreApi public final class OpenSSLECDHKeyAgreement extends javax.crypto.KeyAgreementSpi {
+ ctor @libcore.api.IntraCoreApi public OpenSSLECDHKeyAgreement();
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_CIPHER.AES.ECB extends com.android.org.conscrypt.OpenSSLCipher.EVP_CIPHER.AES {
+ @libcore.api.IntraCoreApi public final class OpenSSLECKeyFactory extends java.security.KeyFactorySpi {
+ ctor @libcore.api.IntraCoreApi public OpenSSLECKeyFactory();
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_CIPHER.AES.ECB.NoPadding extends com.android.org.conscrypt.OpenSSLCipher.EVP_CIPHER.AES.ECB {
- ctor @libcore.api.IntraCoreApi public OpenSSLCipher.EVP_CIPHER.AES.ECB.NoPadding();
+ @libcore.api.IntraCoreApi public final class OpenSSLECKeyPairGenerator extends java.security.KeyPairGenerator {
+ ctor @libcore.api.IntraCoreApi public OpenSSLECKeyPairGenerator();
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_CIPHER.AES.ECB.PKCS5Padding extends com.android.org.conscrypt.OpenSSLCipher.EVP_CIPHER.AES.ECB {
- ctor @libcore.api.IntraCoreApi public OpenSSLCipher.EVP_CIPHER.AES.ECB.PKCS5Padding();
+ @libcore.api.IntraCoreApi public abstract class OpenSSLEvpCipher extends com.android.org.conscrypt.OpenSSLCipher {
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_CIPHER.AES_128 extends com.android.org.conscrypt.OpenSSLCipher.EVP_CIPHER {
+ @libcore.api.IntraCoreApi public abstract class OpenSSLEvpCipherAES extends com.android.org.conscrypt.OpenSSLEvpCipher {
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_CIPHER.AES_128.CBC extends com.android.org.conscrypt.OpenSSLCipher.EVP_CIPHER.AES_128 {
+ @libcore.api.IntraCoreApi public static class OpenSSLEvpCipherAES.AES extends com.android.org.conscrypt.OpenSSLEvpCipherAES {
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_CIPHER.AES_128.CBC.NoPadding extends com.android.org.conscrypt.OpenSSLCipher.EVP_CIPHER.AES_128.CBC {
- ctor @libcore.api.IntraCoreApi public OpenSSLCipher.EVP_CIPHER.AES_128.CBC.NoPadding();
+ @libcore.api.IntraCoreApi public static class OpenSSLEvpCipherAES.AES.CBC extends com.android.org.conscrypt.OpenSSLEvpCipherAES.AES {
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_CIPHER.AES_128.CBC.PKCS5Padding extends com.android.org.conscrypt.OpenSSLCipher.EVP_CIPHER.AES_128.CBC {
- ctor @libcore.api.IntraCoreApi public OpenSSLCipher.EVP_CIPHER.AES_128.CBC.PKCS5Padding();
+ @libcore.api.IntraCoreApi public static class OpenSSLEvpCipherAES.AES.CBC.NoPadding extends com.android.org.conscrypt.OpenSSLEvpCipherAES.AES.CBC {
+ ctor @libcore.api.IntraCoreApi public OpenSSLEvpCipherAES.AES.CBC.NoPadding();
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_CIPHER.AES_128.ECB extends com.android.org.conscrypt.OpenSSLCipher.EVP_CIPHER.AES_128 {
+ @libcore.api.IntraCoreApi public static class OpenSSLEvpCipherAES.AES.CBC.PKCS5Padding extends com.android.org.conscrypt.OpenSSLEvpCipherAES.AES.CBC {
+ ctor @libcore.api.IntraCoreApi public OpenSSLEvpCipherAES.AES.CBC.PKCS5Padding();
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_CIPHER.AES_128.ECB.NoPadding extends com.android.org.conscrypt.OpenSSLCipher.EVP_CIPHER.AES_128.ECB {
- ctor @libcore.api.IntraCoreApi public OpenSSLCipher.EVP_CIPHER.AES_128.ECB.NoPadding();
+ @libcore.api.IntraCoreApi public static class OpenSSLEvpCipherAES.AES.CTR extends com.android.org.conscrypt.OpenSSLEvpCipherAES.AES {
+ ctor @libcore.api.IntraCoreApi public OpenSSLEvpCipherAES.AES.CTR();
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_CIPHER.AES_128.ECB.PKCS5Padding extends com.android.org.conscrypt.OpenSSLCipher.EVP_CIPHER.AES_128.ECB {
- ctor @libcore.api.IntraCoreApi public OpenSSLCipher.EVP_CIPHER.AES_128.ECB.PKCS5Padding();
+ @libcore.api.IntraCoreApi public static class OpenSSLEvpCipherAES.AES.ECB extends com.android.org.conscrypt.OpenSSLEvpCipherAES.AES {
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_CIPHER.AES_256 extends com.android.org.conscrypt.OpenSSLCipher.EVP_CIPHER {
+ @libcore.api.IntraCoreApi public static class OpenSSLEvpCipherAES.AES.ECB.NoPadding extends com.android.org.conscrypt.OpenSSLEvpCipherAES.AES.ECB {
+ ctor @libcore.api.IntraCoreApi public OpenSSLEvpCipherAES.AES.ECB.NoPadding();
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_CIPHER.AES_256.CBC extends com.android.org.conscrypt.OpenSSLCipher.EVP_CIPHER.AES_256 {
+ @libcore.api.IntraCoreApi public static class OpenSSLEvpCipherAES.AES.ECB.PKCS5Padding extends com.android.org.conscrypt.OpenSSLEvpCipherAES.AES.ECB {
+ ctor @libcore.api.IntraCoreApi public OpenSSLEvpCipherAES.AES.ECB.PKCS5Padding();
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_CIPHER.AES_256.CBC.NoPadding extends com.android.org.conscrypt.OpenSSLCipher.EVP_CIPHER.AES_256.CBC {
- ctor @libcore.api.IntraCoreApi public OpenSSLCipher.EVP_CIPHER.AES_256.CBC.NoPadding();
+ @libcore.api.IntraCoreApi public static class OpenSSLEvpCipherAES.AES_128 extends com.android.org.conscrypt.OpenSSLEvpCipherAES {
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_CIPHER.AES_256.CBC.PKCS5Padding extends com.android.org.conscrypt.OpenSSLCipher.EVP_CIPHER.AES_256.CBC {
- ctor @libcore.api.IntraCoreApi public OpenSSLCipher.EVP_CIPHER.AES_256.CBC.PKCS5Padding();
+ @libcore.api.IntraCoreApi public static class OpenSSLEvpCipherAES.AES_128.CBC extends com.android.org.conscrypt.OpenSSLEvpCipherAES.AES_128 {
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_CIPHER.AES_256.ECB extends com.android.org.conscrypt.OpenSSLCipher.EVP_CIPHER.AES_256 {
+ @libcore.api.IntraCoreApi public static class OpenSSLEvpCipherAES.AES_128.CBC.NoPadding extends com.android.org.conscrypt.OpenSSLEvpCipherAES.AES_128.CBC {
+ ctor @libcore.api.IntraCoreApi public OpenSSLEvpCipherAES.AES_128.CBC.NoPadding();
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_CIPHER.AES_256.ECB.NoPadding extends com.android.org.conscrypt.OpenSSLCipher.EVP_CIPHER.AES_256.ECB {
- ctor @libcore.api.IntraCoreApi public OpenSSLCipher.EVP_CIPHER.AES_256.ECB.NoPadding();
+ @libcore.api.IntraCoreApi public static class OpenSSLEvpCipherAES.AES_128.CBC.PKCS5Padding extends com.android.org.conscrypt.OpenSSLEvpCipherAES.AES_128.CBC {
+ ctor @libcore.api.IntraCoreApi public OpenSSLEvpCipherAES.AES_128.CBC.PKCS5Padding();
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_CIPHER.AES_256.ECB.PKCS5Padding extends com.android.org.conscrypt.OpenSSLCipher.EVP_CIPHER.AES_256.ECB {
- ctor @libcore.api.IntraCoreApi public OpenSSLCipher.EVP_CIPHER.AES_256.ECB.PKCS5Padding();
+ @libcore.api.IntraCoreApi public static class OpenSSLEvpCipherAES.AES_128.ECB extends com.android.org.conscrypt.OpenSSLEvpCipherAES.AES_128 {
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_CIPHER.ARC4 extends com.android.org.conscrypt.OpenSSLCipher.EVP_CIPHER {
- ctor @libcore.api.IntraCoreApi public OpenSSLCipher.EVP_CIPHER.ARC4();
+ @libcore.api.IntraCoreApi public static class OpenSSLEvpCipherAES.AES_128.ECB.NoPadding extends com.android.org.conscrypt.OpenSSLEvpCipherAES.AES_128.ECB {
+ ctor @libcore.api.IntraCoreApi public OpenSSLEvpCipherAES.AES_128.ECB.NoPadding();
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_CIPHER.DESEDE extends com.android.org.conscrypt.OpenSSLCipher.EVP_CIPHER {
+ @libcore.api.IntraCoreApi public static class OpenSSLEvpCipherAES.AES_128.ECB.PKCS5Padding extends com.android.org.conscrypt.OpenSSLEvpCipherAES.AES_128.ECB {
+ ctor @libcore.api.IntraCoreApi public OpenSSLEvpCipherAES.AES_128.ECB.PKCS5Padding();
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_CIPHER.DESEDE.CBC extends com.android.org.conscrypt.OpenSSLCipher.EVP_CIPHER.DESEDE {
+ @libcore.api.IntraCoreApi public static class OpenSSLEvpCipherAES.AES_256 extends com.android.org.conscrypt.OpenSSLEvpCipherAES {
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_CIPHER.DESEDE.CBC.NoPadding extends com.android.org.conscrypt.OpenSSLCipher.EVP_CIPHER.DESEDE.CBC {
- ctor @libcore.api.IntraCoreApi public OpenSSLCipher.EVP_CIPHER.DESEDE.CBC.NoPadding();
+ @libcore.api.IntraCoreApi public static class OpenSSLEvpCipherAES.AES_256.CBC extends com.android.org.conscrypt.OpenSSLEvpCipherAES.AES_256 {
}
- @libcore.api.IntraCoreApi public static class OpenSSLCipher.EVP_CIPHER.DESEDE.CBC.PKCS5Padding extends com.android.org.conscrypt.OpenSSLCipher.EVP_CIPHER.DESEDE.CBC {
- ctor @libcore.api.IntraCoreApi public OpenSSLCipher.EVP_CIPHER.DESEDE.CBC.PKCS5Padding();
+ @libcore.api.IntraCoreApi public static class OpenSSLEvpCipherAES.AES_256.CBC.NoPadding extends com.android.org.conscrypt.OpenSSLEvpCipherAES.AES_256.CBC {
+ ctor @libcore.api.IntraCoreApi public OpenSSLEvpCipherAES.AES_256.CBC.NoPadding();
}
- @libcore.api.IntraCoreApi public class OpenSSLCipherChaCha20 extends com.android.org.conscrypt.OpenSSLCipher {
- ctor @libcore.api.IntraCoreApi public OpenSSLCipherChaCha20();
+ @libcore.api.IntraCoreApi public static class OpenSSLEvpCipherAES.AES_256.CBC.PKCS5Padding extends com.android.org.conscrypt.OpenSSLEvpCipherAES.AES_256.CBC {
+ ctor @libcore.api.IntraCoreApi public OpenSSLEvpCipherAES.AES_256.CBC.PKCS5Padding();
}
- @libcore.api.IntraCoreApi public abstract class OpenSSLContextImpl extends javax.net.ssl.SSLContextSpi {
+ @libcore.api.IntraCoreApi public static class OpenSSLEvpCipherAES.AES_256.ECB extends com.android.org.conscrypt.OpenSSLEvpCipherAES.AES_256 {
}
- @libcore.api.IntraCoreApi public static final class OpenSSLContextImpl.TLSv1 extends com.android.org.conscrypt.OpenSSLContextImpl {
- ctor @libcore.api.IntraCoreApi public OpenSSLContextImpl.TLSv1();
+ @libcore.api.IntraCoreApi public static class OpenSSLEvpCipherAES.AES_256.ECB.NoPadding extends com.android.org.conscrypt.OpenSSLEvpCipherAES.AES_256.ECB {
+ ctor @libcore.api.IntraCoreApi public OpenSSLEvpCipherAES.AES_256.ECB.NoPadding();
}
- @libcore.api.IntraCoreApi public static final class OpenSSLContextImpl.TLSv11 extends com.android.org.conscrypt.OpenSSLContextImpl {
- ctor @libcore.api.IntraCoreApi public OpenSSLContextImpl.TLSv11();
+ @libcore.api.IntraCoreApi public static class OpenSSLEvpCipherAES.AES_256.ECB.PKCS5Padding extends com.android.org.conscrypt.OpenSSLEvpCipherAES.AES_256.ECB {
+ ctor @libcore.api.IntraCoreApi public OpenSSLEvpCipherAES.AES_256.ECB.PKCS5Padding();
}
- @libcore.api.IntraCoreApi public static final class OpenSSLContextImpl.TLSv12 extends com.android.org.conscrypt.OpenSSLContextImpl {
- ctor @dalvik.annotation.compat.UnsupportedAppUsage @libcore.api.IntraCoreApi public OpenSSLContextImpl.TLSv12();
+ @libcore.api.IntraCoreApi public class OpenSSLEvpCipherARC4 extends com.android.org.conscrypt.OpenSSLEvpCipher {
+ ctor @libcore.api.IntraCoreApi public OpenSSLEvpCipherARC4();
}
- @libcore.api.IntraCoreApi public static final class OpenSSLContextImpl.TLSv13 extends com.android.org.conscrypt.OpenSSLContextImpl {
- ctor @libcore.api.IntraCoreApi public OpenSSLContextImpl.TLSv13();
+ @libcore.api.IntraCoreApi public abstract class OpenSSLEvpCipherDESEDE extends com.android.org.conscrypt.OpenSSLEvpCipher {
}
- @libcore.api.IntraCoreApi public final class OpenSSLECDHKeyAgreement extends javax.crypto.KeyAgreementSpi {
- ctor @libcore.api.IntraCoreApi public OpenSSLECDHKeyAgreement();
+ @libcore.api.IntraCoreApi public static class OpenSSLEvpCipherDESEDE.CBC extends com.android.org.conscrypt.OpenSSLEvpCipherDESEDE {
}
- @libcore.api.IntraCoreApi public final class OpenSSLECKeyFactory extends java.security.KeyFactorySpi {
- ctor @libcore.api.IntraCoreApi public OpenSSLECKeyFactory();
+ @libcore.api.IntraCoreApi public static class OpenSSLEvpCipherDESEDE.CBC.NoPadding extends com.android.org.conscrypt.OpenSSLEvpCipherDESEDE.CBC {
+ ctor @libcore.api.IntraCoreApi public OpenSSLEvpCipherDESEDE.CBC.NoPadding();
}
- @libcore.api.IntraCoreApi public final class OpenSSLECKeyPairGenerator extends java.security.KeyPairGenerator {
- ctor @libcore.api.IntraCoreApi public OpenSSLECKeyPairGenerator();
+ @libcore.api.IntraCoreApi public static class OpenSSLEvpCipherDESEDE.CBC.PKCS5Padding extends com.android.org.conscrypt.OpenSSLEvpCipherDESEDE.CBC {
+ ctor @libcore.api.IntraCoreApi public OpenSSLEvpCipherDESEDE.CBC.PKCS5Padding();
}
@libcore.api.IntraCoreApi public abstract class OpenSSLMac extends javax.crypto.MacSpi {
diff --git a/ojluni/annotations/mmodule/java/net/SocketImpl.annotated.java b/ojluni/annotations/mmodule/java/net/SocketImpl.annotated.java
index ab1f94e3aaa..2146d2f7509 100644
--- a/ojluni/annotations/mmodule/java/net/SocketImpl.annotated.java
+++ b/ojluni/annotations/mmodule/java/net/SocketImpl.annotated.java
@@ -63,7 +63,7 @@ protected void shutdownOutput() throws java.io.IOException { throw new RuntimeEx
protected java.io.FileDescriptor getFileDescriptor() { throw new RuntimeException("Stub!"); }
@libcore.api.CorePlatformApi
-public FileDescriptor getFD$() { throw new RuntimeException("Stub!"); }
+public java.io.FileDescriptor getFD$() { throw new RuntimeException("Stub!"); }
protected java.net.InetAddress getInetAddress() { throw new RuntimeException("Stub!"); }
diff --git a/ojluni/annotations/sdk/nullability/java/lang/reflect/Executable.annotated.java b/ojluni/annotations/sdk/nullability/java/lang/reflect/Executable.annotated.java
index 4b5b841fa92..d964aadabb9 100644
--- a/ojluni/annotations/sdk/nullability/java/lang/reflect/Executable.annotated.java
+++ b/ojluni/annotations/sdk/nullability/java/lang/reflect/Executable.annotated.java
@@ -61,7 +61,7 @@ public boolean isSynthetic() { throw new RuntimeException("Stub!"); }
public abstract java.lang.annotation.@libcore.util.NonNull Annotation @libcore.util.NonNull [] @libcore.util.NonNull [] getParameterAnnotations();
-@libcore.util.Nullable public <T extends java.lang.annotation.Annotation> T getAnnotation(@libcore.util.NonNull getjava.lang.Class<T> annotationClass) { throw new RuntimeException("Stub!"); }
+@libcore.util.Nullable public <T extends java.lang.annotation.Annotation> T getAnnotation(@libcore.util.NonNull java.lang.Class<T> annotationClass) { throw new RuntimeException("Stub!"); }
public <T extends java.lang.annotation.Annotation> T[] getAnnotationsByType(@libcore.util.NonNull java.lang.Class<T> annotationClass) { throw new RuntimeException("Stub!"); }
diff --git a/ojluni/annotations/sdk/nullability/java/util/HashMap.annotated.java b/ojluni/annotations/sdk/nullability/java/util/HashMap.annotated.java
index 567354ac646..3bcc489b8cd 100644
--- a/ojluni/annotations/sdk/nullability/java/util/HashMap.annotated.java
+++ b/ojluni/annotations/sdk/nullability/java/util/HashMap.annotated.java
@@ -74,11 +74,11 @@ public boolean replace(@libcore.util.NullFromTypeParam K key, @libcore.util.Null
@libcore.util.Nullable public V computeIfAbsent(@libcore.util.NullFromTypeParam K key, @libcore.util.NonNull java.util.function.Function<? super @libcore.util.NullFromTypeParam K,? extends @libcore.util.Nullable V> mappingFunction) { throw new RuntimeException("Stub!"); }
-@libcore.util.Nullable public V computeIfPresent(@libcore.util.NullFromTypeParam K key, @libcore.util.NonNull java.util.function.BiFunction<? super @libcore.util.NullFromTypeParam K,? super @libcore.util.NonNull V,? extends Nu V> remappingFunction) { throw new RuntimeException("Stub!"); }
+@libcore.util.Nullable public V computeIfPresent(@libcore.util.NullFromTypeParam K key, @libcore.util.NonNull java.util.function.BiFunction<? super @libcore.util.NullFromTypeParam K,? super @libcore.util.NonNull V,? extends @libcore.util.Nullable V> remappingFunction) { throw new RuntimeException("Stub!"); }
@libcore.util.Nullable public V compute(@libcore.util.NullFromTypeParam K key, @libcore.util.NonNull java.util.function.BiFunction<? super @libcore.util.NullFromTypeParam K,? super @libcore.util.Nullable V,? extends @libcore.util.Nullable V> remappingFunction) { throw new RuntimeException("Stub!"); }
-@libcore.util.Nullable public V merge(@libcore.util.NullFromTypeParam K key, @libcore.util.NonNull V value, @libcore.util.NonNull java.util.function.BiFunction<? super Nn V,? super @libcore.util.NonNull V,? extends @libcore.util.Nullable V> remappingFunction) { throw new RuntimeException("Stub!"); }
+@libcore.util.Nullable public V merge(@libcore.util.NullFromTypeParam K key, @libcore.util.NonNull V value, @libcore.util.NonNull java.util.function.BiFunction<? super @libcore.util.NonNull V,? super @libcore.util.NonNull V,? extends @libcore.util.Nullable V> remappingFunction) { throw new RuntimeException("Stub!"); }
public void forEach(@libcore.util.NonNull java.util.function.BiConsumer<? super @libcore.util.NullFromTypeParam K,? super @libcore.util.NullFromTypeParam V> action) { throw new RuntimeException("Stub!"); }
diff --git a/ojluni/annotations/sdk/nullability/java/util/logging/Logger.annotated.java b/ojluni/annotations/sdk/nullability/java/util/logging/Logger.annotated.java
index 2ad4bfbbf76..f3a25cbf47d 100644
--- a/ojluni/annotations/sdk/nullability/java/util/logging/Logger.annotated.java
+++ b/ojluni/annotations/sdk/nullability/java/util/logging/Logger.annotated.java
@@ -75,7 +75,7 @@ public void logp(@libcore.util.NonNull java.util.logging.Level level, @libcore.u
public void logp(@libcore.util.NonNull java.util.logging.Level level, @libcore.util.Nullable java.lang.String sourceClass, @libcore.util.Nullable java.lang.String sourceMethod, @libcore.util.Nullable java.lang.String msg, @libcore.util.Nullable java.lang.Object param1) { throw new RuntimeException("Stub!"); }
-public void logp(@libcore.util.NonNull java.util.logging.Level level, @libcore.util.Nullable java.lang.String sourceClass, @libcore.util.Nullable java.lang.String sourceMethod, @libcore.util.Nullable java.lang.String msg, java.lang.@libcore.util.Nullable Object @Nu [] params) { throw new RuntimeException("Stub!"); }
+public void logp(@libcore.util.NonNull java.util.logging.Level level, @libcore.util.Nullable java.lang.String sourceClass, @libcore.util.Nullable java.lang.String sourceMethod, @libcore.util.Nullable java.lang.String msg, java.lang.@libcore.util.Nullable Object @libcore.util.Nullable [] params) { throw new RuntimeException("Stub!"); }
public void logp(@libcore.util.NonNull java.util.logging.Level level, @libcore.util.Nullable java.lang.String sourceClass, @libcore.util.Nullable java.lang.String sourceMethod, @libcore.util.Nullable java.lang.String msg, @libcore.util.Nullable java.lang.Throwable thrown) { throw new RuntimeException("Stub!"); }
diff --git a/openjdk_java_files.bp b/openjdk_java_files.bp
index f79658ef8f6..d1ddf04c196 100644
--- a/openjdk_java_files.bp
+++ b/openjdk_java_files.bp
@@ -1444,7 +1444,6 @@ filegroup {
"ojluni/src/main/java/sun/misc/CEStreamExhausted.java",
"ojluni/src/main/java/sun/misc/CharacterDecoder.java",
"ojluni/src/main/java/sun/misc/CharacterEncoder.java",
- "ojluni/src/main/java/sun/misc/Cleaner.java",
"ojluni/src/main/java/sun/misc/CompoundEnumeration.java",
"ojluni/src/main/java/sun/misc/DoubleConsts.java",
"ojluni/src/main/java/sun/misc/FileURLMapper.java",
@@ -1524,7 +1523,6 @@ filegroup {
"ojluni/src/main/java/sun/nio/ch/DatagramSocketAdaptor.java",
"ojluni/src/main/java/sun/nio/ch/DefaultAsynchronousChannelProvider.java",
"ojluni/src/main/java/sun/nio/ch/DefaultSelectorProvider.java",
- "ojluni/src/main/java/sun/nio/ch/DirectBuffer.java",
"ojluni/src/main/java/sun/nio/ch/EPoll.java",
"ojluni/src/main/java/sun/nio/ch/EPollPort.java",
"ojluni/src/main/java/sun/nio/ch/ExtendedSocketOption.java",
@@ -1634,13 +1632,10 @@ filegroup {
"ojluni/src/main/java/sun/security/jca/JCAUtil.java",
"ojluni/src/main/java/sun/security/jca/ProviderConfig.java",
"ojluni/src/main/java/sun/security/jca/ProviderList.java",
- "ojluni/src/main/java/sun/security/jca/Providers.java",
"ojluni/src/main/java/sun/security/jca/ServiceId.java",
- "ojluni/src/main/java/sun/security/pkcs/PKCS7.java",
"ojluni/src/main/java/sun/security/pkcs/PKCS8Key.java",
"ojluni/src/main/java/sun/security/pkcs/PKCS9Attribute.java",
"ojluni/src/main/java/sun/security/pkcs/PKCS9Attributes.java",
- "ojluni/src/main/java/sun/security/pkcs/SignerInfo.java",
"ojluni/src/main/java/sun/security/pkcs/SigningCertificateInfo.java",
"ojluni/src/main/java/sun/security/provider/CertPathProvider.java",
"ojluni/src/main/java/sun/security/provider/certpath/AdaptableX509CertSelector.java",
diff --git a/support/src/test/java/libcore/java/security/StandardNames.java b/support/src/test/java/libcore/java/security/StandardNames.java
index eb9cf458fcb..d53117b9459 100644
--- a/support/src/test/java/libcore/java/security/StandardNames.java
+++ b/support/src/test/java/libcore/java/security/StandardNames.java
@@ -510,6 +510,7 @@ public final class StandardNames {
provide("Cipher", "AES/ECB/PKCS5PADDING");
provide("Cipher", "AES/ECB/PKCS7PADDING");
provide("Cipher", "AES/GCM/NOPADDING");
+ provide("Cipher", "AES/GCM-SIV/NOPADDING");
provide("Cipher", "AES/OFB/NOPADDING");
provide("Cipher", "AES/OFB/PKCS5PADDING");
provide("Cipher", "AES/OFB/PKCS7PADDING");
@@ -520,6 +521,7 @@ public final class StandardNames {
provide("Cipher", "AES_128/ECB/PKCS5PADDING");
provide("Cipher", "AES_128/ECB/PKCS7PADDING");
provide("Cipher", "AES_128/GCM/NOPADDING");
+ provide("Cipher", "AES_128/GCM-SIV/NOPADDING");
provide("Cipher", "AES_256/CBC/NOPADDING");
provide("Cipher", "AES_256/CBC/PKCS5PADDING");
provide("Cipher", "AES_256/CBC/PKCS7PADDING");
@@ -527,6 +529,7 @@ public final class StandardNames {
provide("Cipher", "AES_256/ECB/PKCS5PADDING");
provide("Cipher", "AES_256/ECB/PKCS7PADDING");
provide("Cipher", "AES_256/GCM/NOPADDING");
+ provide("Cipher", "AES_256/GCM-SIV/NOPADDING");
provide("Cipher", "DESEDE/CBC/NOPADDING");
provide("Cipher", "DESEDE/CBC/PKCS5PADDING");
provide("Cipher", "DESEDE/CBC/PKCS7PADDING");
diff --git a/support/src/test/java/libcore/testing/categories/Example.java b/support/src/test/java/libcore/testing/categories/Example.java
new file mode 100644
index 00000000000..92fa44d2296
--- /dev/null
+++ b/support/src/test/java/libcore/testing/categories/Example.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package libcore.testing.categories;
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+/**
+ * An example of an annotation used to indicate a particular category of tests. This can be used in
+ * a {@code TEST_MAPPING} via the {@code include-annotation} option.
+ */
+// TODO(b/130283485): Remove this once the example has served its purpose.
+@Documented
+@Retention(RUNTIME)
+@Target({TYPE, METHOD})
+public @interface Example {}
diff --git a/tools/upstream/src/main/java/libcore/CompareUpstreams.java b/tools/upstream/src/main/java/libcore/CompareUpstreams.java
index ca17f67a4ae..bdd23645d6d 100644
--- a/tools/upstream/src/main/java/libcore/CompareUpstreams.java
+++ b/tools/upstream/src/main/java/libcore/CompareUpstreams.java
@@ -69,6 +69,17 @@ import java.util.regex.Pattern;
*/
public class CompareUpstreams {
+ /**
+ * Whether to compare against snapshots based on (a) the output of {@link CopyUpstreamFiles},
+ * as opposed to (b) directly against checked-out upstream source {@link Repository}s.
+ *
+ * Because the snapshots are currently kept on x20 which is slow to access, (b) run much
+ * faster (a few seconds vs. 30 minutes), but it requires the checked-out and compiled
+ * upstream repositories to exist which is not the case for everyone / not easily achievable
+ * (OpenJDK 8 requires an old C++ compiler to build).
+ */
+ public static final boolean COMPARE_AGAINST_UPSTREAM_SNAPSHOT = true;
+
private final StandardRepositories standardRepositories;
public CompareUpstreams(StandardRepositories standardRepositories) {
@@ -153,6 +164,11 @@ public class CompareUpstreams {
}
headers.add("diff");
printTsv(out, headers);
+
+ Path snapshotRoot = COMPARE_AGAINST_UPSTREAM_SNAPSHOT
+ ? Util.pathFromEnvOrThrow("OJLUNI_UPSTREAMS")
+ : null;
+
for (Path relPath : relPaths) {
Repository expectedUpstream = standardRepositories.referenceUpstreamAsOfAndroidP(
relPath);
@@ -167,7 +183,15 @@ public class CompareUpstreams {
List<String> comparisons = new ArrayList<>(upstreams.size());
for (Repository upstream : upstreams) {
final String comparison;
- Path upstreamFile = upstream.absolutePath(relPath);
+ final Path upstreamFile;
+ if (COMPARE_AGAINST_UPSTREAM_SNAPSHOT) {
+ Path maybePath = snapshotRoot
+ .resolve(upstream.name())
+ .resolve(relPath);
+ upstreamFile = maybePath.toFile().exists() ? maybePath : null;
+ } else {
+ upstreamFile = upstream.absolutePath(relPath);
+ }
if (upstreamFile == null) {
comparison = "missing";
} else {
diff --git a/tools/upstream/src/main/java/libcore/Repository.java b/tools/upstream/src/main/java/libcore/Repository.java
index 89f64f0a7ec..4c7bbd7aef5 100644
--- a/tools/upstream/src/main/java/libcore/Repository.java
+++ b/tools/upstream/src/main/java/libcore/Repository.java
@@ -27,6 +27,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
+import java.util.Set;
+import java.util.TreeSet;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -232,18 +234,19 @@ abstract class Repository {
*/
public List<Path> loadRelPathsFromBlueprint() throws IOException {
List<Path> result = new ArrayList<>();
- result.addAll(loadRelPathsFromBlueprint(
+ result.addAll(loadOrderedRelPathsSetFromBlueprint(
"openjdk_java_files.bp", "\"ojluni/src/main/java/(.+\\.java)\""));
- result.addAll(loadRelPathsFromBlueprint(
+ result.addAll(loadOrderedRelPathsSetFromBlueprint(
"ojluni/src/main/native/Android.bp", "\\s+\"(.+\\.(?:c|cpp))\","));
return result;
}
- private List<Path> loadRelPathsFromBlueprint(
+ private Set<Path> loadOrderedRelPathsSetFromBlueprint(
String blueprintPathString, String patternString) throws IOException {
Path blueprintPath = rootPath.resolve(blueprintPathString);
Pattern pattern = Pattern.compile(patternString);
- List<Path> result = new ArrayList<>();
+ // Use TreeSet to sort and de-duplicate the result.
+ Set<Path> result = new TreeSet<>();
for (String line : Util.readLines(blueprintPath)) {
Matcher matcher = pattern.matcher(line);
while (matcher.find()) {
@@ -251,7 +254,6 @@ abstract class Repository {
result.add(relPath);
}
}
- Collections.sort(result);
return result;
}
diff --git a/tools/upstream/src/main/java/libcore/StandardRepositories.java b/tools/upstream/src/main/java/libcore/StandardRepositories.java
index 3bdbebfdab3..31efe94d7a7 100644
--- a/tools/upstream/src/main/java/libcore/StandardRepositories.java
+++ b/tools/upstream/src/main/java/libcore/StandardRepositories.java
@@ -76,19 +76,11 @@ public class StandardRepositories {
}
public static StandardRepositories fromEnv() {
- Path androidBuildTop = Paths.get(getEnvOrThrow("ANDROID_BUILD_TOP"));
- Path upstreamRoot = Paths.get(getEnvOrThrow("OPENJDK_HOME"));
+ Path androidBuildTop = Util.pathFromEnvOrThrow("ANDROID_BUILD_TOP");
+ Path upstreamRoot = Util.pathFromEnvOrThrow("OPENJDK_HOME");
return new StandardRepositories(androidBuildTop, upstreamRoot);
}
- private static String getEnvOrThrow(String name) {
- String result = System.getenv(name);
- if (result == null) {
- throw new IllegalStateException("Environment variable undefined: " + name);
- }
- return result;
- }
-
private static final Set<String> juFilesFromJsr166 = Collections.unmodifiableSet(
new HashSet<>(Arrays.asList(
"AbstractQueue",
diff --git a/tools/upstream/src/main/java/libcore/Util.java b/tools/upstream/src/main/java/libcore/Util.java
index c50e99028f4..0f69c5fdb07 100644
--- a/tools/upstream/src/main/java/libcore/Util.java
+++ b/tools/upstream/src/main/java/libcore/Util.java
@@ -26,6 +26,7 @@ import java.io.PrintWriter;
import java.io.Reader;
import java.io.Writer;
import java.nio.file.Path;
+import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
@@ -36,6 +37,23 @@ class Util {
private Util() {
}
+ public static Path pathFromEnvOrThrow(String name) {
+ String envValue = getEnvOrThrow(name);
+ Path result = Paths.get(envValue);
+ if (!result.toFile().exists()) {
+ throw new IllegalArgumentException("Path not found: " + result);
+ }
+ return result;
+ }
+
+ private static String getEnvOrThrow(String name) {
+ String result = System.getenv(name);
+ if (result == null) {
+ throw new IllegalStateException("Environment variable undefined: " + name);
+ }
+ return result;
+ }
+
public static Lines readLines(Reader reader) throws IOException {
List<String> result = new ArrayList<>();
BufferedReader br = (reader instanceof BufferedReader)