cache API responses. Fixes #1313

This commit is contained in:
Phillip Thelen 2020-07-16 17:43:51 +02:00
parent 0cff57c714
commit 1d9345376c

View file

@ -2,6 +2,7 @@ package com.habitrpg.android.habitica.data.implementation
import android.content.Context
import com.amplitude.api.Amplitude
import com.facebook.FacebookSdk.getCacheDir
import com.google.gson.JsonSyntaxException
import com.habitrpg.android.habitica.BuildConfig
import com.habitrpg.android.habitica.HabiticaBaseApplication
@ -37,6 +38,7 @@ import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.functions.BiFunction
import io.reactivex.functions.Consumer
import io.reactivex.schedulers.Schedulers
import okhttp3.Cache
import okhttp3.OkHttpClient
import okhttp3.Request
import okhttp3.logging.HttpLoggingInterceptor
@ -102,7 +104,12 @@ class ApiClientImpl//private OnHabitsAPIResult mResultListener;
val timeZone = calendar.timeZone
val timezoneOffset = -TimeUnit.MINUTES.convert(timeZone.getOffset(calendar.timeInMillis).toLong(), TimeUnit.MILLISECONDS)
val cacheSize: Long = 10 * 1024 * 1024 // 10 MB
val cache = Cache(getCacheDir(), cacheSize)
val client = OkHttpClient.Builder()
.cache(cache)
.addInterceptor(logging)
.addNetworkInterceptor { chain ->
val original = chain.request()