mirror of
https://github.com/recloudstream/cloudstream.git
synced 2024-08-15 01:53:11 +00:00
Fix state bug
This commit is contained in:
parent
2be1ed4379
commit
cd3940242f
2 changed files with 32 additions and 6 deletions
|
@ -1,6 +1,8 @@
|
||||||
package com.lagradost.cloudstream3.ui.download
|
package com.lagradost.cloudstream3.ui.download
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.os.Handler
|
||||||
|
import android.os.Looper
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
|
@ -65,9 +67,20 @@ class DownloadChildFragment : Fragment() {
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
// We never want to retain multi-delete state
|
/**
|
||||||
// when navigating to downloads
|
* We never want to retain multi-delete state
|
||||||
|
* when navigating to downloads. Setting this state
|
||||||
|
* immediately can sometimes result in the observer
|
||||||
|
* not being notified in time to update the UI.
|
||||||
|
*
|
||||||
|
* By posting to the main looper, we ensure that this
|
||||||
|
* operation is executed after the view has been fully created
|
||||||
|
* and all initializations are completed, allowing the
|
||||||
|
* observer to properly receive and handle the state change.
|
||||||
|
*/
|
||||||
|
Handler(Looper.getMainLooper()).post {
|
||||||
downloadsViewModel.setIsMultiDeleteState(false)
|
downloadsViewModel.setIsMultiDeleteState(false)
|
||||||
|
}
|
||||||
|
|
||||||
val folder = arguments?.getString("folder")
|
val folder = arguments?.getString("folder")
|
||||||
val name = arguments?.getString("name")
|
val name = arguments?.getString("name")
|
||||||
|
|
|
@ -8,6 +8,8 @@ import android.content.Intent
|
||||||
import android.content.Intent.FLAG_GRANT_READ_URI_PERMISSION
|
import android.content.Intent.FLAG_GRANT_READ_URI_PERMISSION
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.os.Handler
|
||||||
|
import android.os.Looper
|
||||||
import android.text.format.Formatter.formatShortFileSize
|
import android.text.format.Formatter.formatShortFileSize
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
@ -93,9 +95,20 @@ class DownloadFragment : Fragment() {
|
||||||
hideKeyboard()
|
hideKeyboard()
|
||||||
binding?.downloadStorageAppbar?.setAppBarNoScrollFlagsOnTV()
|
binding?.downloadStorageAppbar?.setAppBarNoScrollFlagsOnTV()
|
||||||
|
|
||||||
// We never want to retain multi-delete state
|
/**
|
||||||
// when navigating to downloads
|
* We never want to retain multi-delete state
|
||||||
|
* when navigating to downloads. Setting this state
|
||||||
|
* immediately can sometimes result in the observer
|
||||||
|
* not being notified in time to update the UI.
|
||||||
|
*
|
||||||
|
* By posting to the main looper, we ensure that this
|
||||||
|
* operation is executed after the view has been fully created
|
||||||
|
* and all initializations are completed, allowing the
|
||||||
|
* observer to properly receive and handle the state change.
|
||||||
|
*/
|
||||||
|
Handler(Looper.getMainLooper()).post {
|
||||||
downloadsViewModel.setIsMultiDeleteState(false)
|
downloadsViewModel.setIsMultiDeleteState(false)
|
||||||
|
}
|
||||||
|
|
||||||
observe(downloadsViewModel.headerCards) {
|
observe(downloadsViewModel.headerCards) {
|
||||||
(binding?.downloadList?.adapter as? DownloadAdapter)?.submitList(it)
|
(binding?.downloadList?.adapter as? DownloadAdapter)?.submitList(it)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue