Compare commits

...

7 Commits

Author SHA1 Message Date
Greyson Parrelli 439760e773 Bump version to 8.10.1 2026-05-07 16:17:23 -04:00
Greyson Parrelli 7560896e2d Update baseline profile. 2026-05-07 16:16:42 -04:00
Greyson Parrelli fe18def67e Update translations and other static files. 2026-05-07 16:08:50 -04:00
Alex Hart 413962a093 Bypass single-pane scaffold for RTL.
Co-authored-by: Greyson Parrelli <greyson@signal.org>
2026-05-07 15:42:26 -04:00
Alex Hart e518eca9a1 Do not include SMS recipients in letter header query.
Co-authored-by: Greyson Parrelli <greyson@signal.org>
2026-05-07 16:26:13 -03:00
Greyson Parrelli b70322b5a6 Fix baseline profile build. 2026-05-07 09:09:30 -04:00
Cody Henthorne 047516c80b Fix missed update item wallpaper bubble background corner radius. 2026-05-06 14:13:41 -04:00
82 changed files with 22457 additions and 19010 deletions
+8 -5
View File
@@ -27,8 +27,8 @@ plugins {
val staticIps = Properties().apply { file("static-ips.properties").reader().use { load(it) } }
staticIps.stringPropertyNames().forEach { rootProject.extra[it] = staticIps.getProperty(it) }
val canonicalVersionCode = 1685
val canonicalVersionName = "8.10.0"
val canonicalVersionCode = 1686
val canonicalVersionName = "8.10.1"
val currentHotfixVersion = 0
val maxHotfixVersions = 100
@@ -91,12 +91,15 @@ android.sourceSets.all {
kotlinExt.sourceSets.findByName(name) ?: kotlinExt.sourceSets.create(name)
}
// AGP 9.0's built-in Kotlin doesn't pick up extra java.srcDir entries from Android
// source sets, so add the testShared dir directly to test/androidTest Kotlin
// compile tasks.
// source sets, so add shared dirs directly to the relevant Kotlin compile tasks.
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile::class.java).configureEach {
if (name.contains("UnitTest") || name.contains("AndroidTest")) {
val isTestTask = name.contains("UnitTest") || name.contains("AndroidTest")
if (isTestTask) {
source("$projectDir/src/testShared")
}
if (!isTestTask && (name.contains("Mocked") || name.contains("Benchmark"))) {
source("$projectDir/src/benchmarkShared/java")
}
}
wire {
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -207,12 +207,21 @@ class InternalSettingsFragment : DSLSettingsFragment(R.string.preferences__inter
switchPref(
title = DSLSettingsText.from("Force split pane UI on phones."),
isEnabled = !state.forceSinglePane,
isChecked = state.forceSplitPane,
onClick = {
viewModel.setForceSplitPane(!state.forceSplitPane)
}
)
switchPref(
title = DSLSettingsText.from("Force single-pane on newer devices."),
isChecked = state.forceSinglePane,
onClick = {
viewModel.setForceSinglePane(!state.forceSinglePane)
}
)
clickPref(
title = DSLSettingsText.from("Display enable permission sheet"),
onClick = {
@@ -31,6 +31,7 @@ data class InternalSettingsState(
val hasPendingOneTimeDonation: Boolean,
val hevcEncoding: Boolean,
val forceSplitPane: Boolean,
val forceSinglePane: Boolean,
val useNewMediaActivity: Boolean,
val disableInternalUser: Boolean
)
@@ -203,6 +203,7 @@ class InternalSettingsViewModel(private val repository: InternalSettingsReposito
hasPendingOneTimeDonation = SignalStore.inAppPayments.getPendingOneTimeDonation() != null,
hevcEncoding = SignalStore.internal.hevcEncoding,
forceSplitPane = SignalStore.internal.forceSplitPane,
forceSinglePane = SignalStore.internal.forceSinglePane,
useNewMediaActivity = SignalStore.internal.useNewMediaActivity,
disableInternalUser = RemoteConfig.internalUserDisabled
)
@@ -225,6 +226,11 @@ class InternalSettingsViewModel(private val repository: InternalSettingsReposito
refresh()
}
fun setForceSinglePane(forceSinglePane: Boolean) {
SignalStore.internal.forceSinglePane = forceSinglePane
refresh()
}
class Factory(private val repository: InternalSettingsRepository) : ViewModelProvider.Factory {
override fun <T : ViewModel> create(modelClass: Class<T>): T {
return requireNotNull(modelClass.cast(InternalSettingsViewModel(repository)))
@@ -244,14 +244,8 @@ class ContactSearchPagedDataSource(
return contactSearchPagedDataSourceRepository.querySignalContactLetterHeaders(
query = query,
includeSelfMode = section.includeSelfMode,
includePush = when (section.transportType) {
ContactSearchConfiguration.TransportType.PUSH, ContactSearchConfiguration.TransportType.ALL -> true
else -> false
},
includeSms = when (section.transportType) {
ContactSearchConfiguration.TransportType.SMS, ContactSearchConfiguration.TransportType.ALL -> true
else -> false
}
includePush = true,
includeSms = false
)
}
@@ -54,6 +54,7 @@ import org.thoughtcrime.securesms.recipients.Recipient
import org.thoughtcrime.securesms.recipients.RecipientId
import org.thoughtcrime.securesms.recipients.ui.RecipientLookupFailureMessage
import org.thoughtcrime.securesms.recipients.ui.RecipientPicker
import org.thoughtcrime.securesms.recipients.ui.RecipientPicker.DisplayMode
import org.thoughtcrime.securesms.recipients.ui.RecipientPickerCallbacks
import org.thoughtcrime.securesms.recipients.ui.RecipientPickerScaffold
import org.thoughtcrime.securesms.recipients.ui.RecipientSelection
@@ -311,6 +312,7 @@ private fun NewConversationRecipientPicker(
searchQuery = uiState.searchQuery,
isRefreshing = uiState.isRefreshingContacts,
shouldResetContactsList = uiState.shouldResetContactsList,
displayModes = setOf(DisplayMode.PUSH, DisplayMode.ACTIVE_GROUPS, DisplayMode.INACTIVE_GROUPS, DisplayMode.SELF),
callbacks = remember(callbacks) {
RecipientPickerCallbacks(
listActions = callbacks,
@@ -32,6 +32,7 @@ class InternalValues internal constructor(store: KeyValueStore) : SignalStoreVal
const val WEB_SOCKET_SHADOWING_STATS: String = "internal.web_socket_shadowing_stats"
const val ENCODE_HEVC: String = "internal.hevc_encoding"
const val FORCE_SPLIT_PANE_ON_COMPACT_LANDSCAPE: String = "internal.force.split.pane.on.compact.landscape.ui"
const val FORCE_SINGLE_PANE_ON_ALL_DEVICES: String = "internal.force_single_pane_on_all_devices"
const val SHOW_ARCHIVE_STATE_HINT: String = "internal.show_archive_state_hint"
const val INCLUDE_DEBUGLOG_IN_BACKUP: String = "internal.include_debuglog_in_backup"
const val IMPORTED_BACKUP_DEBUG_INFO: String = "internal.imported_backup_debug_info"
@@ -48,6 +49,11 @@ class InternalValues internal constructor(store: KeyValueStore) : SignalStoreVal
*/
var forceSplitPane by booleanValue(FORCE_SPLIT_PANE_ON_COMPACT_LANDSCAPE, false).falseForExternalUsers()
/**
* Force single-pane on all devices
*/
var forceSinglePane by booleanValue(FORCE_SINGLE_PANE_ON_ALL_DEVICES, false).falseForExternalUsers()
var useNewMediaActivity by booleanValue(USE_NEW_MEDIA_ACTIVITY, false).falseForExternalUsers()
/**
@@ -49,9 +49,11 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.graphicsLayer
import androidx.compose.ui.layout.layout
import androidx.compose.ui.platform.LocalConfiguration
import androidx.compose.ui.platform.LocalInspectionMode
import androidx.compose.ui.platform.LocalLayoutDirection
import androidx.compose.ui.platform.LocalResources
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.dp
import androidx.compose.ui.zIndex
import kotlinx.coroutines.launch
@@ -61,6 +63,7 @@ import org.signal.core.ui.compose.Previews
import org.signal.core.ui.getWindowBreakpoint
import org.signal.core.ui.isWidthExpanded
import org.signal.core.ui.rememberIsSplitPane
import org.thoughtcrime.securesms.keyvalue.SignalStore
import org.thoughtcrime.securesms.main.MainFloatingActionButtonsCallback
import org.thoughtcrime.securesms.main.MainNavigationBar
import org.thoughtcrime.securesms.main.MainNavigationRail
@@ -132,8 +135,14 @@ fun AppScaffold(
contentWindowInsets: WindowInsets = WindowInsets.systemBars,
animatorFactory: AppScaffoldAnimationStateFactory = AppScaffoldAnimationStateFactory.Default
) {
val useSimpleScaffold = navigator.scaffoldDirective.maxHorizontalPartitions == 1 && Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU
if (useSimpleScaffold) {
val isForceSinglePane = if (LocalInspectionMode.current) {
false
} else {
SignalStore.internal.forceSinglePane
}
val useSimpleScaffold = isForceSinglePane || (navigator.scaffoldDirective.maxHorizontalPartitions == 1 && Build.VERSION.SDK_INT < 33)
if (useSimpleScaffold && LocalLayoutDirection.current != LayoutDirection.Rtl) {
SinglePaneAppScaffold(
navigator = navigator,
modifier = modifier,
@@ -142,7 +151,8 @@ fun AppScaffold(
secondaryContent = secondaryContent,
bottomNavContent = bottomNavContent,
snackbarHost = snackbarHost,
contentWindowInsets = contentWindowInsets
contentWindowInsets = contentWindowInsets,
animatorFactory = animatorFactory
)
} else {
AdaptiveAppScaffold(
@@ -307,10 +317,14 @@ private fun SinglePaneAppScaffold(
secondaryContent: @Composable () -> Unit,
bottomNavContent: @Composable () -> Unit = {},
snackbarHost: @Composable () -> Unit = {},
contentWindowInsets: WindowInsets = WindowInsets.systemBars
contentWindowInsets: WindowInsets = WindowInsets.systemBars,
animatorFactory: AppScaffoldAnimationStateFactory = AppScaffoldAnimationStateFactory.Default
) {
val showDetail = navigator.scaffoldValue.primary == PaneAdaptedValue.Expanded
val coroutineScope = rememberCoroutineScope()
val isRtl = LocalLayoutDirection.current == LayoutDirection.Rtl
val directionMultiplier = if (isRtl) -1 else 1
val skipSlide = AppScaffoldNavigator.NavigationState.ENTER !in animatorFactory.enabledStates
BackHandler(enabled = navigator.canNavigateBack()) {
coroutineScope.launch { navigator.navigateBack() }
@@ -326,12 +340,12 @@ private fun SinglePaneAppScaffold(
AnimatedContent(
targetState = showDetail,
transitionSpec = {
val transform = if (targetState) {
slideInHorizontally(animationSpec = AppScaffoldAnimationDefaults.tween()) { fullWidth -> fullWidth } togetherWith
slideOutHorizontally(animationSpec = AppScaffoldAnimationDefaults.tween()) { fullWidth -> -fullWidth }
} else {
slideInHorizontally(animationSpec = AppScaffoldAnimationDefaults.tween()) { fullWidth -> -fullWidth } togetherWith
slideOutHorizontally(animationSpec = AppScaffoldAnimationDefaults.tween()) { fullWidth -> fullWidth }
val transform = when {
skipSlide -> EnterTransition.None togetherWith ExitTransition.None
targetState -> slideInHorizontally(animationSpec = AppScaffoldAnimationDefaults.tween()) { fullWidth -> fullWidth * directionMultiplier } togetherWith
slideOutHorizontally(animationSpec = AppScaffoldAnimationDefaults.tween()) { fullWidth -> -fullWidth * directionMultiplier }
else -> slideInHorizontally(animationSpec = AppScaffoldAnimationDefaults.tween()) { fullWidth -> -fullWidth * directionMultiplier } togetherWith
slideOutHorizontally(animationSpec = AppScaffoldAnimationDefaults.tween()) { fullWidth -> fullWidth * directionMultiplier }
}
transform using SizeTransform(clip = false) { _, _ -> snap() }
},
@@ -19,7 +19,9 @@ import androidx.compose.runtime.State
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.platform.LocalLayoutDirection
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.dp
private const val SEEK_DAMPING_RATIO = Spring.DampingRatioNoBouncy
@@ -76,9 +78,11 @@ fun ThreePaneScaffoldPaneScope.animateFloat(
@OptIn(ExperimentalMaterial3AdaptiveApi::class)
@Composable
fun ThreePaneScaffoldPaneScope.defaultListInitAnimationState(): AppScaffoldAnimationState {
val directionMultiplier = if (LocalLayoutDirection.current == LayoutDirection.Rtl) -1 else 1
val offset = animateDp(
targetWhenHiding = {
-AppScaffoldAnimationDefaults.InitAnimationOffset
-AppScaffoldAnimationDefaults.InitAnimationOffset * directionMultiplier
},
targetWhenShowing = {
0.dp
@@ -100,6 +104,8 @@ fun ThreePaneScaffoldPaneScope.defaultListInitAnimationState(): AppScaffoldAnima
@OptIn(ExperimentalMaterial3AdaptiveApi::class)
@Composable
fun ThreePaneScaffoldPaneScope.defaultListSeekAnimationState(): AppScaffoldAnimationState {
val directionMultiplier = if (LocalLayoutDirection.current == LayoutDirection.Rtl) -1 else 1
val scale = animateFloat(
transitionSpec = {
appScaffoldSeekSpring()
@@ -112,7 +118,7 @@ fun ThreePaneScaffoldPaneScope.defaultListSeekAnimationState(): AppScaffoldAnima
transitionSpec = {
appScaffoldSeekSpring()
},
targetWhenHiding = { -(88.dp) },
targetWhenHiding = { -(88.dp) * directionMultiplier },
targetWhenShowing = { 0.dp }
)
@@ -160,9 +166,11 @@ fun ThreePaneScaffoldPaneScope.defaultListReleaseAnimationState(from: AppScaffol
@OptIn(ExperimentalMaterial3AdaptiveApi::class)
@Composable
fun ThreePaneScaffoldPaneScope.defaultDetailInitAnimationState(): AppScaffoldAnimationState {
val directionMultiplier = if (LocalLayoutDirection.current == LayoutDirection.Rtl) -1 else 1
val offset = animateDp(
targetWhenHiding = {
AppScaffoldAnimationDefaults.InitAnimationOffset
AppScaffoldAnimationDefaults.InitAnimationOffset * directionMultiplier
},
targetWhenShowing = {
0.dp
@@ -184,6 +192,8 @@ fun ThreePaneScaffoldPaneScope.defaultDetailInitAnimationState(): AppScaffoldAni
@OptIn(ExperimentalMaterial3AdaptiveApi::class)
@Composable
fun ThreePaneScaffoldPaneScope.defaultDetailSeekAnimationState(): AppScaffoldAnimationState {
val directionMultiplier = if (LocalLayoutDirection.current == LayoutDirection.Rtl) -1 else 1
val scale = animateFloat(
transitionSpec = {
appScaffoldSeekSpring()
@@ -197,7 +207,7 @@ fun ThreePaneScaffoldPaneScope.defaultDetailSeekAnimationState(): AppScaffoldAni
appScaffoldSeekSpring()
},
targetWhenShowing = { 0.dp },
targetWhenHiding = { 88.dp }
targetWhenHiding = { 88.dp * directionMultiplier }
)
val roundedCorners = animateDp(
@@ -4,6 +4,6 @@
android:shape="rectangle">
<solid android:color="@color/wallpaper_bubble_color" />
<corners android:topLeftRadius="12dp"
android:topRightRadius="12dp"/>
<corners android:topLeftRadius="24dp"
android:topRightRadius="24dp"/>
</shape>
+1 -1
View File
@@ -2036,7 +2036,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">جارٍ الحذف</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">جارٍ حذف الرسائل…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d من %2$d</string>
<string name="MediaOverviewActivity_Sort_by">الترتيب بحسب</string>
<string name="MediaOverviewActivity_Newest">الأحدث</string>
<string name="MediaOverviewActivity_Oldest">الأقدم</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Silinir</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Mesajlar silinir…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d /%2$d</string>
<string name="MediaOverviewActivity_Sort_by">Sırala</string>
<string name="MediaOverviewActivity_Newest">Ən yeni</string>
<string name="MediaOverviewActivity_Oldest">Ən köhnə</string>
+1 -1
View File
@@ -1930,7 +1930,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Выдаленне</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Выдаленне паведамленняў…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d з %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Сартаваць па</string>
<string name="MediaOverviewActivity_Newest">Спачатку новыя</string>
<string name="MediaOverviewActivity_Oldest">Спачатку старыя</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Изтриване</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Изтриване на съобщения…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d от %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Сортиране по</string>
<string name="MediaOverviewActivity_Newest">Най-нови</string>
<string name="MediaOverviewActivity_Oldest">Най-стари</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">মোছা হচ্ছে…</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">বার্তা সমূহ মোছা হচ্ছে…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d এর %2$d</string>
<string name="MediaOverviewActivity_Sort_by">ক্রমানুসার</string>
<string name="MediaOverviewActivity_Newest">নতুন</string>
<string name="MediaOverviewActivity_Oldest">পুরাতন</string>
+1 -1
View File
@@ -1930,7 +1930,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Brisanje</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Brišem poruke…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d od %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Sortiranje</string>
<string name="MediaOverviewActivity_Newest">Najnovije</string>
<string name="MediaOverviewActivity_Oldest">Najstarije</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Se suprimeix</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Se suprimeixen missatges…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d de %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Ordena per</string>
<string name="MediaOverviewActivity_Newest">El més nou</string>
<string name="MediaOverviewActivity_Oldest">El més antic</string>
+1 -1
View File
@@ -1930,7 +1930,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Mazání</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Mazání zpráv…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d z %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Seřadit podle</string>
<string name="MediaOverviewActivity_Newest">Nejnovější</string>
<string name="MediaOverviewActivity_Oldest">Nejstarší</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Sletter</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Sletter beskeder …</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d af %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Sortér efter</string>
<string name="MediaOverviewActivity_Newest">Nyeste</string>
<string name="MediaOverviewActivity_Oldest">Ældste</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Löschen</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Nachrichten werden gelöscht …</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d von %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Sortieren nach …</string>
<string name="MediaOverviewActivity_Newest">Neueste</string>
<string name="MediaOverviewActivity_Oldest">Älteste</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Γίνεται διαγραφή</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Διαγραφή μηνυμάτων…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d από %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Ταξινόμηση ανά</string>
<string name="MediaOverviewActivity_Newest">Νεότερο</string>
<string name="MediaOverviewActivity_Oldest">Παλαιότερο</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Eliminando</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Eliminando mensajes…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d de %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Ordenar por</string>
<string name="MediaOverviewActivity_Newest">Más reciente</string>
<string name="MediaOverviewActivity_Oldest">Más antiguo</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Kustutan</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Sõnumite kustutamine…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d / %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Sorteeri</string>
<string name="MediaOverviewActivity_Newest">Uusima järgi</string>
<string name="MediaOverviewActivity_Oldest">Vanima järgi</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Ezabatzen</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Mezuak ezabatzen…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d / %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Ordenatu honen arabera</string>
<string name="MediaOverviewActivity_Newest">Berriena</string>
<string name="MediaOverviewActivity_Oldest">Zaharrena</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">در حال حذف</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">حذف پیام‌ها…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d از %2$d</string>
<string name="MediaOverviewActivity_Sort_by">مرتب‌سازی بر اساس</string>
<string name="MediaOverviewActivity_Newest">جدیدترین</string>
<string name="MediaOverviewActivity_Oldest">قدیمی‌ترین</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Poistetaan</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Viestejä poistetaan…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d / %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Järjestä</string>
<string name="MediaOverviewActivity_Newest">Uusin</string>
<string name="MediaOverviewActivity_Oldest">Vanhin</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Suppression</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Suppression des messages…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d sur %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Trier par</string>
<string name="MediaOverviewActivity_Newest">Le plus récent</string>
<string name="MediaOverviewActivity_Oldest">Le plus ancien</string>
+1 -1
View File
@@ -1983,7 +1983,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Ag scriosadh</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Ag scriosadh teachtaireachtaí…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d as %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Sórtáil de réir</string>
<string name="MediaOverviewActivity_Newest">Is nuaí</string>
<string name="MediaOverviewActivity_Oldest">Is sine</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Borrando</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Borrando mensaxes…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d de %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Ordenar por</string>
<string name="MediaOverviewActivity_Newest">Novos</string>
<string name="MediaOverviewActivity_Oldest">Vellos</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">કાઢી નાખો</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">મેસેજ કાઢી નાખો…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$dની%2$d</string>
<string name="MediaOverviewActivity_Sort_by">વર્ગીકરણ કરો</string>
<string name="MediaOverviewActivity_Newest">નવીનતમ</string>
<string name="MediaOverviewActivity_Oldest">જૂની</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">डिलीट किया जा रहा है</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">मैसेज डिलीट किए जा रहे हैं…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d में से %2$d</string>
<string name="MediaOverviewActivity_Sort_by">इस तरह सॉर्ट करें</string>
<string name="MediaOverviewActivity_Newest">सबसे नया</string>
<string name="MediaOverviewActivity_Oldest">सबसे पुराना</string>
+1 -1
View File
@@ -1930,7 +1930,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Brisanje</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Brisanje poruka…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d od %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Poredaj po</string>
<string name="MediaOverviewActivity_Newest">Najnovije</string>
<string name="MediaOverviewActivity_Oldest">Najstarije</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Törlés</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Üzenetek törlése…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d / %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Rendezés</string>
<string name="MediaOverviewActivity_Newest">Legújabb</string>
<string name="MediaOverviewActivity_Oldest">Legrégebbi</string>
+1 -1
View File
@@ -1771,7 +1771,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Menghapus</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Menghapus pesan …</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d dari %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Urutkan berdasarkan</string>
<string name="MediaOverviewActivity_Newest">Terbaru</string>
<string name="MediaOverviewActivity_Oldest">Terlama</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Cancellazione</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Eliminazione dei messaggi…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d di %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Ordina per</string>
<string name="MediaOverviewActivity_Newest">Più recenti</string>
<string name="MediaOverviewActivity_Oldest">Più vecchi</string>
+1 -1
View File
@@ -1930,7 +1930,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">מוחק</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">מוחק הודעות…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d מתוך %2$d</string>
<string name="MediaOverviewActivity_Sort_by">מיין לפי</string>
<string name="MediaOverviewActivity_Newest">החדש ביותר</string>
<string name="MediaOverviewActivity_Oldest">הישן ביותר</string>
+1 -1
View File
@@ -1771,7 +1771,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">削除しています</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">メッセージを削除しています…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d/%2$d</string>
<string name="MediaOverviewActivity_Sort_by">並び替え条件</string>
<string name="MediaOverviewActivity_Newest">新しい順</string>
<string name="MediaOverviewActivity_Oldest">古い順</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">იშლება</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">ვშლით შეტყობინებებს…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d %2$d-დან</string>
<string name="MediaOverviewActivity_Sort_by">დახარისხება</string>
<string name="MediaOverviewActivity_Newest">ყველაზე ახალი</string>
<string name="MediaOverviewActivity_Oldest">ყველაზე ძველი</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Жою</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Хаттар жойылуда…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d / %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Сұрыптау реті</string>
<string name="MediaOverviewActivity_Newest">Ең жаңасы</string>
<string name="MediaOverviewActivity_Oldest">Ең ескісі</string>
+1 -1
View File
@@ -1771,7 +1771,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">កំពុងលុប</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">កំពុងលុបសារ…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d នៃ %2$d</string>
<string name="MediaOverviewActivity_Sort_by">តម្រៀបតាម</string>
<string name="MediaOverviewActivity_Newest">ថ្មីបំផុត</string>
<string name="MediaOverviewActivity_Oldest">ចាស់បំផុត</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">ಅಳಿಸಲಾಗುತ್ತಿದೆ</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">ಸಂದೇಶಗಳನ್ನು ಅಳಿಸಲಾಗುತ್ತಿದೆ…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%2$d ನಲ್ಲಿ %1$d</string>
<string name="MediaOverviewActivity_Sort_by">ಇವುಗಳಂತೆ ವಿಂಗಡಿಸು</string>
<string name="MediaOverviewActivity_Newest">ಹೊಸತು</string>
<string name="MediaOverviewActivity_Oldest">ಹಳೆಯದು</string>
+1 -1
View File
@@ -1771,7 +1771,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">삭제 중</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">메시지 삭제 중…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%2$d %1$d</string>
<string name="MediaOverviewActivity_Sort_by">정렬 방법</string>
<string name="MediaOverviewActivity_Newest">최근 순서</string>
<string name="MediaOverviewActivity_Oldest">오래된 순서</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Өчүрүлүүдө</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Билдирүүлөр өчүрүлүүдө…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%2$d ичинен %1$d</string>
<string name="MediaOverviewActivity_Sort_by">Кантип иргелет:</string>
<string name="MediaOverviewActivity_Newest">Жаңысынан баштап</string>
<string name="MediaOverviewActivity_Oldest">Эскисинен баштап</string>
+1 -1
View File
@@ -1930,7 +1930,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Ištrinama</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Ištrinamos žinutės…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Rikiuoti pagal</string>
<string name="MediaOverviewActivity_Newest">Naujausi</string>
<string name="MediaOverviewActivity_Oldest">Seniausi</string>
+1 -1
View File
@@ -1877,7 +1877,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Dzēš</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Dzēš ziņas…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d no %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Kārtot pēc</string>
<string name="MediaOverviewActivity_Newest">jaunākais</string>
<string name="MediaOverviewActivity_Oldest">vecākais</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Бришење</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Бришење на пораките…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d од %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Сортирај по</string>
<string name="MediaOverviewActivity_Newest">Најново</string>
<string name="MediaOverviewActivity_Oldest">Најстаро</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">ഇല്ലാതാക്കുന്നു</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">സന്ദേശങ്ങൾ ഇല്ലാതാക്കുന്നു…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%2$d %1$d</string>
<string name="MediaOverviewActivity_Sort_by">ഇങ്ങനെ അടുക്കുക</string>
<string name="MediaOverviewActivity_Newest">ഏറ്റവും പുതിയത്</string>
<string name="MediaOverviewActivity_Oldest">ഏറ്റവും പഴയത്</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">हटवत आहे</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">संदेश हटवत आहे…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d पैकी %2$d</string>
<string name="MediaOverviewActivity_Sort_by">द्वारे क्रमवारी लावा</string>
<string name="MediaOverviewActivity_Newest">नवीनतम</string>
<string name="MediaOverviewActivity_Oldest">सर्वात जुने</string>
+1 -1
View File
@@ -1771,7 +1771,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Memadam</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Memadam mesej…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d daripada %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Susun mengikut</string>
<string name="MediaOverviewActivity_Newest">Terkini</string>
<string name="MediaOverviewActivity_Oldest">Terlama</string>
+1 -1
View File
@@ -1771,7 +1771,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">ဖျက်နေဆဲ</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">မက်ဆေ့ချ်များကို ဖျက်နေပါသည်…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d %2$d</string>
<string name="MediaOverviewActivity_Sort_by">၎င်းအလိုက်စီရင်ပါ</string>
<string name="MediaOverviewActivity_Newest">နောက်ဆုံးပေါ်</string>
<string name="MediaOverviewActivity_Oldest">အဟောင်းဆုံး</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Sletter</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Sletter meldinger…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d av %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Sorter etter</string>
<string name="MediaOverviewActivity_Newest">Nyeste</string>
<string name="MediaOverviewActivity_Oldest">Eldste</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Aan het verwijderen</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Berichten aan het verwijderen…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d van %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Sorteren op</string>
<string name="MediaOverviewActivity_Newest">Nieuwste bovenaan</string>
<string name="MediaOverviewActivity_Oldest">Oudste bovenaan</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">ਮਿਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">ਸੁਨੇਹਿਆਂ ਨੂੰ ਮਿਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%2$d ਵਿੱਚੋਂ %1$d</string>
<string name="MediaOverviewActivity_Sort_by">ਇੰਝ ਕ੍ਰਮ ਵਿੱਚ ਲਗਾਓ</string>
<string name="MediaOverviewActivity_Newest">ਨਵੀਨਤਮ</string>
<string name="MediaOverviewActivity_Oldest">ਸਭ ਤੋਂ ਪੁਰਾਣਾ</string>
+1 -1
View File
@@ -1930,7 +1930,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Usuwanie</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Usuwanie wiadomości…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d z %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Sortuj</string>
<string name="MediaOverviewActivity_Newest">Najnowsze</string>
<string name="MediaOverviewActivity_Oldest">Najstarsze</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Excluindo</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Excluindo mensagens…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d de %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Ordenar por</string>
<string name="MediaOverviewActivity_Newest">O mais recente</string>
<string name="MediaOverviewActivity_Oldest">O mais antigo</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">A eliminar</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">A eliminar mensagens…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d de %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Ordenar por</string>
<string name="MediaOverviewActivity_Newest">Mais recente</string>
<string name="MediaOverviewActivity_Oldest">Mais antiga</string>
+1 -1
View File
@@ -1877,7 +1877,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Se șterge</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Se șterg mesajele…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d din %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Sortează după</string>
<string name="MediaOverviewActivity_Newest">Noi</string>
<string name="MediaOverviewActivity_Oldest">Vechi</string>
+1 -1
View File
@@ -1930,7 +1930,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Удаление</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Удаляем сообщения…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d из %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Сортировать по</string>
<string name="MediaOverviewActivity_Newest">Сначала новые</string>
<string name="MediaOverviewActivity_Oldest">Сначала старые</string>
+1 -1
View File
@@ -1930,7 +1930,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Mazanie</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Mažú sa správy…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d z %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Zoradiť podľa</string>
<string name="MediaOverviewActivity_Newest">Najnovšie</string>
<string name="MediaOverviewActivity_Oldest">Najstaršie</string>
+1 -1
View File
@@ -1930,7 +1930,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Brišem</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Izbris sporočil …</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d od %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Razvrščanje</string>
<string name="MediaOverviewActivity_Newest">Najnovejše</string>
<string name="MediaOverviewActivity_Oldest">Najstarejše</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Po fshihet</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Po fshihen mesazhet…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d nga %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Renditi sipas</string>
<string name="MediaOverviewActivity_Newest">Më të rejave</string>
<string name="MediaOverviewActivity_Oldest">Më të vjetrave</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Брисање</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Брисање порука…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d од %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Поређај по</string>
<string name="MediaOverviewActivity_Newest">Најновије</string>
<string name="MediaOverviewActivity_Oldest">Најстарије</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Tar bort</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Tar bort meddelanden…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d av %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Sortera efter</string>
<string name="MediaOverviewActivity_Newest">Nyaste</string>
<string name="MediaOverviewActivity_Oldest">Äldsta</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Inafutwa</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Jumbe zinafutwa</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d kwa %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Panga kwa</string>
<string name="MediaOverviewActivity_Newest">Mpya kabisa</string>
<string name="MediaOverviewActivity_Oldest">Nzee zaidi</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">நீக்கப்படுகிறது</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">செய்திகள் நீக்கப்படுகிறது…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%2$d இன் %1$d</string>
<string name="MediaOverviewActivity_Sort_by">மூலம் வரிசைப்படுத்து</string>
<string name="MediaOverviewActivity_Newest">புதியது</string>
<string name="MediaOverviewActivity_Oldest">பழையது</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">తొలగిపోతున్నాయ్</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">సందేశాలను తొలగిస్తోంది …</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d ఆఫ్ %2$d</string>
<string name="MediaOverviewActivity_Sort_by">ఆమరిక</string>
<string name="MediaOverviewActivity_Newest">సరికొత్త</string>
<string name="MediaOverviewActivity_Oldest">పాతది</string>
+1 -1
View File
@@ -1771,7 +1771,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">กำลังลบ</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">กำลังลบข้อความ…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d จาก %2$d</string>
<string name="MediaOverviewActivity_Sort_by">จัดประเภทโดย</string>
<string name="MediaOverviewActivity_Newest">ใหม่ที่สุด</string>
<string name="MediaOverviewActivity_Oldest">เก่าที่สุด</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Binubura</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Binubura ang mga mensahe…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d sa %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Pasunud-sunurin ayon sa</string>
<string name="MediaOverviewActivity_Newest">Pinakabago</string>
<string name="MediaOverviewActivity_Oldest">Pinakaluma</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Siliniyor</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">İletiler siliniyor…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d / %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Sıralama</string>
<string name="MediaOverviewActivity_Newest">En yeni</string>
<string name="MediaOverviewActivity_Oldest">En eski</string>
+1 -1
View File
@@ -1771,7 +1771,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">ئۆچۈرۈلۈۋاتىدۇ</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">ئۇچۇرلار ئۆچۈرۈلۈۋاتىدۇ…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d نىڭ%2$d</string>
<string name="MediaOverviewActivity_Sort_by">تەرتىپى</string>
<string name="MediaOverviewActivity_Newest">يېڭى</string>
<string name="MediaOverviewActivity_Oldest">كونا</string>
+1 -1
View File
@@ -1930,7 +1930,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Видалення</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Видалення повідомлень…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d з %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Сортування</string>
<string name="MediaOverviewActivity_Newest">Найновіші</string>
<string name="MediaOverviewActivity_Oldest">Найдавніші</string>
+1 -1
View File
@@ -1824,7 +1824,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">حذف ہو رہا ہے</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">پیغامات حذف ہو رہے ہیں۔۔۔</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$dکا%2$d</string>
<string name="MediaOverviewActivity_Sort_by">کے لحاظ سے ترتیب دیں</string>
<string name="MediaOverviewActivity_Newest">تازہ ترین</string>
<string name="MediaOverviewActivity_Oldest">سب سے قدیم</string>
+1 -1
View File
@@ -1771,7 +1771,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">Đang xóa</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">Đang xóa tin nhắn…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d trên tổng số %2$d</string>
<string name="MediaOverviewActivity_Sort_by">Sắp xếp theo</string>
<string name="MediaOverviewActivity_Newest">Mới nhất</string>
<string name="MediaOverviewActivity_Oldest">Cũ nhất</string>
+1 -1
View File
@@ -1771,7 +1771,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">刪除緊</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">刪除緊啲訊息…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d / %2$d</string>
<string name="MediaOverviewActivity_Sort_by">排序方法</string>
<string name="MediaOverviewActivity_Newest">最新到最舊</string>
<string name="MediaOverviewActivity_Oldest">最舊到最新</string>
+1 -1
View File
@@ -1771,7 +1771,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">正在删除</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">正在删除消息…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d / %2$d 匹配</string>
<string name="MediaOverviewActivity_Sort_by">排序</string>
<string name="MediaOverviewActivity_Newest">最新</string>
<string name="MediaOverviewActivity_Oldest">最旧</string>
+1 -1
View File
@@ -1771,7 +1771,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">正在刪除</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">正在刪除訊息…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d 個,共 %2$d</string>
<string name="MediaOverviewActivity_Sort_by">排序方式</string>
<string name="MediaOverviewActivity_Newest">由新到舊</string>
<string name="MediaOverviewActivity_Oldest">由舊到新</string>
+1 -1
View File
@@ -1771,7 +1771,7 @@
<string name="MediaOverviewActivity_Media_delete_progress_title">正在刪除</string>
<string name="MediaOverviewActivity_Media_delete_progress_message">刪除訊息中…</string>
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d 個,共 %2$d</string>
<string name="MediaOverviewActivity_Sort_by">排列方式</string>
<string name="MediaOverviewActivity_Newest">最新到最舊</string>
<string name="MediaOverviewActivity_Oldest">最舊到最新</string>
@@ -0,0 +1,90 @@
/*
* Copyright 2026 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.thoughtcrime.securesms.contacts.paged
import android.app.Application
import androidx.core.content.contentValuesOf
import androidx.test.core.app.ApplicationProvider
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotNull
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.RobolectricTestRunner
import org.robolectric.annotation.Config
import org.signal.core.models.ServiceId.PNI
import org.signal.paging.PagedDataSource
import org.thoughtcrime.securesms.database.RecipientTable
import org.thoughtcrime.securesms.database.SignalDatabase
import org.thoughtcrime.securesms.keyvalue.StorySend
import org.thoughtcrime.securesms.recipients.RecipientId
import org.thoughtcrime.securesms.testutil.RecipientTestRule
import java.util.UUID
@Suppress("ClassName")
@RunWith(RobolectricTestRunner::class)
@Config(manifest = Config.NONE, application = Application::class)
class ContactSearchPagedDataSourceTest_letterHeaders {
@get:Rule
val recipients = RecipientTestRule()
@Test
fun `letter header lands on registered contact even when an unregistered system contact outranks it alphabetically`() {
recipients.createRecipient("Alice Anderson")
val charlieId = recipients.createRecipient("Charlie Chaplin")
insertUnregisteredSystemContact("Carrolyn")
val dataSource = ContactSearchPagedDataSource(
contactConfiguration = ContactSearchConfiguration.build {
addSection(
ContactSearchConfiguration.Section.Individuals(
includeHeader = false,
includeSelfMode = RecipientTable.IncludeSelfMode.Exclude,
includeLetterHeaders = true,
transportType = ContactSearchConfiguration.TransportType.ALL
)
)
},
contactSearchPagedDataSourceRepository = object : ContactSearchPagedDataSourceRepository(ApplicationProvider.getApplicationContext()) {
override fun getLatestStorySends(activeStoryCutoffDuration: Long): List<StorySend> = emptyList()
}
)
val totalSize = dataSource.size()
val rows = dataSource.load(0, totalSize, totalSize, PagedDataSource.CancellationSignal { false })
val charlie = rows.filterIsInstance<ContactSearchData.KnownRecipient>()
.firstOrNull { it.recipient.id == charlieId }
assertNotNull("Charlie should be in the visible list. rows=$rows", charlie)
assertEquals(
"Charlie (registered) must carry the C header even though Carrolyn (unregistered system contact) sorts ahead of her. rows=$rows",
"C",
charlie!!.headerLetter
)
}
private fun insertUnregisteredSystemContact(name: String): RecipientId {
val rowId = SignalDatabase.recipients.writableDatabase.insertOrThrow(
RecipientTable.TABLE_NAME,
null,
contentValuesOf(
RecipientTable.TYPE to 0,
RecipientTable.E164 to "+15555550101",
RecipientTable.ACI_COLUMN to null,
RecipientTable.PNI_COLUMN to PNI.from(UUID.randomUUID()).toString(),
RecipientTable.REGISTERED to RecipientTable.RegisteredState.NOT_REGISTERED.id,
RecipientTable.PROFILE_SHARING to 1,
RecipientTable.SYSTEM_GIVEN_NAME to name,
RecipientTable.SYSTEM_JOINED_NAME to name,
RecipientTable.SYSTEM_CONTACT_URI to "content://com.android.contacts/contacts/lookup/abc/1",
RecipientTable.AVATAR_COLOR to "A110",
RecipientTable.MESSAGE_EXPIRATION_TIME_VERSION to 1
)
)
return RecipientId.from(rowId)
}
}
@@ -0,0 +1,118 @@
/*
* Copyright 2026 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.thoughtcrime.securesms.database
import android.app.Application
import org.junit.Assert.assertTrue
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.RobolectricTestRunner
import org.robolectric.annotation.Config
import org.signal.core.util.CursorUtil
import org.thoughtcrime.securesms.profiles.ProfileName
import org.thoughtcrime.securesms.recipients.RecipientId
import org.thoughtcrime.securesms.testutil.RecipientTestRule
@Suppress("ClassName")
@RunWith(RobolectricTestRunner::class)
@Config(manifest = Config.NONE, application = Application::class)
class RecipientTableTest_letterHeaders {
@get:Rule
val recipients = RecipientTestRule()
@Test
fun `letter header anchors are always in getSignalContacts`() {
recipients.createRecipient("Alice Anderson")
recipients.createRecipient("Bob Baker")
recipients.createRecipient("Charlie Chaplin")
recipients.createRecipient("David Dunn")
assertHeaderAnchorsAreVisible()
}
@Test
fun `hidden contact is not a letter header anchor`() {
recipients.createRecipient("Alice Anderson")
val hidden = recipients.createRecipient("Carrolyn Carter")
SignalDatabase.recipients.markHidden(hidden)
assertHeaderAnchorsAreVisible()
}
@Test
fun `blocked contact is not a letter header anchor`() {
recipients.createRecipient("Alice Anderson")
val blocked = recipients.createRecipient("Carrolyn Carter")
SignalDatabase.recipients.setBlocked(blocked, true)
assertHeaderAnchorsAreVisible()
}
@Test
fun `every visible letter section has a header anchor`() {
recipients.createRecipient(ProfileName.fromParts("Alice", "Anderson"))
recipients.createRecipient(ProfileName.fromParts("Bob", "Baker"))
recipients.createRecipient(ProfileName.fromParts("Charlie", "Chaplin"))
SignalDatabase.recipients.setSystemContactName(recipients.createRecipient(ProfileName.fromParts("Dave", "Dunn")), "Dave Dunn")
val visibleLetters: Set<String> = visibleSignalContacts().values
.filter { it.isNotEmpty() }
.mapNotNull { name -> name.firstOrNull()?.uppercaseChar()?.toString() }
.toSet()
val headerLetters: Set<String> = SignalDatabase.recipients.querySignalContactLetterHeaders(
"",
RecipientTable.IncludeSelfMode.Exclude,
includePush = true,
includeSms = false
).values.toSet()
assertTrue(
"Every visible letter must have a header anchor. visible=$visibleLetters headers=$headerLetters",
visibleLetters.all { it in headerLetters }
)
}
private fun assertHeaderAnchorsAreVisible() {
val visibleIds = visibleSignalContactIds()
val headers = SignalDatabase.recipients.querySignalContactLetterHeaders(
"",
RecipientTable.IncludeSelfMode.Exclude,
includePush = true,
includeSms = false
)
val orphaned = headers.keys - visibleIds
assertTrue(
"Header anchors must all appear in getSignalContacts. orphaned=$orphaned headers=$headers visible=$visibleIds",
orphaned.isEmpty()
)
}
private fun visibleSignalContactIds(): Set<RecipientId> {
return SignalDatabase.recipients.getSignalContacts(RecipientTable.IncludeSelfMode.Exclude).use { cursor ->
val ids = mutableSetOf<RecipientId>()
while (cursor.moveToNext()) {
ids.add(RecipientId.from(CursorUtil.requireLong(cursor, RecipientTable.ID)))
}
ids
}
}
private fun visibleSignalContacts(): Map<RecipientId, String> {
return SignalDatabase.recipients.getSignalContacts(RecipientTable.IncludeSelfMode.Exclude).use { cursor ->
val rows = mutableMapOf<RecipientId, String>()
while (cursor.moveToNext()) {
val id = RecipientId.from(CursorUtil.requireLong(cursor, RecipientTable.ID))
val systemName = CursorUtil.requireString(cursor, RecipientTable.SYSTEM_JOINED_NAME)
val profileName = CursorUtil.requireString(cursor, RecipientTable.SEARCH_PROFILE_NAME)
rows[id] = systemName ?: profileName ?: ""
}
rows
}
}
}
+1 -1
View File
@@ -1,5 +1,5 @@
service_ips=new String[]{"13.248.212.111","76.223.92.165"}
storage_ips=new String[]{"142.251.179.121"}
storage_ips=new String[]{"142.250.65.83"}
cdn_ips=new String[]{"18.161.21.122","18.161.21.4","18.161.21.66","18.161.21.70"}
cdn2_ips=new String[]{"104.18.10.47","104.18.11.47"}
cdn3_ips=new String[]{"104.18.10.47","104.18.11.47"}