Show excluded count in Story privacy settings overview.

main
Cody Henthorne 2022-11-17 16:22:05 -05:00
rodzic cdff0a61f2
commit 258951dea8
6 zmienionych plików z 16 dodań i 7 usunięć

Wyświetl plik

@ -16,7 +16,7 @@ sealed class ContactSearchData(val contactSearchKey: ContactSearchKey) {
*/
data class Story(
val recipient: Recipient,
val viewerCount: Int,
val count: Int,
val privacyMode: DistributionListPrivacyMode
) : ContactSearchData(ContactSearchKey.RecipientSearchKey.Story(recipient.id))

Wyświetl plik

@ -130,7 +130,7 @@ object ContactSearchItems {
val count = if (model.story.recipient.isGroup) {
model.story.recipient.participantIds.size
} else {
model.story.viewerCount
model.story.count
}
if (model.story.recipient.isMyStory && !model.hasBeenNotified) {
@ -138,7 +138,13 @@ object ContactSearchItems {
} else {
number.text = when {
model.story.recipient.isGroup -> context.resources.getQuantityString(R.plurals.ContactSearchItems__group_story_d_viewers, count, count)
model.story.recipient.isMyStory -> context.resources.getQuantityString(R.plurals.ContactSearchItems__my_story_s_dot_d_viewers, count, presentPrivacyMode(model.story.privacyMode), count)
model.story.recipient.isMyStory -> {
if (model.story.privacyMode == DistributionListPrivacyMode.ALL_EXCEPT) {
context.resources.getQuantityString(R.plurals.ContactSearchItems__my_story_s_dot_d_excluded, count, presentPrivacyMode(DistributionListPrivacyMode.ALL), count)
} else {
context.resources.getQuantityString(R.plurals.ContactSearchItems__my_story_s_dot_d_viewers, count, presentPrivacyMode(model.story.privacyMode), count)
}
}
else -> context.resources.getQuantityString(R.plurals.ContactSearchItems__custom_story_d_viewers, count, count)
}
}

Wyświetl plik

@ -451,13 +451,12 @@ class DistributionListDatabase constructor(context: Context?, databaseHelper: Si
val memberCount = when (privacyMode) {
DistributionListPrivacyMode.ALL -> totalContactCount
DistributionListPrivacyMode.ALL_EXCEPT -> totalContactCount - rawMemberCount
DistributionListPrivacyMode.ALL_EXCEPT -> rawMemberCount
DistributionListPrivacyMode.ONLY_WITH -> rawMemberCount
}
return DistributionListPrivacyData(
privacyMode = privacyMode,
rawMemberCount = rawMemberCount,
memberCount = memberCount
)
}

Wyświetl plik

@ -5,6 +5,5 @@ package org.thoughtcrime.securesms.database.model
*/
data class DistributionListPrivacyData(
val privacyMode: DistributionListPrivacyMode,
val rawMemberCount: Int,
val memberCount: Int
)

Wyświetl plik

@ -66,7 +66,7 @@ class MyStorySettingsRepository {
return MyStoryPrivacyState(
privacyMode = privacyData.privacyMode,
connectionCount = if (privacyData.privacyMode == DistributionListPrivacyMode.ALL_EXCEPT) privacyData.rawMemberCount else privacyData.memberCount
connectionCount = privacyData.memberCount
)
}
}

Wyświetl plik

@ -5237,6 +5237,11 @@
<item quantity="one">%1$s · %2$d viewer</item>
<item quantity="other">%1$s · %2$d viewers</item>
</plurals>
<!-- Label under name for my story -->
<plurals name="ContactSearchItems__my_story_s_dot_d_excluded">
<item quantity="one">%1$s · %2$d excluded</item>
<item quantity="other">%1$s · %2$d excluded</item>
</plurals>
<!-- Label under name for My Story when first sending to my story -->
<string name="ContactSearchItems__tap_to_choose_your_viewers">Tap to choose your viewers</string>
<!-- Label for context menu item to open story settings -->