Merge pull request #4375 from element-hq/feature/bma/moreWorkOnIcons
Migrate some icons to Compound icon
This commit is contained in:
commit
8d9d397b1d
81 changed files with 265 additions and 312 deletions
|
|
@ -110,7 +110,7 @@ class RingingCallNotificationCreator @Inject constructor(
|
||||||
)
|
)
|
||||||
|
|
||||||
return NotificationCompat.Builder(context, notificationChannelId)
|
return NotificationCompat.Builder(context, notificationChannelId)
|
||||||
.setSmallIcon(CommonDrawables.ic_notification_small)
|
.setSmallIcon(CommonDrawables.ic_notification)
|
||||||
.setPriority(NotificationCompat.PRIORITY_MAX)
|
.setPriority(NotificationCompat.PRIORITY_MAX)
|
||||||
.setCategory(NotificationCompat.CATEGORY_CALL)
|
.setCategory(NotificationCompat.CATEGORY_CALL)
|
||||||
.setStyle(NotificationCompat.CallStyle.forIncomingCall(caller, declineIntent, answerIntent).setIsVideo(true))
|
.setStyle(NotificationCompat.CallStyle.forIncomingCall(caller, declineIntent, answerIntent).setIsVideo(true))
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,7 @@ class CallForegroundService : Service() {
|
||||||
val callActivityIntent = Intent(this, ElementCallActivity::class.java)
|
val callActivityIntent = Intent(this, ElementCallActivity::class.java)
|
||||||
val pendingIntent = PendingIntentCompat.getActivity(this, 0, callActivityIntent, 0, false)
|
val pendingIntent = PendingIntentCompat.getActivity(this, 0, callActivityIntent, 0, false)
|
||||||
val notification = NotificationCompat.Builder(this, foregroundServiceChannel.id)
|
val notification = NotificationCompat.Builder(this, foregroundServiceChannel.id)
|
||||||
.setSmallIcon(IconCompat.createWithResource(this, CommonDrawables.ic_notification_small))
|
.setSmallIcon(IconCompat.createWithResource(this, CommonDrawables.ic_notification))
|
||||||
.setContentTitle(getString(R.string.call_foreground_service_title_android))
|
.setContentTitle(getString(R.string.call_foreground_service_title_android))
|
||||||
.setContentText(getString(R.string.call_foreground_service_message_android))
|
.setContentText(getString(R.string.call_foreground_service_message_android))
|
||||||
.setContentIntent(pendingIntent)
|
.setContentIntent(pendingIntent)
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,6 @@ import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
import androidx.compose.ui.res.stringResource
|
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import io.element.android.compound.theme.ElementTheme
|
import io.element.android.compound.theme.ElementTheme
|
||||||
import io.element.android.compound.tokens.generated.CompoundIcons
|
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||||
|
|
@ -33,31 +32,24 @@ import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||||
import io.element.android.libraries.designsystem.theme.components.Icon
|
import io.element.android.libraries.designsystem.theme.components.Icon
|
||||||
import io.element.android.libraries.designsystem.theme.components.IconButton
|
import io.element.android.libraries.designsystem.theme.components.IconButton
|
||||||
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
import io.element.android.libraries.designsystem.theme.components.IconColorButton
|
||||||
import io.element.android.libraries.textcomposer.R
|
import io.element.android.libraries.designsystem.theme.components.IconColorButtonStyle
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
internal fun DisabledComposerView(
|
internal fun DisabledComposerView(
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
) {
|
) {
|
||||||
Row(
|
Row(
|
||||||
modifier = modifier.padding(3.dp)
|
modifier = modifier
|
||||||
|
.padding(3.dp)
|
||||||
.fillMaxWidth(),
|
.fillMaxWidth(),
|
||||||
verticalAlignment = Alignment.CenterVertically,
|
verticalAlignment = Alignment.CenterVertically,
|
||||||
) {
|
) {
|
||||||
IconButton(
|
IconColorButton(
|
||||||
modifier = Modifier
|
|
||||||
.size(48.dp),
|
|
||||||
enabled = false,
|
|
||||||
onClick = {},
|
onClick = {},
|
||||||
) {
|
imageVector = CompoundIcons.Plus(),
|
||||||
Icon(
|
iconColorButtonStyle = IconColorButtonStyle.Disabled,
|
||||||
modifier = Modifier.size(30.dp),
|
|
||||||
resourceId = CommonDrawables.ic_plus_composer,
|
|
||||||
contentDescription = stringResource(R.string.rich_text_editor_a11y_add_attachment),
|
|
||||||
tint = ElementTheme.colors.iconDisabled,
|
|
||||||
)
|
)
|
||||||
}
|
|
||||||
|
|
||||||
val bgColor = ElementTheme.colors.bgCanvasDisabled
|
val bgColor = ElementTheme.colors.bgCanvasDisabled
|
||||||
val borderColor = ElementTheme.colors.borderDisabled
|
val borderColor = ElementTheme.colors.borderDisabled
|
||||||
|
|
|
||||||
|
|
@ -12,10 +12,7 @@ import io.element.android.libraries.designsystem.R
|
||||||
// This list and all the drawable it contains should be removed at some point.
|
// This list and all the drawable it contains should be removed at some point.
|
||||||
// All the icons should be defined in Compound.
|
// All the icons should be defined in Compound.
|
||||||
internal val iconsOther = listOf(
|
internal val iconsOther = listOf(
|
||||||
R.drawable.ic_cancel,
|
R.drawable.ic_notification,
|
||||||
R.drawable.ic_encryption_enabled,
|
|
||||||
R.drawable.ic_notification_small,
|
|
||||||
R.drawable.ic_plus_composer,
|
|
||||||
R.drawable.ic_stop,
|
R.drawable.ic_stop,
|
||||||
R.drawable.pin,
|
R.drawable.pin,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,111 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2025 New Vector Ltd.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
|
||||||
|
* Please see LICENSE files in the repository root for full details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package io.element.android.libraries.designsystem.theme.components
|
||||||
|
|
||||||
|
import androidx.compose.foundation.background
|
||||||
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
|
import androidx.compose.foundation.layout.Column
|
||||||
|
import androidx.compose.foundation.layout.Row
|
||||||
|
import androidx.compose.foundation.layout.padding
|
||||||
|
import androidx.compose.foundation.layout.size
|
||||||
|
import androidx.compose.foundation.shape.CircleShape
|
||||||
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.ui.Alignment
|
||||||
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.draw.clip
|
||||||
|
import androidx.compose.ui.graphics.vector.ImageVector
|
||||||
|
import androidx.compose.ui.res.stringResource
|
||||||
|
import androidx.compose.ui.unit.dp
|
||||||
|
import io.element.android.compound.theme.ElementTheme
|
||||||
|
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||||
|
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||||
|
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||||
|
import io.element.android.libraries.ui.strings.CommonStrings
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Button with colored background.
|
||||||
|
* Figma: https://www.figma.com/design/G1xy0HDZKJf5TCRFmKb5d5/Compound-Android-Components?node-id=1956-37586
|
||||||
|
*/
|
||||||
|
@Composable
|
||||||
|
fun IconColorButton(
|
||||||
|
onClick: () -> Unit,
|
||||||
|
imageVector: ImageVector,
|
||||||
|
modifier: Modifier = Modifier,
|
||||||
|
buttonSize: ButtonSize = ButtonSize.Large,
|
||||||
|
iconColorButtonStyle: IconColorButtonStyle = IconColorButtonStyle.Primary,
|
||||||
|
) {
|
||||||
|
val bgColor = when (iconColorButtonStyle) {
|
||||||
|
IconColorButtonStyle.Primary -> ElementTheme.colors.iconPrimary
|
||||||
|
IconColorButtonStyle.Secondary -> ElementTheme.colors.iconSecondary
|
||||||
|
IconColorButtonStyle.Disabled -> ElementTheme.colors.iconDisabled
|
||||||
|
}
|
||||||
|
IconButton(
|
||||||
|
modifier = modifier.size(48.dp),
|
||||||
|
onClick = onClick,
|
||||||
|
) {
|
||||||
|
Icon(
|
||||||
|
modifier = Modifier
|
||||||
|
.clip(CircleShape)
|
||||||
|
.size(buttonSize.toContainerSize())
|
||||||
|
.background(bgColor)
|
||||||
|
.padding(buttonSize.toContainerPadding()),
|
||||||
|
imageVector = imageVector,
|
||||||
|
contentDescription = stringResource(CommonStrings.action_close),
|
||||||
|
tint = ElementTheme.colors.iconOnSolidPrimary
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
enum class IconColorButtonStyle {
|
||||||
|
Primary,
|
||||||
|
Secondary,
|
||||||
|
Disabled,
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun ButtonSize.toContainerSize() = when (this) {
|
||||||
|
ButtonSize.Small -> 20.dp
|
||||||
|
ButtonSize.Medium -> 24.dp
|
||||||
|
ButtonSize.Large,
|
||||||
|
ButtonSize.MediumLowPadding,
|
||||||
|
ButtonSize.LargeLowPadding -> 30.dp
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun ButtonSize.toContainerPadding() = when (this) {
|
||||||
|
ButtonSize.Small -> 2.dp
|
||||||
|
ButtonSize.Medium -> 2.dp
|
||||||
|
ButtonSize.Large,
|
||||||
|
ButtonSize.MediumLowPadding,
|
||||||
|
ButtonSize.LargeLowPadding -> 3.dp
|
||||||
|
}
|
||||||
|
|
||||||
|
@PreviewsDayNight
|
||||||
|
@Composable
|
||||||
|
internal fun IconColorButtonPreview() = ElementPreview {
|
||||||
|
Column {
|
||||||
|
listOf(
|
||||||
|
IconColorButtonStyle.Primary,
|
||||||
|
IconColorButtonStyle.Secondary,
|
||||||
|
IconColorButtonStyle.Disabled,
|
||||||
|
).forEach { style ->
|
||||||
|
Row(
|
||||||
|
modifier = Modifier.padding(4.dp),
|
||||||
|
horizontalArrangement = Arrangement.spacedBy(4.dp),
|
||||||
|
verticalAlignment = Alignment.CenterVertically
|
||||||
|
) {
|
||||||
|
listOf(ButtonSize.Large, ButtonSize.Medium, ButtonSize.Small).forEach { size ->
|
||||||
|
IconColorButton(
|
||||||
|
onClick = {},
|
||||||
|
imageVector = CompoundIcons.Close(),
|
||||||
|
buttonSize = size,
|
||||||
|
iconColorButtonStyle = style,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
<!--
|
|
||||||
~ Copyright 2023 New Vector Ltd.
|
|
||||||
~
|
|
||||||
~ SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
|
|
||||||
~ Please see LICENSE files in the repository root for full details.
|
|
||||||
-->
|
|
||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:width="30dp"
|
|
||||||
android:height="30dp"
|
|
||||||
android:viewportWidth="30"
|
|
||||||
android:viewportHeight="30">
|
|
||||||
<path
|
|
||||||
android:pathData="M4.393,4.393C-1.464,10.251 -1.464,19.749 4.393,25.607C10.251,31.465 19.749,31.465 25.607,25.607C31.465,19.749 31.465,10.251 25.607,4.393C19.749,-1.464 10.251,-1.464 4.393,4.393ZM11.465,19.95L15,16.414L18.535,19.95C18.736,20.15 18.972,20.25 19.243,20.25C19.514,20.25 19.749,20.15 19.95,19.95C20.15,19.749 20.25,19.514 20.25,19.243C20.25,18.972 20.15,18.736 19.95,18.535L16.414,15L19.95,11.465C20.15,11.264 20.25,11.028 20.25,10.757C20.25,10.486 20.15,10.251 19.95,10.05C19.749,9.85 19.514,9.75 19.243,9.75C18.972,9.75 18.736,9.85 18.535,10.05L15,13.586L11.465,10.05C11.264,9.85 11.028,9.75 10.757,9.75C10.486,9.75 10.251,9.85 10.05,10.05C9.85,10.251 9.75,10.486 9.75,10.757C9.75,11.028 9.85,11.264 10.05,11.465L13.586,15L10.05,18.535C9.85,18.736 9.75,18.972 9.75,19.243C9.75,19.514 9.85,19.749 10.05,19.95C10.251,20.15 10.486,20.25 10.757,20.25C11.028,20.25 11.264,20.15 11.465,19.95Z"
|
|
||||||
android:fillColor="#ffffff"
|
|
||||||
android:fillType="evenOdd"/>
|
|
||||||
</vector>
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
<!--
|
|
||||||
~ Copyright 2023 New Vector Ltd.
|
|
||||||
~
|
|
||||||
~ SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
|
|
||||||
~ Please see LICENSE files in the repository root for full details.
|
|
||||||
-->
|
|
||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:width="24dp"
|
|
||||||
android:height="24dp"
|
|
||||||
android:viewportWidth="24"
|
|
||||||
android:viewportHeight="24">
|
|
||||||
<path
|
|
||||||
android:pathData="M6,22C5.5,22 5,21.8 4.6,21.4C4.2,21 4,20.6 4,20V10C4,9.5 4.2,9 4.6,8.6C5,8.2 5.5,8 6,8H7V6C7,4.6 7.5,3.4 8.5,2.5C9.4,1.5 10.6,1 12,1C13.4,1 14.6,1.5 15.5,2.5C16.5,3.4 17,4.6 17,6V8H18C18.6,8 19,8.2 19.4,8.6C19.8,9 20,9.5 20,10V20C20,20.6 19.8,21 19.4,21.4C19,21.8 18.6,22 18,22H6ZM6,20H18V10H6V20ZM12,17C12.6,17 13,16.8 13.4,16.4C13.8,16 14,15.6 14,15C14,14.5 13.8,14 13.4,13.6C13,13.2 12.6,13 12,13C11.5,13 11,13.2 10.6,13.6C10.2,14 10,14.5 10,15C10,15.6 10.2,16 10.6,16.4C11,16.8 11.5,17 12,17ZM9,8H15V6C15,5.2 14.7,4.5 14.1,3.9C13.5,3.3 12.8,3 12,3C11.2,3 10.5,3.3 9.9,3.9C9.3,4.5 9,5.2 9,6V8Z"
|
|
||||||
android:fillColor="#000000"/>
|
|
||||||
</vector>
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
<!--
|
|
||||||
~ Copyright 2023 New Vector Ltd.
|
|
||||||
~
|
|
||||||
~ SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
|
|
||||||
~ Please see LICENSE files in the repository root for full details.
|
|
||||||
-->
|
|
||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:width="30dp"
|
|
||||||
android:height="30dp"
|
|
||||||
android:viewportWidth="30"
|
|
||||||
android:viewportHeight="30">
|
|
||||||
<path
|
|
||||||
android:pathData="M0,15C0,23.284 6.716,30 15,30C23.284,30 30,23.284 30,15C30,6.716 23.284,0 15,0C6.716,0 0,6.716 0,15ZM16,21V16H21C21.283,16 21.521,15.904 21.712,15.712C21.904,15.521 22,15.283 22,15C22,14.717 21.904,14.479 21.712,14.288C21.521,14.096 21.283,14 21,14H16V9C16,8.717 15.904,8.479 15.712,8.288C15.521,8.096 15.283,8 15,8C14.717,8 14.479,8.096 14.288,8.288C14.096,8.479 14,8.717 14,9L14,14L9,14C8.717,14 8.479,14.096 8.288,14.288C8.096,14.479 8,14.717 8,15C8,15.283 8.096,15.521 8.288,15.712C8.479,15.904 8.717,16 9,16H14V21C14,21.283 14.096,21.521 14.288,21.712C14.479,21.904 14.717,22 15,22C15.283,22 15.521,21.904 15.712,21.712C15.904,21.521 16,21.283 16,21Z"
|
|
||||||
android:fillColor="#ffffff"
|
|
||||||
android:fillType="evenOdd"/>
|
|
||||||
<path
|
|
||||||
android:pathData="M14,16H9C8.717,16 8.479,15.904 8.288,15.712C8.096,15.521 8,15.283 8,15C8,14.717 8.096,14.479 8.288,14.288C8.479,14.096 8.717,14 9,14H14V9C14,8.717 14.096,8.479 14.288,8.288C14.479,8.096 14.717,8 15,8C15.283,8 15.521,8.096 15.712,8.288C15.904,8.479 16,8.717 16,9V14H21C21.283,14 21.521,14.096 21.712,14.288C21.904,14.479 22,14.717 22,15C22,15.283 21.904,15.521 21.712,15.712C21.521,15.904 21.283,16 21,16H16V21C16,21.283 15.904,21.521 15.712,21.712C15.521,21.904 15.283,22 15,22C14.717,22 14.479,21.904 14.288,21.712C14.096,21.521 14,21.283 14,21V16Z"
|
|
||||||
android:fillColor="#00000000"/>
|
|
||||||
</vector>
|
|
||||||
|
|
@ -119,7 +119,7 @@ class DefaultNotificationCreator @Inject constructor(
|
||||||
else -> pendingIntentFactory.createOpenRoomPendingIntent(roomInfo.sessionId, roomInfo.roomId)
|
else -> pendingIntentFactory.createOpenRoomPendingIntent(roomInfo.sessionId, roomInfo.roomId)
|
||||||
}
|
}
|
||||||
|
|
||||||
val smallIcon = CommonDrawables.ic_notification_small
|
val smallIcon = CommonDrawables.ic_notification
|
||||||
|
|
||||||
val containsMissedCall = events.any { it.type == EventType.CALL_NOTIFY }
|
val containsMissedCall = events.any { it.type == EventType.CALL_NOTIFY }
|
||||||
val channelId = if (containsMissedCall) {
|
val channelId = if (containsMissedCall) {
|
||||||
|
|
@ -219,7 +219,7 @@ class DefaultNotificationCreator @Inject constructor(
|
||||||
override fun createRoomInvitationNotification(
|
override fun createRoomInvitationNotification(
|
||||||
inviteNotifiableEvent: InviteNotifiableEvent
|
inviteNotifiableEvent: InviteNotifiableEvent
|
||||||
): Notification {
|
): Notification {
|
||||||
val smallIcon = CommonDrawables.ic_notification_small
|
val smallIcon = CommonDrawables.ic_notification
|
||||||
val channelId = notificationChannels.getChannelIdForMessage(inviteNotifiableEvent.noisy)
|
val channelId = notificationChannels.getChannelIdForMessage(inviteNotifiableEvent.noisy)
|
||||||
return NotificationCompat.Builder(context, channelId)
|
return NotificationCompat.Builder(context, channelId)
|
||||||
.setOnlyAlertOnce(true)
|
.setOnlyAlertOnce(true)
|
||||||
|
|
@ -261,7 +261,7 @@ class DefaultNotificationCreator @Inject constructor(
|
||||||
override fun createSimpleEventNotification(
|
override fun createSimpleEventNotification(
|
||||||
simpleNotifiableEvent: SimpleNotifiableEvent,
|
simpleNotifiableEvent: SimpleNotifiableEvent,
|
||||||
): Notification {
|
): Notification {
|
||||||
val smallIcon = CommonDrawables.ic_notification_small
|
val smallIcon = CommonDrawables.ic_notification
|
||||||
|
|
||||||
val channelId = notificationChannels.getChannelIdForMessage(simpleNotifiableEvent.noisy)
|
val channelId = notificationChannels.getChannelIdForMessage(simpleNotifiableEvent.noisy)
|
||||||
return NotificationCompat.Builder(context, channelId)
|
return NotificationCompat.Builder(context, channelId)
|
||||||
|
|
@ -294,7 +294,7 @@ class DefaultNotificationCreator @Inject constructor(
|
||||||
override fun createFallbackNotification(
|
override fun createFallbackNotification(
|
||||||
fallbackNotifiableEvent: FallbackNotifiableEvent,
|
fallbackNotifiableEvent: FallbackNotifiableEvent,
|
||||||
): Notification {
|
): Notification {
|
||||||
val smallIcon = CommonDrawables.ic_notification_small
|
val smallIcon = CommonDrawables.ic_notification
|
||||||
|
|
||||||
val channelId = notificationChannels.getChannelIdForMessage(false)
|
val channelId = notificationChannels.getChannelIdForMessage(false)
|
||||||
return NotificationCompat.Builder(context, channelId)
|
return NotificationCompat.Builder(context, channelId)
|
||||||
|
|
@ -330,7 +330,7 @@ class DefaultNotificationCreator @Inject constructor(
|
||||||
noisy: Boolean,
|
noisy: Boolean,
|
||||||
lastMessageTimestamp: Long
|
lastMessageTimestamp: Long
|
||||||
): Notification {
|
): Notification {
|
||||||
val smallIcon = CommonDrawables.ic_notification_small
|
val smallIcon = CommonDrawables.ic_notification
|
||||||
val channelId = notificationChannels.getChannelIdForMessage(noisy)
|
val channelId = notificationChannels.getChannelIdForMessage(noisy)
|
||||||
return NotificationCompat.Builder(context, channelId)
|
return NotificationCompat.Builder(context, channelId)
|
||||||
.setOnlyAlertOnce(true)
|
.setOnlyAlertOnce(true)
|
||||||
|
|
@ -367,7 +367,7 @@ class DefaultNotificationCreator @Inject constructor(
|
||||||
return NotificationCompat.Builder(context, notificationChannels.getChannelIdForTest())
|
return NotificationCompat.Builder(context, notificationChannels.getChannelIdForTest())
|
||||||
.setContentTitle(buildMeta.applicationName)
|
.setContentTitle(buildMeta.applicationName)
|
||||||
.setContentText(stringProvider.getString(R.string.notification_test_push_notification_content))
|
.setContentText(stringProvider.getString(R.string.notification_test_push_notification_content))
|
||||||
.setSmallIcon(CommonDrawables.ic_notification_small)
|
.setSmallIcon(CommonDrawables.ic_notification)
|
||||||
.setLargeIcon(getBitmap(R.drawable.element_logo_green))
|
.setLargeIcon(getBitmap(R.drawable.element_logo_green))
|
||||||
.setColor(accentColor)
|
.setColor(accentColor)
|
||||||
.setPriority(NotificationCompat.PRIORITY_MAX)
|
.setPriority(NotificationCompat.PRIORITY_MAX)
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,7 @@ import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||||
import io.element.android.libraries.designsystem.theme.components.CircularProgressIndicator
|
import io.element.android.libraries.designsystem.theme.components.CircularProgressIndicator
|
||||||
import io.element.android.libraries.designsystem.theme.components.Icon
|
import io.element.android.libraries.designsystem.theme.components.Icon
|
||||||
|
import io.element.android.libraries.designsystem.theme.components.IconColorButton
|
||||||
import io.element.android.libraries.designsystem.theme.components.Text
|
import io.element.android.libraries.designsystem.theme.components.Text
|
||||||
import io.element.android.libraries.matrix.api.core.EventId
|
import io.element.android.libraries.matrix.api.core.EventId
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.EventOrTransactionId
|
import io.element.android.libraries.matrix.api.timeline.item.event.EventOrTransactionId
|
||||||
|
|
@ -54,8 +55,6 @@ import io.element.android.libraries.matrix.ui.messages.reply.InReplyToDetails
|
||||||
import io.element.android.libraries.matrix.ui.messages.reply.InReplyToDetailsProvider
|
import io.element.android.libraries.matrix.ui.messages.reply.InReplyToDetailsProvider
|
||||||
import io.element.android.libraries.testtags.TestTags
|
import io.element.android.libraries.testtags.TestTags
|
||||||
import io.element.android.libraries.testtags.testTag
|
import io.element.android.libraries.testtags.testTag
|
||||||
import io.element.android.libraries.textcomposer.components.ComposerOptionsButton
|
|
||||||
import io.element.android.libraries.textcomposer.components.DismissTextFormattingButton
|
|
||||||
import io.element.android.libraries.textcomposer.components.SendButton
|
import io.element.android.libraries.textcomposer.components.SendButton
|
||||||
import io.element.android.libraries.textcomposer.components.TextFormatting
|
import io.element.android.libraries.textcomposer.components.TextFormatting
|
||||||
import io.element.android.libraries.textcomposer.components.VoiceMessageDeleteButton
|
import io.element.android.libraries.textcomposer.components.VoiceMessageDeleteButton
|
||||||
|
|
@ -141,10 +140,9 @@ fun TextComposer(
|
||||||
Spacer(modifier = Modifier.width(16.dp))
|
Spacer(modifier = Modifier.width(16.dp))
|
||||||
}
|
}
|
||||||
else -> {
|
else -> {
|
||||||
ComposerOptionsButton(
|
IconColorButton(
|
||||||
modifier = Modifier
|
onClick = onAddAttachment,
|
||||||
.size(48.dp),
|
imageVector = CompoundIcons.Plus(),
|
||||||
onClick = onAddAttachment
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -285,7 +283,10 @@ fun TextComposer(
|
||||||
modifier = layoutModifier,
|
modifier = layoutModifier,
|
||||||
textInput = textInput,
|
textInput = textInput,
|
||||||
dismissTextFormattingButton = {
|
dismissTextFormattingButton = {
|
||||||
DismissTextFormattingButton(onClick = onDismissTextFormatting)
|
IconColorButton(
|
||||||
|
onClick = onDismissTextFormatting,
|
||||||
|
imageVector = CompoundIcons.Close(),
|
||||||
|
)
|
||||||
},
|
},
|
||||||
textFormatting = textFormattingOptions,
|
textFormatting = textFormattingOptions,
|
||||||
sendButton = sendButton,
|
sendButton = sendButton,
|
||||||
|
|
|
||||||
|
|
@ -1,46 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright 2023, 2024 New Vector Ltd.
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
|
|
||||||
* Please see LICENSE files in the repository root for full details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package io.element.android.libraries.textcomposer.components
|
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.size
|
|
||||||
import androidx.compose.runtime.Composable
|
|
||||||
import androidx.compose.ui.Modifier
|
|
||||||
import androidx.compose.ui.res.stringResource
|
|
||||||
import androidx.compose.ui.unit.dp
|
|
||||||
import io.element.android.compound.theme.ElementTheme
|
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
|
||||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
|
||||||
import io.element.android.libraries.designsystem.theme.components.Icon
|
|
||||||
import io.element.android.libraries.designsystem.theme.components.IconButton
|
|
||||||
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
|
||||||
import io.element.android.libraries.textcomposer.R
|
|
||||||
|
|
||||||
@Composable
|
|
||||||
internal fun ComposerOptionsButton(
|
|
||||||
onClick: () -> Unit,
|
|
||||||
modifier: Modifier = Modifier,
|
|
||||||
) {
|
|
||||||
IconButton(
|
|
||||||
modifier = modifier
|
|
||||||
.size(48.dp),
|
|
||||||
onClick = onClick
|
|
||||||
) {
|
|
||||||
Icon(
|
|
||||||
modifier = Modifier.size(30.dp),
|
|
||||||
resourceId = CommonDrawables.ic_plus_composer,
|
|
||||||
contentDescription = stringResource(R.string.rich_text_editor_a11y_add_attachment),
|
|
||||||
tint = ElementTheme.colors.iconPrimary,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@PreviewsDayNight
|
|
||||||
@Composable
|
|
||||||
internal fun ComposerOptionsButtonPreview() = ElementPreview {
|
|
||||||
ComposerOptionsButton(onClick = {})
|
|
||||||
}
|
|
||||||
|
|
@ -1,46 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright 2023, 2024 New Vector Ltd.
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
|
|
||||||
* Please see LICENSE files in the repository root for full details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package io.element.android.libraries.textcomposer.components
|
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.size
|
|
||||||
import androidx.compose.runtime.Composable
|
|
||||||
import androidx.compose.ui.Modifier
|
|
||||||
import androidx.compose.ui.res.stringResource
|
|
||||||
import androidx.compose.ui.unit.dp
|
|
||||||
import io.element.android.compound.theme.ElementTheme
|
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
|
||||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
|
||||||
import io.element.android.libraries.designsystem.theme.components.Icon
|
|
||||||
import io.element.android.libraries.designsystem.theme.components.IconButton
|
|
||||||
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
|
||||||
import io.element.android.libraries.ui.strings.CommonStrings
|
|
||||||
|
|
||||||
@Composable
|
|
||||||
internal fun DismissTextFormattingButton(
|
|
||||||
onClick: () -> Unit,
|
|
||||||
modifier: Modifier = Modifier
|
|
||||||
) {
|
|
||||||
IconButton(
|
|
||||||
modifier = modifier
|
|
||||||
.size(48.dp),
|
|
||||||
onClick = onClick
|
|
||||||
) {
|
|
||||||
Icon(
|
|
||||||
modifier = Modifier.size(30.dp),
|
|
||||||
resourceId = CommonDrawables.ic_cancel,
|
|
||||||
contentDescription = stringResource(CommonStrings.action_close),
|
|
||||||
tint = ElementTheme.colors.iconPrimary,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@PreviewsDayNight
|
|
||||||
@Composable
|
|
||||||
internal fun DismissTextFormattingButtonPreview() = ElementPreview {
|
|
||||||
DismissTextFormattingButton(onClick = {})
|
|
||||||
}
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:b6e745d85860818603552ca994df8cd214533ce97588dc92c67a947fb0b1a553
|
oid sha256:ec8ac8528bdb81076828f1b3a87b968ca41b21e59b6ac9c2b5c28db969a08952
|
||||||
size 54985
|
size 54998
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:229981835f9ac9137363e5c70d8ed346c9553f4b0ddb673c7d4d42e2ee8732c2
|
oid sha256:5ccc78d23a4abbbae42cb433fc654e63ed1a3b92c5ffad25b784176a272ff95c
|
||||||
size 65047
|
size 65047
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:49d994e3c100153c0cfe39b4ac839409276456ec3ef3d1f23b56d4976ba69110
|
oid sha256:4d2c2a4712004673371795fd640ed468956839772f0aba9934702ac72c8d608a
|
||||||
size 68309
|
size 68313
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:9b2d33ce0fa59fa4d3b411047cd3d6291deda7e560ddbe58139f84d1319fc2a8
|
oid sha256:0abcce8207b0f2ff7690e80a64a377eefa9aacb3a2c49ea7d22b452c117d6ce0
|
||||||
size 55394
|
size 55455
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:7abc8d2e9fa899bff932685ab34221b4c2bba50d5decb56df053122b39d003f2
|
oid sha256:edcb3bf7ecb7002a208ecc3655bd54bf2c998ea82dbd757cda1f4c6eb0f2b8a6
|
||||||
size 69118
|
size 69168
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:a33db712beeead338bd88e964c2319646dcb72bdc3f7dac4d1d2f1e322990ba5
|
oid sha256:6e5c2c07576f39ce1ac227625fce1751f260aa663726087ca11f51407988469a
|
||||||
size 70576
|
size 70630
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:0d866ee561b4109bf1bb4d1cc3b34d32ad0c67ae51f7599088898acd4310f961
|
oid sha256:fac7865222fa43b756f71af4203fa8c1840caa2e1479d6cbb66ef94fe4cef3e6
|
||||||
size 6725
|
size 6728
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:3fcb7d90743e35ebf03f09129e02f4df7d0b3b883c451fb45f57f70669b5d4c5
|
oid sha256:5192b4472c687b8b05e2e751bb988276f0507cf6b8d85a0e50a46d8abe9f4834
|
||||||
size 6382
|
size 6387
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:ceb6210817e79599a968157aebb7fd1d4e80ddbb8f3e57aabfb58d8f6066b9d4
|
oid sha256:eb3362efdf5441cf73ac08196b95bdd5b4426e11188f6cb86c32169be049ed46
|
||||||
size 19455
|
size 19547
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:6394543bdd107f70a09bdcb164163984112a25f90eed93850cb525572dd53045
|
oid sha256:ea025d360bedff971ae77ee3c9e47140dac75d2f8b64ea2d244304c35c8cea5c
|
||||||
size 17888
|
size 18078
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:7f055dc169ef143d1523069f7cae31f2b28f5d035499ad2cf8d857151e8d7654
|
oid sha256:ce99545c68b2d7f7f026216c33aa0f34597c0f5e371e83c4d34e3051e810f6d4
|
||||||
size 57412
|
size 57425
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:30b7fb609452de559ba40ab246e3edcd6f72a8bdfa1c5c9916cbac54ed89f618
|
oid sha256:9ee0d3c122093afc601d73758400996e4d48e0193cd59c814c0cfd2cc6906070
|
||||||
size 57444
|
size 57450
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:b947a19d33a1ad68bb58f7a62b67b76085b1f3a544be763eddac8b8d72528a2b
|
oid sha256:b8839778513429751427a29508a5c650a8d21d88abba2c3e35c204cb871bc25c
|
||||||
size 60516
|
size 60524
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:b956526349bacf951cfa7e5f5a74afce0c80d17bec5d7692d8c86ec92737947e
|
oid sha256:02c954978c5ddde433a96f5dd8d6cef067a558c798ad253e9034db275c5d62a2
|
||||||
size 56578
|
size 56591
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:021e70a6ef7da9dfff9666080872d899f53126a3277b06bd579fe2fe6e7a2538
|
oid sha256:fd21bcdeeca45af5e65c5a0c57751e55ce920c10cbb30b18f04912ab7d193fda
|
||||||
size 55214
|
size 55232
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:9356b6770498704389f5a065f6aaea842312dd878b6f05bb9789c56a01efd5a5
|
oid sha256:bdc5c945b52fc5f9797f385c1eca9a7382e539ca4444bb2b94ad899e2b84585f
|
||||||
size 55206
|
size 55216
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:3ab021225aab0cc36b9cb01370784bb1b81828f37f5d13a847a711159f407dc0
|
oid sha256:d2f01c4391461d28e99e2bf20af3bf48a1803d5c1d2cff537dd2c046f7c129d4
|
||||||
size 54191
|
size 54260
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:ae5df6d7be531f90da25c7cad53a3532ef4765f071cd54c6eb3d14c0ef575358
|
oid sha256:d52d24702141a0592ea3bf2fb61a0db7c2cbe0355645164b22fee507c9aedc0f
|
||||||
size 58340
|
size 58366
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:7b435e31a9a5a28c0e725223e3140080c24437ff557d61dd03f3e9cc39d3e34a
|
oid sha256:e54a56a22751f18b1f496fbde24872185cddde502c99c7381737fb9a215fa223
|
||||||
size 58993
|
size 59004
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:e1c3aea7221eaecc0ff7473bd0b8576b63a322a0a05d3b2aca6b26e16dcdc318
|
oid sha256:8475bfc48d39dc3e553438cca9b1b088c9713774c5c16194694ef0546afacc4c
|
||||||
size 57018
|
size 57060
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:94835988bdfbbefe3fd60cdc616259e1b81d160a5506dd1308f7d47e6bff2113
|
oid sha256:09ecd2bcc86a4b4571481d9414e6f467698f5f1882b05054444982bcfb0c91dc
|
||||||
size 57067
|
size 57108
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:deb926f0dbe9b5fea3c3d764b3786d43c3b7d55bc801102e9bd70b1a4c760de2
|
oid sha256:f0f729da85f30d33ba4bb096ea11966448c1d3816fc2f845dbece8be758fcd92
|
||||||
size 59769
|
size 59816
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:2e2e0a5bedc5ab474af492546271b8cbe3d691bc24aab8e213cd2fc222e62507
|
oid sha256:3023446a0e6f5c8460da144759e5e47819783f021dd88870b4335f5662077dc2
|
||||||
size 55890
|
size 55929
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:12fb29dd5958796433b3ac43abc06fa490a53ecd725f4f29e8745636dfbee278
|
oid sha256:ccc2b366606bd6bc2fb3454ea2eb10539b5687232b439ce425c8f7dce9e5d92e
|
||||||
size 51221
|
size 51257
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:4be592eb9fc9a7654b4282f230c0189883b2b08f4c5fd4a0304951a779ba9463
|
oid sha256:ca2d3c21d271e87a508a0ee2867550cb59c9c3a76a8ea1aa17548e364039b75d
|
||||||
size 54783
|
size 54821
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:131e25f6aa90e145176f4c1a04ac3e68af8ba0bbe88fe0762e4003560ed5f187
|
oid sha256:f8c63c180eee4972abb5a44f04cf7ec8e5b28a31ec9d1fcd9dd5fd0ce883404b
|
||||||
size 53704
|
size 53773
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:769d3000c80c15ce0db6dac1156b7edf7d9aed79eb63e07fc05532c88f1642a3
|
oid sha256:5577395ee585414360fcf8f9f2757ed693f9cdc1510d66758a23f7756df6f99d
|
||||||
size 54143
|
size 54179
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:2c885c63fcb4b29a22ed5db3cc8b8f8165bd3cd7856c6bf6ab431fc71b3d792e
|
oid sha256:01622d32fa8a5478d64d0d613ebffed54b3a96192ef50b4a45506e48b7200d55
|
||||||
size 58501
|
size 58546
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:560c9159e78e9da940da58a4297aca1ac647218fab0e03c532016ac96a3a560d
|
oid sha256:b5e45da502ee63629d7a0ca130ce92bdc33e2c93baf49f50594fc8831771c305
|
||||||
size 21524
|
size 13760
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:b0bb37fb7f6dbce206288431c59e3cc1b31d1a5a25d73b2f2321d7d46a459da5
|
oid sha256:4fb44869e4f1d3233d316e814b5d88a94177b8bdae9eb19186ae937641570ec2
|
||||||
size 20631
|
size 13355
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:d6489b0d11a7e9d29836d09e9f5507850d1a978c6810ec19861823a17c6c9d94
|
||||||
|
size 12550
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:673097fbe509f075a9c7e48f72766e5153cbcfb49643eb1f49636d5d27431e0f
|
||||||
|
size 12147
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:66b9db2c2f0af1d0aebffdd74ceb8177aff237bc8f7d84deb13501f8aaed5872
|
|
||||||
size 4583
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:c89e2c023db9d402fe28ed322173938df1c6b5d6dff18a4ffddfe768b9b992d7
|
|
||||||
size 4587
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:4dd9d99e40d9991117971f912f45cfe0457917b77de9e90300e80768d8a2037b
|
|
||||||
size 4840
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:9ab53f98e76b04d78497fc1b77607eb65b6141a98d7895ac0e428abede8b148f
|
|
||||||
size 4814
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:37b6772ad2ccdd8f3f7536a4dbd036223380d98964cfca299ad04d06f46a33d8
|
oid sha256:e64de19f68dd0135905925645c646890d177a2648b68ba4c3edf1769725cfabe
|
||||||
size 52481
|
size 52614
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:5f354e23e0869ea9f0b9d9f04a3ed70a7c4220c4f3bf65aace7ea367cec52167
|
oid sha256:32fbd5db3fe38e87e698a03347b1ee6036520ef892603d158f506c45f43e0fd2
|
||||||
size 50905
|
size 51053
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:37b6772ad2ccdd8f3f7536a4dbd036223380d98964cfca299ad04d06f46a33d8
|
oid sha256:e64de19f68dd0135905925645c646890d177a2648b68ba4c3edf1769725cfabe
|
||||||
size 52481
|
size 52614
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:5f354e23e0869ea9f0b9d9f04a3ed70a7c4220c4f3bf65aace7ea367cec52167
|
oid sha256:32fbd5db3fe38e87e698a03347b1ee6036520ef892603d158f506c45f43e0fd2
|
||||||
size 50905
|
size 51053
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:ea9e3504ed08cad61dc583f760b38743457770ada95b4cec544bc4b6804e062f
|
oid sha256:59ff13af2bdf76abcbc6502f9a6159871cc60ddd3d693ff50bb1ed3f3298dc1a
|
||||||
size 53519
|
size 53921
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:8b83cf8c99cdda65aadb0a4ce8d6521945b3d87e304cfbf0f10f63e360391e3f
|
oid sha256:2f4896534efc9e1d1dd91e307609aaffafdc643a81ffca25ed9589ea424b2e60
|
||||||
size 50978
|
size 51303
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:a315b0a33c2034828d8943f64ad88f3a2e3b4a39db17e4885a80d387be0e1a06
|
oid sha256:c45c431a00a4222d48d7ed9bea28d4b87c744c543ac34345418897f338d45bc0
|
||||||
size 76291
|
size 76396
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:49c600c54b3ba8eb98af152a9867f7a1d8740c76f51f4b0d85af95fb5f716e34
|
oid sha256:0b622bd71902638a554124a38477e7ef7fecb5a8a9a4c74fe22c291ea1b38a12
|
||||||
size 59323
|
size 59392
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:807de7ee3bd5c8b1fceca0b9149c316ea84ea9bb8415b7b0b72840204e770af2
|
oid sha256:f7804f57fc5951d12fcf260dc9469f4ecf30ea7846feb75386fc0d45a577ab61
|
||||||
size 74336
|
size 74433
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:1783e2299851c1a82a57b5434cc5488c94967622f886c267fe5346c42f9c52cf
|
oid sha256:74d0d5797e35f8bb8d07c58826dd5c6dc485d179ffef0d32d356a0dbd0e0af2f
|
||||||
size 85709
|
size 85811
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:a8b5f3892fa9bddde1217f328ba39b9aa99080c2dfd68e50221361e9529c0dfa
|
oid sha256:7a5f9dd27972e5b5598dabb207f62bd36a6fa8c618cf9f764565b2ed8f694280
|
||||||
size 62559
|
size 62643
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:dd1e1126ac54b07692153a928e3e4b1c555115738416f510220cef4834b52870
|
oid sha256:447046861cf9c48ee6381a6d17d72d5d675b433a39df2d04a98f0d320ab3d972
|
||||||
size 61633
|
size 61729
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:509f8ee34c3d526f3c96578dbe00c9dd63e2178bea8ea7edc8467cd12cf8f622
|
oid sha256:4a5a5d575648186710be4b466bbae6b8b7d7064be27042bdb3a575b90189d906
|
||||||
size 69346
|
size 69437
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:c666853bb32e576090f3d314097dbe7d2daa85bad949ce9c3ad152847c743a0e
|
oid sha256:c8788be00225f0547c54b9fc87a92497a86c706ae0638f3988e58518f8404ded
|
||||||
size 59726
|
size 59817
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:19b169ca0a32a4aec13012495fc2d83ff53ab2d096e9d7630d2e84317302c67a
|
oid sha256:c990db5dda7d348b61e5a917575aaacc4b1ca2110fe6bcbff51e0eb3a718a342
|
||||||
size 60548
|
size 60629
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:f7cf0f8421c9b23a99450da474d3fe99a7453472801acaaecd34868a64060dcc
|
oid sha256:2cf3f968dec3e9f4bab00e3ccd91ca432dc042dd49151e27e8d5ba07d399ed3c
|
||||||
size 62775
|
size 62862
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:e36d27009e23535f39ea20206af67a95368d0cc674d53e9085b111e48a6beea9
|
oid sha256:4b95759b9fe7bf8d8807e35d5fe576d750620d7eafcf3d17a3e3f85532048e98
|
||||||
size 69949
|
size 70037
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:405f65309e783c2c099f45e6be528c05fbfddebd37accd9352a9208588b6e178
|
oid sha256:3400d8a1c228da983fe9af087c38141d5c8f195541051bd250a51ac138700e7a
|
||||||
size 60015
|
size 60083
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:c6f039f8db0f5e95ad240697157dddd2115876deec42616a6b43ddcab6e4d9d8
|
oid sha256:ada8a9f61a93ce6ad58098b7e0743b23ba0ee50a6168eeeb34d55584a9796982
|
||||||
size 73593
|
size 73791
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:15a0cff9d79d66b032a5b8cf99e731299fe56bf8de7328c858745974bf776b8d
|
oid sha256:95648a88ce6afce734f8230a8fc1b68947a2a0889e259621f68ea376e11eb943
|
||||||
size 57060
|
size 57265
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:b3edef0741d8f431ecaa4fcb5e649101916af004f6adf6315f01d657adb90d0f
|
oid sha256:40245180648f6a71a7410bd7ce29cf5bef3de17afec4a9c4f2673ca9d16fa42f
|
||||||
size 71777
|
size 71970
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:5db1a345670e7ae8af6149e97bf1dc6362326f1de55e4884a95b248591562f3a
|
oid sha256:bac3e0bdcc1bf5b3fca6af2bbf9aa983bb0fbc412e179bdb18badf6d5d95d4c4
|
||||||
size 82831
|
size 83026
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:f455cd10db8660d33aa51b6c487d2dd2b86674d94a60a38a83cff3785ec48524
|
oid sha256:2a89f4b6cf7529bc75a6ca5e478e0c5e5b0d1d788d4e1ab5a72039d108239a4a
|
||||||
size 60328
|
size 60538
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:9cf437b56de3187e70e1e0486a98bc9e18ba8ab8645a6e19c6e042d82f721426
|
oid sha256:6c7426edf9d3405664abc4882afc62aa77ca73004c3d167d52761b1d45ccc914
|
||||||
size 59467
|
size 59675
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:b3013792b094d1224e76b9428818083f4d586e759f3de412e6f1139df572b9d0
|
oid sha256:d2178a1374d8ca42634347b9ae3ad7ec991e05af98b4503b29f3b2709c6c1bb0
|
||||||
size 67069
|
size 67265
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:d4744282f54264abc7cb833efb7b178acd6e334bf03905e0a0f5d1c21b427da9
|
oid sha256:f13cd481c6610e3f19c279c0ef16c0811d02d9984280988808858219c9433eec
|
||||||
size 57653
|
size 57856
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:c94c6a421aba335a6af4e6548d0ceba7f09e1dfe34f8813072ddff943eea8aab
|
oid sha256:3638d634f596cf78d9eda317f2bb7a9646a12cbbf7052e488469094ac49ceeac
|
||||||
size 58312
|
size 58504
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:97dd413b09a117bf03f31ea21c62d774618698c44223601667283d17d8af4f08
|
oid sha256:d61b1864f43cd9b96adbf2ebf829268d1a7e25e79549bd1698ad55cb4d5fd8e9
|
||||||
size 60632
|
size 60853
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:ea57d3607d3a9f1db5a0f7a111de31859c67c17da09cf0b0fb26485c59e41eff
|
oid sha256:833827253e40c7600e99cb88f57c2bc8d9125714cc5af476b408a8e13deb5e5a
|
||||||
size 67533
|
size 67744
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:14082dae20c3a415221fabda507a6d0b338c04f114319fd53bbcf4b1ec4da549
|
oid sha256:6d12b040036e4b15256d5ca2458ab784cba9d0914f83b94ad75ff095e11bc7cb
|
||||||
size 57868
|
size 58068
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:663a2f1bada754dd92043b26fdafdcb4974f1dfe8368e4126bf41baa4356e0ac
|
oid sha256:2ba17f36d661d5b86e43be38b42dd51b4793b37ecbf3e2ca3bdccd3d2b0fef0d
|
||||||
size 46655
|
size 46716
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:cca813483d17bafd6b2c09759659525b59909d76b90e124e03e7f8e0a161121e
|
oid sha256:d4f4d67d99ef4403bf479657b5a3823cf33ca3ceee108d55107d0fad7caaba4a
|
||||||
size 44476
|
size 44672
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue