From 70f774dce96951dddbb50bb9a8aac64413ca9ca6 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Thu, 20 Apr 2023 14:27:58 -0300 Subject: [PATCH] Slight reorg of call links package. --- .../links/EditCallLinkNameDialogFragment.kt | 1 + .../securesms/calls/links/SignalCallRow.kt | 102 ++++++++++++++++++ ...CreateCallLinkBottomSheetDialogFragment.kt | 79 +------------- .../{ => create}/CreateCallLinkViewModel.kt | 2 +- .../res/navigation/main_activity_list.xml | 2 +- 5 files changed, 110 insertions(+), 76 deletions(-) create mode 100644 app/src/main/java/org/thoughtcrime/securesms/calls/links/SignalCallRow.kt rename app/src/main/java/org/thoughtcrime/securesms/calls/links/{ => create}/CreateCallLinkBottomSheetDialogFragment.kt (72%) rename app/src/main/java/org/thoughtcrime/securesms/calls/links/{ => create}/CreateCallLinkViewModel.kt (94%) diff --git a/app/src/main/java/org/thoughtcrime/securesms/calls/links/EditCallLinkNameDialogFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/calls/links/EditCallLinkNameDialogFragment.kt index 344f2959d0..5523ca6c82 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/calls/links/EditCallLinkNameDialogFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/calls/links/EditCallLinkNameDialogFragment.kt @@ -32,6 +32,7 @@ import androidx.fragment.app.viewModels import org.signal.core.ui.Buttons import org.signal.core.ui.Scaffolds import org.thoughtcrime.securesms.R +import org.thoughtcrime.securesms.calls.links.create.CreateCallLinkViewModel import org.thoughtcrime.securesms.compose.ComposeDialogFragment class EditCallLinkNameDialogFragment : ComposeDialogFragment() { diff --git a/app/src/main/java/org/thoughtcrime/securesms/calls/links/SignalCallRow.kt b/app/src/main/java/org/thoughtcrime/securesms/calls/links/SignalCallRow.kt new file mode 100644 index 0000000000..e83ba4fd20 --- /dev/null +++ b/app/src/main/java/org/thoughtcrime/securesms/calls/links/SignalCallRow.kt @@ -0,0 +1,102 @@ +package org.thoughtcrime.securesms.calls.links + +import androidx.compose.foundation.Image +import androidx.compose.foundation.background +import androidx.compose.foundation.border +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.width +import androidx.compose.foundation.shape.CircleShape +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment.Companion.CenterVertically +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.ColorFilter +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.res.dimensionResource +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.res.vectorResource +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import org.signal.core.ui.Buttons +import org.signal.core.ui.theme.SignalTheme +import org.thoughtcrime.securesms.R + +@Preview +@Composable +private fun SignalCallRowPreview() { + SignalTheme(false) { + SignalCallRow( + callName = "Call Name", + callLink = "https://call.signal.org#blahblahblah", + onJoinClicked = {} + ) + } +} + +@Composable +fun SignalCallRow( + callName: String, + callLink: String, + onJoinClicked: () -> Unit, + modifier: Modifier = Modifier +) { + Row( + modifier = modifier + .fillMaxWidth() + .padding(horizontal = dimensionResource(id = R.dimen.core_ui__gutter)) + .border( + width = 1.25.dp, + color = MaterialTheme.colorScheme.outline, + shape = RoundedCornerShape(18.dp) + ) + .padding(16.dp) + ) { + Image( + imageVector = ImageVector.vectorResource(id = R.drawable.symbol_video_display_bold_40), + contentScale = ContentScale.Inside, + contentDescription = null, + colorFilter = ColorFilter.tint(Color(0xFF5151F6)), + modifier = Modifier + .size(64.dp) + .background( + color = Color(0xFFE5E5FE), + shape = CircleShape + ) + ) + + Spacer(modifier = Modifier.width(10.dp)) + + Column( + modifier = Modifier + .weight(1f) + .align(CenterVertically) + ) { + Text( + text = callName.ifEmpty { stringResource(id = R.string.CreateCallLinkBottomSheetDialogFragment__signal_call) } + ) + Text( + text = callLink, + style = MaterialTheme.typography.bodyMedium, + color = MaterialTheme.colorScheme.onSurfaceVariant + ) + } + + Spacer(modifier = Modifier.width(10.dp)) + + Buttons.Small( + onClick = onJoinClicked, + modifier = Modifier.align(CenterVertically) + ) { + Text(text = stringResource(id = R.string.CreateCallLinkBottomSheetDialogFragment__join)) + } + } +} diff --git a/app/src/main/java/org/thoughtcrime/securesms/calls/links/CreateCallLinkBottomSheetDialogFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/calls/links/create/CreateCallLinkBottomSheetDialogFragment.kt similarity index 72% rename from app/src/main/java/org/thoughtcrime/securesms/calls/links/CreateCallLinkBottomSheetDialogFragment.kt rename to app/src/main/java/org/thoughtcrime/securesms/calls/links/create/CreateCallLinkBottomSheetDialogFragment.kt index 5f65fc5b3c..92cf17fabd 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/calls/links/CreateCallLinkBottomSheetDialogFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/calls/links/create/CreateCallLinkBottomSheetDialogFragment.kt @@ -1,36 +1,23 @@ -package org.thoughtcrime.securesms.calls.links +package org.thoughtcrime.securesms.calls.links.create import android.content.ActivityNotFoundException import android.content.Intent import android.widget.Toast -import androidx.compose.foundation.Image -import androidx.compose.foundation.background -import androidx.compose.foundation.border import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size -import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.wrapContentSize -import androidx.compose.foundation.shape.CircleShape -import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.ui.Alignment -import androidx.compose.ui.Alignment.Companion.CenterHorizontally -import androidx.compose.ui.Alignment.Companion.CenterVertically -import androidx.compose.ui.Alignment.Companion.End import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.graphics.vector.ImageVector -import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.vectorResource @@ -42,6 +29,8 @@ import org.signal.core.ui.Buttons import org.signal.core.ui.Dividers import org.signal.core.ui.Rows import org.thoughtcrime.securesms.R +import org.thoughtcrime.securesms.calls.links.EditCallLinkNameDialogFragment +import org.thoughtcrime.securesms.calls.links.SignalCallRow import org.thoughtcrime.securesms.compose.ComposeBottomSheetDialogFragment import org.thoughtcrime.securesms.conversation.mutiselect.forward.MultiselectForwardFragment import org.thoughtcrime.securesms.conversation.mutiselect.forward.MultiselectForwardFragmentArgs @@ -68,7 +57,7 @@ class CreateCallLinkBottomSheetDialogFragment : ComposeBottomSheetDialogFragment val callLink: String by viewModel.callLink val approveAllMembers: Boolean by viewModel.approveAllMembers - Handle(modifier = Modifier.align(CenterHorizontally)) + Handle(modifier = Modifier.align(Alignment.CenterHorizontally)) Spacer(modifier = Modifier.height(20.dp)) @@ -125,7 +114,7 @@ class CreateCallLinkBottomSheetDialogFragment : ComposeBottomSheetDialogFragment onClick = this@CreateCallLinkBottomSheetDialogFragment::onDoneClicked, modifier = Modifier .padding(end = dimensionResource(id = R.dimen.core_ui__gutter)) - .align(End) + .align(Alignment.End) ) { Text(text = stringResource(id = R.string.CreateCallLinkBottomSheetDialogFragment__done)) } @@ -182,61 +171,3 @@ class CreateCallLinkBottomSheetDialogFragment : ComposeBottomSheetDialogFragment } } } - -@Composable -private fun SignalCallRow( - callName: String, - callLink: String, - onJoinClicked: () -> Unit -) { - Row( - modifier = Modifier - .fillMaxWidth() - .padding(horizontal = dimensionResource(id = R.dimen.core_ui__gutter)) - .border( - width = 1.25.dp, - color = MaterialTheme.colorScheme.outline, - shape = RoundedCornerShape(18.dp) - ) - .padding(16.dp) - ) { - Image( - imageVector = ImageVector.vectorResource(id = R.drawable.symbol_video_display_bold_40), - contentScale = ContentScale.Inside, - contentDescription = null, - colorFilter = ColorFilter.tint(Color(0xFF5151F6)), - modifier = Modifier - .size(64.dp) - .background( - color = Color(0xFFE5E5FE), - shape = CircleShape - ) - ) - - Spacer(modifier = Modifier.width(10.dp)) - - Column( - modifier = Modifier - .weight(1f) - .align(CenterVertically) - ) { - Text( - text = callName.ifEmpty { stringResource(id = R.string.CreateCallLinkBottomSheetDialogFragment__signal_call) } - ) - Text( - text = callLink, - style = MaterialTheme.typography.bodyMedium, - color = MaterialTheme.colorScheme.onSurfaceVariant - ) - } - - Spacer(modifier = Modifier.width(10.dp)) - - Buttons.Small( - onClick = onJoinClicked, - modifier = Modifier.align(CenterVertically) - ) { - Text(text = stringResource(id = R.string.CreateCallLinkBottomSheetDialogFragment__join)) - } - } -} diff --git a/app/src/main/java/org/thoughtcrime/securesms/calls/links/CreateCallLinkViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/calls/links/create/CreateCallLinkViewModel.kt similarity index 94% rename from app/src/main/java/org/thoughtcrime/securesms/calls/links/CreateCallLinkViewModel.kt rename to app/src/main/java/org/thoughtcrime/securesms/calls/links/create/CreateCallLinkViewModel.kt index be9d693f80..11d1ae0c7b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/calls/links/CreateCallLinkViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/calls/links/create/CreateCallLinkViewModel.kt @@ -1,4 +1,4 @@ -package org.thoughtcrime.securesms.calls.links +package org.thoughtcrime.securesms.calls.links.create import androidx.compose.runtime.MutableState import androidx.compose.runtime.State diff --git a/app/src/main/res/navigation/main_activity_list.xml b/app/src/main/res/navigation/main_activity_list.xml index f09e338adb..89a2599f02 100644 --- a/app/src/main/res/navigation/main_activity_list.xml +++ b/app/src/main/res/navigation/main_activity_list.xml @@ -51,7 +51,7 @@ \ No newline at end of file