From 1bcc6f03ebef16cd2f9930282de74aa58a7ea2e7 Mon Sep 17 00:00:00 2001 From: "Hector A. Narvaez" Date: Mon, 5 Jun 2023 14:56:54 -0500 Subject: [PATCH] Removed override of onBackPressed function as is deprecated. Instead, added back pressed callback --- .../presentation/file_viewer/FileViewerActivity.kt | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/storage-sample/src/main/java/com/omh/android/storage/sample/presentation/file_viewer/FileViewerActivity.kt b/storage-sample/src/main/java/com/omh/android/storage/sample/presentation/file_viewer/FileViewerActivity.kt index 5b10dde0..7541e59b 100644 --- a/storage-sample/src/main/java/com/omh/android/storage/sample/presentation/file_viewer/FileViewerActivity.kt +++ b/storage-sample/src/main/java/com/omh/android/storage/sample/presentation/file_viewer/FileViewerActivity.kt @@ -4,6 +4,7 @@ import android.content.Context import android.content.Intent import android.os.Bundle import android.view.View +import androidx.activity.OnBackPressedCallback import androidx.activity.viewModels import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager @@ -27,17 +28,25 @@ class FileViewerActivity : override val viewModel: FileViewerViewModel by viewModels() private lateinit var binding: ActivityFileViewerBinding private var filesAdapter: FileAdapter? = null + private lateinit var onBackPressedCallback: OnBackPressedCallback override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityFileViewerBinding.inflate(layoutInflater) val view = binding.root setContentView(view) + + onBackPressedCallback = object : OnBackPressedCallback(true) { + override fun handleOnBackPressed() { + dispatchEvent(FileViewerViewEvent.BackPressed) + } + } } override fun onResume() { super.onResume() binding.swapGridOrLinearLayoutManager.setOnClickListener { dispatchEvent(FileViewerViewEvent.SwapLayoutManager) } + onBackPressedDispatcher.addCallback(this, onBackPressedCallback) } override fun buildState(state: FileViewerViewState) = when (state) { @@ -107,9 +116,5 @@ class FileViewerActivity : dispatchEvent(FileViewerViewEvent.FileClicked(file)) } - override fun onBackPressed() { - dispatchEvent(FileViewerViewEvent.BackPressed) - } - private fun buildFinishState() = finish().also { finishAffinity() } }