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 9b0d42557..946dd4209 100644 --- a/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt @@ -209,12 +209,10 @@ import java.io.File import java.io.IOException import java.net.HttpURLConnection import java.text.SimpleDateFormat -import java.util.Calendar import java.util.Date import java.util.Locale import java.util.concurrent.ExecutionException import javax.inject.Inject -import kotlin.String import kotlin.collections.set import kotlin.math.roundToInt @@ -621,18 +619,6 @@ class ChatActivity : urlForChatting ) - if (currentConversation?.type == ConversationEnums.ConversationType.ROOM_TYPE_ONE_TO_ONE_CALL && - currentConversation?.status == "dnd" - ) { - conversationUser?.let { user -> - chatViewModel.outOfOfficeStatusOfUser( - credentials, - user.baseUrl!!, - currentConversation!!.name - ) - } - } - logConversationInfos("GetRoomSuccessState") if (adapter == null) { @@ -701,16 +687,17 @@ class ChatActivity : loadAvatarForStatusBar() setupSwipeToReply() setActionBarTitle() - checkShowCallButtons() checkLobbyState() - if (currentConversation?.type == ConversationEnums.ConversationType.ROOM_TYPE_ONE_TO_ONE_CALL) { + if (currentConversation?.type == ConversationEnums.ConversationType.ROOM_TYPE_ONE_TO_ONE_CALL && + currentConversation?.status == "dnd" + ) { conversationUser?.let { user -> val credentials = ApiUtils.getCredentials(user.username, user.token) chatViewModel.outOfOfficeStatusOfUser( credentials!!, user.baseUrl!!, - currentConversation!!.displayName + currentConversation!!.name ) } } @@ -1101,29 +1088,26 @@ class ChatActivity : val startDate = Date(startDateTimestamp * 1000) val endDate = Date(endDateTimestamp * 1000) - val date1 = Calendar.getInstance().apply { time = startDate } - val date2 = Calendar.getInstance().apply { time = endDate } - - val isSameDay = date1.get(Calendar.YEAR) == date2.get(Calendar.YEAR) && - date1.get(Calendar.DAY_OF_YEAR) == date2.get(Calendar.DAY_OF_YEAR) - - if (isSameDay) { - binding.outOfOfficeContainer.findViewById(R.id.userAbsenceShortMessage).text = String.format( - context.resources.getString(R.string.user_absence_for_one_day), - uiState.userAbsence.userId - ) + if (dateUtils.isSameDate(startDate, endDate)) { + binding.outOfOfficeContainer.findViewById(R.id.userAbsenceShortMessage).text = + String.format( + context.resources.getString(R.string.user_absence_for_one_day), + uiState.userAbsence.userId + ) binding.outOfOfficeContainer.findViewById(R.id.userAbsencePeriod).visibility = View.GONE } else { val dateFormatter = SimpleDateFormat("MMM d, yyyy", Locale.getDefault()) val startDateString = dateFormatter.format(startDate) val endDateString = dateFormatter.format(endDate) - binding.outOfOfficeContainer.findViewById(R.id.userAbsenceShortMessage).text = String.format( - context.resources.getString(R.string.user_absence), - uiState.userAbsence.userId - ) + binding.outOfOfficeContainer.findViewById(R.id.userAbsenceShortMessage).text = + String.format( + context.resources.getString(R.string.user_absence), + uiState.userAbsence.userId + ) - binding.outOfOfficeContainer.findViewById(R.id.userAbsencePeriod).text = "$startDateString - $endDateString" + binding.outOfOfficeContainer.findViewById(R.id.userAbsencePeriod).text = + "$startDateString - $endDateString" } if (uiState.userAbsence.replacementUserDisplayName != null) { @@ -1146,7 +1130,8 @@ class ChatActivity : ) ) } - binding.outOfOfficeContainer.findViewById(R.id.absenceReplacement).text = context.resources.getString(R.string.user_absence_replacement) + binding.outOfOfficeContainer.findViewById(R.id.absenceReplacement).text = + context.resources.getString(R.string.user_absence_replacement) binding.outOfOfficeContainer.findViewById(R.id.replacement_user_avatar) .load(imageUri) { transformations(CircleCropTransformation()) @@ -1157,9 +1142,11 @@ class ChatActivity : binding.outOfOfficeContainer.findViewById(R.id.replacement_user_name).text = uiState.userAbsence.replacementUserDisplayName } else { - binding.outOfOfficeContainer.findViewById(R.id.absenceReplacement).visibility = View.GONE + binding.outOfOfficeContainer.findViewById(R.id.absenceReplacement).visibility = + View.GONE } - binding.outOfOfficeContainer.findViewById(R.id.userAbsenceLongMessage).text = uiState.userAbsence.message + binding.outOfOfficeContainer.findViewById(R.id.userAbsenceLongMessage).text = + uiState.userAbsence.message binding.outOfOfficeContainer.findViewById(R.id.avatar_chip).setOnClickListener { joinOneToOneConversation(uiState.userAbsence.replacementUserId!!) } diff --git a/app/src/main/java/com/nextcloud/talk/utils/DateUtils.kt b/app/src/main/java/com/nextcloud/talk/utils/DateUtils.kt index 1d302d487..852c5a54e 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/DateUtils.kt +++ b/app/src/main/java/com/nextcloud/talk/utils/DateUtils.kt @@ -51,6 +51,14 @@ class DateUtils(val context: Context) { return formatTime.format(Date(timestampSeconds * DateConstants.SECOND_DIVIDER)) } + fun isSameDate(date1: Date, date2: Date): Boolean { + val startDateCalendar = Calendar.getInstance().apply { time = date1 } + val endDateCalendar = Calendar.getInstance().apply { time = date2 } + val isSameDay = startDateCalendar.get(Calendar.YEAR) == endDateCalendar.get(Calendar.YEAR) && + startDateCalendar.get(Calendar.DAY_OF_YEAR) == endDateCalendar.get(Calendar.DAY_OF_YEAR) + return isSameDay + } + fun getTimeDifferenceInSeconds(time2: Long, time1: Long): Long { val difference = (time2 - time1) return abs(difference) diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml index 36bacfe12..7b4c18f30 100644 --- a/app/src/main/res/values-night/colors.xml +++ b/app/src/main/res/values-night/colors.xml @@ -61,7 +61,4 @@ #99FFFFFF - #cee7fe - #5e95b4 - diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 5b6cc5b30..a49e2de29 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -93,7 +93,4 @@ #EF3B02 #DBE2E9 - #cee5fd - #08486e - diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c69bbfb4b..75ff70baa 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -842,5 +842,5 @@ How to translate with transifex: %1$s is out of office and might not respond %1$s is out of office today - Replacement + Replacement: diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 8a68fa32d..7c9821c63 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -288,8 +288,4 @@ 50% - -