From 64fa8e830b03d2586151e123bb728e82af2b1bfa Mon Sep 17 00:00:00 2001 From: Ezhil Shanmugham Date: Mon, 22 May 2023 18:47:47 +0530 Subject: [PATCH] Made suggested changes in FullScreenImageActivity.kt, ConversationsListActivity.kt and in some files Signed-off-by: Ezhil Shanmugham ezhil56x.contact@gmail.com Signed-off-by: Andy Scherzinger --- .../activities/FullScreenImageActivity.kt | 18 ++++++----- .../activities/FullScreenMediaActivity.kt | 18 ++++++----- .../FullScreenTextViewerActivity.kt | 18 ++++++----- .../nextcloud/talk/activities/MainActivity.kt | 20 ++++++------ .../com/nextcloud/talk/chat/ChatActivity.kt | 6 ++-- .../ConversationsListActivity.kt | 31 ++++++------------- .../talk/location/LocationPickerActivity.kt | 8 +++-- .../messagesearch/MessageSearchActivity.kt | 10 +++--- .../activities/RemoteFileBrowserActivity.kt | 4 +-- .../activities/SharedItemsActivity.kt | 15 ++++----- 10 files changed, 75 insertions(+), 73 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/activities/FullScreenImageActivity.kt b/app/src/main/java/com/nextcloud/talk/activities/FullScreenImageActivity.kt index 7d44b3ea7..bfd7c59c4 100644 --- a/app/src/main/java/com/nextcloud/talk/activities/FullScreenImageActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/activities/FullScreenImageActivity.kt @@ -4,6 +4,8 @@ * @author Marcel Hibbe * @author Dariusz Olszewski * @author Andy Scherzinger + * @author Ezhil Shanmugham + * Copyright (C) 2023 Ezhil Shanmugham * Copyright (C) 2021 Andy Scherzinger * Copyright (C) 2021 Marcel Hibbe * Copyright (C) 2021 Dariusz Olszewski @@ -45,12 +47,6 @@ import java.io.File class FullScreenImageActivity : AppCompatActivity() { lateinit var binding: ActivityFullScreenImageBinding - private val callback = object : OnBackPressedCallback(true) { - override fun handleOnBackPressed() { - finish() - } - } - private lateinit var path: String private var showFullscreen = false @@ -61,8 +57,7 @@ class FullScreenImageActivity : AppCompatActivity() { override fun onOptionsItemSelected(item: MenuItem): Boolean { return if (item.itemId == android.R.id.home) { - // onBackPressed() - onBackPressedDispatcher.addCallback(this, callback) + onBackPressedDispatcher.onBackPressed() true } else if (item.itemId == R.id.share) { val shareUri = FileProvider.getUriForFile( @@ -125,6 +120,13 @@ class FullScreenImageActivity : AppCompatActivity() { binding.photoView.visibility = View.VISIBLE displayImage(path) } + + val callback = object : OnBackPressedCallback(true) { + override fun handleOnBackPressed() { + finish() + } + } + onBackPressedDispatcher.addCallback(this, callback) } private fun displayImage(path: String) { diff --git a/app/src/main/java/com/nextcloud/talk/activities/FullScreenMediaActivity.kt b/app/src/main/java/com/nextcloud/talk/activities/FullScreenMediaActivity.kt index d20f3b545..4b44471ed 100644 --- a/app/src/main/java/com/nextcloud/talk/activities/FullScreenMediaActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/activities/FullScreenMediaActivity.kt @@ -3,8 +3,10 @@ * * @author Marcel Hibbe * @author Andy Scherzinger + * @author Ezhil Shanmugham * Copyright (C) 2021 Andy Scherzinger * Copyright (C) 2021 Marcel Hibbe + * Copyright (C) 2023 Ezhil Shanmugham * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -47,12 +49,6 @@ import java.io.File class FullScreenMediaActivity : AppCompatActivity(), Player.Listener { lateinit var binding: ActivityFullScreenMediaBinding - private val callback = object : OnBackPressedCallback(true) { - override fun handleOnBackPressed() { - finish() - } - } - private lateinit var path: String private lateinit var player: SimpleExoPlayer @@ -63,8 +59,7 @@ class FullScreenMediaActivity : AppCompatActivity(), Player.Listener { override fun onOptionsItemSelected(item: MenuItem): Boolean { return if (item.itemId == android.R.id.home) { - // onBackPressed() - onBackPressedDispatcher.addCallback(this, callback) + onBackPressedDispatcher.onBackPressed() true } else if (item.itemId == R.id.share) { val shareUri = FileProvider.getUriForFile( @@ -120,6 +115,13 @@ class FullScreenMediaActivity : AppCompatActivity(), Player.Listener { } } ) + + val callback = object : OnBackPressedCallback(true) { + override fun handleOnBackPressed() { + finish() + } + } + onBackPressedDispatcher.addCallback(this, callback) } override fun onStart() { diff --git a/app/src/main/java/com/nextcloud/talk/activities/FullScreenTextViewerActivity.kt b/app/src/main/java/com/nextcloud/talk/activities/FullScreenTextViewerActivity.kt index 81ffff5b6..dc057cd3e 100644 --- a/app/src/main/java/com/nextcloud/talk/activities/FullScreenTextViewerActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/activities/FullScreenTextViewerActivity.kt @@ -3,8 +3,10 @@ * * @author Marcel Hibbe * @author Andy Scherzinger + * @author Ezhil Shanmugham * Copyright (C) 2021 Andy Scherzinger * Copyright (C) 2021 Marcel Hibbe + * Copyright (C) 2023 Ezhil Shanmugham * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -46,12 +48,6 @@ import javax.inject.Inject class FullScreenTextViewerActivity : AppCompatActivity() { lateinit var binding: ActivityFullScreenTextBinding - private val callback = object : OnBackPressedCallback(true) { - override fun handleOnBackPressed() { - finish() - } - } - @Inject lateinit var viewThemeUtils: ViewThemeUtils @@ -64,8 +60,7 @@ class FullScreenTextViewerActivity : AppCompatActivity() { override fun onOptionsItemSelected(item: MenuItem): Boolean { return if (item.itemId == android.R.id.home) { - // onBackPressed() - onBackPressedDispatcher.addCallback(this, callback) + onBackPressedDispatcher.onBackPressed() true } else if (item.itemId == R.id.share) { val shareUri = FileProvider.getUriForFile( @@ -122,6 +117,13 @@ class FullScreenTextViewerActivity : AppCompatActivity() { ResourcesCompat.getColor(resources, R.color.bg_default, null) ) } + + val callback = object : OnBackPressedCallback(true) { + override fun handleOnBackPressed() { + finish() + } + } + onBackPressedDispatcher.addCallback(this, callback) } private fun readFile(fileName: String) = File(fileName).inputStream().readBytes().toString(Charsets.UTF_8) diff --git a/app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt b/app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt index 489303ffd..3d4a6745c 100644 --- a/app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt @@ -4,9 +4,11 @@ * @author Mario Danic * @author Andy Scherzinger * @author Marcel Hibbe + * @author Ezhil Shanmugham * Copyright (C) 2023 Marcel Hibbe * Copyright (C) 2021 Andy Scherzinger (infoi@andy-scherzinger.de) * Copyright (C) 2017 Mario Danic (mario@lovelyhq.com) + * Copyright (C) 2023 Ezhil Shanmugham * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -75,12 +77,6 @@ import javax.inject.Inject class MainActivity : BaseActivity(), ActionBarProvider { lateinit var binding: ActivityMainBinding - private val callback = object : OnBackPressedCallback(true) { - override fun handleOnBackPressed() { - finish() - } - } - @Inject lateinit var ncApi: NcApi @@ -143,6 +139,13 @@ class MainActivity : BaseActivity(), ActionBarProvider { } }) } + + val callback = object : OnBackPressedCallback(true) { + override fun handleOnBackPressed() { + finish() + } + } + onBackPressedDispatcher.addCallback(this, callback) } fun lockScreenIfConditionsApply() { @@ -360,10 +363,9 @@ class MainActivity : BaseActivity(), ActionBarProvider { } } - override fun onBackPressed() { + fun handleOnBackPressed() { if (!router!!.handleBack()) { - // super.onBackPressed() - onBackPressedDispatcher.addCallback(this, callback) + onBackPressedDispatcher.onBackPressed() } } diff --git a/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt b/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt index 3ab372485..e86c9b90e 100644 --- a/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt @@ -5,10 +5,12 @@ * @author Marcel Hibbe * @author Andy Scherzinger * @author Tim Krüger + * @author Ezhil Shanmugham * Copyright (C) 2021-2022 Tim Krüger * Copyright (C) 2021 Andy Scherzinger * Copyright (C) 2021-2022 Marcel Hibbe * Copyright (C) 2017-2019 Mario Danic + * Copyright (C) 2023 Ezhil Shanmugham * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -612,7 +614,7 @@ class ChatActivity : private fun setupActionBar() { setSupportActionBar(binding.chatToolbar) binding.chatToolbar.setNavigationOnClickListener { - onBackPressed() + handleOnBackPressed() } supportActionBar?.setDisplayHomeAsUpEnabled(true) supportActionBar?.setDisplayShowHomeEnabled(true) @@ -621,7 +623,7 @@ class ChatActivity : viewThemeUtils.material.themeToolbar(binding.chatToolbar) } - override fun onBackPressed() { + fun handleOnBackPressed() { val intent = Intent(this, ConversationsListActivity::class.java) intent.putExtras(Bundle()) startActivity(intent) diff --git a/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt b/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt index ab52cef60..e9590f96d 100644 --- a/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt @@ -146,12 +146,6 @@ class ConversationsListActivity : private lateinit var binding: ControllerConversationsRvBinding - private val callback = object : OnBackPressedCallback(true) { - override fun handleOnBackPressed() { - finish() - } - } - @Inject lateinit var userManager: UserManager @@ -195,6 +189,8 @@ class ConversationsListActivity : private var searchHelper: MessageSearchHelper? = null private var searchViewDisposable: Disposable? = null + private lateinit var callback: OnBackPressedCallback + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) NextcloudTalkApplication.sharedApplication!!.componentApplication.inject(this) @@ -207,6 +203,13 @@ class ConversationsListActivity : viewThemeUtils.material.themeSearchBarText(binding.searchText) forwardMessage = intent.getBooleanExtra(KEY_FORWARD_MSG_FLAG, false) + + callback = object : OnBackPressedCallback(true) { + override fun handleOnBackPressed() { + finish() + } + } + onBackPressedDispatcher.addCallback(this, callback) } override fun onResume() { @@ -1367,22 +1370,6 @@ class ConversationsListActivity : showErrorDialog() } - override fun onBackPressed() { - val callback = object : OnBackPressedCallback(true) { - override fun handleOnBackPressed() { - finish() - } - } - - onBackPressedDispatcher.addCallback(this, callback) - - // TODO: replace this when conductor is removed. For now it avoids loading the MainActivity which has no UI. - callback.isEnabled = true - callback.handleOnBackPressed() - - finishAffinity() - } - companion object { const val TAG = "ConvListController" const val UNREAD_BUBBLE_DELAY = 2500 diff --git a/app/src/main/java/com/nextcloud/talk/location/LocationPickerActivity.kt b/app/src/main/java/com/nextcloud/talk/location/LocationPickerActivity.kt index 48d4ced50..fc478d29c 100644 --- a/app/src/main/java/com/nextcloud/talk/location/LocationPickerActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/location/LocationPickerActivity.kt @@ -2,7 +2,9 @@ * Nextcloud Talk application * * @author Marcel Hibbe + * @author Ezhil Shanmugham * Copyright (C) 2021 Marcel Hibbe + * Copyright (C) 2023 Ezhil Shanmugham * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -175,7 +177,7 @@ class LocationPickerActivity : private fun setupActionBar() { setSupportActionBar(binding.locationPickerToolbar) binding.locationPickerToolbar.setNavigationOnClickListener { - onBackPressed() + handleOnBackPressed() } supportActionBar?.setDisplayHomeAsUpEnabled(true) supportActionBar?.setDisplayShowHomeEnabled(true) @@ -572,9 +574,9 @@ class LocationPickerActivity : // empty } - override fun onBackPressed() { + fun handleOnBackPressed() { setResult(Activity.RESULT_CANCELED) - finish() + finishAffinity() } companion object { diff --git a/app/src/main/java/com/nextcloud/talk/messagesearch/MessageSearchActivity.kt b/app/src/main/java/com/nextcloud/talk/messagesearch/MessageSearchActivity.kt index 0d1db5fa6..e8b98f071 100644 --- a/app/src/main/java/com/nextcloud/talk/messagesearch/MessageSearchActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/messagesearch/MessageSearchActivity.kt @@ -2,8 +2,10 @@ * Nextcloud Talk application * * @author Álvaro Brey + * @author Ezhil Shanmugham * Copyright (C) 2022 Álvaro Brey * Copyright (C) 2022 Nextcloud GmbH + * Copyright (C) 2023 Ezhil Shanmugham * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -210,7 +212,7 @@ class MessageSearchActivity : BaseActivity() { } override fun onMenuItemActionCollapse(item: MenuItem): Boolean { - onBackPressed() + handleOnBackPressed() return false } }) @@ -236,15 +238,15 @@ class MessageSearchActivity : BaseActivity() { .subscribe { newText -> viewModel.onQueryTextChange(newText) } } - override fun onBackPressed() { + fun handleOnBackPressed() { setResult(Activity.RESULT_CANCELED) - finish() + finishAffinity() } override fun onOptionsItemSelected(item: MenuItem): Boolean { return when (item.itemId) { android.R.id.home -> { - onBackPressed() + handleOnBackPressed() true } else -> super.onOptionsItemSelected(item) diff --git a/app/src/main/java/com/nextcloud/talk/remotefilebrowser/activities/RemoteFileBrowserActivity.kt b/app/src/main/java/com/nextcloud/talk/remotefilebrowser/activities/RemoteFileBrowserActivity.kt index 5de444843..c684f3779 100644 --- a/app/src/main/java/com/nextcloud/talk/remotefilebrowser/activities/RemoteFileBrowserActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/remotefilebrowser/activities/RemoteFileBrowserActivity.kt @@ -194,7 +194,7 @@ class RemoteFileBrowserActivity : AppCompatActivity(), SelectionInterface, Swipe return true } - override fun onBackPressed() { + fun handleOnBackPressed() { val callback = object : OnBackPressedCallback(true) { override fun handleOnBackPressed() { setResult(Activity.RESULT_CANCELED) @@ -223,7 +223,7 @@ class RemoteFileBrowserActivity : AppCompatActivity(), SelectionInterface, Swipe override fun onOptionsItemSelected(item: MenuItem): Boolean { return when (item.itemId) { android.R.id.home -> { - onBackPressed() + handleOnBackPressed() true } R.id.files_selection_done -> { diff --git a/app/src/main/java/com/nextcloud/talk/shareditems/activities/SharedItemsActivity.kt b/app/src/main/java/com/nextcloud/talk/shareditems/activities/SharedItemsActivity.kt index ec428bd6c..4f47024bc 100644 --- a/app/src/main/java/com/nextcloud/talk/shareditems/activities/SharedItemsActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/shareditems/activities/SharedItemsActivity.kt @@ -56,12 +56,6 @@ import javax.inject.Inject @AutoInjector(NextcloudTalkApplication::class) class SharedItemsActivity : AppCompatActivity() { - private val callback = object : OnBackPressedCallback(true) { - override fun handleOnBackPressed() { - finish() - } - } - @Inject lateinit var viewModelFactory: ViewModelProvider.Factory @@ -112,6 +106,13 @@ class SharedItemsActivity : AppCompatActivity() { }) viewModel.initialize(user, roomToken) + + val callback = object : OnBackPressedCallback(true) { + override fun handleOnBackPressed() { + finish() + } + } + onBackPressedDispatcher.addCallback(this, callback) } private fun handleModelChange( @@ -255,7 +256,7 @@ class SharedItemsActivity : AppCompatActivity() { override fun onOptionsItemSelected(item: MenuItem): Boolean { return if (item.itemId == android.R.id.home) { - onBackPressedDispatcher.addCallback(this, callback) + onBackPressedDispatcher.onBackPressed() true } else { super.onOptionsItemSelected(item)