parent
dea2094e3e
commit
9bd4fecc4f
3 changed files with 55 additions and 7 deletions
|
@ -25,9 +25,11 @@ import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.graphics.vector.ImageVector
|
||||||
import androidx.compose.ui.res.dimensionResource
|
import androidx.compose.ui.res.dimensionResource
|
||||||
import androidx.compose.ui.res.painterResource
|
import androidx.compose.ui.res.painterResource
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
|
import androidx.compose.ui.res.vectorResource
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.core.app.ShareCompat
|
import androidx.core.app.ShareCompat
|
||||||
|
@ -299,19 +301,19 @@ private fun CreateCallLinkBottomSheetContent(
|
||||||
|
|
||||||
Rows.TextRow(
|
Rows.TextRow(
|
||||||
text = stringResource(id = R.string.CreateCallLinkBottomSheetDialogFragment__share_link_via_signal),
|
text = stringResource(id = R.string.CreateCallLinkBottomSheetDialogFragment__share_link_via_signal),
|
||||||
icon = painterResource(id = R.drawable.symbol_forward_24),
|
icon = ImageVector.vectorResource(id = R.drawable.symbol_forward_24),
|
||||||
onClick = onShareViaSignalClicked
|
onClick = onShareViaSignalClicked
|
||||||
)
|
)
|
||||||
|
|
||||||
Rows.TextRow(
|
Rows.TextRow(
|
||||||
text = stringResource(id = R.string.CreateCallLinkBottomSheetDialogFragment__copy_link),
|
text = stringResource(id = R.string.CreateCallLinkBottomSheetDialogFragment__copy_link),
|
||||||
icon = painterResource(id = R.drawable.symbol_copy_android_24),
|
icon = ImageVector.vectorResource(id = R.drawable.symbol_copy_android_24),
|
||||||
onClick = onCopyLinkClicked
|
onClick = onCopyLinkClicked
|
||||||
)
|
)
|
||||||
|
|
||||||
Rows.TextRow(
|
Rows.TextRow(
|
||||||
text = stringResource(id = R.string.CreateCallLinkBottomSheetDialogFragment__share_link),
|
text = stringResource(id = R.string.CreateCallLinkBottomSheetDialogFragment__share_link),
|
||||||
icon = painterResource(id = R.drawable.symbol_share_android_24),
|
icon = ImageVector.vectorResource(id = R.drawable.symbol_share_android_24),
|
||||||
onClick = onShareLinkClicked
|
onClick = onShareLinkClicked
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,10 @@ import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.graphics.vector.ImageVector
|
||||||
import androidx.compose.ui.res.painterResource
|
import androidx.compose.ui.res.painterResource
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
|
import androidx.compose.ui.res.vectorResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.core.app.ActivityCompat
|
import androidx.core.app.ActivityCompat
|
||||||
|
@ -316,25 +318,25 @@ private fun CallLinkDetails(
|
||||||
|
|
||||||
Rows.TextRow(
|
Rows.TextRow(
|
||||||
text = stringResource(id = R.string.CreateCallLinkBottomSheetDialogFragment__share_link_via_signal),
|
text = stringResource(id = R.string.CreateCallLinkBottomSheetDialogFragment__share_link_via_signal),
|
||||||
icon = painterResource(id = R.drawable.symbol_forward_24),
|
icon = ImageVector.vectorResource(id = R.drawable.symbol_forward_24),
|
||||||
onClick = callback::onShareLinkViaSignalClicked
|
onClick = callback::onShareLinkViaSignalClicked
|
||||||
)
|
)
|
||||||
|
|
||||||
Rows.TextRow(
|
Rows.TextRow(
|
||||||
text = stringResource(id = R.string.CreateCallLinkBottomSheetDialogFragment__copy_link),
|
text = stringResource(id = R.string.CreateCallLinkBottomSheetDialogFragment__copy_link),
|
||||||
icon = painterResource(id = R.drawable.symbol_copy_android_24),
|
icon = ImageVector.vectorResource(id = R.drawable.symbol_copy_android_24),
|
||||||
onClick = callback::onCopyClicked
|
onClick = callback::onCopyClicked
|
||||||
)
|
)
|
||||||
|
|
||||||
Rows.TextRow(
|
Rows.TextRow(
|
||||||
text = stringResource(id = R.string.CallLinkDetailsFragment__share_link),
|
text = stringResource(id = R.string.CallLinkDetailsFragment__share_link),
|
||||||
icon = painterResource(id = R.drawable.symbol_link_24),
|
icon = ImageVector.vectorResource(id = R.drawable.symbol_link_24),
|
||||||
onClick = callback::onShareClicked
|
onClick = callback::onShareClicked
|
||||||
)
|
)
|
||||||
|
|
||||||
Rows.TextRow(
|
Rows.TextRow(
|
||||||
text = stringResource(id = R.string.CallLinkDetailsFragment__delete_call_link),
|
text = stringResource(id = R.string.CallLinkDetailsFragment__delete_call_link),
|
||||||
icon = painterResource(id = R.drawable.symbol_trash_24),
|
icon = ImageVector.vectorResource(id = R.drawable.symbol_trash_24),
|
||||||
foregroundTint = MaterialTheme.colorScheme.error,
|
foregroundTint = MaterialTheme.colorScheme.error,
|
||||||
onClick = callback::onDeleteClicked
|
onClick = callback::onDeleteClicked
|
||||||
)
|
)
|
||||||
|
|
|
@ -33,6 +33,7 @@ import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.alpha
|
import androidx.compose.ui.draw.alpha
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.graphics.painter.Painter
|
import androidx.compose.ui.graphics.painter.Painter
|
||||||
|
import androidx.compose.ui.graphics.vector.ImageVector
|
||||||
import androidx.compose.ui.res.dimensionResource
|
import androidx.compose.ui.res.dimensionResource
|
||||||
import androidx.compose.ui.res.painterResource
|
import androidx.compose.ui.res.painterResource
|
||||||
import androidx.compose.ui.text.TextStyle
|
import androidx.compose.ui.text.TextStyle
|
||||||
|
@ -198,6 +199,49 @@ object Rows {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Text row that positions [text] and optional [label] in a [TextAndLabel] to the side of an [icon] using ImageVector.
|
||||||
|
*/
|
||||||
|
@Composable
|
||||||
|
fun TextRow(
|
||||||
|
text: String,
|
||||||
|
icon: ImageVector?,
|
||||||
|
modifier: Modifier = Modifier,
|
||||||
|
iconModifier: Modifier = Modifier,
|
||||||
|
label: String? = null,
|
||||||
|
foregroundTint: Color = MaterialTheme.colorScheme.onSurface,
|
||||||
|
onClick: (() -> Unit)? = null,
|
||||||
|
onLongClick: (() -> Unit)? = null,
|
||||||
|
enabled: Boolean = true
|
||||||
|
) {
|
||||||
|
TextRow(
|
||||||
|
text = {
|
||||||
|
TextAndLabel(
|
||||||
|
text = text,
|
||||||
|
label = label,
|
||||||
|
textColor = foregroundTint,
|
||||||
|
enabled = enabled
|
||||||
|
)
|
||||||
|
},
|
||||||
|
icon = if (icon != null) {
|
||||||
|
{
|
||||||
|
Icon(
|
||||||
|
imageVector = icon,
|
||||||
|
contentDescription = null,
|
||||||
|
tint = foregroundTint,
|
||||||
|
modifier = iconModifier
|
||||||
|
)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
null
|
||||||
|
},
|
||||||
|
modifier = modifier,
|
||||||
|
onClick = onClick,
|
||||||
|
onLongClick = onLongClick,
|
||||||
|
enabled = enabled
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Customizable text row that allows [text] and [icon] to be provided as composable functions instead of primitives.
|
* Customizable text row that allows [text] and [icon] to be provided as composable functions instead of primitives.
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Add table
Reference in a new issue