TP-76171 | ui-tron version bump with video view (#12645)

This commit is contained in:
Soumya Ranjan Patra
2024-09-24 13:10:19 +05:30
committed by GitHub
parent 5768727929
commit c88c6c93d4
8 changed files with 36 additions and 21 deletions

View File

@@ -29,7 +29,14 @@ import timber.log.Timber
abstract class BaseApplication : MultiDexApplication(), ReactApplication, Media3SimpleCache {
private lateinit var media3SimpleCache: SimpleCache
override val media3SimpleCache by lazy {
val downloadContentDirectory = File(this.getExternalFilesDir(null), "downloads")
SimpleCache(
downloadContentDirectory,
LeastRecentlyUsedCacheEvictor(100_000_000),
StandaloneDatabaseProvider(this)
)
}
override fun attachBaseContext(base: Context?) {
super.attachBaseContext(base)
@@ -65,17 +72,4 @@ abstract class BaseApplication : MultiDexApplication(), ReactApplication, Media3
}
}
}
override fun getMedia3SimpleCache(): SimpleCache {
if (::media3SimpleCache.isInitialized.not()) {
val downloadContentDirectory = File(this.getExternalFilesDir(null), "downloads")
media3SimpleCache =
SimpleCache(
downloadContentDirectory,
LeastRecentlyUsedCacheEvictor(100_000_000),
StandaloneDatabaseProvider(this)
)
}
return media3SimpleCache
}
}

View File

@@ -101,7 +101,7 @@ navi-adverse = "1.3.0-20240917.145607-3"
navi-alfred = "1.15.1"
navi-guarddog = "3.5.0"
navi-pulse = "1.7.0"
navi-uitron = "1.22.0-20240919.222205-9"
navi-uitron = "1.23.0"
navigation = "2.5.3"
okhttp-bom = "4.12.0"
otaliastudios-cameraview = "2.7.2"

View File

@@ -24,5 +24,5 @@ interface Media3SimpleCache {
*
* @return A [SimpleCache] instance.
*/
fun getMedia3SimpleCache(): SimpleCache
val media3SimpleCache: SimpleCache
}

View File

@@ -42,8 +42,7 @@ class VideoViewHelper @Inject constructor() {
}
private fun getFactory(): ProgressiveMediaSource.Factory {
val downloadCache =
(AppServiceManager.application as Media3SimpleCache).getMedia3SimpleCache()
val downloadCache = (AppServiceManager.application as Media3SimpleCache).media3SimpleCache
val cacheSink = CacheDataSink.Factory().setCache(downloadCache)
val downstreamFactory = FileDataSource.Factory()
val upstreamFactory =

View File

@@ -7,6 +7,9 @@
package com.navi.common.uitron.model.property
import com.navi.uitron.model.UiTronResponse
import com.navi.uitron.model.ui.BaseProperty
class VideoViewProperty : BaseProperty()
class VideoViewProperty(
val placeHolderView: UiTronResponse? = null,
) : BaseProperty()

View File

@@ -32,6 +32,7 @@ import com.navi.common.uitron.model.data.VideoViewData
import com.navi.common.uitron.model.property.VideoViewProperty
import com.navi.uitron.model.data.UiTronData
import com.navi.uitron.render.Renderer
import com.navi.uitron.render.UiTronRenderer
import com.navi.uitron.utils.clip
import com.navi.uitron.utils.customClickable
import com.navi.uitron.utils.customCombinedClick
@@ -133,7 +134,16 @@ class VideoViewRenderer(
Box {
AndroidView(modifier = viewModifier, factory = { playerView })
if (placeholderVisibility.value) {
Box(viewModifier.background(Color.White))
property.placeHolderView?.let {
UiTronRenderer(
it.data,
uiTronViewModel,
)
.Render(
composeViews = it.parentComposeView.orEmpty(),
modifier = viewModifier,
)
} ?: Box(viewModifier.background(Color.White))
}
}

View File

@@ -12,9 +12,12 @@ import android.view.View
import androidx.compose.ui.graphics.Shape
import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.font.FontWeight
import androidx.media3.datasource.cache.SimpleCache
import com.navi.alfred.AlfredManager
import com.navi.base.AppServiceManager
import com.navi.base.utils.BaseUtils
import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper
import com.navi.common.media3simplecache.Media3SimpleCache
import com.navi.common.utils.CommonUtils.shortenMoney
import com.navi.common.utils.Constants.MAX_MONEY_LENGTH
import com.navi.common.utils.Constants.SHORTEN_MONEY
@@ -138,4 +141,8 @@ class UiTronDependencyProvider(private val context: Context) : IUiTronDependency
AlfredManager.sensitiveComposeRepository.blurSensitiveScreen(blur)
}
}
override fun getMedia3SimpleCache(): SimpleCache {
return (AppServiceManager.application as Media3SimpleCache).media3SimpleCache
}
}

View File

@@ -75,7 +75,9 @@ dependencies {
api libs.androidx.paging.runtime.ktx
api libs.masayukiSuda.easingInterpolator
api libs.navi.adverse
api libs.navi.uitron
api (libs.navi.uitron) {
exclude group: "com.google.guava", module: "guava"
}
implementation libs.android.flexbox
implementation libs.android.material