From 949a1e44172756a4a7f8252ea3781c3e9dbb0d61 Mon Sep 17 00:00:00 2001 From: Vankineeni Tawrun Date: Fri, 1 Mar 2019 18:43:03 +0530 Subject: [PATCH 1/2] convert UTC to Time --- .../presentation/UserDetailsPresenter.kt | 29 ++++++++++++++++--- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/chat/rocket/android/userdetails/presentation/UserDetailsPresenter.kt b/app/src/main/java/chat/rocket/android/userdetails/presentation/UserDetailsPresenter.kt index 004778e654..487a7c6af1 100644 --- a/app/src/main/java/chat/rocket/android/userdetails/presentation/UserDetailsPresenter.kt +++ b/app/src/main/java/chat/rocket/android/userdetails/presentation/UserDetailsPresenter.kt @@ -18,6 +18,8 @@ import kotlinx.coroutines.experimental.DefaultDispatcher import kotlinx.coroutines.experimental.withContext import timber.log.Timber import javax.inject.Inject +import java.text.SimpleDateFormat +import java.util.* class UserDetailsPresenter @Inject constructor( private val view: UserDetailsView, @@ -44,15 +46,34 @@ class UserDetailsPresenter @Inject constructor( val username = userEntity.username val name = userEntity.name val utcOffset = - userEntity.utcOffset // TODO Convert UTC and display like the mockup - - if (avatarUrl != null && username != null && name != null && utcOffset != null) { + userEntity.utcOffset + val gmtTime = System.currentTimeMillis() // 2.32pm NZDT + var timezoneAlteredTime: Long + if (utcOffset != null) { + val multiplier = utcOffset.times(60 * (60 * 1000)) + timezoneAlteredTime = gmtTime.plus(multiplier.toLong()) + } else { + timezoneAlteredTime = gmtTime + } + val calendar = GregorianCalendar() + calendar.timeInMillis = timezoneAlteredTime + val formatter = SimpleDateFormat("hh:mm a") + formatter.calendar = calendar + formatter.timeZone = TimeZone.getTimeZone("UTC") + var usertime = formatter.format(calendar.getTime()) + val utc = if (utcOffset !=null && utcOffset > 0) { + " (UTC +" + } else { + " (UTC " + } + usertime = usertime.plus("$utc$utcOffset)") + if (avatarUrl != null && username != null && name != null ) { view.showUserDetails( avatarUrl = avatarUrl, name = name, username = username, status = userEntity.status, - utcOffset = utcOffset.toString() + utcOffset = usertime.toString() ) } else { throw Exception() From c5dae85dbcf3ae3795d68f220425e4c463d7ce21 Mon Sep 17 00:00:00 2001 From: Vankineeni Tawrun Date: Tue, 5 Mar 2019 19:43:46 +0530 Subject: [PATCH 2/2] added UTC to time function --- .../presentation/UserDetailsPresenter.kt | 47 ++++++++++--------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/app/src/main/java/chat/rocket/android/userdetails/presentation/UserDetailsPresenter.kt b/app/src/main/java/chat/rocket/android/userdetails/presentation/UserDetailsPresenter.kt index 487a7c6af1..a255f33561 100644 --- a/app/src/main/java/chat/rocket/android/userdetails/presentation/UserDetailsPresenter.kt +++ b/app/src/main/java/chat/rocket/android/userdetails/presentation/UserDetailsPresenter.kt @@ -47,33 +47,14 @@ class UserDetailsPresenter @Inject constructor( val name = userEntity.name val utcOffset = userEntity.utcOffset - val gmtTime = System.currentTimeMillis() // 2.32pm NZDT - var timezoneAlteredTime: Long - if (utcOffset != null) { - val multiplier = utcOffset.times(60 * (60 * 1000)) - timezoneAlteredTime = gmtTime.plus(multiplier.toLong()) - } else { - timezoneAlteredTime = gmtTime - } - val calendar = GregorianCalendar() - calendar.timeInMillis = timezoneAlteredTime - val formatter = SimpleDateFormat("hh:mm a") - formatter.calendar = calendar - formatter.timeZone = TimeZone.getTimeZone("UTC") - var usertime = formatter.format(calendar.getTime()) - val utc = if (utcOffset !=null && utcOffset > 0) { - " (UTC +" - } else { - " (UTC " - } - usertime = usertime.plus("$utc$utcOffset)") + val usertime = utcToTime(utcOffset = utcOffset);// usertime.plus("$utc$utcOffset)") if (avatarUrl != null && username != null && name != null ) { view.showUserDetails( avatarUrl = avatarUrl, name = name, username = username, status = userEntity.status, - utcOffset = usertime.toString() + utcOffset = usertime ) } else { throw Exception() @@ -139,4 +120,28 @@ class UserDetailsPresenter @Inject constructor( } } } + + fun utcToTime(utcOffset:Float?): String { + val gmtTime = System.currentTimeMillis() // 2.32pm NZDT + var timezoneAlteredTime: Long + if (utcOffset != null) { + val multiplier = utcOffset.times(60 * (60 * 1000)) + timezoneAlteredTime = gmtTime.plus(multiplier.toLong()) + } else { + timezoneAlteredTime = gmtTime + } + val calendar = GregorianCalendar() + calendar.timeInMillis = timezoneAlteredTime + val formatter = SimpleDateFormat("hh:mm a") + formatter.calendar = calendar + formatter.timeZone = TimeZone.getTimeZone("UTC") + var usertime = formatter.format(calendar.getTime()) + val utc = if (utcOffset !=null && utcOffset > 0) { + " (UTC +" + } else { + " (UTC " + } + usertime = usertime.plus("$utc$utcOffset)") + return usertime + } }