diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/emoji/EmojiToggle.java b/app/src/main/java/org/thoughtcrime/securesms/components/emoji/EmojiToggle.java
index 5e84a0d7d9..d7bf047296 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/components/emoji/EmojiToggle.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/components/emoji/EmojiToggle.java
@@ -46,10 +46,10 @@ public class EmojiToggle extends AppCompatImageButton implements MediaKeyboard.M
}
private void initialize() {
- this.emojiToggle = ContextUtil.requireDrawable(getContext(), R.drawable.ic_emoji);
- this.stickerToggle = ContextUtil.requireDrawable(getContext(), R.drawable.ic_sticker_24);
- this.gifToggle = ContextUtil.requireDrawable(getContext(), R.drawable.ic_gif_24);
- this.imeToggle = ContextUtil.requireDrawable(getContext(), R.drawable.ic_keyboard_24);
+ this.emojiToggle = ContextUtil.requireDrawable(getContext(), R.drawable.symbol_emoji_24);
+ this.stickerToggle = ContextUtil.requireDrawable(getContext(), org.signal.core.ui.R.drawable.symbol_sticker_24);
+ this.gifToggle = ContextUtil.requireDrawable(getContext(), R.drawable.symbol_gif_24);
+ this.imeToggle = ContextUtil.requireDrawable(getContext(), R.drawable.symbol_keyboard_24);
this.mediaToggle = emojiToggle;
setToMedia();
diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/group/GroupSettingsScreen.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/group/GroupSettingsScreen.kt
index de7bfd89c3..ea340d537c 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/group/GroupSettingsScreen.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/group/GroupSettingsScreen.kt
@@ -36,6 +36,7 @@ import org.signal.core.ui.compose.Dialogs
import org.signal.core.ui.compose.Dividers
import org.signal.core.ui.compose.Previews
import org.signal.core.ui.compose.Rows
+import org.signal.core.ui.compose.SignalIcons
import org.signal.core.ui.compose.Texts
import org.signal.emoji.EmojiText
import org.thoughtcrime.securesms.R
@@ -236,7 +237,7 @@ private fun LazyListScope.membershipSection(
item {
LargeIconRow(
text = stringResource(R.string.ConversationSettingsFragment__add_members),
- icon = R.drawable.ic_plus_24,
+ icon = CoreUiR.drawable.symbol_plus_24,
onClick = { onEvent(GroupSettingsEvent.AddMembersClicked) }
)
}
@@ -263,7 +264,7 @@ private fun LazyListScope.membershipSection(
item {
LargeIconRow(
text = stringResource(R.string.ConversationSettingsFragment__see_all),
- icon = R.drawable.ic_chevron_down_icon_20,
+ icon = R.drawable.symbol_chevron_down_24,
onClick = { onEvent(GroupSettingsEvent.RevealAllMembersClicked) }
)
}
@@ -282,7 +283,7 @@ private fun LazyListScope.managementSection(
Rows.TextRow(
text = stringResource(R.string.ConversationSettingsFragment__group_link),
label = stringResource(if (state.groupLinkEnabled) R.string.preferences_on else R.string.preferences_off),
- icon = painterResource(R.drawable.ic_link_24),
+ icon = SignalIcons.Link.painter,
enabled = state.isActive && !state.isDeprecatedOrUnregistered,
onClick = { onEvent(GroupSettingsEvent.GroupLinkClicked) }
)
@@ -301,8 +302,7 @@ private fun LazyListScope.managementSection(
item {
Rows.TextRow(
text = stringResource(R.string.ConversationSettingsFragment__requests_and_invites),
- icon = painterResource(R.drawable.ic_update_group_add_16),
- iconModifier = Modifier.size(24.dp),
+ icon = SignalIcons.Group.painter,
enabled = state.isActive && !state.isDeprecatedOrUnregistered,
onClick = { onEvent(GroupSettingsEvent.RequestsAndInvitesClicked) }
)
@@ -312,7 +312,7 @@ private fun LazyListScope.managementSection(
item {
Rows.TextRow(
text = stringResource(R.string.ConversationSettingsFragment__permissions),
- icon = painterResource(R.drawable.ic_lock_24),
+ icon = SignalIcons.Lock.painter,
enabled = state.isActive && !state.isDeprecatedOrUnregistered,
onClick = { onEvent(GroupSettingsEvent.PermissionsClicked) }
)
diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/ButtonStripPreference.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/ButtonStripPreference.kt
index 208ade467a..3266607e5b 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/ButtonStripPreference.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/ButtonStripPreference.kt
@@ -12,6 +12,7 @@ import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory
import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter
import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder
import org.thoughtcrime.securesms.util.visible
+import org.signal.core.ui.R as CoreUiR
/**
* Renders a configurable strip of buttons
@@ -69,17 +70,17 @@ object ButtonStripPreference {
if (model.state.isAudioSecure) {
audioLabel.setText(R.string.ConversationSettingsFragment__audio)
- audioCall.setImageDrawable(AppCompatResources.getDrawable(context, R.drawable.ic_phone_right_24))
+ audioCall.setImageDrawable(AppCompatResources.getDrawable(context, CoreUiR.drawable.symbol_phone_24))
} else {
audioLabel.setText(R.string.ConversationSettingsFragment__call)
audioCall.setImageDrawable(AppCompatResources.getDrawable(context, R.drawable.ic_phone_right_unlock_primary_accent_24))
}
if (model.state.isMuted) {
- mute.setImageDrawable(AppCompatResources.getDrawable(context, R.drawable.ic_bell_disabled_24))
+ mute.setImageDrawable(AppCompatResources.getDrawable(context, R.drawable.symbol_bell_slash_24))
muteLabel.setText(R.string.ConversationSettingsFragment__muted)
} else {
- mute.setImageDrawable(AppCompatResources.getDrawable(context, R.drawable.ic_bell_24))
+ mute.setImageDrawable(AppCompatResources.getDrawable(context, R.drawable.symbol_bell_24))
muteLabel.setText(R.string.ConversationSettingsFragment__mute)
}
diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/shared/CallBar.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/shared/CallBar.kt
index b4f959c659..420c6a217d 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/shared/CallBar.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/shared/CallBar.kt
@@ -5,7 +5,6 @@
package org.thoughtcrime.securesms.components.settings.conversation.shared
-import androidx.annotation.DrawableRes
import androidx.annotation.StringRes
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
@@ -17,11 +16,13 @@ import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
+import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import org.signal.core.ui.compose.Buttons
import org.signal.core.ui.compose.DayNightPreviews
import org.signal.core.ui.compose.DropdownMenus
import org.signal.core.ui.compose.Previews
+import org.signal.core.ui.compose.SignalIcons
import org.thoughtcrime.securesms.R
import kotlin.time.Duration.Companion.days
import kotlin.time.Duration.Companion.hours
@@ -72,8 +73,8 @@ fun CallBar(
if (state.isAddToStoryAvailable) {
Buttons.ActionButton(
onClick = onAddToStoryClick,
- iconResId = R.drawable.add_to_story_24,
- labelResId = R.string.ConversationSettingsFragment__story,
+ imageVector = SignalIcons.AddToStory.imageVector,
+ label = stringResource(R.string.ConversationSettingsFragment__story),
enabled = enabled
)
}
@@ -81,8 +82,8 @@ fun CallBar(
if (state.isMessageAvailable) {
Buttons.ActionButton(
onClick = onMessageClick,
- iconResId = R.drawable.ic_chat_message_24,
- labelResId = R.string.ConversationSettingsFragment__message,
+ imageVector = SignalIcons.ChatMessage.imageVector,
+ label = stringResource(R.string.ConversationSettingsFragment__message),
enabled = enabled
)
}
@@ -90,8 +91,8 @@ fun CallBar(
if (state.isVideoAvailable) {
Buttons.ActionButton(
onClick = onVideoCallClick,
- iconResId = R.drawable.ic_video_call_24,
- labelResId = R.string.ConversationSettingsFragment__video,
+ imageVector = SignalIcons.Video.imageVector,
+ label = stringResource(R.string.ConversationSettingsFragment__video),
enabled = enabled
)
}
@@ -99,8 +100,8 @@ fun CallBar(
if (state.isAudioAvailable) {
Buttons.ActionButton(
onClick = onAudioCallClick,
- iconResId = if (state.isAudioSecure) R.drawable.ic_phone_right_24 else R.drawable.ic_phone_right_unlock_primary_accent_24,
- labelResId = if (state.isAudioSecure) R.string.ConversationSettingsFragment__audio else R.string.ConversationSettingsFragment__call,
+ imageVector = if (state.isAudioSecure) SignalIcons.Phone.imageVector else SignalIcons.PhoneUnlock.imageVector,
+ label = stringResource(if (state.isAudioSecure) R.string.ConversationSettingsFragment__audio else R.string.ConversationSettingsFragment__call),
enabled = enabled
)
}
@@ -120,8 +121,8 @@ fun CallBar(
if (state.isSearchAvailable) {
Buttons.ActionButton(
onClick = onSearchClick,
- iconResId = R.drawable.ic_search_24,
- labelResId = R.string.ConversationSettingsFragment__search,
+ imageVector = SignalIcons.Search.imageVector,
+ label = stringResource(R.string.ConversationSettingsFragment__search),
enabled = enabled
)
}
@@ -160,8 +161,8 @@ private fun MuteButton(
Box(modifier = modifier) {
Buttons.ActionButton(
onClick = onClick,
- iconResId = if (isMuted) R.drawable.ic_bell_disabled_24 else R.drawable.ic_bell_24,
- labelResId = if (isMuted) R.string.ConversationSettingsFragment__muted else R.string.ConversationSettingsFragment__mute,
+ imageVector = if (isMuted) SignalIcons.BellSlash.imageVector else SignalIcons.Bell.imageVector,
+ label = stringResource(if (isMuted) R.string.ConversationSettingsFragment__muted else R.string.ConversationSettingsFragment__mute),
enabled = enabled
)
@@ -169,7 +170,7 @@ private fun MuteButton(
MUTE_DURATIONS.forEach { duration ->
DropdownMenus.ItemWithIcon(
menuController = menuController,
- drawableResId = duration.iconResId,
+ imageVector = duration.icon.imageVector,
stringResId = duration.labelResId,
onClick = { onDurationSelected(System.currentTimeMillis() + duration.durationMillis) }
)
@@ -177,14 +178,14 @@ private fun MuteButton(
DropdownMenus.ItemWithIcon(
menuController = menuController,
- drawableResId = R.drawable.symbol_calendar_24,
+ imageVector = SignalIcons.Calendar.imageVector,
stringResId = R.string.MuteDialog__mute_until,
onClick = onCustomTimeClick
)
DropdownMenus.ItemWithIcon(
menuController = menuController,
- drawableResId = R.drawable.symbol_bell_slash_24,
+ imageVector = SignalIcons.BellSlash.imageVector,
stringResId = R.string.arrays__always,
onClick = { onDurationSelected(Long.MAX_VALUE) }
)
@@ -314,14 +315,14 @@ private fun CallBarDisabledPreview() {
}
private data class MuteDuration(
- @DrawableRes val iconResId: Int,
+ val icon: SignalIcons,
@StringRes val labelResId: Int,
val durationMillis: Long
)
private val MUTE_DURATIONS = listOf(
- MuteDuration(R.drawable.ic_daytime_24, R.string.arrays__mute_for_one_hour, 1.hours.inWholeMilliseconds),
- MuteDuration(R.drawable.ic_nighttime_26, R.string.arrays__mute_for_eight_hours, 8.hours.inWholeMilliseconds),
- MuteDuration(R.drawable.symbol_calendar_one, R.string.arrays__mute_for_one_day, 1.days.inWholeMilliseconds),
- MuteDuration(R.drawable.symbol_calendar_week, R.string.arrays__mute_for_seven_days, 7.days.inWholeMilliseconds)
+ MuteDuration(SignalIcons.Daytime, R.string.arrays__mute_for_one_hour, 1.hours.inWholeMilliseconds),
+ MuteDuration(SignalIcons.Nighttime, R.string.arrays__mute_for_eight_hours, 8.hours.inWholeMilliseconds),
+ MuteDuration(SignalIcons.CalendarOne, R.string.arrays__mute_for_one_day, 1.days.inWholeMilliseconds),
+ MuteDuration(SignalIcons.CalendarWeek, R.string.arrays__mute_for_seven_days, 7.days.inWholeMilliseconds)
)
diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/shared/ConversationSettingsRows.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/shared/ConversationSettingsRows.kt
index d6f8c21973..b62abd6ae6 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/shared/ConversationSettingsRows.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/shared/ConversationSettingsRows.kt
@@ -30,6 +30,7 @@ import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.avatar.AvatarImage
import org.thoughtcrime.securesms.profiles.ProfileName
import org.thoughtcrime.securesms.recipients.Recipient
+import org.signal.core.ui.R as CoreUiR
private val LARGE_ICON_SIZE = 40.dp
@@ -111,9 +112,9 @@ fun RecipientRow(
private fun LargeIconRowPreview() {
Previews.Preview {
Column {
- LargeIconRow(text = "Add members", icon = R.drawable.ic_plus_24, onClick = {})
- LargeIconRow(text = "See all", icon = R.drawable.ic_chevron_down_icon_20, onClick = {})
- LargeIconRow(text = "Add to a group", icon = R.drawable.ic_plus_24, enabled = false, onClick = {})
+ LargeIconRow(text = "Add members", icon = CoreUiR.drawable.symbol_plus_24, onClick = {})
+ LargeIconRow(text = "See all", icon = R.drawable.symbol_chevron_down_24, onClick = {})
+ LargeIconRow(text = "Add to a group", icon = CoreUiR.drawable.symbol_plus_24, enabled = false, onClick = {})
}
}
}
diff --git a/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/RecipientPicker.kt b/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/RecipientPicker.kt
index 6ad102c399..cff02b51b8 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/RecipientPicker.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/RecipientPicker.kt
@@ -318,7 +318,7 @@ private suspend fun showItemContextMenu(
val actions = buildList {
val messageItem = ActionItem(
- iconRes = R.drawable.ic_chat_message_24,
+ iconRes = CoreUiR.drawable.ic_chat_message_24,
title = context.getString(R.string.NewConversationActivity__message),
tintRes = CoreUiR.color.signal_colorOnSurface,
action = { callbacks.onMessage(recipient.id) }
diff --git a/app/src/main/res/drawable/ic_more_vert_conversation_24.xml b/app/src/main/res/drawable/ic_more_vert_conversation_24.xml
deleted file mode 100644
index 633b8cf1e5..0000000000
--- a/app/src/main/res/drawable/ic_more_vert_conversation_24.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
diff --git a/app/src/main/res/drawable/ic_update_group_add_16.xml b/app/src/main/res/drawable/ic_update_group_add_16.xml
deleted file mode 100644
index a52e8ce289..0000000000
--- a/app/src/main/res/drawable/ic_update_group_add_16.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
diff --git a/app/src/main/res/drawable/symbol_block_24.xml b/app/src/main/res/drawable/symbol_block_24.xml
index 17dc5c451f..1a431a7afa 100644
--- a/app/src/main/res/drawable/symbol_block_24.xml
+++ b/app/src/main/res/drawable/symbol_block_24.xml
@@ -5,5 +5,5 @@
android:viewportHeight="24">
+ android:pathData="M12 1.63C6.27 1.63 1.62 6.26 1.62 12c0 5.73 4.65 10.38 10.38 10.38S22.38 17.73 22.38 12 17.73 1.62 12 1.62ZM3.37 12c0-4.76 3.87-8.63 8.63-8.63 2.07 0 3.96 0.73 5.45 1.94L5.3 17.45c-1.2-1.49-1.93-3.38-1.93-5.45Zm3.18 6.69L18.7 6.55c1.2 1.49 1.93 3.38 1.93 5.45 0 4.76-3.86 8.63-8.62 8.63-2.07 0-3.96-0.73-5.45-1.94Z"/>
diff --git a/app/src/main/res/drawable/symbol_gif_24.xml b/app/src/main/res/drawable/symbol_gif_24.xml
new file mode 100644
index 0000000000..84c3186b55
--- /dev/null
+++ b/app/src/main/res/drawable/symbol_gif_24.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/conversation_input_panel.xml b/app/src/main/res/layout/conversation_input_panel.xml
index e108b3f317..3dd2e0a307 100644
--- a/app/src/main/res/layout/conversation_input_panel.xml
+++ b/app/src/main/res/layout/conversation_input_panel.xml
@@ -191,7 +191,7 @@
android:contentDescription="@string/conversation_activity__quick_attachment_drawer_toggle_camera_description"
android:foreground="?selectableItemBackgroundBorderless"
android:scaleType="fitCenter"
- app:srcCompat="@drawable/ic_camera_24"
+ app:srcCompat="@drawable/symbol_camera_24"
app:tint="@color/signal_colorOnSurfaceVariant" />
diff --git a/app/src/main/res/layout/conversation_settings_button_strip.xml b/app/src/main/res/layout/conversation_settings_button_strip.xml
index 32105573df..537c48c7c4 100644
--- a/app/src/main/res/layout/conversation_settings_button_strip.xml
+++ b/app/src/main/res/layout/conversation_settings_button_strip.xml
@@ -83,7 +83,7 @@
android:id="@+id/start_video"
style="@style/Signal.Widget.ImageView.ActionButton"
android:contentDescription="@string/ConversationSettingsFragment__start_video_call"
- app:srcCompat="@drawable/ic_video_call_24" />
+ app:srcCompat="@drawable/symbol_video_24" />
+ app:srcCompat="@drawable/symbol_phone_24" />
+ app:srcCompat="@drawable/symbol_bell_24" />
+ app:srcCompat="@drawable/symbol_search_24" />
diff --git a/app/src/main/res/menu/conversation_callable_groupv2.xml b/app/src/main/res/menu/conversation_callable_groupv2.xml
index d34cfbba38..971986b272 100644
--- a/app/src/main/res/menu/conversation_callable_groupv2.xml
+++ b/app/src/main/res/menu/conversation_callable_groupv2.xml
@@ -4,7 +4,7 @@
diff --git a/app/src/main/res/menu/conversation_callable_secure.xml b/app/src/main/res/menu/conversation_callable_secure.xml
index 283d106947..7d26dfe55e 100644
--- a/app/src/main/res/menu/conversation_callable_secure.xml
+++ b/app/src/main/res/menu/conversation_callable_secure.xml
@@ -4,13 +4,13 @@
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 542d3d2f32..d61ec3db56 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -268,7 +268,7 @@
@@ -280,8 +280,8 @@