From 3866beed924e19e77244f936ec4c225b6203a7be Mon Sep 17 00:00:00 2001 From: parneet-guraya Date: Fri, 1 Mar 2024 00:00:59 +0530 Subject: [PATCH] fix remind me later dialog Signed-off-by: parneet-guraya --- .../com/nextcloud/talk/chat/ChatActivity.kt | 7 +- .../talk/ui/dialog/DateTimePickerFragment.kt | 42 +- .../ui/dialog/FilterConversationFragment.kt | 4 +- .../res/layout/dialog_date_time_picker.xml | 360 +++++++++--------- 4 files changed, 211 insertions(+), 202 deletions(-) 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 ae9e06c6d..0a138b2a5 100644 --- a/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt @@ -4259,12 +4259,7 @@ class ChatActivity : val chatApiVersion = ApiUtils.getChatApiVersion(spreedCapabilities, intArrayOf(ApiUtils.API_V1, 1)) - val newFragment: DialogFragment = DateTimePickerFragment.newInstance( - roomToken, - message!!.id, - chatViewModel, - chatApiVersion - ) + val newFragment: DialogFragment = DateTimePickerFragment.newInstance(roomToken, message!!.id, chatApiVersion) newFragment.show(supportFragmentManager, DateTimePickerFragment.TAG) } diff --git a/app/src/main/java/com/nextcloud/talk/ui/dialog/DateTimePickerFragment.kt b/app/src/main/java/com/nextcloud/talk/ui/dialog/DateTimePickerFragment.kt index 65afc1888..209bd3690 100644 --- a/app/src/main/java/com/nextcloud/talk/ui/dialog/DateTimePickerFragment.kt +++ b/app/src/main/java/com/nextcloud/talk/ui/dialog/DateTimePickerFragment.kt @@ -37,6 +37,7 @@ import com.google.android.material.timepicker.TimeFormat import com.nextcloud.android.common.ui.theme.utils.ColorRole import com.nextcloud.talk.R import com.nextcloud.talk.application.NextcloudTalkApplication +import com.nextcloud.talk.chat.ChatActivity import com.nextcloud.talk.chat.viewmodels.ChatViewModel import com.nextcloud.talk.databinding.DialogDateTimePickerBinding import com.nextcloud.talk.ui.theme.ViewThemeUtils @@ -47,18 +48,15 @@ import javax.inject.Inject @Suppress("TooManyFunctions") @AutoInjector(NextcloudTalkApplication::class) -class DateTimePickerFragment( - token: String, - id: String, - chatViewModel: ChatViewModel, - private val chatApiVersion: Int -) : DialogFragment() { +class DateTimePickerFragment : DialogFragment() { + lateinit var binding: DialogDateTimePickerBinding private var dialogView: View? = null - private var viewModel = chatViewModel + private lateinit var viewModel: ChatViewModel private var currentTimeStamp: Long? = null - private var roomToken = token - private var messageId = id + private lateinit var roomToken: String + private lateinit var messageId: String + private var chatApiVersion: Int = -1 private var laterTodayTimeStamp = 0L private var tomorrowTimeStamp = 0L private var weekendTimeStamp = 0L @@ -73,6 +71,12 @@ class DateTimePickerFragment( override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { binding = DialogDateTimePickerBinding.inflate(LayoutInflater.from(context)) dialogView = binding.root + viewModel = (requireActivity() as ChatActivity).chatViewModel + arguments?.let { + roomToken = it.getString(TOKEN_ARG, "") + messageId = it.getString(ID_ARG, "") + chatApiVersion = it.getInt(CHAT_API_VERSION_ARG) + } return MaterialAlertDialogBuilder(requireContext()).setView(dialogView).create() } @@ -304,14 +308,20 @@ class DateTimePickerFragment( private const val ONE_SEC = 1000 private const val HOUR_EIGHT_AM = 8 private const val HOUR_SIX_PM = 18 + private const val TOKEN_ARG = "TOKEN_ARG" + private const val ID_ARG = "ID_ARG" + private const val CHAT_API_VERSION_ARG = "CHAT_API_VERSION_ARG" @JvmStatic - fun newInstance(token: String, id: String, chatViewModel: ChatViewModel, chatApiVersion: Int) = - DateTimePickerFragment( - token, - id, - chatViewModel, - chatApiVersion - ) + fun newInstance(token: String, id: String, chatApiVersion: Int): DateTimePickerFragment { + val args = Bundle() + args.putString(TOKEN_ARG, token) + args.putString(ID_ARG, id) + args.putInt(CHAT_API_VERSION_ARG, chatApiVersion) + + val dateTimePickerFragment = DateTimePickerFragment() + dateTimePickerFragment.arguments = args + return dateTimePickerFragment + } } } diff --git a/app/src/main/java/com/nextcloud/talk/ui/dialog/FilterConversationFragment.kt b/app/src/main/java/com/nextcloud/talk/ui/dialog/FilterConversationFragment.kt index 8f31c1fbf..d4a61f9e5 100644 --- a/app/src/main/java/com/nextcloud/talk/ui/dialog/FilterConversationFragment.kt +++ b/app/src/main/java/com/nextcloud/talk/ui/dialog/FilterConversationFragment.kt @@ -128,9 +128,7 @@ class FilterConversationFragment : DialogFragment() { private const val FILTER_STATE_ARG = "FILTER_STATE_ARG" @JvmStatic - fun newInstance( - savedFilterState: MutableMap - ): FilterConversationFragment { + fun newInstance(savedFilterState: MutableMap): FilterConversationFragment { val filterConversationFragment = FilterConversationFragment() val args = Bundle() args.putSerializable(FILTER_STATE_ARG, HashMap(savedFilterState)) diff --git a/app/src/main/res/layout/dialog_date_time_picker.xml b/app/src/main/res/layout/dialog_date_time_picker.xml index 2fd1e51a6..96d21a382 100644 --- a/app/src/main/res/layout/dialog_date_time_picker.xml +++ b/app/src/main/res/layout/dialog_date_time_picker.xml @@ -17,202 +17,208 @@ ~ You should have received a copy of the GNU General Public License ~ along with this program. If not, see . --> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + android:orientation="vertical"> + android:layout_margin="@dimen/standard_margin" + android:orientation="horizontal"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + android:text="@string/set" /> + + - - - - - - \ No newline at end of file + \ No newline at end of file