summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update offered ciphersKenny Root2015-06-043-150/+150
| | | | | | | | Dropped support for non-ephemeral Diffie-Hellman cipher suites, anonymous authentication, some DES cipher suites, and export cipher suites. Bug: 21522548 Change-Id: Ie2048d303890935969cc7c1ac7bc9d93705c7a90
* Replace hyphen with en dashKenny Root2015-06-032-112/+112
| | | | | | | | | | Since this is a number range, the appropriate punctuation is actually en dash. (cherry picked from commit 814e15db27ab930f59c8e6731b901a6c82b8e262) Bug: 21522548 Change-Id: I99fe4c3a45b2df00671af4b6b82b21aa2c265820
* Merge "Configure ICU4C without relying on build-time flags" into mnc-devNeil Fuller2015-06-031-2/+7
|\
| * Configure ICU4C without relying on build-time flagsNeil Fuller2015-06-031-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | The presence of the build-time flags appears to cause ICU4C to open the .dat file again as a fallback if it fails to find a config value. This is even though the .dat file is explicitly mapped using udata_setCommonData(). Bug: 19960867 Bug: 19961406 (cherry-picked from commit 79fdcc64ea2d9234f258dac57f04b1017a573311) Change-Id: I03f0f2d661dd2de2b0db085519159f7deb60816d
* | Improve HttpURLConnection Performance docsNeil Fuller2015-06-031-6/+14
|/ | | | | | | | Bug: 21582657 Bug: https://code.google.com/p/android/issues/detail?id=174949 (cherry-picked from commit b33ae4f5857e7b9ed870336655d2b42673c69146) Change-Id: Ide0cb3ae300dbad5ae371ae7ac4fcae363ca0eba
* Move mirror::ArtMethod to nativeMathieu Chartier2015-06-014-89/+15
| | | | | | | | Bug: 19264997 (cherry picked from commit c8595cdc1bd25e5ae6c889ed9b3ab14eca68e72b) Change-Id: I622469a0cfa0e7082a2119f3d6a9491eb61e3f3d
* Merge "Signature2Test: calling verify a second time can throw" into mnc-devKenny Root2015-06-011-11/+4
|\
| * Signature2Test: calling verify a second time can throwKenny Root2015-05-291-11/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The docs for Signature don't guarantee that the implementation will not throw. It is perfectly fine to throw here. The original bug for which this check was added is bogus (re: https://code.google.com/p/android/issues/detail?id=34933) in that the RI behavior is clearly not the same as this test indicates with the StandardNames.IS_RI branch. (cherry picked from commit fb8371585860dd8f2321f47c490c1a622f5158ce) Bug: 18869265 Change-Id: I6e413cac85daf5b14bc20adc2279741ab11d97f6
* | Add test_PacketSocketAddress to the list of known failures.Narayan Kamath2015-06-011-0/+8
|/ | | | | | | | | | | Needs CAP_NET_RAW which means it can only ever run successfully as root. bug: 19764047 (cherry picked from commit 676fbcf150d23bb81da6dccd40bcd085a2eeee8a) Change-Id: I6c24cb9a781340d4c92fb53aa2670ddb99031c73
* am 01f1a78b: am c039fc1e: Merge "Fix race condition in WeakHashMapTest." ↵Bill Yi2015-05-280-0/+0
|\ | | | | | | | | | | | | into jb-dev automerge: 62538d8 -s ours automerge: 8806a8e automerge: 81598a5 automerge: 6da6b0e automerge: 662ec05 * commit '01f1a78b2cbad6a0974bccd0b953723549921a26': Fix race condition in WeakHashMapTest.
| * am c039fc1e: Merge "Fix race condition in WeakHashMapTest." into jb-dev ↵Bill Yi2015-05-280-0/+0
| |\ | | | | | | | | | | | | | | | | | | automerge: 62538d8 -s ours automerge: 8806a8e automerge: 81598a5 automerge: 6da6b0e automerge: 662ec05 * commit 'c039fc1e1540cf8c5e8dfbe92147374936d10793': Fix race condition in WeakHashMapTest.
| | * Merge "Fix race condition in WeakHashMapTest." into jb-dev automerge: ↵Bill Yi2015-05-280-0/+0
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 62538d8 -s ours automerge: 8806a8e automerge: 81598a5 automerge: 6da6b0e automerge: 662ec05 * commit '662ec05ff8a5dab8b1ea557d858cd852cb54ce58': Fix race condition in WeakHashMapTest.
| | | * Merge "Fix race condition in WeakHashMapTest." into jb-dev automerge: ↵Bill Yi2015-05-280-0/+0
| | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 62538d8 -s ours automerge: 8806a8e automerge: 81598a5 automerge: 6da6b0e * commit '6da6b0e4a410cb3bbbbcf56cba742ba881ca1b47': Fix race condition in WeakHashMapTest.
| | | | * Merge "Fix race condition in WeakHashMapTest." into jb-dev automerge: ↵Bill Yi2015-05-280-0/+0
| | | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 62538d8 -s ours automerge: 8806a8e automerge: 81598a5 * commit '81598a534fe066384bb27a6add0c631a6c16b177': Fix race condition in WeakHashMapTest.
| | | | | * Merge "Fix race condition in WeakHashMapTest." into jb-dev automerge: ↵Bill Yi2015-05-280-0/+0
| | | | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 62538d8 -s ours automerge: 8806a8e * commit '8806a8e8f1c5faf26329a42822b9d61c014aa1e9': Fix race condition in WeakHashMapTest.
| | | | | | * Merge "Fix race condition in WeakHashMapTest." into jb-devBill Yi2015-05-280-0/+0
| | | | | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | automerge: 62538d8 -s ours * commit '62538d84c26624c2e3336489f5c33a62e850dd66': Fix race condition in WeakHashMapTest.
| | | | | | | * Merge "Fix race condition in WeakHashMapTest." into jb-devBill Yi2014-07-071-6/+12
| | | | | | | |\
| | | | | | | | * Fix race condition in WeakHashMapTest.Mathieu Chartier2014-07-081-6/+12
| | | | | | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a race condition where the reference queue daemon wouldn't necessarily have processed the cleared references by the time we called WeakHashMap.size(). The race is fixed by doing a busy wait with a 5 second timeout. This should't increase the test time in the average case since the cleared weak references should be processed shortly after induceFinalization finishes. Bug: 15775475 Change-Id: Id5a532c2a9b3377641523aaed67f1b48a8ec632b (cherry picked from commit 97afbd7972a43345ea12eb442b2a4e473b03d881)
* | | | | | | | Merge "Add test for application use of PathClassLoader." into mnc-devRichard Uhler2015-05-281-0/+23
|\ \ \ \ \ \ \ \
| * | | | | | | | Add test for application use of PathClassLoader.Richard Uhler2015-05-281-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 19937016 (cherry picked from commit 58bef8e53e41a4b7cfe9cf647dca7c6d46528f32) Change-Id: I347b4eee1f1e3702d34ea10feca6bc1b3f2f1ee8
* | | | | | | | | Don't throw UnsupportedOpEx on multi-char negative/percent symbols.Narayan Kamath2015-05-282-3/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There seem to be a fair number of apps that call through to this function, so just give them a "bogus" value (from Locale.ROOT) when we encounter a multi-char symbol. The formatters and other java.text APIs already use the correct multi-char value. bug: 18785260 (cherry picked from commit c3cedb412d85ffeb8121b69308b2d2c35c63b287) Change-Id: I71225102d4f501aaa689fa6e5f84ee967e32f0c8
* | | | | | | | | Change >= to > in OldSystemTest.test_gcMathieu Chartier2015-05-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Test no longer will pass if no GC happens. (cherry picked from commit ea43704065f3472072355a2e199ef99ebaecd681) Bug: 21211315 Change-Id: I9fd0a4b5e249ab7b47d6f8e339a4f6a059af7426
* | | | | | | | | Fix OldSystemTest gcMathieu Chartier2015-05-271-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calls System.gc + System.runFinalization since System.gc is usually a NOP. Bug: 21211315 (cherry picked from commit f49f9d8762770b0c9e2493b4656c70ecb6803df4) Change-Id: Ib816521c6ed43eca437bf8fa961650f7fb96ba61
* | | | | | | | | Merge "Fix problems with DexClassLoaderTest." into mnc-devRichard Uhler2015-05-271-289/+154
|\ \ \ \ \ \ \ \ \
| * | | | | | | | | Fix problems with DexClassLoaderTest.Richard Uhler2015-05-261-289/+154
| |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a problem with the DexClassLoaderTest where oat files from previous tests were being cached and reused for later tests. Now each test uses its own directory for loading-test.dex and friends so they are treated as separate dex files from test to test. As part of this fix, the helper functions for the tests were reorganized. Bug: 21033982 Change-Id: I66d011109259c0c3688b64b083d4ef1ed70feae2
* | | | | | | | | Serialize minusSign/percentSign as strings in DecimalFormatSymbols.Narayan Kamath2015-05-272-4/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows us to Parcel DFS objects (not sure why anybody would do that, but..) without crashes. bug: https://code.google.com/p/android/issues/detail?id=170718 bug: 21455225 (cherry picked from commit 4fd2c14ce54447f13cd115e105d7b000adf24c2e) Change-Id: I8f860b3fc764932291000ac6651bc95a8e457a99
* | | | | | | | | am 97ae95e4: resolved conflicts for merge of 72b26859 to lmp-mr1-ub-devNeil Fuller2015-05-261-0/+8
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| / / / / / / / | |/ / / / / / / | | | | | | | | * commit '97ae95e4223f64348bc5482ceea0928e1ec55404': Suppress a couple of tests that need quite a lot of memory
| * | | | | | | resolved conflicts for merge of 72b26859 to lmp-mr1-ub-devNeil Fuller2015-05-261-0/+8
| |\ \ \ \ \ \ \ | | |/ / / / / / | | | | | | | | | | | | | | | | Change-Id: Id188dacbfd8e83fd884f838e392444890a231e5e
| | * | | | | | Merge "Suppress a couple of tests that need quite a lot of memory" into ↵Neil Fuller2015-05-261-0/+8
| | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | lollipop-mr1-cts-dev
| | | * | | | | | Suppress a couple of tests that need quite a lot of memoryNeil Fuller2015-05-231-0/+8
| | |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These tests fail on some Android Watch devices. Suppressing them until we have a mechanism to detect low memory devices that would allow them to be suppressed more selectively. Bug: 20055487 (cherry-picked from commit fcee6ab5383ee0ad68fcc74ced7581a24d2521de) Change-Id: I53792de9081774b36d03f2de718e73a1c6ff32d5
* | | | | | | | Revert "Expose getSpi from crypto operations as hidden API."Alex Klyubin2015-05-194-22/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 050e672aaaaa8f8c57788e8d551f43c5fbffe339. The users of public getSpi have been migrated to getCurrentSpi introduced in 5d15925a79b8beddfafa8de2ede7fff360a386cb. (cherry-picked from commit c52bf74f7e53b9f58bbeb29f4d248e7dba7d15ce) Bug: 18088752 Change-Id: Ied72c8a62a49d9fba8b7bc2d3ef2e30da7daa6e4
* | | | | | | | Merge "No need to test "GCM" mode in regular Cipher test" into mnc-devKenny Root2015-05-191-1/+1
|\ \ \ \ \ \ \ \
| * | | | | | | | No need to test "GCM" mode in regular Cipher testKenny Root2015-05-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Partially revert change from 6e0cdd08e2a671393b8a410690d28140a80d9387. Since the regular cipher test expects to be able to use all padding types with every mode, testing GCM is not appropriate here. It is still tested elsewhere in CipherTest. (cherry picked from commit a174063b24e6f792fc58373439808842e1c0d657) Bug: 21209499 Change-Id: Ie20ddab4112f350cce08114c913a89a659823823
* | | | | | | | | Merge "Track change from GCM -> AES/GCM/NoPadding" into mnc-devKenny Root2015-05-191-2/+2
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / /
| * | | | | | | | Track change from GCM -> AES/GCM/NoPaddingKenny Root2015-05-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update tests to track the change from GCM to AES/GCM/NoPadding (cherry picked from commit 6e0cdd08e2a671393b8a410690d28140a80d9387) Bug: 21209499 Change-Id: Ie8383cd2cd0bcb62a38c4c55cd86aa90ad834b2b
* | | | | | | | | Merge "Follow-up for incorrect test pre-condition" into mnc-devKenny Root2015-05-191-1/+1
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / /
| * | | | | | | | Follow-up for incorrect test pre-conditionKenny Root2015-05-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The provider should *not* be present before we install this provider, so update the test to actually assert the correct state. (cherry picked from commit b9129dc7847dd1a89fb5f8d3108369b4da3b0e21) Bug: 21159204 Change-Id: I30f4d4f47fcb6bf278b81c5fd5900d47233cefdb
* | | | | | | | | Merge "Fix test18566 to have the correct expectation" into mnc-devKenny Root2015-05-191-4/+9
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / /
| * | | | | | | | Fix test18566 to have the correct expectationKenny Root2015-05-191-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before the test was allowing invalid encoding in PKCS#1 data, but this is an exploitable condition in certain cases. See for instance https://www.imperialviolet.org/2014/09/26/pkcs1.html Since BoringSSL has the change to disallow this problem, we are switching this to assert that the signature did not verify. (cherry picked from commit 559126c953cf0e1e4986e24c019bbf996d5ab795) Bug: 21209498 Bug: 5038554 Bug: http://code.google.com/p/android/issues/detail?id=18566 Change-Id: Ie040f644a4588c6801e5557e2f9a3bcdedfd30ac
* | | | | | | | | Merge "Get rid of old Harmony Services cache" into mnc-devKenny Root2015-05-195-65/+92
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / /
| * | | | | | | | Get rid of old Harmony Services cacheKenny Root2015-05-195-65/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Each java.security.Provider.Service has its own cache, so there is not a lot of benefit to having another cache of the caches. In fact, this makes adding a new provider a huge hit. This change makes adding a new empty provider go from ~5080 microseconds to 73 microseconds. (cherry picked from commit cc4791ad77128039c93d4c03b582d4dc397e6a02) Bug: 21159204 Change-Id: Ib23032f8cb0def79367a321b48241b6cc94de6b0
* | | | | | | | | Expose getCurrentSpi from crypto operations as hidden API.Alex Klyubin2015-05-184-0/+57
|/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 050e672aaaaa8f8c57788e8d551f43c5fbffe339 exposed the existing getSpi method of Cipher, Signature, Mac, and KeyAgreement as hidden API. Unfortunately, the getSpi method creates an SPI instance if one is not yet set. This changes the state of the crypto operation and does does not lend itself well to being used for read-only querying of the SPI from a crypto operation. This CL addresses the issue by adding a getCurrentSpi hidden API to these crypto operations. getCurrentSpi simply returns the current SPI instance, if any, and does not modify the state of the crypto operation. A follow-up CL will revert 050e672aaaaa8f8c57788e8d551f43c5fbffe339 which will no longer be needed. This is not reverted here to avoid breaking the build. (cherry-picked from commit 5d15925a79b8beddfafa8de2ede7fff360a386cb) Bug: 18088752 Change-Id: I8de4c121c9a395b3687b173d0bba4e1931ebf958
* | | | | | | | Add an additional check for ICU4J tz data versionNeil Fuller2015-05-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Confirm that ZoneInfoDB, ICU4C and now ICU4J all agree on the tz data version. (cherry-pick from commit 32e7bc11723014cc63706541286d0fdf9fbba510) Bug: 19941636 Change-Id: I841de7256f9409abe4b8bcdd66595c346de7c534
* | | | | | | | Remove signature generation from UpdateTestAppNeil Fuller2015-05-152-102/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The need for a signature was removed in internal changes for the M release. Instead, a permission is required. Related commits: 12964bf5dd36d13fc25efef7c7175a677f9490a5 ef3d6079a55f559191c90d15e3f30a72b576c499 Bug: 19941636 (cherry picked from commit ba148e2de81badc77ad21daca18996d0766e412e) Change-Id: Ie107b344b4e60cd4d71fe78a87d2260405d94c3a
* | | | | | | | Fix a couple of issues in DexClassLoaderTest.Narayan Kamath2015-05-141-7/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Don't create an empty file if test resources are unavailable, fail instead. - Only enumerate ".dex" files in the optimized directory - leave out things like ".flock" files etc. Partial fix for... bug: 21033982 Change-Id: Icf00d4d35f23a1927ea034fdf0ab8ea01f16fe0c
* | | | | | | | Add tests for AES/GCM/NOPADDINGKenny Root2015-05-131-42/+230
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (cherry picked from commit d5ed0e9c84915f2a93e25a4d152f837a661c4774) Bug: 21085702 Change-Id: I1a88f6410bb61a885bbb447a6e7b86b011dc8625
* | | | | | | | libcore: add test for arbitrary ECC groups.Adam Langley2015-05-131-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This test verifies an ECDSA signature on the BitCoin curve. (cherry picked from commit daadb9f7d41188c0cf2eaaf58d43b7fd46c08da9) Bug: 21085331 Change-Id: I404979ce9b80959a1f88dc340b77507eb53b8cfe
* | | | | | | | Update ICU / CLDR / Unicode versions for the preview.Narayan Kamath2015-05-131-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't have a release number or a codename yet, but this information is still useful. bug: 19890045 Change-Id: I272e9b9cdfa103f469cb84f1bb4648b39a4510d0
* | | | | | | | Fix for TimSort in the two Java forms in libcoreNeil Fuller2015-05-133-10/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 19493779 (cherry-picked from commit f547d3aa155a20cfc7cb9852f595ce0806bd1198) Change-Id: I71c7c143386aa4d805b6f1418b72573ddec05dec
* | | | | | | | Fix a couple of Locale bugs discovered by ICU4J tests.Narayan Kamath2015-05-122-6/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ULocaleTest revealed two issues : - We weren't handling the legacy ja_JP_JP and th_TH_TH locales correctly. - We weren't lower-casing the extension key in forLanguageTag. This shouldn't matter since language tags are case insensitive, by definition but the convention is to keep them lowercase. This also fixes a bug in the builder where extension keys were case sensitive since we weren't normalizing them properly. bug: 20252611 (cherry picked from commit e45a8ec4f4c53bd068e2eec6d3d07e7567e8381a) Change-Id: Ide19c959c53e44f07e6b781a130c220b52e18352