16
16
17
17
package io.getstream.chat.android.compose.sample.ui.profile
18
18
19
+ import android.content.res.Resources
19
20
import android.os.Bundle
20
21
import androidx.activity.ComponentActivity
21
22
import androidx.activity.compose.setContent
@@ -36,12 +37,13 @@ import androidx.compose.runtime.collectAsState
36
37
import androidx.compose.runtime.getValue
37
38
import androidx.compose.ui.Alignment
38
39
import androidx.compose.ui.Modifier
40
+ import androidx.compose.ui.platform.LocalContext
39
41
import androidx.compose.ui.platform.LocalLayoutDirection
40
42
import androidx.compose.ui.res.painterResource
41
43
import androidx.compose.ui.text.style.TextOverflow
42
44
import androidx.compose.ui.unit.dp
43
45
import androidx.lifecycle.viewmodel.compose.viewModel
44
- import io.getstream.chat.android.compose.R
46
+ import io.getstream.chat.android.compose.sample. R
45
47
import io.getstream.chat.android.compose.ui.components.BackButton
46
48
import io.getstream.chat.android.compose.ui.components.LoadingIndicator
47
49
import io.getstream.chat.android.compose.ui.components.avatar.UserAvatar
@@ -88,6 +90,7 @@ class UserProfileActivity : ComponentActivity() {
88
90
}
89
91
}
90
92
93
+ @Suppress(" LongMethod" )
91
94
@Composable
92
95
private fun UserProfileScreenContent (
93
96
user : User ? ,
@@ -141,7 +144,10 @@ private fun UserProfileScreenContent(
141
144
color = ChatTheme .colors.textHighEmphasis,
142
145
)
143
146
Text (
144
- text = " $avgResponseTimeInSeconds seconds" ,
147
+ text = formatTime(
148
+ resources = LocalContext .current.resources,
149
+ seconds = avgResponseTimeInSeconds,
150
+ ),
145
151
style = ChatTheme .typography.body,
146
152
color = ChatTheme .colors.textHighEmphasis,
147
153
maxLines = 1 ,
@@ -157,3 +163,21 @@ private fun UserProfileScreenContent(
157
163
private fun Divider () {
158
164
HorizontalDivider (modifier = Modifier .padding(vertical = 4 .dp))
159
165
}
166
+
167
+ @Suppress(" MagicNumber" )
168
+ private fun formatTime (
169
+ resources : Resources ,
170
+ seconds : Long ,
171
+ ): String {
172
+ val minutes = (seconds / 60 ).toInt()
173
+ val remainingSeconds = (seconds % 60 ).toInt()
174
+ return buildString {
175
+ if (minutes > 0 ) {
176
+ append(resources.getQuantityString(R .plurals.time_minutes, minutes, minutes))
177
+ }
178
+ if (remainingSeconds > 0 ) {
179
+ if (isNotEmpty()) append(" " )
180
+ append(resources.getQuantityString(R .plurals.time_seconds, remainingSeconds, remainingSeconds))
181
+ }
182
+ }
183
+ }
0 commit comments