Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 219e986e authored by Charles Munger's avatar Charles Munger
Browse files

Deprecate FileUtils.closeQuietly

This API encourages swallowing errors, and the code to implement it is trivial if apps still want to do it themselves.
Guava's reasoning on deprecating their version of this API:
https://github.com/google/guava/issues/1118

Test: No behavior changes
Bug: 144042891
Change-Id: Ic4cfb7366c65d49c355479f420d9ba4fc1b3f053
parent 8e54615a
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -34533,8 +34533,8 @@ package android.os {
  }
  public final class FileUtils {
    method public static void closeQuietly(@Nullable AutoCloseable);
    method public static void closeQuietly(@Nullable java.io.FileDescriptor);
    method @Deprecated public static void closeQuietly(@Nullable AutoCloseable);
    method @Deprecated public static void closeQuietly(@Nullable java.io.FileDescriptor);
    method public static long copy(@NonNull java.io.InputStream, @NonNull java.io.OutputStream) throws java.io.IOException;
    method public static long copy(@NonNull java.io.InputStream, @NonNull java.io.OutputStream, @Nullable android.os.CancellationSignal, @Nullable java.util.concurrent.Executor, @Nullable android.os.FileUtils.ProgressListener) throws java.io.IOException;
    method public static long copy(@NonNull java.io.FileDescriptor, @NonNull java.io.FileDescriptor) throws java.io.IOException;
+12 −0
Original line number Diff line number Diff line
@@ -1275,7 +1275,13 @@ public final class FileUtils {
    /**
     * Closes the given object quietly, ignoring any checked exceptions. Does
     * nothing if the given object is {@code null}.
     *
     * @deprecated This method may suppress potentially significant exceptions, particularly when
     *   closing writable resources. With a writable resource, a failure thrown from {@code close()}
     *   should be considered as significant as a failure thrown from a write method because it may
     *   indicate a failure to flush bytes to the underlying resource.
     */
    @Deprecated
    public static void closeQuietly(@Nullable AutoCloseable closeable) {
        IoUtils.closeQuietly(closeable);
    }
@@ -1283,7 +1289,13 @@ public final class FileUtils {
    /**
     * Closes the given object quietly, ignoring any checked exceptions. Does
     * nothing if the given object is {@code null}.
     *
     * @deprecated This method may suppress potentially significant exceptions, particularly when
     *   closing writable resources. With a writable resource, a failure thrown from {@code close()}
     *   should be considered as significant as a failure thrown from a write method because it may
     *   indicate a failure to flush bytes to the underlying resource.
     */
    @Deprecated
    public static void closeQuietly(@Nullable FileDescriptor fd) {
        IoUtils.closeQuietly(fd);
    }