From b128c5a8ea4114f8b43c29f41125ae0f8a73a778 Mon Sep 17 00:00:00 2001 From: sowjanyakch Date: Wed, 9 Apr 2025 17:15:24 +0200 Subject: [PATCH] use string resources Signed-off-by: sowjanyakch --- .../com/nextcloud/talk/chat/ChatActivity.kt | 45 +++++++++++-------- .../ConversationInfoEditActivity.kt | 8 ++-- .../ConversationsListActivity.kt | 5 ++- .../main/res/layout/item_event_schedule.xml | 7 +-- app/src/main/res/values/strings.xml | 5 +++ 5 files changed, 43 insertions(+), 27 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 3ca69bf19..1e4f21b27 100644 --- a/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt @@ -2989,11 +2989,11 @@ class ChatActivity : popupWindow.showAsDropDown(anchorView, 0, -anchorView.height) val meetingStatus = showEventSchedule() - - titleTextView.text = "Scheduled" subtitleTextView.text = meetingStatus - if (meetingStatus == "Meeting Ended" && currentConversation?.canDeleteConversation == true) { + if (meetingStatus == context.resources.getString(R.string.nc_meeting_ended) && + currentConversation?.canDeleteConversation == true + ) { deleteConversation.visibility = View.VISIBLE deleteConversation.setOnClickListener { @@ -3063,34 +3063,41 @@ class ChatActivity : } private fun showEventSchedule(): String { - val objectId = currentConversation?.objectId ?: "" - val status = getMeetingSchedule(objectId) + val meetingTimeStamp = currentConversation?.objectId ?: "" + val status = getMeetingSchedule(meetingTimeStamp) return status } - private fun getMeetingSchedule(objectId: String): String { - val timestamps = objectId.split("#") - if (timestamps.size != 2) return "Invalid Time" + private fun getMeetingSchedule(meetingTimeStamp: String): String { + val timestamps = meetingTimeStamp.split("#") + if (timestamps.size != 2) return context.resources.getString(R.string.nc_invalid_time) - val startEpoch = timestamps[0].toLong() - val endEpoch = timestamps[1].toLong() + val startEpoch = timestamps[ZERO_INDEX].toLong() + val endEpoch = timestamps[ONE_INDEX].toLong() val startDateTime = Instant.ofEpochSecond(startEpoch).atZone(ZoneId.systemDefault()) val endDateTime = Instant.ofEpochSecond(endEpoch).atZone(ZoneId.systemDefault()) - val now = ZonedDateTime.now(ZoneId.systemDefault()) + val currentTime = ZonedDateTime.now(ZoneId.systemDefault()) return when { - now.isBefore(startDateTime) -> { - val isToday = startDateTime.toLocalDate().isEqual(now.toLocalDate()) - val isTomorrow = startDateTime.toLocalDate().isEqual(now.toLocalDate().plusDays(1)) + currentTime.isBefore(startDateTime) -> { + val isToday = startDateTime.toLocalDate().isEqual(currentTime.toLocalDate()) + val isTomorrow = startDateTime.toLocalDate().isEqual(currentTime.toLocalDate().plusDays(1)) when { - isToday -> "Today at ${startDateTime.format(DateTimeFormatter.ofPattern("HH:mm"))}" - isTomorrow -> "Tomorrow at ${startDateTime.format(DateTimeFormatter.ofPattern("HH:mm"))}" + isToday -> String.format( + context.resources.getString(R.string.nc_today_meeting), + startDateTime.format(DateTimeFormatter.ofPattern("HH:mm")) + ) + + isTomorrow -> String.format( + context.resources.getString(R.string.nc_tomorrow_meeting), + startDateTime.format(DateTimeFormatter.ofPattern("HH:mm")) + ) else -> startDateTime.format(DateTimeFormatter.ofPattern("MMM d, yyyy, HH:mm")) } } - now.isAfter(endDateTime) -> "Meeting Ended" - else -> "Ongoing" + currentTime.isAfter(endDateTime) -> context.resources.getString(R.string.nc_meeting_ended) + else -> context.resources.getString(R.string.nc_ongoing_meeting) } } @@ -3951,5 +3958,7 @@ class ChatActivity : const val VOICE_MESSAGE_PLAY_ADD_THRESHOLD = 0.1 const val VOICE_MESSAGE_MARK_PLAYED_FACTOR = 20 const val OUT_OF_OFFICE_ALPHA = 76 + const val ZERO_INDEX = 0 + const val ONE_INDEX = 1 } } diff --git a/app/src/main/java/com/nextcloud/talk/conversationinfoedit/ConversationInfoEditActivity.kt b/app/src/main/java/com/nextcloud/talk/conversationinfoedit/ConversationInfoEditActivity.kt index 0b92df4d7..47e007a06 100644 --- a/app/src/main/java/com/nextcloud/talk/conversationinfoedit/ConversationInfoEditActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/conversationinfoedit/ConversationInfoEditActivity.kt @@ -275,11 +275,11 @@ class ConversationInfoEditActivity : BaseActivity() { } override fun onOptionsItemSelected(item: MenuItem): Boolean { - if (item.itemId == R.id.save) { - if (conversation?.objectType != ConversationEnums.ObjectType.EVENT) { - saveConversationNameAndDescription() - } + if (item.itemId == R.id.save) { + if (conversation?.objectType != ConversationEnums.ObjectType.EVENT) { + saveConversationNameAndDescription() } + } return true } 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 fc6fd749a..3fecd21de 100644 --- a/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt @@ -557,11 +557,11 @@ class ConversationsListActivity : } private fun futureEvent(conversation: ConversationModel): Boolean { - if(!conversation.objectId.contains("#")){ + if (!conversation.objectId.contains("#")) { return false } return conversation.objectType == ConversationEnums.ObjectType.EVENT && - (conversation.objectId.split("#")[0].toLong() - (System.currentTimeMillis() / 1000)) > + (conversation.objectId.split("#")[0].toLong() - (System.currentTimeMillis() / LONG_1000)) > AGE_THRESHOLD_FOR_EVENT_CONVERSATIONS } @@ -2138,5 +2138,6 @@ class ConversationsListActivity : const val OFFSET_HEIGHT_DIVIDER: Int = 3 const val ROOM_TYPE_ONE_ONE = "1" private const val AGE_THRESHOLD_FOR_EVENT_CONVERSATIONS: Long = 86400 + const val LONG_1000: Long = 1000 } } diff --git a/app/src/main/res/layout/item_event_schedule.xml b/app/src/main/res/layout/item_event_schedule.xml index ebf47520c..cf2a439c1 100644 --- a/app/src/main/res/layout/item_event_schedule.xml +++ b/app/src/main/res/layout/item_event_schedule.xml @@ -9,6 +9,7 @@ @@ -17,7 +18,7 @@ android:id="@+id/event_scheduled" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="Scheduled" + android:text="@string/nc_event_schedule" android:textStyle="bold" android:textSize="16sp" /> @@ -27,13 +28,13 @@ android:layout_height="wrap_content" android:textColor="?android:attr/textColorSecondary" android:textSize="14sp" - android:text="Meeting at 8:00 pm"/> + tools:text="Meeting at 8:00 pm"/> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ce2af5983..7645e2d2a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -245,6 +245,11 @@ How to translate with transifex: Schedule Delete Delete all + Ongoing meeting + Meeting ended + Invalid time + Today at %1$s + Tomorrow at %1$s If you delete the conversation, it will also be deleted for all other participants. New conversation