That fuck shit the fascists are using
1package org.tm.archive.migrations;
2
3import androidx.annotation.NonNull;
4import androidx.annotation.Nullable;
5
6import com.bumptech.glide.Glide;
7
8import org.signal.core.util.logging.Log;
9import org.tm.archive.jobmanager.Job;
10import org.tm.archive.util.FileUtils;
11
12import java.io.File;
13
14public class CachedAttachmentsMigrationJob extends MigrationJob {
15
16 private static final String TAG = Log.tag(CachedAttachmentsMigrationJob.class);
17
18 public static final String KEY = "CachedAttachmentsMigrationJob";
19
20 CachedAttachmentsMigrationJob() {
21 this(new Parameters.Builder().build());
22 }
23
24 private CachedAttachmentsMigrationJob(@NonNull Parameters parameters) {
25 super(parameters);
26 }
27
28 @Override
29 boolean isUiBlocking() {
30 return false;
31 }
32
33 @Override
34 void performMigration() {
35 File externalCacheDir = context.getExternalCacheDir();
36
37 if (externalCacheDir == null || !externalCacheDir.exists() || !externalCacheDir.isDirectory()) {
38 Log.w(TAG, "External Cache Directory either does not exist or isn't a directory. Skipping.");
39 return;
40 }
41
42 FileUtils.deleteDirectoryContents(context.getExternalCacheDir());
43 Glide.get(context).clearDiskCache();
44 }
45
46 @Override
47 boolean shouldRetry(@NonNull Exception e) {
48 return false;
49 }
50
51 @Override
52 public @NonNull String getFactoryKey() {
53 return KEY;
54 }
55
56 public static class Factory implements Job.Factory<CachedAttachmentsMigrationJob> {
57 @Override
58 public @NonNull CachedAttachmentsMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
59 return new CachedAttachmentsMigrationJob(parameters);
60 }
61 }
62}