Fix ANR when changing the configuration of a foldable.

This commit is contained in:
Cody Henthorne
2024-03-13 12:35:01 -04:00
parent d993748753
commit 132bc15373
2 changed files with 17 additions and 0 deletions

View File

@@ -20,6 +20,7 @@ import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
import androidx.fragment.app.viewModels
import androidx.navigation.fragment.findNavController
import androidx.recyclerview.widget.RecyclerView
import androidx.transition.TransitionInflater
import com.google.android.material.appbar.AppBarLayout
import com.google.android.material.dialog.MaterialAlertDialogBuilder
@@ -32,6 +33,7 @@ import org.signal.core.util.DimensionUnit
import org.signal.core.util.concurrent.LifecycleDisposable
import org.signal.core.util.concurrent.addTo
import org.signal.core.util.logging.Log
import org.thoughtcrime.securesms.MainActivity
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.calls.links.details.CallLinkDetailsActivity
import org.thoughtcrime.securesms.calls.new.NewCallActivity
@@ -124,6 +126,12 @@ class CallLogFragment : Fragment(R.layout.call_log_fragment), CallLogAdapter.Cal
val callLogAdapter = CallLogAdapter(this)
disposables.bindTo(viewLifecycleOwner)
callLogAdapter.setPagingController(viewModel.controller)
callLogAdapter.registerAdapterDataObserver(object : RecyclerView.AdapterDataObserver() {
override fun onItemRangeInserted(positionStart: Int, itemCount: Int) {
(requireActivity() as? MainActivity)?.onFirstRender()
callLogAdapter.unregisterAdapterDataObserver(this)
}
})
val scrollToPositionDelegate = ScrollToPositionDelegate(
recyclerView = binding.recycler,