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

Commit 97d02148 authored by Zhi Dou's avatar Zhi Dou
Browse files

close file stream

Close file stream, since the in the restrict mode the runtime will check
whether all the resource is closed when it is out of scope.

Test: ABTD ImsStackJavaTests
Bug: 349874828
Change-Id: Ib297622bae730bf99e4d5d1b3adeff3fee805a93
parent e72dcd54
Loading
Loading
Loading
Loading
+15 −1
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package android.aconfig.storage;

import android.compat.annotation.UnsupportedAppUsage;

import java.io.Closeable;
import java.io.FileInputStream;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
@@ -68,13 +69,26 @@ public class StorageInternalReader {

    // Map a storage file given file path
    private static MappedByteBuffer mapStorageFile(String file) {
        FileInputStream stream = null;
        try {
            FileInputStream stream = new FileInputStream(file);
            stream = new FileInputStream(file);
            FileChannel channel = stream.getChannel();
            return channel.map(FileChannel.MapMode.READ_ONLY, 0, channel.size());
        } catch (Exception e) {
            throw new AconfigStorageException(
                    String.format("Fail to mmap storage file %s", file), e);
        } finally {
            quietlyDispose(stream);
        }
    }

    private static void quietlyDispose(Closeable closable) {
        try {
            if (closable != null) {
                closable.close();
            }
        } catch (Exception e) {
            // no need to care, at least as of now
        }
    }
}