From c438250f07dcf3deeb5ae8802cb1fb42045411b2 Mon Sep 17 00:00:00 2001 From: sowjanyakch Date: Mon, 31 Mar 2025 11:15:43 +0200 Subject: [PATCH] add test push notification button Signed-off-by: sowjanyakch --- .../talk/diagnose/DiagnoseActivity.kt | 4 +- .../diagnose/DiagnoseContentComposable.kt | 69 ++++++++++--------- .../java/com/nextcloud/talk/utils/ApiUtils.kt | 2 +- app/src/main/res/values/strings.xml | 1 + 4 files changed, 40 insertions(+), 36 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/diagnose/DiagnoseActivity.kt b/app/src/main/java/com/nextcloud/talk/diagnose/DiagnoseActivity.kt index 67bc22653..5fe38b5e8 100644 --- a/app/src/main/java/com/nextcloud/talk/diagnose/DiagnoseActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/diagnose/DiagnoseActivity.kt @@ -141,8 +141,8 @@ class DiagnoseActivity : BaseActivity() { setupMetaValues() setupPhoneValues() setupAppValues() - testPushNotification() setupAccountValues() + testPushNotification() diagnoseDataState.value = diagnoseData.toList() } @@ -197,7 +197,7 @@ class DiagnoseActivity : BaseActivity() { ).show() } - private fun testPushNotification() { + private fun testPushNotification() { addHeadline(context.resources.getString(R.string.nc_test_push_button)) } diff --git a/app/src/main/java/com/nextcloud/talk/diagnose/DiagnoseContentComposable.kt b/app/src/main/java/com/nextcloud/talk/diagnose/DiagnoseContentComposable.kt index 65d2deac4..c4a7366a5 100644 --- a/app/src/main/java/com/nextcloud/talk/diagnose/DiagnoseContentComposable.kt +++ b/app/src/main/java/com/nextcloud/talk/diagnose/DiagnoseContentComposable.kt @@ -11,7 +11,6 @@ import android.content.ClipData import android.content.ClipboardManager import android.content.Context import android.widget.Toast -import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column @@ -25,6 +24,7 @@ import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.wrapContentSize import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll +import androidx.compose.material3.Button import androidx.compose.material3.CircularProgressIndicator import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface @@ -38,6 +38,7 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.res.colorResource import androidx.compose.ui.res.dimensionResource +import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp @@ -64,19 +65,28 @@ fun DiagnoseContentComposable( when (element) { is DiagnoseActivity.DiagnoseElement.DiagnoseHeadline -> { if (element.headline == "Test push notifications") { - Text( - text = element.headline, + Button( modifier = Modifier - .fillMaxWidth() - .padding(vertical = 16.dp) - .clickable { diagnoseViewModel.fetchTestPushResult() }, - color = MaterialTheme.colorScheme.secondary, - fontSize = LocalDensity.current.run { - dimensionResource(R.dimen.headline_text_size).toPx().toSp() - }, - fontWeight = FontWeight.Bold, - textAlign = TextAlign.Start - ) + .wrapContentSize() + .padding(vertical = 8.dp), + onClick = { + diagnoseViewModel.fetchTestPushResult() + } + + ) { + Text( + text = element.headline, + modifier = Modifier + .fillMaxWidth() + .padding(vertical = 8.dp), + color = colorResource(R.color.high_emphasis_text), + fontSize = LocalDensity.current.run { + dimensionResource(R.dimen.headline_text_size).toPx().toSp() + }, + fontWeight = FontWeight.Bold, + textAlign = TextAlign.Center + ) + } } else { Text( modifier = Modifier.fillMaxWidth().padding(vertical = 16.dp), @@ -137,7 +147,11 @@ fun DiagnoseContentComposable( .padding(16.dp) ) { Column(modifier = Modifier.padding(16.dp)) { - Text("Push Test Result", style = MaterialTheme.typography.titleMedium) + Text( + text = stringResource(R.string.nc_test_results), + style = MaterialTheme.typography + .titleMedium + ) Spacer(modifier = Modifier.height(12.dp)) Box( modifier = Modifier @@ -145,7 +159,10 @@ fun DiagnoseContentComposable( .weight(1f, fill = false) .verticalScroll(rememberScrollState()) ) { - Text(message.value) + Text( + modifier = Modifier.padding(top = 8.dp), + text = message.value + ) } Spacer(modifier = Modifier.height(16.dp)) Row( @@ -153,19 +170,19 @@ fun DiagnoseContentComposable( modifier = Modifier.fillMaxWidth() ) { TextButton(onClick = { diagnoseViewModel.dismissDialog() }) { - Text("Cancel") + Text(text = stringResource(R.string.nc_cancel)) } Spacer(modifier = Modifier.width(8.dp)) TextButton(onClick = { val clipboard = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager - val clip = ClipData.newPlainText("PushMessage", message.value) + val clip = ClipData.newPlainText("Push Message", message.value) clipboard.setPrimaryClip(clip) - Toast.makeText(context, "Message copied to clipboard", Toast.LENGTH_SHORT) + Toast.makeText(context, "Message copied", Toast.LENGTH_SHORT) .show() diagnoseViewModel.dismissDialog() }) { - Text("Copy") + Text(text = stringResource(R.string.nc_common_copy)) } } } @@ -176,17 +193,3 @@ fun DiagnoseContentComposable( } } } - -// @Preview(showBackground = true) -// @Composable -// fun DiagnoseContentPreview() { -// val state = remember { -// mutableStateOf( -// listOf( -// DiagnoseActivity.DiagnoseElement.DiagnoseHeadline("Headline"), -// DiagnoseActivity.DiagnoseElement.DiagnoseEntry("Key", "Value") -// ) -// ) -// } -// DiagnoseContentComposable(state) -// } diff --git a/app/src/main/java/com/nextcloud/talk/utils/ApiUtils.kt b/app/src/main/java/com/nextcloud/talk/utils/ApiUtils.kt index 875e7bb59..3e0bfd173 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/ApiUtils.kt +++ b/app/src/main/java/com/nextcloud/talk/utils/ApiUtils.kt @@ -273,7 +273,7 @@ object ApiUtils { return getUrlForApi(version, baseUrl) + "/signaling" } - fun getUrlForTestPushNotifications(baseUrl: String): String { + fun getUrlForTestPushNotifications(baseUrl: String): String { return "$baseUrl$OCS_API_VERSION/apps/notifications/api/v3/test/self" } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0495dee53..fa3d3915d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -229,6 +229,7 @@ How to translate with transifex: Create issue Build flavor "Test push notifications + Test results Leave conversation