diff --git a/app/src/main/java/com/github/gotify/messages/MessagesActivity.java b/app/src/main/java/com/github/gotify/messages/MessagesActivity.java index 8bd9f14..59ab56e 100644 --- a/app/src/main/java/com/github/gotify/messages/MessagesActivity.java +++ b/app/src/main/java/com/github/gotify/messages/MessagesActivity.java @@ -51,9 +51,12 @@ import com.google.android.material.navigation.NavigationView; import com.squareup.picasso.OkHttp3Downloader; import com.squareup.picasso.Picasso; import com.squareup.picasso.Target; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import okhttp3.Cache; import okhttp3.OkHttpClient; import static java.util.Collections.emptyList; @@ -99,6 +102,8 @@ public class MessagesActivity extends AppCompatActivity private boolean isLoadMore = false; private Integer selectAppIdOnDrawerClose = null; + int PICASSO_CACHE_SIZE = 50 * 1024 * 1024; // 50 MB + private Cache picassoCache; private Picasso picasso; // we need to keep the target references otherwise they get gc'ed before they can be called. @@ -113,6 +118,7 @@ public class MessagesActivity extends AppCompatActivity Log.i("Entering " + getClass().getSimpleName()); settings = new Settings(this); + picassoCache = new Cache(new File(getCacheDir(), "picasso-cache"), PICASSO_CACHE_SIZE); picasso = makePicasso(); client = @@ -145,6 +151,11 @@ public class MessagesActivity extends AppCompatActivity } public void onRefreshAll(View view) { + try { + picassoCache.evictAll(); + } catch (IOException e) { + Log.e("Problem evicting Picasso cache", e); + } startActivity(new Intent(this, InitializationActivity.class)); finish(); } @@ -178,6 +189,8 @@ public class MessagesActivity extends AppCompatActivity private Picasso makePicasso() { OkHttpClient.Builder builder = new OkHttpClient.Builder(); + builder.cache(picassoCache); + CertUtils.applySslSettings(builder, settings.sslSettings()); OkHttp3Downloader downloader = new OkHttp3Downloader(builder.build());