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

Commit 115a3c03 authored by Stefan Niedermann's avatar Stefan Niedermann
Browse files

Extract logic to clear Glide cache into CustomAppGlideModule

parent 0a5cf6b4
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -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);
+19 −0
Original line number Diff line number Diff line
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