diff options
author | Stefan Niedermann <info@niedermann.it> | 2021-05-24 18:20:10 +0300 |
---|---|---|
committer | Stefan Niedermann <info@niedermann.it> | 2021-05-24 18:20:10 +0300 |
commit | 115a3c030fbb53dc667fb26599dacf9d0f5fe510 (patch) | |
tree | 6fbbdfa6e87f001d6cfbab64425aba9d476db218 /app/src/main/java/it | |
parent | 0a5cf6b4118980d6543dccbe5448a0d402dc31ea (diff) |
Extract logic to clear Glide cache into CustomAppGlideModule
Signed-off-by: Stefan Niedermann <info@niedermann.it>
Diffstat (limited to 'app/src/main/java/it')
-rw-r--r-- | app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java | 8 | ||||
-rw-r--r-- | app/src/main/java/it/niedermann/owncloud/notes/shared/util/CustomAppGlideModule.java | 19 |
2 files changed, 21 insertions, 6 deletions
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java index c006e2a0..9ab3c81f 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java @@ -83,6 +83,7 @@ import it.niedermann.owncloud.notes.shared.model.CategorySortingMethod; import it.niedermann.owncloud.notes.shared.model.IResponseCallback; import it.niedermann.owncloud.notes.shared.model.NavigationCategory; import it.niedermann.owncloud.notes.shared.model.NoteClickListener; +import it.niedermann.owncloud.notes.shared.util.CustomAppGlideModule; import it.niedermann.owncloud.notes.shared.util.NoteUtil; import static android.os.Build.VERSION.SDK_INT; @@ -436,12 +437,7 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A }); swipeRefreshLayout.setOnRefreshListener(() -> { - Log.i(TAG, "Clearing Glide memory cache"); - Glide.get(this).clearMemory(); - new Thread(() -> { - Log.i(TAG, "Clearing Glide disk cache"); - Glide.get(getApplicationContext()).clearDiskCache(); - }, "CLEAR_GLIDE_CACHE").start(); + CustomAppGlideModule.clearCache(this); final LiveData<Account> syncLiveData = mainViewModel.getCurrentAccount(); final Observer<Account> syncObserver = currentAccount -> { syncLiveData.removeObservers(this); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/CustomAppGlideModule.java b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/CustomAppGlideModule.java index 03eb1097..35625119 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/CustomAppGlideModule.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/CustomAppGlideModule.java @@ -1,18 +1,37 @@ package it.niedermann.owncloud.notes.shared.util; import android.content.Context; +import android.util.Log; import androidx.annotation.NonNull; +import androidx.annotation.UiThread; import com.bumptech.glide.Glide; import com.bumptech.glide.Registry; import com.bumptech.glide.annotation.GlideModule; import com.bumptech.glide.module.AppGlideModule; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + @GlideModule public class CustomAppGlideModule extends AppGlideModule { + + private static final String TAG = CustomAppGlideModule.class.getSimpleName(); + private static final ExecutorService clearDiskCacheExecutor = Executors.newSingleThreadExecutor(); + @Override public void registerComponents(@NonNull Context context, @NonNull Glide glide, @NonNull Registry registry) { super.registerComponents(context, glide, registry); } + + @UiThread + public static void clearCache(@NonNull Context context) { + Log.i(TAG, "Clearing Glide memory cache"); + Glide.get(context).clearMemory(); + clearDiskCacheExecutor.submit(() -> { + Log.i(TAG, "Clearing Glide disk cache"); + Glide.get(context.getApplicationContext()).clearDiskCache(); + }); + } }
\ No newline at end of file |