mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-23 10:20:25 +01:00
Add a cache for GIFs.
This commit is contained in:
committed by
Cody Henthorne
parent
8e020c05f6
commit
c84de8fa60
@@ -3,6 +3,7 @@ package org.thoughtcrime.securesms.util.storage;
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.WorkerThread;
|
||||
|
||||
import org.signal.core.util.StreamUtil;
|
||||
@@ -33,8 +34,8 @@ public final class FileStorage {
|
||||
@NonNull InputStream inputStream,
|
||||
@NonNull String directoryName,
|
||||
@NonNull String fileNameBase,
|
||||
@NonNull String extension
|
||||
) throws IOException
|
||||
@NonNull String extension)
|
||||
throws IOException
|
||||
{
|
||||
File directory = context.getDir(directoryName, Context.MODE_PRIVATE);
|
||||
File file = File.createTempFile(fileNameBase, "." + extension, directory);
|
||||
@@ -47,7 +48,8 @@ public final class FileStorage {
|
||||
@WorkerThread
|
||||
public static @NonNull InputStream read(@NonNull Context context,
|
||||
@NonNull String directoryName,
|
||||
@NonNull String filename) throws IOException
|
||||
@NonNull String filename)
|
||||
throws IOException
|
||||
{
|
||||
File directory = context.getDir(directoryName, Context.MODE_PRIVATE);
|
||||
File file = new File(directory, filename);
|
||||
@@ -80,6 +82,17 @@ public final class FileStorage {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Note that you will always get a file back, but that file may not exist on disk.
|
||||
*/
|
||||
@WorkerThread
|
||||
public static @NonNull File getFile(@NonNull Context context,
|
||||
@NonNull String directoryName,
|
||||
@NonNull String filename)
|
||||
{
|
||||
return new File(context.getDir(directoryName, Context.MODE_PRIVATE), filename);
|
||||
}
|
||||
|
||||
private static @NonNull OutputStream getOutputStream(@NonNull Context context, File outputFile) throws IOException {
|
||||
AttachmentSecret attachmentSecret = AttachmentSecretProvider.getInstance(context).getOrCreateAttachmentSecret();
|
||||
return ModernEncryptingPartOutputStream.createFor(attachmentSecret, outputFile, true).second;
|
||||
|
||||
Reference in New Issue
Block a user