Skip to content

Commit a196a98

Browse files
author
bemusementpark
committed
Merge branch 'dev' into just-prefs
2 parents 268644e + 9e2b24f commit a196a98

File tree

97 files changed

+1913
-1714
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

97 files changed

+1913
-1714
lines changed

app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,7 @@ dependencies {
381381
implementation "androidx.compose.ui:ui-tooling:$composeVersion"
382382
implementation "androidx.compose.runtime:runtime-livedata:$composeVersion"
383383
implementation "androidx.compose.foundation:foundation-layout:$composeVersion"
384-
implementation "androidx.compose.material:material:$composeVersion"
384+
implementation "androidx.compose.material3:material3:1.2.1"
385385
androidTestImplementation "androidx.compose.ui:ui-test-junit4-android:$composeVersion"
386386
debugImplementation "androidx.compose.ui:ui-test-manifest:$composeVersion"
387387

app/src/main/java/org/thoughtcrime/securesms/SessionDialogBuilder.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,14 +114,14 @@ class SessionDialogBuilder(val context: Context) {
114114
options,
115115
) { dialog, it -> onSelect(it); dialog.dismiss() }
116116

117-
fun destructiveButton(
117+
fun dangerButton(
118118
@StringRes text: Int,
119119
@StringRes contentDescription: Int = text,
120120
listener: () -> Unit = {}
121121
) = button(
122122
text,
123123
contentDescription,
124-
R.style.Widget_Session_Button_Dialog_DestructiveText,
124+
R.style.Widget_Session_Button_Dialog_DangerText,
125125
) { listener() }
126126

127127
fun okButton(listener: (() -> Unit) = {}) = button(android.R.string.ok) { listener() }

app/src/main/java/org/thoughtcrime/securesms/components/ProfilePictureView.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import org.session.libsession.messaging.contacts.Contact
1717
import org.session.libsession.utilities.Address
1818
import org.session.libsession.utilities.GroupUtil
1919
import org.session.libsession.utilities.TextSecurePreferences
20+
import org.session.libsession.utilities.prefs
2021
import org.session.libsession.utilities.recipients.Recipient
2122
import org.session.libsignal.utilities.Log
2223
import org.thoughtcrime.securesms.dependencies.DatabaseComponent
@@ -30,7 +31,7 @@ class ProfilePictureView @JvmOverloads constructor(
3031

3132
private val binding = ViewProfilePictureBinding.inflate(LayoutInflater.from(context), this)
3233
private val glide: GlideRequests = GlideApp.with(this)
33-
private val prefs = TextSecurePreferences(context)
34+
private val prefs = context.prefs
3435
private val userPublicKey = prefs.getLocalNumber()
3536
var publicKey: String? = null
3637
var displayName: String? = null

app/src/main/java/org/thoughtcrime/securesms/components/emoji/CompositeEmojiPageModel.java

Lines changed: 0 additions & 64 deletions
This file was deleted.
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package org.thoughtcrime.securesms.components.emoji
2+
3+
import android.net.Uri
4+
import androidx.annotation.AttrRes
5+
import java.util.LinkedList
6+
7+
class CompositeEmojiPageModel(
8+
@field:AttrRes @param:AttrRes private val iconAttr: Int,
9+
private val models: List<EmojiPageModel>
10+
) : EmojiPageModel {
11+
12+
override fun getKey(): String {
13+
return if (models.isEmpty()) "" else models[0].key
14+
}
15+
16+
override fun getIconAttr(): Int { return iconAttr }
17+
18+
override fun getEmoji(): List<String> {
19+
val emojis: MutableList<String> = LinkedList()
20+
for (model in models) {
21+
emojis.addAll(model.emoji)
22+
}
23+
return emojis
24+
}
25+
26+
override fun getDisplayEmoji(): List<Emoji> {
27+
val emojis: MutableList<Emoji> = LinkedList()
28+
for (model in models) {
29+
emojis.addAll(model.displayEmoji)
30+
}
31+
return emojis
32+
}
33+
34+
override fun hasSpriteMap(): Boolean { return false }
35+
36+
override fun getSpriteUri(): Uri? { return null }
37+
38+
override fun isDynamic(): Boolean { return false }
39+
}

app/src/main/java/org/thoughtcrime/securesms/components/menu/ActionItem.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package org.thoughtcrime.securesms.components.menu
22

33
import android.content.Context
44
import androidx.annotation.AttrRes
5-
import androidx.annotation.ColorRes
5+
import androidx.annotation.ColorInt
66

77
/**
88
* Represents an action to be rendered
@@ -13,5 +13,5 @@ data class ActionItem(
1313
val action: Runnable,
1414
val contentDescription: Int? = null,
1515
val subtitle: ((Context) -> CharSequence?)? = null,
16-
@ColorRes val color: Int? = null,
16+
@ColorInt val color: Int? = null,
1717
)

app/src/main/java/org/thoughtcrime/securesms/components/menu/ContextMenuList.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ class ContextMenuList(recyclerView: RecyclerView, onItemClick: () -> Unit) {
7878

7979
override fun bind(model: DisplayItem) {
8080
val item = model.item
81-
val color = item.color?.let { ContextCompat.getColor(context, it) }
81+
val color = item.color
8282

8383
if (item.iconRes > 0) {
8484
val typedValue = TypedValue()

app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/DisappearingMessages.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import org.session.libsession.utilities.ExpirationUtil
1414
import org.session.libsession.utilities.SSKEnvironment.MessageExpirationManagerProtocol
1515
import org.session.libsession.utilities.TextSecurePreferences
1616
import org.session.libsession.utilities.getExpirationTypeDisplayValue
17-
import org.thoughtcrime.securesms.database.ThreadDatabase
1817
import org.thoughtcrime.securesms.database.model.MessageRecord
1918
import org.thoughtcrime.securesms.showSessionDialog
2019
import org.thoughtcrime.securesms.util.ConfigurationMessageUtilities
@@ -57,7 +56,7 @@ class DisappearingMessages @Inject constructor(
5756
context.getExpirationTypeDisplayValue(message.isNotDisappearAfterRead)
5857
)
5958
})
60-
destructiveButton(
59+
dangerButton(
6160
text = if (message.expiresIn == 0L) R.string.dialog_disappearing_messages_follow_setting_confirm else R.string.dialog_disappearing_messages_follow_setting_set,
6261
contentDescription = if (message.expiresIn == 0L) R.string.AccessibilityId_confirm else R.string.AccessibilityId_set_button
6362
) {

app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/ui/Adapter.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ import kotlin.time.Duration.Companion.seconds
1313

1414
fun State.toUiState() = UiState(
1515
cards = listOfNotNull(
16-
typeOptions()?.let { ExpiryOptionsCard(GetString(R.string.activity_disappearing_messages_delete_type), it) },
17-
timeOptions()?.let { ExpiryOptionsCard(GetString(R.string.activity_disappearing_messages_timer), it) }
16+
typeOptions()?.let { ExpiryOptionsCardData(GetString(R.string.activity_disappearing_messages_delete_type), it) },
17+
timeOptions()?.let { ExpiryOptionsCardData(GetString(R.string.activity_disappearing_messages_timer), it) }
1818
),
1919
showGroupFooter = isGroup && isNewConfigEnabled,
2020
showSetButton = isSelfAdmin

app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/ui/DisappearingMessages.kt

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@ package org.thoughtcrime.securesms.conversation.disappearingmessages.ui
33
import androidx.compose.foundation.layout.Arrangement
44
import androidx.compose.foundation.layout.Box
55
import androidx.compose.foundation.layout.Column
6+
import androidx.compose.foundation.layout.Spacer
67
import androidx.compose.foundation.layout.fillMaxWidth
8+
import androidx.compose.foundation.layout.height
79
import androidx.compose.foundation.layout.padding
810
import androidx.compose.foundation.rememberScrollState
911
import androidx.compose.foundation.verticalScroll
10-
import androidx.compose.material.Text
12+
import androidx.compose.material3.Text
1113
import androidx.compose.runtime.Composable
1214
import androidx.compose.ui.Alignment
1315
import androidx.compose.ui.Modifier
@@ -18,15 +20,15 @@ import androidx.compose.ui.unit.dp
1820
import network.loki.messenger.R
1921
import network.loki.messenger.libsession_util.util.ExpiryMode
2022
import org.thoughtcrime.securesms.ui.Callbacks
21-
import org.thoughtcrime.securesms.ui.LocalDimensions
23+
import org.thoughtcrime.securesms.ui.theme.LocalDimensions
2224
import org.thoughtcrime.securesms.ui.NoOpCallbacks
2325
import org.thoughtcrime.securesms.ui.OptionsCard
2426
import org.thoughtcrime.securesms.ui.RadioOption
25-
import org.thoughtcrime.securesms.ui.color.LocalColors
27+
import org.thoughtcrime.securesms.ui.theme.LocalColors
2628
import org.thoughtcrime.securesms.ui.components.SlimOutlineButton
2729
import org.thoughtcrime.securesms.ui.contentDescription
28-
import org.thoughtcrime.securesms.ui.extraSmall
2930
import org.thoughtcrime.securesms.ui.fadingEdges
31+
import org.thoughtcrime.securesms.ui.theme.LocalType
3032

3133
typealias ExpiryCallbacks = Callbacks<ExpiryMode>
3234
typealias ExpiryRadioOption = RadioOption<ExpiryMode>
@@ -39,26 +41,32 @@ fun DisappearingMessages(
3941
) {
4042
val scrollState = rememberScrollState()
4143

42-
Column(modifier = modifier.padding(horizontal = LocalDimensions.current.margin)) {
44+
Column(modifier = modifier.padding(horizontal = LocalDimensions.current.spacing)) {
4345
Box(modifier = Modifier.weight(1f)) {
4446
Column(
4547
modifier = Modifier
46-
.padding(bottom = 20.dp)
48+
.padding(vertical = LocalDimensions.current.spacing)
4749
.verticalScroll(scrollState)
4850
.fadingEdges(scrollState),
49-
verticalArrangement = Arrangement.spacedBy(LocalDimensions.current.smallItemSpacing)
5051
) {
51-
state.cards.forEach {
52-
OptionsCard(it, callbacks)
52+
state.cards.forEachIndexed { index, option ->
53+
OptionsCard(option, callbacks)
54+
55+
// add spacing if not the last item
56+
if(index != state.cards.lastIndex){
57+
Spacer(modifier = Modifier.height(LocalDimensions.current.spacing))
58+
}
5359
}
5460

5561
if (state.showGroupFooter) Text(
5662
text = stringResource(R.string.activity_disappearing_messages_group_footer),
57-
style = extraSmall,
63+
style = LocalType.current.extraSmall,
5864
fontWeight = FontWeight(400),
5965
color = LocalColors.current.textSecondary,
6066
textAlign = TextAlign.Center,
61-
modifier = Modifier.fillMaxWidth()
67+
modifier = Modifier
68+
.fillMaxWidth()
69+
.padding(top = LocalDimensions.current.xsSpacing)
6270
)
6371
}
6472
}
@@ -68,7 +76,7 @@ fun DisappearingMessages(
6876
modifier = Modifier
6977
.contentDescription(R.string.AccessibilityId_set_button)
7078
.align(Alignment.CenterHorizontally)
71-
.padding(bottom = 20.dp),
79+
.padding(bottom = LocalDimensions.current.spacing),
7280
onClick = callbacks::onSetClick
7381
)
7482
}

0 commit comments

Comments
 (0)