summaryrefslogtreecommitdiff
path: root/core/java/android/util/Base64OutputStream.java
Commit message (Collapse)AuthorAgeFilesLines
* Use new UnsupportedAppUsage annotation.Artur Satayev2020-01-071-1/+2
| | | | | | | | Existing annotations in libcore/ and frameworks/ will deleted after the migration. This also means that any java library that compiles @UnsupportedAppUsage requires a direct dependency on "unsupportedappusage" java_library. Bug: 145132366 Test: m && diff unsupportedappusage_index.csv Change-Id: I288969b0c22fa3a63bc2e71bb5009fe4a927e154
* Add @UnsupportedAppUsage annotationsMathew Inwood2018-08-141-0/+2
| | | | | | | | | | | | | | | | | | | For packages: android.util.proto android.util.jar android.util.apk android.util This is an automatically generated CL. See go/UnsupportedAppUsage for more details. Exempted-From-Owner-Approval: Mechanical changes to the codebase which have been approved by Android API council and announced on android-eng@ Bug: 110868826 Test: m Change-Id: Ia0f48c244b0fbe33d40d797702a82303648196ed
* Fix Base64OutputStream swallowing/throwing the wrong exception.Tobias Thierer2018-07-231-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Base64OutputStream.close() first write()s (possibly empty) data and then close()s the underlying stream. Because of an inverted condition, exceptions thrown by the underlying stream were handled incorrectly: - if both the underlying write() and close()/flush() throw then it would throw the latter exception when it should have thrown the former, suppressing the latter. - if only the underlying close() throws then that exception was swallowed when it should have been closed. This bug existed ever since this file was first added to Android in commit 9df2ffd4205115a68c4fe0651b2072e3e4573dd2 in Feb 2010 (before the concept of suppressed exceptions existed/was supported). The buggy code was proposed in a review comment on that CL, which was then accepted/integrated into the CL. This CL fixes the inverted condition and adds test coverage. It also adds code to add the suppressed exception (if any). Bug: 111697617 Test: Confirmed that Base64Test fails (as described above) before this CL but passes after this CL, when running these commands: make FrameworksCoreTests && \ adb install -r ${ANDROID_PRODUCT_OUT}/data/app/FrameworksCoreTests/FrameworksCoreTests.apk && \ adb shell am instrument -w -e class android.util.Base64Test \ com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner Specifically, before this CL, the following test failures occur: 1.) junit.framework.AssertionFailedError at junit.framework.Assert.fail(Assert.java:48) at junit.framework.Assert.fail(Assert.java:56) at android.util.Base64Test.testOutputStream_ioExceptionDuringClose(Base64Test.java:546) 2.) junit.framework.ComparisonFailure: expected:<[writ]e()> but was:<[clos]e()> at junit.framework.Assert.assertEquals(Assert.java:85) at junit.framework.Assert.assertEquals(Assert.java:91) at android.util.Base64Test.testOutputStream_ioExceptionDuringCloseAndWrite(Base64Test.java:574) Change-Id: If7fd7c4615ca004638d7c5d8f1869e7eddb16f33
* Throw Base64DataException instead of IOExceptionAndy Stadler2011-01-241-1/+1
| | | | | | | | | | * Define Base64DataException * Throw it from Base64InputStream & Base64OutputStream * This enables callers to disambiguate "bad data" from "broken stream", which makes it more possible to do proper retry logic. Bug: 3365205 Change-Id: I332e7c008f92b333400d1b4dcaef5aedc7c10ef4
* relocate android.util.base64.* -> android.util.*Doug Zongker2010-03-291-0/+155
b/2553469 - API REVIEW: android.util.base64 Change-Id: I6a514032152a8b1899db52d020aca8e8b19e74e9