TP-40395 | Coil disk caching (#7807)

This commit is contained in:
Ujjwal Kumar
2023-09-08 14:07:51 +05:30
committed by GitHub
parent cf1545d4dc
commit c09cecf2e0
2 changed files with 22 additions and 1 deletions

View File

@@ -17,6 +17,8 @@ import android.view.LayoutInflater
import android.view.View
import android.view.WindowManager
import androidx.appcompat.widget.AppCompatTextView
import coil.ImageLoader
import coil.ImageLoaderFactory
import com.github.anrwatchdog.ANRWatchDog
import com.google.android.play.core.splitcompat.SplitCompat
import com.google.android.play.core.splitcompat.SplitCompatApplication
@@ -29,6 +31,8 @@ import com.navi.base.sharedpref.PreferenceManager
import com.navi.base.utils.AppLaunchUtils
import com.navi.base.utils.isNotNullAndNotEmpty
import com.navi.chat.base.ChatBaseActivity
import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper
import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper.COIL_IMAGE_LOADER_ENABLE_DISK_CACHING
import com.navi.common.ui.activity.BaseActivity
import com.navi.common.uitron.util.UiTronDependencyProvider
import com.navi.pay.common.setup.NaviPayManager
@@ -58,7 +62,7 @@ import javax.inject.Provider
import com.navi.insurance.health.activity.BaseActivity as InsuranceBaseActivity
@HiltAndroidApp
open class NaviApplication : SplitCompatApplication(), Application.ActivityLifecycleCallbacks {
open class NaviApplication : SplitCompatApplication(), Application.ActivityLifecycleCallbacks, ImageLoaderFactory {
private var appForegroundCounter: Int = 0
private var enableAppUpdate = true
@@ -287,4 +291,20 @@ open class NaviApplication : SplitCompatApplication(), Application.ActivityLifec
SplitCompat.install(base)
}
}
override fun newImageLoader(): ImageLoader {
return try {
if (FirebaseRemoteConfigHelper.getBoolean(COIL_IMAGE_LOADER_ENABLE_DISK_CACHING)) {
ImageLoader.Builder(this.applicationContext)
.respectCacheHeaders(enable = false)
.build()
} else {
ImageLoader.Builder(this.applicationContext)
.build()
}
} catch (e: Exception) {
ImageLoader.Builder(this.applicationContext)
.build()
}
}
}

View File

@@ -63,6 +63,7 @@ object FirebaseRemoteConfigHelper {
"NAVI_UPI_NOT_RESET_CL_SERVICE_ON_DISCONNECT"
const val DISABLE_UPDATE_COMMUNICATION_MEDIUMS_ON_LOGIN =
"DISABLE_UPDATE_COMMUNICATION_MEDIUMS_ON_LOGIN"
const val COIL_IMAGE_LOADER_ENABLE_DISK_CACHING = "COIL_IMAGE_LOADER_ENABLE_DISK_CACHING"
fun init() {
remoteConfig = getFirebaseRemoteConfig()