show remaining time in video player & update viewmodel and lifecycle

This commit is contained in:
IndusAryan 2024-01-13 14:15:33 +05:30
parent 4cc33146e3
commit f792ec757e
2 changed files with 15 additions and 10 deletions

View file

@ -159,10 +159,10 @@ dependencies {
// Android Core & Lifecycle // Android Core & Lifecycle
implementation("androidx.core:core-ktx:1.12.0") implementation("androidx.core:core-ktx:1.12.0")
implementation("androidx.appcompat:appcompat:1.6.1") implementation("androidx.appcompat:appcompat:1.6.1")
implementation("androidx.navigation:navigation-ui-ktx:2.7.5") implementation("androidx.navigation:navigation-ui-ktx:2.7.6")
implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.6.2") implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.7.0")
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2") implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0")
implementation("androidx.navigation:navigation-fragment-ktx:2.7.5") implementation("androidx.navigation:navigation-fragment-ktx:2.7.6")
// Design & UI // Design & UI
implementation("jp.wasabeef:glide-transformations:4.3.0") implementation("jp.wasabeef:glide-transformations:4.3.0")
@ -224,8 +224,8 @@ dependencies {
Level 25 or Less. */ Level 25 or Less. */
// Downloading & Networking // Downloading & Networking
implementation("androidx.work:work-runtime:2.8.1") implementation("androidx.work:work-runtime:2.9.0")
implementation("androidx.work:work-runtime-ktx:2.8.1") implementation("androidx.work:work-runtime-ktx:2.9.0")
implementation("com.github.Blatzar:NiceHttp:0.4.4") // HTTP Lib implementation("com.github.Blatzar:NiceHttp:0.4.4") // HTTP Lib
} }

View file

@ -47,6 +47,7 @@ import com.lagradost.cloudstream3.ui.player.GeneratorPlayer.Companion.subsProvid
import com.lagradost.cloudstream3.ui.player.source_priority.QualityDataHelper import com.lagradost.cloudstream3.ui.player.source_priority.QualityDataHelper
import com.lagradost.cloudstream3.ui.result.setText import com.lagradost.cloudstream3.ui.result.setText
import com.lagradost.cloudstream3.ui.result.txt import com.lagradost.cloudstream3.ui.result.txt
import com.lagradost.cloudstream3.ui.settings.SettingsFragment
import com.lagradost.cloudstream3.utils.AppUtils.isUsingMobileData import com.lagradost.cloudstream3.utils.AppUtils.isUsingMobileData
import com.lagradost.cloudstream3.utils.DataStoreHelper import com.lagradost.cloudstream3.utils.DataStoreHelper
import com.lagradost.cloudstream3.utils.SingleSelectionHelper.showDialog import com.lagradost.cloudstream3.utils.SingleSelectionHelper.showDialog
@ -79,7 +80,7 @@ open class FullScreenPlayer : AbstractPlayerFragment() {
protected open var isTv = false protected open var isTv = false
protected var playerBinding: PlayerCustomLayoutBinding? = null protected var playerBinding: PlayerCustomLayoutBinding? = null
private val handler = Handler(Looper.getMainLooper()) private val handler = Handler(Looper.getMainLooper())
private var isRemainingTimeEnabled = false private var isShowTimeRemaining = false
// state of player UI // state of player UI
protected var isShowing = false protected var isShowing = false
@ -1423,7 +1424,7 @@ open class FullScreenPlayer : AbstractPlayerFragment() {
} }
exoDuration.setOnClickListener { exoDuration.setOnClickListener {
if (!isRemainingTimeEnabled) { if (!isShowTimeRemaining) {
startUpdatingRemainingTime() startUpdatingRemainingTime()
} else { } else {
stopUpdatingRemainingTime() stopUpdatingRemainingTime()
@ -1521,6 +1522,10 @@ open class FullScreenPlayer : AbstractPlayerFragment() {
} catch (e: Exception) { } catch (e: Exception) {
logError(e) logError(e)
} }
if (SettingsFragment.isTrueTvSettings()) {
startUpdatingRemainingTime() // cs3 is an ott platform itself
}
} }
@SuppressLint("SourceLockedOrientationActivity") @SuppressLint("SourceLockedOrientationActivity")
@ -1545,7 +1550,7 @@ open class FullScreenPlayer : AbstractPlayerFragment() {
val formattedTime = "-${DateUtils.formatElapsedTime(remainingTimeSeconds)}" val formattedTime = "-${DateUtils.formatElapsedTime(remainingTimeSeconds)}"
playerBinding?.exoDuration?.text = formattedTime playerBinding?.exoDuration?.text = formattedTime
isRemainingTimeEnabled = true isShowTimeRemaining = true
} }
} }
@ -1562,7 +1567,7 @@ open class FullScreenPlayer : AbstractPlayerFragment() {
handler.removeCallbacksAndMessages(null) handler.removeCallbacksAndMessages(null)
val totalDuration = player.getDuration()?.div(1000) val totalDuration = player.getDuration()?.div(1000)
playerBinding?.exoDuration?.text = totalDuration?.let { DateUtils.formatElapsedTime(it) } playerBinding?.exoDuration?.text = totalDuration?.let { DateUtils.formatElapsedTime(it) }
isRemainingTimeEnabled = false isShowTimeRemaining = false
} }
private fun dynamicOrientation(): Int { private fun dynamicOrientation(): Int {