diff --git a/android/app/build.gradle b/android/app/build.gradle index cb225fe2ee..9e5c1d3bc0 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -121,6 +121,7 @@ android { } } compileOptions { + coreLibraryDesugaringEnabled true incremental true sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 @@ -286,6 +287,7 @@ dependencies { implementation libs.androidx.ui.viewbinding implementation libs.androidx.work.runtimeKtx implementation libs.branch + implementation libs.coil.network.cache.control implementation libs.coil.svg implementation libs.dagger.hiltAndroid implementation libs.facebook.applinks @@ -334,6 +336,8 @@ dependencies { implementation("com.facebook.react:hermes-engine:+") { exclude group: 'com.facebook.fbjni' } + + coreLibraryDesugaring libs.android.desugarJdkLibs } apply from: project(':react-native-config').projectDir.getPath() + '/dotenv.gradle' diff --git a/android/app/src/main/java/com/naviapp/app/NaviApplication.kt b/android/app/src/main/java/com/naviapp/app/NaviApplication.kt index ef79b2bffb..ed406a34ee 100644 --- a/android/app/src/main/java/com/naviapp/app/NaviApplication.kt +++ b/android/app/src/main/java/com/naviapp/app/NaviApplication.kt @@ -11,8 +11,9 @@ import android.util.Log import androidx.appcompat.app.AppCompatDelegate import androidx.hilt.work.HiltWorkerFactory import androidx.work.Configuration -import coil.ImageLoader -import coil.ImageLoaderFactory +import coil3.ImageLoader +import coil3.PlatformContext +import coil3.SingletonImageLoader import com.navi.base.cache.repository.NaviCacheRepository import com.navi.base.utils.TrustedTimeClientAccessor import com.navi.bbps.common.model.NaviBbpsManager @@ -30,7 +31,8 @@ import dagger.hilt.android.HiltAndroidApp import javax.inject.Inject @HiltAndroidApp -open class NaviApplication : BaseApplication(), ImageLoaderFactory, Configuration.Provider { +open class NaviApplication : + BaseApplication(), SingletonImageLoader.Factory, Configuration.Provider { companion object { lateinit var instance: NaviApplication } @@ -75,7 +77,8 @@ open class NaviApplication : BaseApplication(), ImageLoaderFactory, Configuratio fun isDifferentPackage() = isDifferentPackageValue - override fun newImageLoader(): ImageLoader = imageLoaderProvider.createImageLoader() + override fun newImageLoader(context: PlatformContext): ImageLoader = + imageLoaderProvider.createImageLoader() override val workManagerConfiguration: Configuration get() = diff --git a/android/app/src/main/java/com/naviapp/app/image/CoilImageLibraryHandler.kt b/android/app/src/main/java/com/naviapp/app/image/CoilImageLibraryHandler.kt index a01502cf04..980aec2a9a 100644 --- a/android/app/src/main/java/com/naviapp/app/image/CoilImageLibraryHandler.kt +++ b/android/app/src/main/java/com/naviapp/app/image/CoilImageLibraryHandler.kt @@ -8,11 +8,15 @@ package com.naviapp.app.image import android.content.Context -import coil.ImageLoader -import coil.annotation.ExperimentalCoilApi -import coil.decode.SvgDecoder -import coil.imageLoader -import coil.memory.MemoryCache +import coil3.ImageLoader +import coil3.annotation.ExperimentalCoilApi +import coil3.imageLoader +import coil3.memory.MemoryCache +import coil3.network.NetworkFetcher +import coil3.network.cachecontrol.CacheControlCacheStrategy +import coil3.network.okhttp.OkHttpNetworkFetcherFactory +import coil3.request.allowHardware +import coil3.svg.SvgDecoder import com.navi.analytics.utils.NaviTrackEvent import com.navi.common.di.CoroutineDispatcherProvider import dagger.hilt.android.qualifiers.ApplicationContext @@ -27,12 +31,19 @@ constructor( ) : ImageLibraryHandler { fun createImageLoader(): ImageLoader { return ImageLoader.Builder(context) - .components { add(SvgDecoder.Factory()) } + .components { + add(SvgDecoder.Factory()) + add(cacheControlEnabledCustomFactory()) + } .allowHardware(false) .build() } @OptIn(ExperimentalCoilApi::class) + private fun cacheControlEnabledCustomFactory(): NetworkFetcher.Factory { + return OkHttpNetworkFetcherFactory(cacheStrategy = { CacheControlCacheStrategy() }) + } + override suspend fun removeImageCache(imageUrl: String) { withContext(coroutineDispatcherProvider.io) { NaviTrackEvent.trackEventOnClickStream( @@ -50,7 +61,6 @@ constructor( return imageUrl.hashCode().toString() } - @OptIn(ExperimentalCoilApi::class) override suspend fun clearImageCache() { withContext(coroutineDispatcherProvider.io) { NaviTrackEvent.trackEventOnClickStream(eventName = "CacheCleaner_clearImageCache") diff --git a/android/app/src/main/java/com/naviapp/home/compose/extension/ComposeExtenstion.kt b/android/app/src/main/java/com/naviapp/home/compose/extension/ComposeExtenstion.kt index 51cb217159..305bcfe00c 100644 --- a/android/app/src/main/java/com/naviapp/home/compose/extension/ComposeExtenstion.kt +++ b/android/app/src/main/java/com/naviapp/home/compose/extension/ComposeExtenstion.kt @@ -33,8 +33,9 @@ import androidx.compose.ui.input.pointer.pointerInput import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp -import coil.compose.AsyncImage -import coil.request.ImageRequest +import coil3.compose.AsyncImage +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.navi.naviwidgets.R import com.navi.naviwidgets.utils.NaviWidgetIconUtils.getImageFromIconCode import com.naviapp.home.utils.shimmerEffect diff --git a/android/app/src/main/java/com/naviapp/home/dashboard/ui/compose/investmentTab/widgets/CutOffTimerWidgetComposable.kt b/android/app/src/main/java/com/naviapp/home/dashboard/ui/compose/investmentTab/widgets/CutOffTimerWidgetComposable.kt index f147df8b08..7ba1e07add 100644 --- a/android/app/src/main/java/com/naviapp/home/dashboard/ui/compose/investmentTab/widgets/CutOffTimerWidgetComposable.kt +++ b/android/app/src/main/java/com/naviapp/home/dashboard/ui/compose/investmentTab/widgets/CutOffTimerWidgetComposable.kt @@ -32,7 +32,7 @@ import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.Observer import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.distinctUntilChanged -import coil.compose.AsyncImage +import coil3.compose.AsyncImage import com.navi.base.model.ActionData import com.navi.common.utils.EMPTY import com.navi.common.utils.toActionData diff --git a/android/app/src/main/java/com/naviapp/home/ui/NotificationBottomSheet.kt b/android/app/src/main/java/com/naviapp/home/ui/NotificationBottomSheet.kt index 6056f0508c..38bbdd63db 100644 --- a/android/app/src/main/java/com/naviapp/home/ui/NotificationBottomSheet.kt +++ b/android/app/src/main/java/com/naviapp/home/ui/NotificationBottomSheet.kt @@ -32,8 +32,9 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.TextStyle import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import coil.compose.AsyncImage -import coil.request.ImageRequest +import coil3.compose.AsyncImage +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.navi.design.font.FontWeightEnum import com.navi.design.font.getFontWeight import com.navi.design.font.naviFontFamily diff --git a/android/app/src/main/java/com/naviapp/home/ui/NotificationScreenRenderer.kt b/android/app/src/main/java/com/naviapp/home/ui/NotificationScreenRenderer.kt index fdd768b27d..28702a9045 100644 --- a/android/app/src/main/java/com/naviapp/home/ui/NotificationScreenRenderer.kt +++ b/android/app/src/main/java/com/naviapp/home/ui/NotificationScreenRenderer.kt @@ -71,8 +71,9 @@ import androidx.compose.ui.text.TextStyle import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.lifecycle.compose.collectAsStateWithLifecycle -import coil.compose.AsyncImage -import coil.request.ImageRequest +import coil3.compose.AsyncImage +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.google.gson.Gson import com.navi.adverse.sdk.ui.AdverseViewRoot import com.navi.base.utils.orTrue diff --git a/android/app/src/main/java/com/naviapp/webredirection/presentation/composables/ChromeRedirectionLoadingScreen.kt b/android/app/src/main/java/com/naviapp/webredirection/presentation/composables/ChromeRedirectionLoadingScreen.kt index 2f77ae23f0..8f2dbfd73c 100644 --- a/android/app/src/main/java/com/naviapp/webredirection/presentation/composables/ChromeRedirectionLoadingScreen.kt +++ b/android/app/src/main/java/com/naviapp/webredirection/presentation/composables/ChromeRedirectionLoadingScreen.kt @@ -32,8 +32,9 @@ import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.unit.Density import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import coil.compose.AsyncImage -import coil.request.ImageRequest +import coil3.compose.AsyncImage +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.airbnb.lottie.compose.LottieAnimation import com.airbnb.lottie.compose.LottieCompositionSpec import com.airbnb.lottie.compose.LottieConstants diff --git a/android/app/src/main/java/com/naviapp/webredirection/presentation/composables/WebRedirectionScreen.kt b/android/app/src/main/java/com/naviapp/webredirection/presentation/composables/WebRedirectionScreen.kt index f9229845c8..92ecc3db32 100644 --- a/android/app/src/main/java/com/naviapp/webredirection/presentation/composables/WebRedirectionScreen.kt +++ b/android/app/src/main/java/com/naviapp/webredirection/presentation/composables/WebRedirectionScreen.kt @@ -31,8 +31,9 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import coil.compose.AsyncImage -import coil.request.ImageRequest +import coil3.compose.AsyncImage +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.airbnb.lottie.compose.LottieAnimation import com.airbnb.lottie.compose.LottieCompositionSpec import com.airbnb.lottie.compose.animateLottieCompositionAsState diff --git a/android/gradle/libs.versions.toml b/android/gradle/libs.versions.toml index 3afb5add54..9587eeb3a4 100644 --- a/android/gradle/libs.versions.toml +++ b/android/gradle/libs.versions.toml @@ -1,5 +1,5 @@ [versions] -accompanist-pager = "0.28.0" +accompanist-pager = "0.36.0" accompanist-permissions = "0.37.0" accompanist-systemuicontroller = "0.17.0" android-flexbox = "3.0.0" @@ -59,8 +59,9 @@ benchmark-macro-junit4 = "1.3.4" branch = "5.19.0" cashfree = "2.0.6" chucker = "4.1.0" -coil = "2.5.0" +coil = "3.2.0" compose-bom = "2025.05.01" +android-desugarJdkLibs = "2.1.5" digio = "v4.0.6" digitap = "1.4.4" facebook-applinks = "18.0.3" @@ -94,15 +95,15 @@ masayukiSuda-easingInterpolator = "v1.3.2" mlkit-barcodeScanning = "17.3.0" mockk = "1.14.4" mvel2 = "2.4.15.Final" -navi-adverse = "1.26.0" +navi-adverse = "1.28.0" navi-alfred = "3.3.0" navi-bandwidthBuddy = "1.3.0" navi-customerDocumentCollector = "1.4.0" -navi-elex = "1.15.0" +navi-elex = "1.17.0" navi-guarddog = "3.18.1" navi-pulse = "1.20.0" navi-traceroute = "1.3.0" -navi-uitron = "3.11.0" +navi-uitron = "3.13.0" okhttp-bom = "4.12.0" payu-checkoutPro = "2.4.3" payu-nativeOtpAssist = "1.3.7" @@ -150,6 +151,8 @@ android-play-featureDeliveryKtx = { module = "com.google.android.play:feature-de android-play-integrity = { module = "com.google.android.play:integrity", version.ref = "android-play-integrity" } android-play-reviewKtx = { module = "com.google.android.play:review-ktx", version.ref = "android-play-reviewKtx" } +android-desugarJdkLibs = { module = "com.android.tools:desugar_jdk_libs", version.ref = "android-desugarJdkLibs" } + androidx-activity-activity = { module = "androidx.activity:activity", version.ref = "androidx-activity" } androidx-annotation = { module = "androidx.annotation:annotation", version.ref = "androidx-annotation" } @@ -258,9 +261,11 @@ cashfree = { module = "com.cashfree.pg:api", version.ref = "cashfree" } chucker-library = { module = "com.github.chuckerteam.chucker:library", version.ref = "chucker" } chucker-libraryNoOp = { module = "com.github.chuckerteam.chucker:library-no-op", version.ref = "chucker" } -coil-compose = { module = "io.coil-kt:coil-compose", version.ref = "coil" } -coil-svg = { module = "io.coil-kt:coil-svg", version.ref = "coil" } -coil-video = { module = "io.coil-kt:coil-video", version.ref = "coil" } +coil-compose = { module = "io.coil-kt.coil3:coil-compose", version.ref = "coil" } +coil-network-cache-control = { module = "io.coil-kt.coil3:coil-network-cache-control", version.ref = "coil" } +coil-networkOkhttp = { module = "io.coil-kt.coil3:coil-network-okhttp", version.ref = "coil" } +coil-svg = { module = "io.coil-kt.coil3:coil-svg", version.ref = "coil" } +coil-video = { module = "io.coil-kt.coil3:coil-video", version.ref = "coil" } dagger-hiltAndroid = { module = "com.google.dagger:hilt-android", version.ref = "hilt" } dagger-hiltAndroidTesting = { module = "com.google.dagger:hilt-android-testing", version.ref = "hilt" } diff --git a/android/navi-ap/src/main/kotlin/com/navi/ap/common/renderer/CollapsableItemsWithTitleWidget.kt b/android/navi-ap/src/main/kotlin/com/navi/ap/common/renderer/CollapsableItemsWithTitleWidget.kt index 45bb956fc7..b0b6f6d3c9 100644 --- a/android/navi-ap/src/main/kotlin/com/navi/ap/common/renderer/CollapsableItemsWithTitleWidget.kt +++ b/android/navi-ap/src/main/kotlin/com/navi/ap/common/renderer/CollapsableItemsWithTitleWidget.kt @@ -24,9 +24,10 @@ import androidx.compose.ui.draw.rotate import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.dp -import coil.compose.AsyncImage -import coil.request.ImageRequest -import coil.size.Size +import coil3.compose.AsyncImage +import coil3.request.ImageRequest +import coil3.request.allowHardware +import coil3.size.Size import com.navi.ap.common.models.WidgetModelDefinition import com.navi.ap.common.models.customwidget.CollapsableItemsWithTitleWidgetData import com.navi.ap.common.viewmodel.ApplicationPlatformVM diff --git a/android/navi-ap/src/main/kotlin/com/navi/ap/utils/Utils.kt b/android/navi-ap/src/main/kotlin/com/navi/ap/utils/Utils.kt index 9d3298a824..9dacba7b64 100644 --- a/android/navi-ap/src/main/kotlin/com/navi/ap/utils/Utils.kt +++ b/android/navi-ap/src/main/kotlin/com/navi/ap/utils/Utils.kt @@ -15,9 +15,10 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.SoftwareKeyboardController import androidx.core.content.getSystemService import androidx.lifecycle.SavedStateHandle -import coil.imageLoader -import coil.request.CachePolicy -import coil.request.ImageRequest +import coil3.imageLoader +import coil3.request.CachePolicy +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.google.gson.Gson import com.jayway.jsonpath.JsonPath import com.navi.analytics.utils.NaviTrackEvent diff --git a/android/navi-bbps/src/main/kotlin/com/navi/bbps/common/ui/CreditCardNumberBottomSheetContent.kt b/android/navi-bbps/src/main/kotlin/com/navi/bbps/common/ui/CreditCardNumberBottomSheetContent.kt index 7e6c927ec3..c11aa781b3 100644 --- a/android/navi-bbps/src/main/kotlin/com/navi/bbps/common/ui/CreditCardNumberBottomSheetContent.kt +++ b/android/navi-bbps/src/main/kotlin/com/navi/bbps/common/ui/CreditCardNumberBottomSheetContent.kt @@ -22,7 +22,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import coil.compose.AsyncImage +import coil3.compose.AsyncImage import com.navi.bbps.R import com.navi.bbps.common.ICON_CREDIT_CARD_LAST_FOUR_DIGITS_BOTTOMSHEET import com.navi.bbps.common.theme.NaviBbpsColor diff --git a/android/navi-bbps/src/main/kotlin/com/navi/bbps/common/ui/NaviBbpsCommonComposable.kt b/android/navi-bbps/src/main/kotlin/com/navi/bbps/common/ui/NaviBbpsCommonComposable.kt index d69f64b08e..e6dc763d00 100644 --- a/android/navi-bbps/src/main/kotlin/com/navi/bbps/common/ui/NaviBbpsCommonComposable.kt +++ b/android/navi-bbps/src/main/kotlin/com/navi/bbps/common/ui/NaviBbpsCommonComposable.kt @@ -114,7 +114,7 @@ import androidx.core.content.ContextCompat import androidx.lifecycle.Lifecycle import androidx.lifecycle.LifecycleEventObserver import androidx.lifecycle.compose.LocalLifecycleOwner -import coil.compose.AsyncImage +import coil3.compose.AsyncImage import com.airbnb.lottie.compose.LottieAnimation import com.airbnb.lottie.compose.animateLottieCompositionAsState import com.airbnb.lottie.compose.rememberLottieComposition diff --git a/android/navi-bbps/src/main/kotlin/com/navi/bbps/common/utils/NaviBbpsExt.kt b/android/navi-bbps/src/main/kotlin/com/navi/bbps/common/utils/NaviBbpsExt.kt index a6d32ca012..c7876df1e4 100644 --- a/android/navi-bbps/src/main/kotlin/com/navi/bbps/common/utils/NaviBbpsExt.kt +++ b/android/navi-bbps/src/main/kotlin/com/navi/bbps/common/utils/NaviBbpsExt.kt @@ -27,7 +27,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Brush import androidx.compose.ui.unit.dp import androidx.core.app.ActivityCompat -import coil.request.ImageRequest +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.google.gson.GsonBuilder import com.navi.base.utils.COMMA import com.navi.base.utils.EMPTY diff --git a/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/billerlist/ui/BillerListBottomSheetContent.kt b/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/billerlist/ui/BillerListBottomSheetContent.kt index 18b3cd71c4..351bfbee93 100644 --- a/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/billerlist/ui/BillerListBottomSheetContent.kt +++ b/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/billerlist/ui/BillerListBottomSheetContent.kt @@ -22,7 +22,7 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import coil.compose.AsyncImage +import coil3.compose.AsyncImage import com.navi.bbps.R import com.navi.bbps.common.ICON_FASTAG_BOTTOMSHEET import com.navi.bbps.common.NaviBbpsAnalytics diff --git a/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/category/ui/BillCategoriesArcProtectedComposables.kt b/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/category/ui/BillCategoriesArcProtectedComposables.kt index 107e360aa6..efad41170f 100644 --- a/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/category/ui/BillCategoriesArcProtectedComposables.kt +++ b/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/category/ui/BillCategoriesArcProtectedComposables.kt @@ -27,7 +27,7 @@ import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.text.withStyle import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import coil.compose.AsyncImage +import coil3.compose.AsyncImage import com.navi.base.utils.EMPTY import com.navi.bbps.R import com.navi.bbps.common.ICON_BBPS_LANDING_ARC_PROTECTED diff --git a/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/transactiondetails/ui/BbpsPostPaymentScreen.kt b/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/transactiondetails/ui/BbpsPostPaymentScreen.kt index bc0693d187..50ffe3ed3c 100644 --- a/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/transactiondetails/ui/BbpsPostPaymentScreen.kt +++ b/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/transactiondetails/ui/BbpsPostPaymentScreen.kt @@ -84,8 +84,9 @@ import androidx.lifecycle.Lifecycle import androidx.lifecycle.LifecycleEventObserver import androidx.lifecycle.compose.LocalLifecycleOwner import androidx.lifecycle.compose.collectAsStateWithLifecycle -import coil.compose.AsyncImage -import coil.request.ImageRequest +import coil3.compose.AsyncImage +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.navi.adverse.sdk.ui.AdverseViewRoot import com.navi.base.deeplink.DeepLinkManager import com.navi.base.model.CtaData diff --git a/android/navi-chat/src/main/java/com/navi/chat/ui/compose/AttachmentPickerScreen.kt b/android/navi-chat/src/main/java/com/navi/chat/ui/compose/AttachmentPickerScreen.kt index dbb8ce727d..42f809d831 100644 --- a/android/navi-chat/src/main/java/com/navi/chat/ui/compose/AttachmentPickerScreen.kt +++ b/android/navi-chat/src/main/java/com/navi/chat/ui/compose/AttachmentPickerScreen.kt @@ -64,11 +64,13 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.core.net.toUri -import coil.ImageLoader -import coil.compose.AsyncImage -import coil.compose.rememberAsyncImagePainter -import coil.decode.VideoFrameDecoder -import coil.request.ImageRequest +import coil3.ImageLoader +import coil3.compose.AsyncImage +import coil3.compose.rememberAsyncImagePainter +import coil3.request.ImageRequest +import coil3.request.allowHardware +import coil3.request.crossfade +import coil3.video.VideoFrameDecoder import com.navi.chat.R import com.navi.chat.db.utils.crmEventTracker import com.navi.chat.db.utils.fileSizeWithinLimit diff --git a/android/navi-coin/src/main/java/com/navi/coin/ui/compose/common/ScratchCardListRenderer.kt b/android/navi-coin/src/main/java/com/navi/coin/ui/compose/common/ScratchCardListRenderer.kt index b403f63db5..ff5014a195 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/ui/compose/common/ScratchCardListRenderer.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/ui/compose/common/ScratchCardListRenderer.kt @@ -65,9 +65,9 @@ import androidx.compose.ui.unit.Density import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.lifecycle.compose.collectAsStateWithLifecycle -import coil.compose.AsyncImage -import coil.request.CachePolicy -import coil.request.ImageRequest +import coil3.compose.AsyncImage +import coil3.request.CachePolicy +import coil3.request.ImageRequest import com.navi.base.utils.EMPTY import com.navi.coin.R import com.navi.coin.models.model.ScratchCard diff --git a/android/navi-coin/src/main/java/com/navi/coin/ui/compose/screen/CoinHomeScreen.kt b/android/navi-coin/src/main/java/com/navi/coin/ui/compose/screen/CoinHomeScreen.kt index d13178ddb4..d4cae5111e 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/ui/compose/screen/CoinHomeScreen.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/ui/compose/screen/CoinHomeScreen.kt @@ -67,8 +67,9 @@ import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.Lifecycle import androidx.lifecycle.LifecycleEventObserver import androidx.lifecycle.compose.collectAsStateWithLifecycle -import coil.compose.AsyncImage -import coil.request.ImageRequest +import coil3.compose.AsyncImage +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.google.accompanist.permissions.ExperimentalPermissionsApi import com.google.accompanist.systemuicontroller.rememberSystemUiController import com.navi.base.deeplink.DeepLinkManager diff --git a/android/navi-coin/src/main/java/com/navi/coin/ui/compose/screen/ReferralShareScreen.kt b/android/navi-coin/src/main/java/com/navi/coin/ui/compose/screen/ReferralShareScreen.kt index c7c11e60f1..49240da82b 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/ui/compose/screen/ReferralShareScreen.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/ui/compose/screen/ReferralShareScreen.kt @@ -67,8 +67,9 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.hilt.navigation.compose.hiltViewModel -import coil.compose.AsyncImage -import coil.request.ImageRequest +import coil3.compose.AsyncImage +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.navi.base.model.CtaData import com.navi.base.model.LineItem import com.navi.base.utils.EMPTY diff --git a/android/navi-coin/src/main/java/com/navi/coin/ui/compose/screen/RewardsShareScreen.kt b/android/navi-coin/src/main/java/com/navi/coin/ui/compose/screen/RewardsShareScreen.kt index bbb3bdf7ca..bcae213676 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/ui/compose/screen/RewardsShareScreen.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/ui/compose/screen/RewardsShareScreen.kt @@ -56,8 +56,9 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.hilt.navigation.compose.hiltViewModel -import coil.compose.AsyncImage -import coil.request.ImageRequest +import coil3.compose.AsyncImage +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.navi.base.deeplink.DeepLinkManager import com.navi.base.model.LineItem import com.navi.base.utils.isNotNull diff --git a/android/navi-coin/src/main/java/com/navi/coin/utils/CommonUtils.kt b/android/navi-coin/src/main/java/com/navi/coin/utils/CommonUtils.kt index da0e149a9d..ffc72f8fb4 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/utils/CommonUtils.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/utils/CommonUtils.kt @@ -15,9 +15,10 @@ import androidx.compose.ui.graphics.drawscope.drawIntoCanvas import androidx.compose.ui.graphics.toArgb import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import coil.imageLoader -import coil.request.CachePolicy -import coil.request.ImageRequest +import coil3.imageLoader +import coil3.request.CachePolicy +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.navi.base.AppServiceManager import com.navi.base.utils.isNull import com.navi.coin.ui.activity.CoinBaseActivity diff --git a/android/navi-common/src/main/java/com/navi/common/adverse/fallbackTemplates/FallbackBanner.kt b/android/navi-common/src/main/java/com/navi/common/adverse/fallbackTemplates/FallbackBanner.kt index 563946e429..4b138ed999 100644 --- a/android/navi-common/src/main/java/com/navi/common/adverse/fallbackTemplates/FallbackBanner.kt +++ b/android/navi-common/src/main/java/com/navi/common/adverse/fallbackTemplates/FallbackBanner.kt @@ -37,8 +37,9 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import coil.compose.AsyncImage -import coil.request.ImageRequest +import coil3.compose.AsyncImage +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.navi.common.R import com.navi.common.adverse.model.FallbackBannerContent import com.navi.elex.atoms.ElexText @@ -114,11 +115,11 @@ private fun ProductHeader(productInfo: FallbackBannerContent.ProductInfo) { horizontalArrangement = Arrangement.spacedBy(4.dp), ) { AsyncImage( + placeholder = painterResource(NaviWidgetsR.drawable.image_placeholder_small), + error = painterResource(NaviWidgetsR.drawable.image_placeholder_small), model = ImageRequest.Builder(LocalContext.current) .allowHardware(false) - .placeholder(NaviWidgetsR.drawable.image_placeholder_small) - .error(NaviWidgetsR.drawable.image_placeholder_small) .data(productInfo.icon) .build(), contentDescription = "", @@ -218,11 +219,11 @@ private fun BannerContent(content: FallbackBannerContent.ContentInfo) { } } AsyncImage( + placeholder = painterResource(NaviWidgetsR.drawable.image_placeholder_xx_large), + error = painterResource(NaviWidgetsR.drawable.image_placeholder_xx_large), model = ImageRequest.Builder(LocalContext.current) .allowHardware(false) - .placeholder(NaviWidgetsR.drawable.image_placeholder_xx_large) - .error(NaviWidgetsR.drawable.image_placeholder_xx_large) .data(content.illustration) .build(), contentDescription = null, diff --git a/android/navi-common/src/main/java/com/navi/common/resourcemanager/CacheResource.kt b/android/navi-common/src/main/java/com/navi/common/resourcemanager/CacheResource.kt index c0a26b4760..aa3f5eced9 100644 --- a/android/navi-common/src/main/java/com/navi/common/resourcemanager/CacheResource.kt +++ b/android/navi-common/src/main/java/com/navi/common/resourcemanager/CacheResource.kt @@ -9,11 +9,12 @@ package com.navi.common.resourcemanager import android.content.Context import android.graphics.Bitmap -import coil.imageLoader -import coil.request.CachePolicy -import coil.request.ErrorResult -import coil.request.ImageRequest -import coil.request.SuccessResult +import coil3.imageLoader +import coil3.request.CachePolicy +import coil3.request.ErrorResult +import coil3.request.ImageRequest +import coil3.request.SuccessResult +import coil3.request.allowHardware import com.airbnb.lottie.LottieCompositionFactory import com.bumptech.glide.Glide import com.bumptech.glide.load.DataSource diff --git a/android/navi-common/src/main/java/com/navi/common/ui/fragment/RewardsAnnouncementFragment.kt b/android/navi-common/src/main/java/com/navi/common/ui/fragment/RewardsAnnouncementFragment.kt index 9df711a618..f0e960a2d1 100644 --- a/android/navi-common/src/main/java/com/navi/common/ui/fragment/RewardsAnnouncementFragment.kt +++ b/android/navi-common/src/main/java/com/navi/common/ui/fragment/RewardsAnnouncementFragment.kt @@ -18,8 +18,8 @@ import android.view.View import androidx.constraintlayout.widget.ConstraintLayout import androidx.core.content.ContextCompat import androidx.core.view.isVisible -import coil.request.ImageRequest -import coil.request.SuccessResult +import coil3.request.ImageRequest +import coil3.request.SuccessResult import com.navi.analytics.utils.NaviTrackEvent import com.navi.base.deeplink.DeepLinkManager import com.navi.base.model.ImageDetail diff --git a/android/navi-common/src/main/java/com/navi/common/utils/ImageUtils.kt b/android/navi-common/src/main/java/com/navi/common/utils/ImageUtils.kt index 4126bd184f..88e50d8502 100644 --- a/android/navi-common/src/main/java/com/navi/common/utils/ImageUtils.kt +++ b/android/navi-common/src/main/java/com/navi/common/utils/ImageUtils.kt @@ -12,11 +12,12 @@ import android.graphics.Bitmap import android.graphics.drawable.BitmapDrawable import android.graphics.drawable.Drawable import android.net.Uri -import coil.Coil -import coil.ImageLoader -import coil.request.ImageRequest -import coil.size.Size -import coil.target.Target +import coil3.Image +import coil3.ImageLoader +import coil3.SingletonImageLoader +import coil3.request.ImageRequest +import coil3.size.Size +import coil3.target.Target import com.bumptech.glide.Glide import com.bumptech.glide.request.target.CustomTarget import com.bumptech.glide.request.transition.Transition @@ -117,16 +118,16 @@ fun imageUrlToUriCoil(context: Context, imageUrl: String, onConvertFinish: (Uri? onConvertFinish(file.getUri(context = context)) return@launch } - val imageLoader: ImageLoader = Coil.imageLoader(context) + val imageLoader: ImageLoader = SingletonImageLoader.get(context) val request = ImageRequest.Builder(context) .data(imageUrl) .size(Size.ORIGINAL) // Ensure we get the full-sized image .target( object : Target { - override fun onStart(placeholder: Drawable?) {} + override fun onStart(placeholder: Image?) {} - override fun onSuccess(result: Drawable) { + override fun onSuccess(result: Image) { scope.launch { // This is triggered when the image is successfully loaded if (cachePath.exists().not()) { @@ -142,7 +143,7 @@ fun imageUrlToUriCoil(context: Context, imageUrl: String, onConvertFinish: (Uri? } } - override fun onError(error: Drawable?) { + override fun onError(error: Image?) { scope.launch { NaviTrackEvent.trackEventOnClickStream( Constants.URL_TO_URI_CONVERT_ERROR.appendStrings( diff --git a/android/navi-design/build.gradle b/android/navi-design/build.gradle index a41ce6872a..86cf7d43f9 100644 --- a/android/navi-design/build.gradle +++ b/android/navi-design/build.gradle @@ -66,6 +66,7 @@ dependencies { api libs.androidx.constraintlayoutCompose api libs.androidx.core.ktx api libs.coil.compose + api libs.coil.networkOkhttp api libs.facebook.shimmer api libs.glide.glide diff --git a/android/navi-insurance/src/main/java/com/navi/insurance/engagement/pre_diabetes_check/composables/PdQuestionnaireScreen.kt b/android/navi-insurance/src/main/java/com/navi/insurance/engagement/pre_diabetes_check/composables/PdQuestionnaireScreen.kt index 7bf36e78c6..41618ce70f 100644 --- a/android/navi-insurance/src/main/java/com/navi/insurance/engagement/pre_diabetes_check/composables/PdQuestionnaireScreen.kt +++ b/android/navi-insurance/src/main/java/com/navi/insurance/engagement/pre_diabetes_check/composables/PdQuestionnaireScreen.kt @@ -86,9 +86,10 @@ import androidx.compose.ui.unit.TextUnit import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.hilt.navigation.compose.hiltViewModel -import coil.compose.AsyncImage -import coil.compose.rememberAsyncImagePainter -import coil.request.ImageRequest +import coil3.compose.AsyncImage +import coil3.compose.rememberAsyncImagePainter +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.airbnb.lottie.compose.LottieAnimation import com.airbnb.lottie.compose.LottieCompositionSpec import com.airbnb.lottie.compose.rememberLottieComposition diff --git a/android/navi-insurance/src/main/java/com/navi/insurance/new_hospital_experience/view/HospitalPageComposable.kt b/android/navi-insurance/src/main/java/com/navi/insurance/new_hospital_experience/view/HospitalPageComposable.kt index 07efcd3f04..6d10ea930a 100644 --- a/android/navi-insurance/src/main/java/com/navi/insurance/new_hospital_experience/view/HospitalPageComposable.kt +++ b/android/navi-insurance/src/main/java/com/navi/insurance/new_hospital_experience/view/HospitalPageComposable.kt @@ -95,8 +95,9 @@ import androidx.paging.LoadState import androidx.paging.PagingData import androidx.paging.compose.LazyPagingItems import androidx.paging.compose.collectAsLazyPagingItems -import coil.compose.AsyncImage -import coil.request.ImageRequest +import coil3.compose.AsyncImage +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.facebook.shimmer.ShimmerFrameLayout import com.google.android.libraries.places.api.Places import com.google.android.libraries.places.api.model.AutocompleteSessionToken diff --git a/android/navi-insurance/src/main/java/com/navi/insurance/new_hospital_experience/view/LocationPageComposable.kt b/android/navi-insurance/src/main/java/com/navi/insurance/new_hospital_experience/view/LocationPageComposable.kt index 5739334085..dd7931af3e 100644 --- a/android/navi-insurance/src/main/java/com/navi/insurance/new_hospital_experience/view/LocationPageComposable.kt +++ b/android/navi-insurance/src/main/java/com/navi/insurance/new_hospital_experience/view/LocationPageComposable.kt @@ -39,8 +39,9 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle -import coil.compose.AsyncImage -import coil.request.ImageRequest +import coil3.compose.AsyncImage +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.google.android.libraries.places.api.Places import com.google.android.libraries.places.api.model.AutocompletePrediction import com.google.android.libraries.places.api.model.AutocompleteSessionToken diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/common/settingscreen/ui/UPISettingContent.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/common/settingscreen/ui/UPISettingContent.kt index 26a1ae3d8a..db34316c54 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/common/settingscreen/ui/UPISettingContent.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/common/settingscreen/ui/UPISettingContent.kt @@ -34,7 +34,7 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import coil.compose.AsyncImage +import coil3.compose.AsyncImage import com.airbnb.lottie.compose.LottieAnimation import com.airbnb.lottie.compose.LottieCompositionSpec import com.airbnb.lottie.compose.LottieConstants diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/common/ui/NaviPayCommonView.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/common/ui/NaviPayCommonView.kt index ecd36eb74d..dd7684e813 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/common/ui/NaviPayCommonView.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/common/ui/NaviPayCommonView.kt @@ -131,7 +131,7 @@ import androidx.compose.ui.unit.sp import androidx.compose.ui.window.SecureFlagPolicy import androidx.compose.ui.zIndex import androidx.constraintlayout.compose.ConstraintLayout -import coil.compose.AsyncImage +import coil3.compose.AsyncImage import com.airbnb.lottie.LottieComposition import com.airbnb.lottie.compose.LottieAnimation import com.airbnb.lottie.compose.LottieClipSpec diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/common/ui/PayeeDetailsView.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/common/ui/PayeeDetailsView.kt index dcee5491e7..6fed9c2dbb 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/common/ui/PayeeDetailsView.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/common/ui/PayeeDetailsView.kt @@ -35,7 +35,7 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import coil.compose.AsyncImage +import coil3.compose.AsyncImage import com.navi.base.utils.isNotNullAndNotEmpty import com.navi.common.R as CommonR import com.navi.design.font.FontWeightEnum diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/common/view/CommonView.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/common/view/CommonView.kt index 4a1097e3d6..55a611ae1e 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/common/view/CommonView.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/common/view/CommonView.kt @@ -37,7 +37,7 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import coil.compose.AsyncImage +import coil3.compose.AsyncImage import com.navi.base.utils.ZERO_STRING import com.navi.base.utils.isNotNullAndNotEmpty import com.navi.base.utils.orFalse diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/ui/PaymentSummaryScreen.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/ui/PaymentSummaryScreen.kt index 84e7d3ec61..e0a6af1f79 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/ui/PaymentSummaryScreen.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/ui/PaymentSummaryScreen.kt @@ -64,8 +64,9 @@ import androidx.lifecycle.Lifecycle import androidx.lifecycle.LifecycleEventObserver import androidx.lifecycle.compose.LocalLifecycleOwner import androidx.lifecycle.compose.collectAsStateWithLifecycle -import coil.compose.AsyncImage -import coil.request.ImageRequest +import coil3.compose.AsyncImage +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.navi.base.deeplink.DeepLinkManager import com.navi.base.model.CtaData import com.navi.common.R as CommonR diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/ui/PaymentSummaryTransactionDetailSection.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/ui/PaymentSummaryTransactionDetailSection.kt index 81bf70cbf8..079f432919 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/ui/PaymentSummaryTransactionDetailSection.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/ui/PaymentSummaryTransactionDetailSection.kt @@ -60,7 +60,7 @@ import androidx.compose.ui.text.withStyle import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.compose.ui.window.Popup -import coil.compose.AsyncImage +import coil3.compose.AsyncImage import com.navi.adverse.sdk.ui.AdverseViewRoot import com.navi.base.utils.orFalse import com.navi.common.R as CommonR diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/onboarding/account/detail/ui/LinkedAccountDetailScreen.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/onboarding/account/detail/ui/LinkedAccountDetailScreen.kt index 7a12167473..ba6ed61b29 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/onboarding/account/detail/ui/LinkedAccountDetailScreen.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/onboarding/account/detail/ui/LinkedAccountDetailScreen.kt @@ -68,7 +68,9 @@ import androidx.compose.ui.window.Dialog import androidx.compose.ui.window.DialogProperties import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import coil.compose.AsyncImage +import coil3.compose.AsyncImage +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.navi.base.utils.orFalse import com.navi.common.R as CommonR import com.navi.common.extensions.conditional @@ -143,7 +145,6 @@ import com.navi.pay.utils.NAVI_PAY_UPI_NUMBER_LINKING_IN_PROGRESS_LOTTIE_URL import com.navi.pay.utils.SCROLL_OFFSET_FOR_TITLE_IN_HEADER import com.navi.pay.utils.clickableDebounce import com.navi.pay.utils.getFormattedAmountWithDecimal -import com.navi.pay.utils.getImageRequestBuilder import com.navi.pay.utils.noRippleClickable import com.navi.pay.utils.noRippleClickableWithDebounce import com.ramcosta.composedestinations.annotation.Destination @@ -759,9 +760,9 @@ fun RCCDetailHeaderUI( ) { AsyncImage( model = - LocalContext.current.getImageRequestBuilder( - data = linkedAccountEntity.bankIconImageUrl - ), + ImageRequest.Builder(LocalContext.current) + .data(data = linkedAccountEntity.bankIconImageUrl) + .allowHardware(true), contentDescription = "", modifier = Modifier.size(26.dp), fallback = painterResource(id = CommonR.drawable.ic_upi_bbps_default_bank_logo), diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/onboarding/account/linked/ui/AddRccAccountScreen.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/onboarding/account/linked/ui/AddRccAccountScreen.kt index ac68ed45d8..48b6a0e224 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/onboarding/account/linked/ui/AddRccAccountScreen.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/onboarding/account/linked/ui/AddRccAccountScreen.kt @@ -59,7 +59,7 @@ import androidx.lifecycle.Lifecycle import androidx.lifecycle.LifecycleEventObserver import androidx.lifecycle.compose.LocalLifecycleOwner import androidx.lifecycle.compose.collectAsStateWithLifecycle -import coil.compose.AsyncImage +import coil3.compose.AsyncImage import com.navi.common.R as CommonR import com.navi.common.lottie.LottieRepository import com.navi.common.model.NaviLottieCompositionSpecType diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/details/ui/bbps/BbpsOrderDetailsSummarySection.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/details/ui/bbps/BbpsOrderDetailsSummarySection.kt index be1cff85ee..31112314cd 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/details/ui/bbps/BbpsOrderDetailsSummarySection.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/details/ui/bbps/BbpsOrderDetailsSummarySection.kt @@ -45,7 +45,7 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.text.withStyle import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import coil.compose.AsyncImage +import coil3.compose.AsyncImage import com.navi.base.utils.isNotNullAndNotEmpty import com.navi.base.utils.orFalse import com.navi.common.R as CommonR diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/details/ui/common/BankNameAndUpiLogoSection.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/details/ui/common/BankNameAndUpiLogoSection.kt index c12f2036a0..124d0b9e52 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/details/ui/common/BankNameAndUpiLogoSection.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/details/ui/common/BankNameAndUpiLogoSection.kt @@ -21,7 +21,7 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import coil.compose.AsyncImage +import coil3.compose.AsyncImage import com.navi.design.font.FontWeightEnum import com.navi.design.font.getFontWeight import com.navi.design.font.naviFontFamily diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/details/ui/common/ScratchCardSection.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/details/ui/common/ScratchCardSection.kt index 61d9c5794e..d5f2bfa204 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/details/ui/common/ScratchCardSection.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/details/ui/common/ScratchCardSection.kt @@ -40,7 +40,7 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.text.withStyle import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import coil.compose.AsyncImage +import coil3.compose.AsyncImage import com.navi.base.utils.EMPTY import com.navi.base.utils.SPACE import com.navi.common.R as CommonR diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/details/ui/gold/GoldOrderDetailsSummarySection.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/details/ui/gold/GoldOrderDetailsSummarySection.kt index 573073eda9..64a0160bab 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/details/ui/gold/GoldOrderDetailsSummarySection.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/details/ui/gold/GoldOrderDetailsSummarySection.kt @@ -40,7 +40,7 @@ import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import coil.compose.AsyncImage +import coil3.compose.AsyncImage import com.navi.base.utils.SPACE import com.navi.base.utils.isNotNullAndNotEmpty import com.navi.base.utils.orFalse diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/details/ui/lending/LendingOrderDetailsSummarySection.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/details/ui/lending/LendingOrderDetailsSummarySection.kt index 44ffa243f8..598551d932 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/details/ui/lending/LendingOrderDetailsSummarySection.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/details/ui/lending/LendingOrderDetailsSummarySection.kt @@ -40,7 +40,7 @@ import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import coil.compose.AsyncImage +import coil3.compose.AsyncImage import com.navi.base.utils.isNotNullAndNotEmpty import com.navi.base.utils.orFalse import com.navi.common.R as CommonR diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/details/ui/upi/NaviPayOrderDetailsSummarySection.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/details/ui/upi/NaviPayOrderDetailsSummarySection.kt index 2729f69f00..b1aed4e344 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/details/ui/upi/NaviPayOrderDetailsSummarySection.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/details/ui/upi/NaviPayOrderDetailsSummarySection.kt @@ -42,7 +42,7 @@ import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import coil.compose.AsyncImage +import coil3.compose.AsyncImage import com.navi.base.utils.isNotNull import com.navi.base.utils.isNotNullAndNotEmpty import com.navi.base.utils.orFalse @@ -524,7 +524,7 @@ fun ColumnScope.KeyValueSections( KeyValueWithCopySection( modifier = Modifier.fillMaxWidth(), key = stringResource(id = R.string.upi_transaction_id), - value = naviPayTransactionDetailsMetadata.upiRequestIdFormatted ?: EMPTY, + value = naviPayTransactionDetailsMetadata?.upiRequestIdFormatted ?: EMPTY, iconId = CommonR.drawable.ic_copy, onCopyIconClicked = onUpiRequestIdCopyClicked, ) diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/list/ui/OrderHistoryItemView.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/list/ui/OrderHistoryItemView.kt index b2b91c1882..5655d14f72 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/list/ui/OrderHistoryItemView.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/list/ui/OrderHistoryItemView.kt @@ -36,7 +36,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import coil.compose.AsyncImage +import coil3.compose.AsyncImage import com.navi.base.utils.EMPTY import com.navi.common.R as CommonR import com.navi.common.utils.CommonUtils.cashToCoinsConverter diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/list/ui/OrderHistoryScreen.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/list/ui/OrderHistoryScreen.kt index 67bc594c26..b697e6f2ac 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/list/ui/OrderHistoryScreen.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/list/ui/OrderHistoryScreen.kt @@ -81,7 +81,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.paging.LoadState import androidx.paging.compose.collectAsLazyPagingItems import androidx.paging.compose.itemKey -import coil.compose.AsyncImage +import coil3.compose.AsyncImage import com.navi.base.deeplink.DeepLinkManager import com.navi.base.model.CtaData import com.navi.base.model.LineItem diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/list/ui/StatementDownloadBottomSheetContents.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/list/ui/StatementDownloadBottomSheetContents.kt index 891d0c4087..5f48d98289 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/list/ui/StatementDownloadBottomSheetContents.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/tstore/list/ui/StatementDownloadBottomSheetContents.kt @@ -48,7 +48,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.TextStyle import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import coil.compose.AsyncImage +import coil3.compose.AsyncImage import com.navi.base.utils.DateUtils import com.navi.common.R as CommonR import com.navi.common.commoncomposables.ui.ScrollableTabRow diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/utils/NaviPayExt.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/utils/NaviPayExt.kt index 5f59ac973c..fb0be5d40b 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/utils/NaviPayExt.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/utils/NaviPayExt.kt @@ -45,7 +45,8 @@ import androidx.core.content.getSystemService import androidx.core.net.toUri import androidx.paging.LoadState import androidx.paging.compose.LazyPagingItems -import coil.request.ImageRequest +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.navi.base.AppServiceManager import com.navi.base.utils.EMPTY import com.navi.base.utils.SPACE diff --git a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/components/MPSScreenViews.kt b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/components/MPSScreenViews.kt index be621d311d..fbf8a9952c 100644 --- a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/components/MPSScreenViews.kt +++ b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/components/MPSScreenViews.kt @@ -63,7 +63,7 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.IntSize import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import coil.compose.AsyncImage +import coil3.compose.AsyncImage import com.airbnb.lottie.compose.LottieAnimation import com.airbnb.lottie.compose.LottieCompositionSpec import com.airbnb.lottie.compose.animateLottieCompositionAsState diff --git a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/components/NPSCommonView.kt b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/components/NPSCommonView.kt index a6362f4e1f..9295a79589 100644 --- a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/components/NPSCommonView.kt +++ b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/components/NPSCommonView.kt @@ -50,7 +50,7 @@ import androidx.compose.ui.text.input.VisualTransformation import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import coil.compose.AsyncImage +import coil3.compose.AsyncImage import com.navi.common.utils.EMPTY import com.navi.common.utils.clickableDebounce import com.navi.design.font.FontWeightEnum diff --git a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/components/bsheets/NpsFomoBottomSheet.kt b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/components/bsheets/NpsFomoBottomSheet.kt index b953a10067..adbac59b1b 100644 --- a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/components/bsheets/NpsFomoBottomSheet.kt +++ b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/components/bsheets/NpsFomoBottomSheet.kt @@ -30,7 +30,7 @@ import androidx.compose.ui.text.SpanStyle import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import coil.compose.AsyncImage +import coil3.compose.AsyncImage import com.navi.common.R as CommonR import com.navi.common.utils.EMPTY import com.navi.common.utils.SPACE diff --git a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/screens/CardDetailsScreen.kt b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/screens/CardDetailsScreen.kt index a99ecfaa63..6697612179 100644 --- a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/screens/CardDetailsScreen.kt +++ b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/screens/CardDetailsScreen.kt @@ -76,7 +76,7 @@ import androidx.lifecycle.Lifecycle import androidx.lifecycle.LifecycleEventObserver import androidx.lifecycle.compose.LocalLifecycleOwner import androidx.lifecycle.compose.collectAsStateWithLifecycle -import coil.compose.AsyncImage +import coil3.compose.AsyncImage import com.navi.analytics.utils.AlfredFacade import com.navi.base.utils.EMPTY import com.navi.common.utils.ClickDebounce diff --git a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/screens/NetBankingScreen.kt b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/screens/NetBankingScreen.kt index a75436163e..92e930d81b 100644 --- a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/screens/NetBankingScreen.kt +++ b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/screens/NetBankingScreen.kt @@ -37,7 +37,7 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import coil.compose.AsyncImage +import coil3.compose.AsyncImage import com.navi.base.utils.EMPTY import com.navi.base.utils.orFalse import com.navi.common.model.RequestConfig diff --git a/android/navi-rr/src/main/java/com/navi/rr/common/ui/OfferBottomSheetWidget.kt b/android/navi-rr/src/main/java/com/navi/rr/common/ui/OfferBottomSheetWidget.kt index d8b1f39805..fd3f9fd9bc 100644 --- a/android/navi-rr/src/main/java/com/navi/rr/common/ui/OfferBottomSheetWidget.kt +++ b/android/navi-rr/src/main/java/com/navi/rr/common/ui/OfferBottomSheetWidget.kt @@ -35,9 +35,10 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import coil.compose.AsyncImage -import coil.compose.rememberAsyncImagePainter -import coil.request.ImageRequest +import coil3.compose.AsyncImage +import coil3.compose.rememberAsyncImagePainter +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.navi.base.utils.EMPTY import com.navi.base.utils.orElse import com.navi.base.utils.orZero diff --git a/android/navi-rr/src/main/java/com/navi/rr/common/views/NaviRRCommonView.kt b/android/navi-rr/src/main/java/com/navi/rr/common/views/NaviRRCommonView.kt index 5e9fc6a64b..b1d78e2895 100644 --- a/android/navi-rr/src/main/java/com/navi/rr/common/views/NaviRRCommonView.kt +++ b/android/navi-rr/src/main/java/com/navi/rr/common/views/NaviRRCommonView.kt @@ -45,7 +45,7 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import coil.compose.AsyncImage +import coil3.compose.AsyncImage import com.airbnb.lottie.LottieComposition import com.airbnb.lottie.compose.LottieAnimation import com.airbnb.lottie.compose.LottieCompositionSpec diff --git a/android/navi-rr/src/main/java/com/navi/rr/leaderboard/ui/compose/LeaderboardScreen.kt b/android/navi-rr/src/main/java/com/navi/rr/leaderboard/ui/compose/LeaderboardScreen.kt index d37167b862..9c93201cfa 100644 --- a/android/navi-rr/src/main/java/com/navi/rr/leaderboard/ui/compose/LeaderboardScreen.kt +++ b/android/navi-rr/src/main/java/com/navi/rr/leaderboard/ui/compose/LeaderboardScreen.kt @@ -10,6 +10,7 @@ package com.navi.rr.leaderboard.ui.compose import android.app.Activity import android.os.Bundle import androidx.activity.compose.BackHandler +import androidx.activity.compose.LocalActivity import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.Image @@ -61,7 +62,6 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Brush import androidx.compose.ui.graphics.Color import androidx.compose.ui.layout.ContentScale -import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.res.painterResource import androidx.compose.ui.text.font.FontWeight @@ -72,7 +72,7 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import coil.compose.rememberAsyncImagePainter +import coil3.compose.rememberAsyncImagePainter import com.google.accompanist.systemuicontroller.rememberSystemUiController import com.navi.base.deeplink.DeepLinkManager import com.navi.base.model.CtaData @@ -120,7 +120,7 @@ fun LeaderboardScreen( leaderboardAnalytics: LeaderboardAnalytics.BasicEvent = LeaderboardAnalytics.leaderboardAnalytics.BasicEvent(), ) { - val context = LocalContext.current as RRBaseActivity + val context = LocalActivity.current as RRBaseActivity Init( screenName = FORGE_LEADERBOARD_SCREEN, activity = context as Activity, diff --git a/android/navi-rr/src/main/java/com/navi/rr/milestones/ui/compose/MileStoneRenderer.kt b/android/navi-rr/src/main/java/com/navi/rr/milestones/ui/compose/MileStoneRenderer.kt index 542242ba96..ef262efd0f 100644 --- a/android/navi-rr/src/main/java/com/navi/rr/milestones/ui/compose/MileStoneRenderer.kt +++ b/android/navi-rr/src/main/java/com/navi/rr/milestones/ui/compose/MileStoneRenderer.kt @@ -28,8 +28,9 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel -import coil.compose.AsyncImage -import coil.request.ImageRequest +import coil3.compose.AsyncImage +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.navi.base.sharedpref.PreferenceManager import com.navi.base.utils.EMPTY import com.navi.rr.R diff --git a/android/navi-rr/src/main/java/com/navi/rr/milestones/ui/compose/MilestoneViews.kt b/android/navi-rr/src/main/java/com/navi/rr/milestones/ui/compose/MilestoneViews.kt index c81045eef4..69c2911f07 100644 --- a/android/navi-rr/src/main/java/com/navi/rr/milestones/ui/compose/MilestoneViews.kt +++ b/android/navi-rr/src/main/java/com/navi/rr/milestones/ui/compose/MilestoneViews.kt @@ -82,8 +82,9 @@ import androidx.compose.ui.window.Popup import androidx.compose.ui.zIndex import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import coil.compose.AsyncImage -import coil.request.ImageRequest +import coil3.compose.AsyncImage +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.airbnb.lottie.compose.LottieAnimation import com.airbnb.lottie.compose.LottieCompositionSpec import com.airbnb.lottie.compose.rememberLottieComposition diff --git a/android/navi-rr/src/main/java/com/navi/rr/referral/ui/compose/CommonViews.kt b/android/navi-rr/src/main/java/com/navi/rr/referral/ui/compose/CommonViews.kt index 098babd512..83eb217511 100644 --- a/android/navi-rr/src/main/java/com/navi/rr/referral/ui/compose/CommonViews.kt +++ b/android/navi-rr/src/main/java/com/navi/rr/referral/ui/compose/CommonViews.kt @@ -39,8 +39,9 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.TextUnit import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import coil.compose.AsyncImage -import coil.request.ImageRequest +import coil3.compose.AsyncImage +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.navi.base.deeplink.DeepLinkManager import com.navi.base.model.CtaData import com.navi.base.utils.EMPTY diff --git a/android/navi-rr/src/main/java/com/navi/rr/referral/ui/compose/RefereeHomePage.kt b/android/navi-rr/src/main/java/com/navi/rr/referral/ui/compose/RefereeHomePage.kt index 0f7f938550..2eeafaaa65 100644 --- a/android/navi-rr/src/main/java/com/navi/rr/referral/ui/compose/RefereeHomePage.kt +++ b/android/navi-rr/src/main/java/com/navi/rr/referral/ui/compose/RefereeHomePage.kt @@ -66,8 +66,9 @@ import androidx.compose.ui.text.withStyle import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.hilt.navigation.compose.hiltViewModel -import coil.compose.AsyncImage -import coil.request.ImageRequest +import coil3.compose.AsyncImage +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.google.accompanist.permissions.ExperimentalPermissionsApi import com.google.accompanist.permissions.isGranted import com.google.accompanist.permissions.rememberPermissionState diff --git a/android/navi-rr/src/main/java/com/navi/rr/scratchcard/ui/compose/ScratchCardDeckComposable.kt b/android/navi-rr/src/main/java/com/navi/rr/scratchcard/ui/compose/ScratchCardDeckComposable.kt index 856462d138..a7e201e6ba 100644 --- a/android/navi-rr/src/main/java/com/navi/rr/scratchcard/ui/compose/ScratchCardDeckComposable.kt +++ b/android/navi-rr/src/main/java/com/navi/rr/scratchcard/ui/compose/ScratchCardDeckComposable.kt @@ -55,8 +55,9 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import coil.compose.AsyncImage -import coil.request.ImageRequest +import coil3.compose.AsyncImage +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.navi.base.deeplink.DeepLinkManager import com.navi.base.model.CtaData import com.navi.base.utils.isNotNull diff --git a/android/navi-rr/src/main/java/com/navi/rr/uitron/render/LeaderboardHeaderRenderer.kt b/android/navi-rr/src/main/java/com/navi/rr/uitron/render/LeaderboardHeaderRenderer.kt index b78274d891..0963a54c79 100644 --- a/android/navi-rr/src/main/java/com/navi/rr/uitron/render/LeaderboardHeaderRenderer.kt +++ b/android/navi-rr/src/main/java/com/navi/rr/uitron/render/LeaderboardHeaderRenderer.kt @@ -32,8 +32,9 @@ import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.IntSize import androidx.compose.ui.unit.dp -import coil.compose.AsyncImage -import coil.request.ImageRequest +import coil3.compose.AsyncImage +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.navi.base.utils.EMPTY import com.navi.rr.leaderboard.models.HeaderScaledValues import com.navi.rr.leaderboard.utils.LeaderboardCommonUtils.getScaledValuesForLeaderboardHeader diff --git a/android/navi-rr/src/main/java/com/navi/rr/utils/RRUtils.kt b/android/navi-rr/src/main/java/com/navi/rr/utils/RRUtils.kt index b5415975be..7a6147d4d8 100644 --- a/android/navi-rr/src/main/java/com/navi/rr/utils/RRUtils.kt +++ b/android/navi-rr/src/main/java/com/navi/rr/utils/RRUtils.kt @@ -12,9 +12,10 @@ import android.content.Intent import android.content.res.Resources import android.net.Uri import android.provider.Settings -import coil.imageLoader -import coil.request.CachePolicy -import coil.request.ImageRequest +import coil3.imageLoader +import coil3.request.CachePolicy +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.navi.base.AppServiceManager import com.navi.base.utils.isNotNull import com.navi.base.utils.orElse diff --git a/android/navi-widgets/src/main/java/com/navi/naviwidgets/extensions/ComposeWidgetExt.kt b/android/navi-widgets/src/main/java/com/navi/naviwidgets/extensions/ComposeWidgetExt.kt index 9aa7b4e804..887ddb66d5 100644 --- a/android/navi-widgets/src/main/java/com/navi/naviwidgets/extensions/ComposeWidgetExt.kt +++ b/android/navi-widgets/src/main/java/com/navi/naviwidgets/extensions/ComposeWidgetExt.kt @@ -83,9 +83,10 @@ import androidx.compose.ui.unit.TextUnitType import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.compose.ui.viewinterop.AndroidView -import coil.compose.AsyncImage -import coil.request.CachePolicy -import coil.request.ImageRequest +import coil3.compose.AsyncImage +import coil3.request.CachePolicy +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.airbnb.lottie.compose.LottieAnimation import com.airbnb.lottie.compose.LottieCompositionSpec import com.airbnb.lottie.compose.animateLottieCompositionAsState diff --git a/android/navi-widgets/src/main/java/com/navi/naviwidgets/extensions/WidgetExt.kt b/android/navi-widgets/src/main/java/com/navi/naviwidgets/extensions/WidgetExt.kt index 265cc53be0..0ff0b7654e 100644 --- a/android/navi-widgets/src/main/java/com/navi/naviwidgets/extensions/WidgetExt.kt +++ b/android/navi-widgets/src/main/java/com/navi/naviwidgets/extensions/WidgetExt.kt @@ -418,8 +418,8 @@ fun TextView.setTextFieldData( null } if (!textDrawableData.left?.url.isNullOrEmpty() && leftDrawable == null) { - drawablePadding = textDrawableData.left.drawablePadding - textDrawableData.left.url?.let { + drawablePadding = textDrawableData.left?.drawablePadding + textDrawableData.left?.url?.let { loadDrawableFromUrl( context, it, @@ -435,8 +435,8 @@ fun TextView.setTextFieldData( } } } else if (!textDrawableData.right?.url.isNullOrEmpty() && rightDrawable == null) { - drawablePadding = textDrawableData.right.drawablePadding - textDrawableData.right.url?.let { + drawablePadding = textDrawableData.right?.drawablePadding + textDrawableData.right?.url?.let { loadDrawableFromUrl( context, it, @@ -452,8 +452,8 @@ fun TextView.setTextFieldData( } } } else if (!textDrawableData.top?.url.isNullOrEmpty() && topDrawable == null) { - drawablePadding = textDrawableData.top.drawablePadding - textDrawableData.top.url?.let { + drawablePadding = textDrawableData.top?.drawablePadding + textDrawableData.top?.url?.let { loadDrawableFromUrl( context, it, @@ -469,8 +469,8 @@ fun TextView.setTextFieldData( } } } else if (!textDrawableData.bottom?.url.isNullOrEmpty() && bottomDrawable == null) { - drawablePadding = textDrawableData.bottom.drawablePadding - textDrawableData.bottom.url?.let { + drawablePadding = textDrawableData.bottom?.drawablePadding + textDrawableData.bottom?.url?.let { loadDrawableFromUrl( context, it, @@ -514,7 +514,7 @@ fun TextView.setTextFieldData( 1.0f, ) } - data?.underline?.let { isUnderline -> + data.underline?.let { isUnderline -> if (isUnderline) paintFlags = paintFlags or Paint.UNDERLINE_TEXT_FLAG } data.cta?.let { diff --git a/android/navi-widgets/src/main/java/com/navi/naviwidgets/utils/Utils.kt b/android/navi-widgets/src/main/java/com/navi/naviwidgets/utils/Utils.kt index 6bbcbf5639..77cb440e3e 100644 --- a/android/navi-widgets/src/main/java/com/navi/naviwidgets/utils/Utils.kt +++ b/android/navi-widgets/src/main/java/com/navi/naviwidgets/utils/Utils.kt @@ -52,10 +52,13 @@ import androidx.core.view.isVisible import androidx.databinding.DataBindingUtil import androidx.databinding.ViewDataBinding import androidx.recyclerview.widget.RecyclerView -import coil.imageLoader -import coil.load -import coil.request.CachePolicy -import coil.request.ImageRequest +import coil3.asDrawable +import coil3.asImage +import coil3.imageLoader +import coil3.load +import coil3.request.CachePolicy +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.airbnb.lottie.LottieAnimationView import com.google.android.material.card.MaterialCardView import com.google.firebase.Timestamp @@ -581,7 +584,7 @@ fun loadUrlIntoImageView( try { view.load(url) { this.allowHardware(false) - this.placeholder(imagePlaceholder) + this.placeholder(imagePlaceholder?.asImage()) this.listener( onError = { _, _ -> NaviTrackEvent.trackEventOnClickStream( @@ -620,11 +623,15 @@ fun loadDrawableFromUrl( .listener( onSuccess = { request, result -> if (width == null || height == null) { - onDrawableReady(result.drawable) + onDrawableReady(result.image.asDrawable(resources = context.resources)) return@listener } val scaledDrawable = - scaleDrawable(result.drawable, dpToPxInInt(width), dpToPxInInt(height)) + scaleDrawable( + result.image.asDrawable(context.resources), + dpToPxInInt(width), + dpToPxInInt(height), + ) onDrawableReady(scaledDrawable) } ) diff --git a/android/navi-widgets/src/main/java/com/navi/naviwidgets/views/HorizontalCarouselWithTextView.kt b/android/navi-widgets/src/main/java/com/navi/naviwidgets/views/HorizontalCarouselWithTextView.kt index 71dacc77a1..62689d505c 100644 --- a/android/navi-widgets/src/main/java/com/navi/naviwidgets/views/HorizontalCarouselWithTextView.kt +++ b/android/navi-widgets/src/main/java/com/navi/naviwidgets/views/HorizontalCarouselWithTextView.kt @@ -45,9 +45,10 @@ import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import coil.compose.rememberAsyncImagePainter -import coil.request.CachePolicy -import coil.request.ImageRequest +import coil3.compose.rememberAsyncImagePainter +import coil3.request.CachePolicy +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.google.accompanist.pager.ExperimentalPagerApi import com.google.accompanist.pager.HorizontalPager import com.google.accompanist.pager.PagerState diff --git a/android/navi-widgets/src/main/java/com/navi/naviwidgets/views/SwipeableImageBannerWidgetView.kt b/android/navi-widgets/src/main/java/com/navi/naviwidgets/views/SwipeableImageBannerWidgetView.kt index 7e16e7453d..b8a06f77e8 100644 --- a/android/navi-widgets/src/main/java/com/navi/naviwidgets/views/SwipeableImageBannerWidgetView.kt +++ b/android/navi-widgets/src/main/java/com/navi/naviwidgets/views/SwipeableImageBannerWidgetView.kt @@ -31,9 +31,10 @@ import androidx.compose.ui.graphics.painter.Painter import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.dp -import coil.compose.rememberAsyncImagePainter -import coil.request.CachePolicy -import coil.request.ImageRequest +import coil3.compose.rememberAsyncImagePainter +import coil3.request.CachePolicy +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.google.accompanist.pager.ExperimentalPagerApi import com.google.accompanist.pager.HorizontalPager import com.google.accompanist.pager.PagerState diff --git a/android/navi-widgets/src/main/java/com/navi/naviwidgets/views/composables/ImageWithMultilineTextWidgetComposable.kt b/android/navi-widgets/src/main/java/com/navi/naviwidgets/views/composables/ImageWithMultilineTextWidgetComposable.kt index d1311e67d1..c27730505b 100644 --- a/android/navi-widgets/src/main/java/com/navi/naviwidgets/views/composables/ImageWithMultilineTextWidgetComposable.kt +++ b/android/navi-widgets/src/main/java/com/navi/naviwidgets/views/composables/ImageWithMultilineTextWidgetComposable.kt @@ -29,8 +29,9 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalConfiguration import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.dp -import coil.compose.AsyncImage -import coil.request.ImageRequest +import coil3.compose.AsyncImage +import coil3.request.ImageRequest +import coil3.request.allowHardware import com.navi.base.model.CtaData import com.navi.naviwidgets.extensions.NaviTextWidgetized import com.navi.naviwidgets.extensions.getBrush