diff --git a/Dockerfile b/Dockerfile index e97a9f1371..68717fc9bc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -20,7 +20,7 @@ RUN yes | sdkmanager --licenses RUN sdkmanager "platform-tools" -ARG ANDROID_API_LEVEL=32 +ARG ANDROID_API_LEVEL=33 ARG ANDROID_BUILD_TOOLS_VERSION=32.0.0 RUN sdkmanager "platforms;android-${ANDROID_API_LEVEL}" diff --git a/app/build.gradle b/app/build.gradle index 19d24d1dc2..4f4f2d36b8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -83,8 +83,8 @@ ktlint { version = "0.43.2" } -def canonicalVersionCode = 1196 -def canonicalVersionName = "6.8.3" +def canonicalVersionCode = 1199 +def canonicalVersionName = "6.9.2" def mollyRevision = 0 def postFixSize = 100 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 413409b57c..1b221edd8c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -86,9 +86,11 @@ android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" - tools:replace="android:allowBackup" android:resizeableActivity="true" + android:fullBackupOnly="false" android:allowBackup="false" + tools:replace="android:allowBackup" + android:backupAgent=".absbackup.SignalBackupAgent" android:theme="@style/TextSecure.LightTheme" android:largeHeap="true"> diff --git a/app/src/main/java/androidx/documentfile/provider/DocumentFileHelper.java b/app/src/main/java/androidx/documentfile/provider/DocumentFileHelper.java index 122b748ddf..806882482a 100644 --- a/app/src/main/java/androidx/documentfile/provider/DocumentFileHelper.java +++ b/app/src/main/java/androidx/documentfile/provider/DocumentFileHelper.java @@ -4,8 +4,6 @@ import android.net.Uri; import android.provider.DocumentsContract; -import androidx.annotation.RequiresApi; - import org.signal.core.util.logging.Log; /** @@ -22,7 +20,6 @@ public class DocumentFileHelper { * * @return true if rename successful */ - @RequiresApi(21) public static boolean renameTo(Context context, DocumentFile documentFile, String displayName) { if (documentFile instanceof TreeDocumentFile) { Log.d(TAG, "Renaming document directly"); diff --git a/app/src/main/java/org/thoughtcrime/securesms/BiometricDeviceAuthentication.kt b/app/src/main/java/org/thoughtcrime/securesms/BiometricDeviceAuthentication.kt index 9c08c8fa0d..e81544d0da 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/BiometricDeviceAuthentication.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/BiometricDeviceAuthentication.kt @@ -5,7 +5,6 @@ import android.content.Context import android.content.Intent import android.os.Build import androidx.activity.result.contract.ActivityResultContract -import androidx.annotation.RequiresApi import androidx.biometric.BiometricManager import androidx.biometric.BiometricPrompt import androidx.biometric.BiometricPrompt.PromptInfo @@ -44,7 +43,7 @@ class BiometricDeviceAuthentication( Log.i(TAG, "Skipping show system biometric or device lock dialog unless forced") } true - } else if (Build.VERSION.SDK_INT >= 21) { + } else { if (force) { Log.i(TAG, "firing intent...") showConfirmDeviceCredentialIntent() @@ -52,9 +51,6 @@ class BiometricDeviceAuthentication( Log.i(TAG, "Skipping firing intent unless forced") } true - } else { - Log.w(TAG, "Not compatible...") - false } } @@ -65,7 +61,6 @@ class BiometricDeviceAuthentication( class BiometricDeviceLockContract : ActivityResultContract() { - @RequiresApi(api = 21) override fun createIntent(context: Context, input: String): Intent { val keyguardManager = ServiceUtil.getKeyguardManager(context) return keyguardManager.createConfirmDeviceCredentialIntent(input, "") diff --git a/app/src/main/java/org/thoughtcrime/securesms/DeviceActivity.java b/app/src/main/java/org/thoughtcrime/securesms/DeviceActivity.java index fffcb32f42..b281f53f4c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/DeviceActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/DeviceActivity.java @@ -142,8 +142,8 @@ public void onQrDataFound(@NonNull final String data) { private void goToDeviceLink(@Nullable Uri uri) { deviceLinkFragment.setLinkClickedListener(uri, DeviceActivity.this); - deviceAddFragment.setSharedElementReturnTransition(TransitionInflater.from(DeviceActivity.this).inflateTransition(R.transition.fragment_shared)); - deviceAddFragment.setExitTransition(TransitionInflater.from(DeviceActivity.this).inflateTransition(android.R.transition.fade)); + deviceAddFragment.setSharedElementReturnTransition(TransitionInflater.from(DeviceActivity.this).inflateTransition(R.transition.fragment_shared)); + deviceAddFragment.setExitTransition(TransitionInflater.from(DeviceActivity.this).inflateTransition(android.R.transition.fade)); deviceLinkFragment.setSharedElementEnterTransition(TransitionInflater.from(DeviceActivity.this).inflateTransition(R.transition.fragment_shared)); deviceLinkFragment.setEnterTransition(TransitionInflater.from(DeviceActivity.this).inflateTransition(android.R.transition.fade)); diff --git a/app/src/main/java/org/thoughtcrime/securesms/DeviceAddFragment.java b/app/src/main/java/org/thoughtcrime/securesms/DeviceAddFragment.java index 22ca84b071..46595adf58 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/DeviceAddFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/DeviceAddFragment.java @@ -52,22 +52,19 @@ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup viewGroup, this.devicesImage = container.findViewById(R.id.devices); ViewCompat.setTransitionName(devicesImage, "devices"); - if (Build.VERSION.SDK_INT >= 21) { - container.addOnLayoutChangeListener(new View.OnLayoutChangeListener() { - @TargetApi(21) - @Override - public void onLayoutChange(View v, int left, int top, int right, int bottom, - int oldLeft, int oldTop, int oldRight, int oldBottom) - { - v.removeOnLayoutChangeListener(this); - - Animator reveal = ViewAnimationUtils.createCircularReveal(v, right, bottom, 0, (int) Math.hypot(right, bottom)); - reveal.setInterpolator(new DecelerateInterpolator(2f)); - reveal.setDuration(800); - reveal.start(); - } - }); - } + container.addOnLayoutChangeListener(new View.OnLayoutChangeListener() { + @Override + public void onLayoutChange(View v, int left, int top, int right, int bottom, + int oldLeft, int oldTop, int oldRight, int oldBottom) + { + v.removeOnLayoutChangeListener(this); + + Animator reveal = ViewAnimationUtils.createCircularReveal(v, right, bottom, 0, (int) Math.hypot(right, bottom)); + reveal.setInterpolator(new DecelerateInterpolator(2f)); + reveal.setDuration(800); + reveal.start(); + } + }); return container; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/absbackup/AndroidBackupItem.kt b/app/src/main/java/org/thoughtcrime/securesms/absbackup/AndroidBackupItem.kt new file mode 100644 index 0000000000..9a601857a8 --- /dev/null +++ b/app/src/main/java/org/thoughtcrime/securesms/absbackup/AndroidBackupItem.kt @@ -0,0 +1,11 @@ +package org.thoughtcrime.securesms.absbackup + +/** + * Abstracts away the implementation of pieces of data we want to hand off to various backup services. + * Here we can control precisely which data gets backed up and more importantly, what does not. + */ +interface AndroidBackupItem { + fun getKey(): String + fun getDataForBackup(): ByteArray + fun restoreData(data: ByteArray) +} diff --git a/app/src/main/java/org/thoughtcrime/securesms/absbackup/SignalBackupAgent.kt b/app/src/main/java/org/thoughtcrime/securesms/absbackup/SignalBackupAgent.kt new file mode 100644 index 0000000000..2e68975ef4 --- /dev/null +++ b/app/src/main/java/org/thoughtcrime/securesms/absbackup/SignalBackupAgent.kt @@ -0,0 +1,65 @@ +package org.thoughtcrime.securesms.absbackup + +import android.app.backup.BackupAgent +import android.app.backup.BackupDataInput +import android.app.backup.BackupDataOutput +import android.os.ParcelFileDescriptor +import org.signal.core.util.logging.Log +import org.thoughtcrime.securesms.absbackup.backupables.KbsAuthTokens +import java.io.DataInputStream +import java.io.DataOutputStream +import java.io.FileInputStream +import java.io.FileOutputStream +import java.io.IOException + +/** + * Uses the [Android Backup Service](https://developer.android.com/guide/topics/data/keyvaluebackup) and backs up everything in [items] + */ +class SignalBackupAgent : BackupAgent() { + private val items: List = listOf( + KbsAuthTokens, + ) + + override fun onBackup(oldState: ParcelFileDescriptor?, data: BackupDataOutput, newState: ParcelFileDescriptor) { + val contentsHash = cumulativeHashCode() + if (oldState == null) { + performBackup(data) + } else { + val hash = try { + DataInputStream(FileInputStream(oldState.fileDescriptor)).use { it.readInt() } + } catch (e: IOException) { + Log.w(TAG, "No old state, may be first backup request or bug with not writing to newState at end.", e) + } + if (hash != contentsHash) { + performBackup(data) + } + } + + DataOutputStream(FileOutputStream(newState.fileDescriptor)).use { it.writeInt(contentsHash) } + } + + private fun performBackup(data: BackupDataOutput) { + items.forEach { + val backupData = it.getDataForBackup() + data.writeEntityHeader(it.getKey(), backupData.size) + data.writeEntityData(backupData, backupData.size) + } + } + + override fun onRestore(dataInput: BackupDataInput, appVersionCode: Int, newState: ParcelFileDescriptor) { + while (dataInput.readNextHeader()) { + val buffer = ByteArray(dataInput.dataSize) + dataInput.readEntityData(buffer, 0, dataInput.dataSize) + items.find { dataInput.key == it.getKey() }?.restoreData(buffer) + } + DataOutputStream(FileOutputStream(newState.fileDescriptor)).use { it.writeInt(cumulativeHashCode()) } + } + + private fun cumulativeHashCode(): Int { + return items.fold("") { acc: String, androidBackupItem: AndroidBackupItem -> acc + androidBackupItem.getDataForBackup().decodeToString() }.hashCode() + } + + companion object { + private const val TAG = "SignalBackupAgent" + } +} diff --git a/app/src/main/java/org/thoughtcrime/securesms/absbackup/backupables/KbsAuthTokens.kt b/app/src/main/java/org/thoughtcrime/securesms/absbackup/backupables/KbsAuthTokens.kt new file mode 100644 index 0000000000..c0919cd8e8 --- /dev/null +++ b/app/src/main/java/org/thoughtcrime/securesms/absbackup/backupables/KbsAuthTokens.kt @@ -0,0 +1,40 @@ +package org.thoughtcrime.securesms.absbackup.backupables + +import com.google.protobuf.InvalidProtocolBufferException +import org.signal.core.util.logging.Log +import org.thoughtcrime.securesms.absbackup.AndroidBackupItem +import org.thoughtcrime.securesms.absbackup.ExternalBackupProtos +import org.thoughtcrime.securesms.keyvalue.SignalStore + +/** + * This backs up the not-secret KBS Auth tokens, which can be combined with a PIN to prove ownership of a phone number in order to complete the registration process. + */ +object KbsAuthTokens : AndroidBackupItem { + private const val TAG = "KbsAuthTokens" + + override fun getKey(): String { + return TAG + } + + override fun getDataForBackup(): ByteArray { + val registrationRecoveryTokenList = SignalStore.kbsValues().kbsAuthTokenList + val proto = ExternalBackupProtos.KbsAuthToken.newBuilder() + .addAllToken(registrationRecoveryTokenList) + .build() + return proto.toByteArray() + } + + override fun restoreData(data: ByteArray) { + if (SignalStore.kbsValues().kbsAuthTokenList.isNotEmpty()) { + return + } + + try { + val proto = ExternalBackupProtos.KbsAuthToken.parseFrom(data) + + SignalStore.kbsValues().putAuthTokenList(proto.tokenList) + } catch (e: InvalidProtocolBufferException) { + Log.w(TAG, "Cannot restore KbsAuthToken from backup service.") + } + } +} diff --git a/app/src/main/java/org/thoughtcrime/securesms/animation/transitions/CircleAvatarTransition.kt b/app/src/main/java/org/thoughtcrime/securesms/animation/transitions/CircleAvatarTransition.kt index 30a034b42f..5b24db90f7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/animation/transitions/CircleAvatarTransition.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/animation/transitions/CircleAvatarTransition.kt @@ -13,7 +13,6 @@ import android.view.ViewGroup import android.view.animation.AccelerateInterpolator import android.view.animation.DecelerateInterpolator import android.view.animation.Interpolator -import androidx.annotation.RequiresApi private const val POSITION_ON_SCREEN = "signal.circleavatartransition.positiononscreen" private const val WIDTH = "signal.circleavatartransition.width" @@ -22,7 +21,6 @@ private const val HEIGHT = "signal.circleavatartransition.height" /** * Custom transition for Circular avatars, because once you have multiple things animating stuff was getting broken and weird. */ -@RequiresApi(21) class CircleAvatarTransition(context: Context, attrs: AttributeSet?) : Transition(context, attrs) { override fun captureStartValues(transitionValues: TransitionValues) { captureValues(transitionValues) diff --git a/app/src/main/java/org/thoughtcrime/securesms/animation/transitions/CrossfaderTransition.kt b/app/src/main/java/org/thoughtcrime/securesms/animation/transitions/CrossfaderTransition.kt index 96f71f8d17..14a1e5c879 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/animation/transitions/CrossfaderTransition.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/animation/transitions/CrossfaderTransition.kt @@ -7,11 +7,9 @@ import android.transition.Transition import android.transition.TransitionValues import android.util.AttributeSet import android.view.ViewGroup -import androidx.annotation.RequiresApi import androidx.core.animation.doOnEnd import androidx.core.animation.doOnStart -@RequiresApi(21) class CrossfaderTransition(context: Context, attrs: AttributeSet?) : Transition(context, attrs) { companion object { diff --git a/app/src/main/java/org/thoughtcrime/securesms/animation/transitions/WipeDownTransition.kt b/app/src/main/java/org/thoughtcrime/securesms/animation/transitions/WipeDownTransition.kt index 746a5feb9a..55505940cd 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/animation/transitions/WipeDownTransition.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/animation/transitions/WipeDownTransition.kt @@ -10,7 +10,6 @@ import android.transition.TransitionValues import android.util.AttributeSet import android.view.View import android.view.ViewGroup -import androidx.annotation.RequiresApi import androidx.core.animation.addListener import androidx.fragment.app.FragmentContainerView @@ -19,7 +18,6 @@ private const val BOUNDS = "signal.wipedowntransition.bottom" /** * WipeDownTransition will animate the bottom position of a view such that it "wipes" down the screen to a final position. */ -@RequiresApi(21) class WipeDownTransition(context: Context, attrs: AttributeSet?) : Transition(context, attrs) { override fun captureStartValues(transitionValues: TransitionValues) { captureValues(transitionValues) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/ComposeText.java b/app/src/main/java/org/thoughtcrime/securesms/components/ComposeText.java index c5e4ee6c25..704305fab9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/ComposeText.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/ComposeText.java @@ -248,10 +248,6 @@ public InputConnection onCreateInputConnection(EditorInfo editorInfo) { editorInfo.imeOptions &= ~EditorInfo.IME_FLAG_NO_ENTER_ACTION; } - if (Build.VERSION.SDK_INT < 21) { - return inputConnection; - } - if (mediaListener == null) { return inputConnection; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/menu/SignalBottomActionBar.kt b/app/src/main/java/org/thoughtcrime/securesms/components/menu/SignalBottomActionBar.kt index 678a0bf5be..157d08b58b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/menu/SignalBottomActionBar.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/menu/SignalBottomActionBar.kt @@ -41,7 +41,6 @@ class SignalBottomActionBar(context: Context, attributeSet: AttributeSet) : Line init { orientation = HORIZONTAL setBackgroundResource(R.drawable.signal_bottom_action_bar_background) - elevation = 20f } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/reminder/ExpiredBuildReminder.java b/app/src/main/java/org/thoughtcrime/securesms/components/reminder/ExpiredBuildReminder.java index 4a2f13b9e2..612aafb835 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/reminder/ExpiredBuildReminder.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/reminder/ExpiredBuildReminder.java @@ -19,15 +19,8 @@ public class ExpiredBuildReminder extends Reminder { public ExpiredBuildReminder(final Context context) { - super(null, Build.VERSION.SDK_INT < 21 - ? context.getString(R.string.ExpiredBuildReminder_api_19_message) - : context.getString(R.string.ExpiredBuildReminder_this_version_of_signal_has_expired)); - - if (Build.VERSION.SDK_INT < 21) { - addAction(new Action(context.getString(R.string.API19Reminder_learn_more), R.id.reminder_action_api_19_learn_more)); - } else { - addAction(new Action(context.getString(R.string.ExpiredBuildReminder_update_now), R.id.reminder_action_update_now)); - } + super(null, context.getString(R.string.ExpiredBuildReminder_this_version_of_signal_has_expired)); + addAction(new Action(context.getString(R.string.ExpiredBuildReminder_update_now), R.id.reminder_action_update_now)); } @Override diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/DSLSettingsAdapter.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/DSLSettingsAdapter.kt index 04221bbff6..3fda7366b3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/DSLSettingsAdapter.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/DSLSettingsAdapter.kt @@ -1,5 +1,7 @@ package org.thoughtcrime.securesms.components.settings +import android.graphics.PorterDuff +import android.graphics.PorterDuffColorFilter import android.text.Spanned import android.text.method.LinkMovementMethod import android.text.style.ClickableSpan @@ -230,7 +232,9 @@ class ExternalLinkPreferenceViewHolder(itemView: View) : PreferenceViewHolder Unit, + storyListener: (View, ContactSearchData.Story, Boolean) -> Unit, + storyContextMenuCallbacks: ContactSearchItems.StoryContextMenuCallbacks, + expandListener: (ContactSearchData.Expand) -> Unit +) : PagingMappingAdapter() { + init { + ContactSearchItems.registerStoryItems(this, displayCheckBox, storyListener, storyContextMenuCallbacks) + ContactSearchItems.registerKnownRecipientItems(this, displayCheckBox, displaySmsTag, recipientListener) + ContactSearchItems.registerHeaders(this) + ContactSearchItems.registerExpands(this, expandListener) + } +} diff --git a/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchData.kt b/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchData.kt index 7651806f2b..2ed57d774b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchData.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchData.kt @@ -18,7 +18,7 @@ sealed class ContactSearchData(val contactSearchKey: ContactSearchKey) { val recipient: Recipient, val count: Int, val privacyMode: DistributionListPrivacyMode - ) : ContactSearchData(ContactSearchKey.RecipientSearchKey.Story(recipient.id)) + ) : ContactSearchData(ContactSearchKey.RecipientSearchKey(recipient.id, true)) /** * A row displaying a known recipient. @@ -27,7 +27,7 @@ sealed class ContactSearchData(val contactSearchKey: ContactSearchKey) { val recipient: Recipient, val shortSummary: Boolean = false, val headerLetter: String? = null - ) : ContactSearchData(ContactSearchKey.RecipientSearchKey.KnownRecipient(recipient.id)) + ) : ContactSearchData(ContactSearchKey.RecipientSearchKey(recipient.id, false)) /** * A row containing a title for a given section diff --git a/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchItems.kt b/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchItems.kt index 678cb68f69..b2a6f26569 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchItems.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchItems.kt @@ -45,28 +45,26 @@ object ContactSearchItems { ) } - fun registerHeaders(mappingAdapter: MappingAdapter) { - mappingAdapter.registerFactory( - HeaderModel::class.java, - LayoutFactory({ HeaderViewHolder(it) }, R.layout.contact_search_section_header) - ) - } - - fun register( + fun registerKnownRecipientItems( mappingAdapter: MappingAdapter, displayCheckBox: Boolean, displaySmsTag: DisplaySmsTag, - recipientListener: RecipientClickListener, - storyListener: StoryClickListener, - storyContextMenuCallbacks: StoryContextMenuCallbacks, - expandListener: (ContactSearchData.Expand) -> Unit + recipientListener: (View, ContactSearchData.KnownRecipient, Boolean) -> Unit ) { - registerStoryItems(mappingAdapter, displayCheckBox, storyListener, storyContextMenuCallbacks) mappingAdapter.registerFactory( RecipientModel::class.java, LayoutFactory({ KnownRecipientViewHolder(it, displayCheckBox, displaySmsTag, recipientListener) }, R.layout.contact_search_item) ) - registerHeaders(mappingAdapter) + } + + fun registerHeaders(mappingAdapter: MappingAdapter) { + mappingAdapter.registerFactory( + HeaderModel::class.java, + LayoutFactory({ HeaderViewHolder(it) }, R.layout.contact_search_section_header) + ) + } + + fun registerExpands(mappingAdapter: MappingAdapter, expandListener: (ContactSearchData.Expand) -> Unit) { mappingAdapter.registerFactory( ExpandModel::class.java, LayoutFactory({ ExpandViewHolder(it, expandListener) }, R.layout.contacts_expand_item) @@ -90,7 +88,7 @@ object ContactSearchItems { /** * Story Model */ - private class StoryModel(val story: ContactSearchData.Story, val isSelected: Boolean, val hasBeenNotified: Boolean) : MappingModel { + class StoryModel(val story: ContactSearchData.Story, val isSelected: Boolean, val hasBeenNotified: Boolean) : MappingModel { override fun areItemsTheSame(newItem: StoryModel): Boolean { return newItem.story == story @@ -226,7 +224,7 @@ object ContactSearchItems { /** * Recipient model */ - private class RecipientModel(val knownRecipient: ContactSearchData.KnownRecipient, val isSelected: Boolean, val shortSummary: Boolean) : MappingModel { + class RecipientModel(val knownRecipient: ContactSearchData.KnownRecipient, val isSelected: Boolean, val shortSummary: Boolean) : MappingModel { override fun areItemsTheSame(newItem: RecipientModel): Boolean { return newItem.knownRecipient == knownRecipient @@ -363,7 +361,7 @@ object ContactSearchItems { /** * Mapping Model for section headers */ - private class HeaderModel(val header: ContactSearchData.Header) : MappingModel { + class HeaderModel(val header: ContactSearchData.Header) : MappingModel { override fun areItemsTheSame(newItem: HeaderModel): Boolean { return header.sectionKey == newItem.header.sectionKey } @@ -407,7 +405,7 @@ object ContactSearchItems { /** * Mapping Model for expandable content rows. */ - private class ExpandModel(val expand: ContactSearchData.Expand) : MappingModel { + class ExpandModel(val expand: ContactSearchData.Expand) : MappingModel { override fun areItemsTheSame(newItem: ExpandModel): Boolean { return expand.contactSearchKey == newItem.expand.contactSearchKey } diff --git a/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchKey.kt b/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchKey.kt index ae29c0e8ca..eed3dded19 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchKey.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchKey.kt @@ -12,44 +12,18 @@ sealed class ContactSearchKey { /** * Generates a ShareContact object used to display which contacts have been selected. This should *not* - * be used for the final sharing process, as it is not always truthful about, for example, KnownRecipient of + * be used for the final sharing process, as it is not always truthful about, for example, * a group vs. a group's Story. */ open fun requireShareContact(): ShareContact = error("This key cannot be converted into a ShareContact") - open fun requireParcelable(): ParcelableRecipientSearchKey = error("This key cannot be parcelized") + open fun requireRecipientSearchKey(): RecipientSearchKey = error("This key cannot be parcelized") - sealed class RecipientSearchKey : ContactSearchKey() { - - abstract val recipientId: RecipientId - abstract val isStory: Boolean - - data class Story(override val recipientId: RecipientId) : RecipientSearchKey() { - override fun requireShareContact(): ShareContact { - return ShareContact(recipientId) - } - - override fun requireParcelable(): ParcelableRecipientSearchKey { - return ParcelableRecipientSearchKey(ParcelableType.STORY, recipientId) - } - - override val isStory: Boolean = true - } - - /** - * Key to a recipient which already exists in our database - */ - data class KnownRecipient(override val recipientId: RecipientId) : RecipientSearchKey() { - override fun requireShareContact(): ShareContact { - return ShareContact(recipientId) - } - - override fun requireParcelable(): ParcelableRecipientSearchKey { - return ParcelableRecipientSearchKey(ParcelableType.KNOWN_RECIPIENT, recipientId) - } + @Parcelize + data class RecipientSearchKey(val recipientId: RecipientId, val isStory: Boolean) : ContactSearchKey(), Parcelable { + override fun requireRecipientSearchKey(): RecipientSearchKey = this - override val isStory: Boolean = false - } + override fun requireShareContact(): ShareContact = ShareContact(recipientId) } /** @@ -61,19 +35,4 @@ sealed class ContactSearchKey { * Key to an expand button for a given section */ data class Expand(val sectionKey: ContactSearchConfiguration.SectionKey) : ContactSearchKey() - - @Parcelize - data class ParcelableRecipientSearchKey(val type: ParcelableType, val recipientId: RecipientId) : Parcelable { - fun asRecipientSearchKey(): RecipientSearchKey { - return when (type) { - ParcelableType.STORY -> RecipientSearchKey.Story(recipientId) - ParcelableType.KNOWN_RECIPIENT -> RecipientSearchKey.KnownRecipient(recipientId) - } - } - } - - enum class ParcelableType { - STORY, - KNOWN_RECIPIENT - } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchMediator.kt b/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchMediator.kt index 801b3f5c12..737edb15cb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchMediator.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchMediator.kt @@ -27,26 +27,23 @@ class ContactSearchMediator( displaySmsTag: ContactSearchItems.DisplaySmsTag, mapStateToConfiguration: (ContactSearchState) -> ContactSearchConfiguration, private val contactSelectionPreFilter: (View?, Set) -> Set = { _, s -> s }, - performSafetyNumberChecks: Boolean = true + performSafetyNumberChecks: Boolean = true, + adapterFactory: AdapterFactory = DefaultAdapterFactory ) { private val viewModel: ContactSearchViewModel = ViewModelProvider(fragment, ContactSearchViewModel.Factory(selectionLimits, ContactSearchRepository(), performSafetyNumberChecks)).get(ContactSearchViewModel::class.java) init { + val adapter = adapterFactory.create( + displayCheckBox, + displaySmsTag, + this::toggleSelection, + this::toggleStorySelection, + StoryContextMenuCallbacks() + ) { viewModel.expandSection(it.sectionKey) } - val adapter = PagingMappingAdapter() recyclerView.adapter = adapter - ContactSearchItems.register( - mappingAdapter = adapter, - displayCheckBox = displayCheckBox, - displaySmsTag = displaySmsTag, - recipientListener = this::toggleSelection, - storyListener = this::toggleStorySelection, - storyContextMenuCallbacks = StoryContextMenuCallbacks(), - expandListener = { viewModel.expandSection(it.sectionKey) } - ) - val dataAndSelection: LiveData, Set>> = LiveDataUtil.combineLatest( viewModel.data, viewModel.selectionState, @@ -90,7 +87,7 @@ class ContactSearchMediator( return viewModel.errorEventsStream.observeOn(AndroidSchedulers.mainThread()) } - fun addToVisibleGroupStories(groupStories: Set) { + fun addToVisibleGroupStories(groupStories: Set) { viewModel.addToVisibleGroupStories(groupStories) } @@ -143,4 +140,32 @@ class ContactSearchMediator( .show() } } + + /** + * Wraps the construction of a PagingMappingAdapter so that it can + * be swapped for another implementation, allow listeners to be wrapped, etc. + */ + fun interface AdapterFactory { + fun create( + displayCheckBox: Boolean, + displaySmsTag: ContactSearchItems.DisplaySmsTag, + recipientListener: (View, ContactSearchData.KnownRecipient, Boolean) -> Unit, + storyListener: (View, ContactSearchData.Story, Boolean) -> Unit, + storyContextMenuCallbacks: ContactSearchItems.StoryContextMenuCallbacks, + expandListener: (ContactSearchData.Expand) -> Unit + ): PagingMappingAdapter + } + + private object DefaultAdapterFactory : AdapterFactory { + override fun create( + displayCheckBox: Boolean, + displaySmsTag: ContactSearchItems.DisplaySmsTag, + recipientListener: (View, ContactSearchData.KnownRecipient, Boolean) -> Unit, + storyListener: (View, ContactSearchData.Story, Boolean) -> Unit, + storyContextMenuCallbacks: ContactSearchItems.StoryContextMenuCallbacks, + expandListener: (ContactSearchData.Expand) -> Unit + ): PagingMappingAdapter { + return ContactSearchAdapter(displayCheckBox, displaySmsTag, recipientListener, storyListener, storyContextMenuCallbacks, expandListener) + } + } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchRepository.kt b/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchRepository.kt index 7e32edd7a6..148137b7c1 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchRepository.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchRepository.kt @@ -21,8 +21,7 @@ class ContactSearchRepository { val isSelectable = when (it) { is ContactSearchKey.Expand -> false is ContactSearchKey.Header -> false - is ContactSearchKey.RecipientSearchKey.KnownRecipient -> canSelectRecipient(it.recipientId) - is ContactSearchKey.RecipientSearchKey.Story -> canSelectRecipient(it.recipientId) + is ContactSearchKey.RecipientSearchKey -> canSelectRecipient(it.recipientId) } ContactSearchSelectionResult(it, isSelectable) }.toSet() diff --git a/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchViewModel.kt index 585996cc32..4bdb4f600b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchViewModel.kt @@ -98,7 +98,7 @@ class ContactSearchViewModel( return selectionStore.state } - fun addToVisibleGroupStories(groupStories: Set) { + fun addToVisibleGroupStories(groupStories: Set) { disposables += contactSearchRepository.markDisplayAsStory(groupStories.map { it.recipientId }).subscribe { configurationStore.update { state -> state.copy( diff --git a/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/SafetyNumberRepository.kt b/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/SafetyNumberRepository.kt index 5d755b4082..7c77398946 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/SafetyNumberRepository.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/SafetyNumberRepository.kt @@ -77,8 +77,8 @@ class SafetyNumberRepository( private fun List.flattenToRecipientIds(): Set { return this .map { - when (it) { - is ContactSearchKey.RecipientSearchKey.KnownRecipient -> { + when { + it is ContactSearchKey.RecipientSearchKey && !it.isStory -> { val recipient = Recipient.resolved(it.recipientId) if (recipient.isGroup) { recipient.participantIds @@ -86,7 +86,7 @@ class SafetyNumberRepository( listOf(it.recipientId) } } - is ContactSearchKey.RecipientSearchKey.Story -> Recipient.resolved(it.recipientId).participantIds + it is ContactSearchKey.RecipientSearchKey -> Recipient.resolved(it.recipientId).participantIds else -> throw AssertionError("Invalid contact selection $it") } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.kt index f0a49b38c0..1cd9e989d7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.kt @@ -30,8 +30,11 @@ open class ConversationActivity : PassphraseRequiredActivity(), ConversationPare } override fun onCreate(savedInstanceState: Bundle?, ready: Boolean) { - shareDataTimestamp = savedInstanceState?.getLong(STATE_WATERMARK, -1L) ?: -1L - + if (savedInstanceState != null) { + shareDataTimestamp = savedInstanceState.getLong(STATE_WATERMARK, -1L) + } else if (intent.flags and Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY != 0) { + shareDataTimestamp = System.currentTimeMillis() + } setContentView(R.layout.conversation_parent_fragment_container) if (savedInstanceState == null) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java index a3170fc008..f35468bc12 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java @@ -1532,7 +1532,7 @@ private void handleRecentSafetyNumberChange() { SafetyNumberBottomSheet .forIdentityRecordsAndDestination( records, - new ContactSearchKey.RecipientSearchKey.KnownRecipient(recipient.getId()) + new ContactSearchKey.RecipientSearchKey(recipient.getId(), false) ) .show(getChildFragmentManager()); } @@ -2365,7 +2365,7 @@ public void initializeDraftViewModel() { } private void showGroupCallingTooltip() { - if (Build.VERSION.SDK_INT == 19 || !SignalStore.tooltips().shouldShowGroupCallingTooltip() || callingTooltipShown) { + if (!SignalStore.tooltips().shouldShowGroupCallingTooltip() || callingTooltipShown) { return; } @@ -2636,7 +2636,7 @@ private void setBlockedUserState(Recipient recipient, @NonNull ConversationSecur TextView message = inviteButton.get().findViewById(R.id.export_sms_message); MaterialButton actionButton = inviteButton.get().findViewById(R.id.export_sms_button); - message.setText(requireContext().getString(R.string.ConversationActivity__sms_messaging_is_currently_disabled_invite_s_to_to_signal_to_keep_the_conversation_here, + message.setText(requireContext().getString(R.string.ConversationActivity__sms_messaging_is_no_longer_supported_in_signal_invite_s_to_to_signal_to_keep_the_conversation_here, recipient.getDisplayName(requireContext()))); actionButton.setText(R.string.ConversationActivity__invite_to_signal); actionButton.setOnClickListener(v -> handleInviteLink()); @@ -3403,7 +3403,7 @@ public void onMessageDetailsFragmentDismissed() { } @Override - public void sendAnywayAfterSafetyNumberChangedInBottomSheet(@NonNull List destinations) { + public void sendAnywayAfterSafetyNumberChangedInBottomSheet(@NonNull List destinations) { Log.d(TAG, "onSendAnywayAfterSafetyNumberChange"); initializeIdentityRecords().addListener(new AssertedSuccessListener() { @Override diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/MenuState.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/MenuState.java index 3d4ce955bd..0cac6c9713 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/MenuState.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/MenuState.java @@ -220,7 +220,8 @@ static boolean isActionMessage(@NonNull MessageRecord messageRecord) { messageRecord.isChangeNumber() || messageRecord.isBoostRequest() || messageRecord.isPaymentsRequestToActivate() || - messageRecord.isPaymentsActivated(); + messageRecord.isPaymentsActivated() || + messageRecord.isSmsExportType(); } private final static class Builder { diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ChatColors.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ChatColors.kt index 15b64145df..b2b4bffb8c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ChatColors.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ChatColors.kt @@ -40,9 +40,6 @@ class ChatColors( val chatBubbleMask: Drawable get() { return when { - false -> { - ColorDrawable(Color.TRANSPARENT) - } linearGradient != null -> { RotatableGradientDrawable( linearGradient.degrees, @@ -60,8 +57,7 @@ class ChatColors( * Returns the ColorFilter to apply to a conversation bubble or other relevant piece of UI. */ @IgnoredOnParcel - val chatBubbleColorFilter: ColorFilter = - PorterDuffColorFilter(Color.TRANSPARENT, PorterDuff.Mode.SRC_IN) + val chatBubbleColorFilter: ColorFilter = PorterDuffColorFilter(Color.TRANSPARENT, PorterDuff.Mode.SRC_IN) @ColorInt fun asSingleColor(): Int { @@ -109,7 +105,6 @@ class ChatColors( } fun asCircle(): Drawable { - val toWrap: Drawable = chatBubbleMask val path = Path() diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardActivity.kt index b689c76fe5..dada7a5119 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardActivity.kt @@ -73,8 +73,8 @@ open class MultiselectForwardActivity : FragmentWrapperActivity(), MultiselectFo } else if (intent == null || !intent.hasExtra(RESULT_SELECTION)) { throw IllegalStateException("Selection contract requires a selection.") } else { - val selection: List = intent.getParcelableArrayListExtra(RESULT_SELECTION)!! - selection.map { it.asRecipientSearchKey() } + val selection: List = intent.getParcelableArrayListExtra(RESULT_SELECTION)!! + selection } } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardFragment.kt index f718d53e2b..ce7b9e1123 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardFragment.kt @@ -191,7 +191,7 @@ class MultiselectForwardFragment : shareSelectionAdapter.submitList(contactSelection.mapIndexed { index, key -> ShareSelectionMappingModel(key.requireShareContact(), index == 0) }) - addMessage.visible = !args.forceDisableAddMessage && contactSelection.any { key -> key !is ContactSearchKey.RecipientSearchKey.Story } && args.multiShareArgs.isNotEmpty() + addMessage.visible = !args.forceDisableAddMessage && contactSelection.any { key -> !key.requireRecipientSearchKey().isStory } && args.multiShareArgs.isNotEmpty() if (contactSelection.isNotEmpty() && !bottomBar.isVisible) { bottomBar.animation = AnimationUtils.loadAnimation(requireContext(), R.anim.slide_fade_from_bottom) @@ -237,13 +237,13 @@ class MultiselectForwardFragment : setFragmentResultListener(CreateStoryWithViewersFragment.REQUEST_KEY) { _, bundle -> val recipientId: RecipientId = bundle.getParcelable(CreateStoryWithViewersFragment.STORY_RECIPIENT)!! - contactSearchMediator.setKeysSelected(setOf(ContactSearchKey.RecipientSearchKey.Story(recipientId))) + contactSearchMediator.setKeysSelected(setOf(ContactSearchKey.RecipientSearchKey(recipientId, true))) contactFilterView.clear() } setFragmentResultListener(ChooseGroupStoryBottomSheet.GROUP_STORY) { _, bundle -> val groups: Set = bundle.getParcelableArrayList(ChooseGroupStoryBottomSheet.RESULT_SET)?.toSet() ?: emptySet() - val keys: Set = groups.map { ContactSearchKey.RecipientSearchKey.Story(it) }.toSet() + val keys: Set = groups.map { ContactSearchKey.RecipientSearchKey(it, true) }.toSet() contactSearchMediator.addToVisibleGroupStories(keys) contactSearchMediator.setKeysSelected(keys) contactFilterView.clear() @@ -350,7 +350,7 @@ class MultiselectForwardFragment : dismissibleDialog?.dismiss() val resultsBundle = Bundle().apply { - putParcelableArrayList(RESULT_SELECTION, ArrayList(selectedContacts.map { it.requireParcelable() })) + putParcelableArrayList(RESULT_SELECTION, ArrayList(selectedContacts.map { it.requireRecipientSearchKey() })) } callback.setResult(resultsBundle) @@ -489,7 +489,7 @@ class MultiselectForwardFragment : } override fun onMyStoryConfigured(recipientId: RecipientId) { - contactSearchMediator.setKeysSelected(setOf(ContactSearchKey.RecipientSearchKey.Story(recipientId))) + contactSearchMediator.setKeysSelected(setOf(ContactSearchKey.RecipientSearchKey(recipientId, true))) contactSearchMediator.refresh() } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardRepository.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardRepository.kt index 684b611688..df8ef252bc 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardRepository.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardRepository.kt @@ -62,14 +62,14 @@ class MultiselectForwardRepository { SignalExecutors.BOUNDED.execute { val filteredContacts: Set = shareContacts .asSequence() - .filter { it is ContactSearchKey.RecipientSearchKey.Story || it is ContactSearchKey.RecipientSearchKey.KnownRecipient } + .filter { it is ContactSearchKey.RecipientSearchKey } .toSet() val mappedArgs: List = multiShareArgs.map { it.buildUpon(filteredContacts).build() } val results = mappedArgs.sortedBy { it.timestamp }.map { MultiShareSender.sendSync(it) } if (additionalMessage.isNotEmpty()) { - val additional = MultiShareArgs.Builder(filteredContacts.filterNot { it is ContactSearchKey.RecipientSearchKey.Story }.toSet()) + val additional = MultiShareArgs.Builder(filteredContacts.filterNot { it is ContactSearchKey.RecipientSearchKey && it.isStory }.toSet()) .withDraftText(additionalMessage) .build() diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/inlinequery/InlineQueryResultsPopup.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/inlinequery/InlineQueryResultsPopup.kt index a3b04068b2..8725f08e49 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/inlinequery/InlineQueryResultsPopup.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/inlinequery/InlineQueryResultsPopup.kt @@ -2,7 +2,6 @@ package org.thoughtcrime.securesms.conversation.ui.inlinequery import android.content.Context import android.graphics.Rect -import android.os.Build import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -34,10 +33,8 @@ class InlineQueryResultsPopup( private val adapter: MappingAdapter init { - if (Build.VERSION.SDK_INT >= 21) { - contentView.outlineProvider = ViewOutlineProvider.BACKGROUND - contentView.clipToOutline = true - } + contentView.outlineProvider = ViewOutlineProvider.BACKGROUND + contentView.clipToOutline = true inputMethodMode = INPUT_METHOD_NOT_NEEDED @@ -46,9 +43,7 @@ class InlineQueryResultsPopup( callback = null } - if (Build.VERSION.SDK_INT >= 21) { - elevation = 20f - } + elevation = 20f adapter = InlineQueryAdapter { m -> callback?.onSelection(m) } list.adapter = adapter diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListArchiveFragment.java b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListArchiveFragment.java index 4c2697f558..0f885040d9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListArchiveFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListArchiveFragment.java @@ -107,7 +107,7 @@ protected boolean isArchived() { @Override protected @DrawableRes int getArchiveIconRes() { - return R.drawable.ic_unarchive_24; + return R.drawable.symbol_archive_android_up_24; } @Override diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java index 7e55cf2020..6bab1fb58c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java @@ -1258,9 +1258,9 @@ public boolean onConversationLongClick(@NonNull Conversation conversation, @NonN })); if (conversation.getThreadRecord().isArchived()) { - items.add(new ActionItem(R.drawable.ic_unarchive_24, getResources().getQuantityString(R.plurals.ConversationListFragment_unarchive_plural, 1), () -> handleArchive(id, false))); + items.add(new ActionItem(R.drawable.symbol_archive_android_up_24, getResources().getQuantityString(R.plurals.ConversationListFragment_unarchive_plural, 1), () -> handleArchive(id, false))); } else { - items.add(new ActionItem(R.drawable.ic_archive_24, getResources().getQuantityString(R.plurals.ConversationListFragment_archive_plural, 1), () -> handleArchive(id, false))); + items.add(new ActionItem(R.drawable.symbol_archive_android_24, getResources().getQuantityString(R.plurals.ConversationListFragment_archive_plural, 1), () -> handleArchive(id, false))); } items.add(new ActionItem(R.drawable.ic_delete_24, getResources().getQuantityString(R.plurals.ConversationListFragment_delete_plural, 1), () -> handleDelete(id))); @@ -1301,11 +1301,9 @@ public boolean onActionItemClicked(ActionMode mode, MenuItem item) { public void onDestroyActionMode(ActionMode mode) { viewModel.endSelection(); - if (Build.VERSION.SDK_INT >= 21) { - TypedArray color = getActivity().getTheme().obtainStyledAttributes(new int[] { android.R.attr.statusBarColor }); - WindowUtil.setStatusBarColor(getActivity().getWindow(), color.getColor(0, Color.BLACK)); - color.recycle(); - } + TypedArray color = getActivity().getTheme().obtainStyledAttributes(new int[] { android.R.attr.statusBarColor }); + WindowUtil.setStatusBarColor(getActivity().getWindow(), color.getColor(0, Color.BLACK)); + color.recycle(); if (Build.VERSION.SDK_INT >= 23) { TypedArray lightStatusBarAttr = getActivity().getTheme().obtainStyledAttributes(new int[] { android.R.attr.windowLightStatusBar }); @@ -1363,9 +1361,9 @@ private void updateMultiSelectState() { } if (isArchived()) { - items.add(new ActionItem(R.drawable.ic_unarchive_24, getResources().getQuantityString(R.plurals.ConversationListFragment_unarchive_plural, count), () -> handleArchive(selectionIds, true))); + items.add(new ActionItem(R.drawable.symbol_archive_android_up_24, getResources().getQuantityString(R.plurals.ConversationListFragment_unarchive_plural, count), () -> handleArchive(selectionIds, true))); } else { - items.add(new ActionItem(R.drawable.ic_archive_24, getResources().getQuantityString(R.plurals.ConversationListFragment_archive_plural, count), () -> handleArchive(selectionIds, true))); + items.add(new ActionItem(R.drawable.symbol_archive_android_24, getResources().getQuantityString(R.plurals.ConversationListFragment_archive_plural, count), () -> handleArchive(selectionIds, true))); } items.add(new ActionItem(R.drawable.ic_delete_24, getResources().getQuantityString(R.plurals.ConversationListFragment_delete_plural, count), () -> handleDelete(selectionIds))); @@ -1394,7 +1392,7 @@ protected Toolbar getToolbar(@NonNull View rootView) { } protected @DrawableRes int getArchiveIconRes() { - return R.drawable.ic_archive_24; + return R.drawable.symbol_archive_android_24; } @WorkerThread diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/chatfilter/ConversationListFilterPullView.kt b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/chatfilter/ConversationListFilterPullView.kt index f8675128ac..55c93bb04b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/chatfilter/ConversationListFilterPullView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/chatfilter/ConversationListFilterPullView.kt @@ -202,7 +202,7 @@ class ConversationListFilterPullView @JvmOverloads constructor( animateHelpText = 0 helpTextStartFraction = ANIMATE_HELP_TEXT_START_FRACTION binding.helpText.animate().alpha(0f).setListener(object : AnimationCompleteListener() { - override fun onAnimationEnd(animation: Animator?) { + override fun onAnimationEnd(animation: Animator) { binding.helpText.visibility = INVISIBLE } }) diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/MessageTable.java b/app/src/main/java/org/thoughtcrime/securesms/database/MessageTable.java index 8722c321c4..a76305187c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/MessageTable.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/MessageTable.java @@ -335,7 +335,11 @@ public static class Status { private static final String RAW_ID_WHERE = TABLE_NAME + "._id = ?"; private static final String SNIPPET_QUERY = "SELECT " + MessageTable.ID + ", " + MessageTable.TYPE + ", " + MessageTable.DATE_RECEIVED + " FROM " + MessageTable.TABLE_NAME + " " + - "WHERE " + MessageTable.THREAD_ID + " = ? AND " + MessageTable.TYPE + " & " + MessageTypes.GROUP_V2_LEAVE_BITS + " != " + MessageTypes.GROUP_V2_LEAVE_BITS + " AND " + MessageTable.STORY_TYPE + " = 0 AND " + MessageTable.PARENT_STORY_ID + " <= 0 " + + "WHERE " + MessageTable.THREAD_ID + " = ? AND " + + MessageTable.TYPE + " & " + MessageTypes.GROUP_V2_LEAVE_BITS + " != " + MessageTypes.GROUP_V2_LEAVE_BITS + " AND " + + MessageTable.STORY_TYPE + " = 0 AND " + + MessageTable.PARENT_STORY_ID + " <= 0 AND " + + MessageTable.TYPE + " NOT IN (" + MessageTypes.PROFILE_CHANGE_TYPE + ", " + MessageTypes.GV1_MIGRATION_TYPE + ", " + MessageTypes.CHANGE_NUMBER_TYPE + ", " + MessageTypes.BOOST_REQUEST_TYPE + ", " + MessageTypes.SMS_EXPORT_TYPE + ") " + "ORDER BY " + MessageTable.DATE_RECEIVED + " DESC " + "LIMIT 1"; @@ -941,7 +945,7 @@ public Optional insertMessageInbox(IncomingTextMessage message, lo } if (!silent) { - final boolean keepThreadArchived = SignalStore.settings().shouldKeepMutedChatsArchived() && recipient.isMuted(); + final boolean keepThreadArchived = SignalStore.settings().shouldKeepMutedChatsArchived() && (recipient.isMuted() || (groupRecipient != null && groupRecipient.isMuted())); SignalDatabase.threads().update(threadId, !keepThreadArchived); } diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/RecipientTable.kt b/app/src/main/java/org/thoughtcrime/securesms/database/RecipientTable.kt index 5dc3f87040..ad07ff2967 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/RecipientTable.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/RecipientTable.kt @@ -3277,7 +3277,7 @@ open class RecipientTable(context: Context, databaseHelper: SignalDatabase) : Da } fun markPreMessageRequestRecipientsAsProfileSharingEnabled(messageRequestEnableTime: Long) { - val whereArgs = SqlUtil.buildArgs(messageRequestEnableTime, messageRequestEnableTime) + val whereArgs = SqlUtil.buildArgs(messageRequestEnableTime) val select = """ SELECT r.$ID FROM $TABLE_NAME AS r diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/StorySendTable.kt b/app/src/main/java/org/thoughtcrime/securesms/database/StorySendTable.kt index fd2ae0a267..5138513344 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/StorySendTable.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/StorySendTable.kt @@ -191,6 +191,24 @@ class StorySendTable(context: Context, databaseHelper: SignalDatabase) : Databas return messageIds } + fun getStoryMessageFor(recipientId: RecipientId, timestamp: Long): MessageId? { + readableDatabase.query( + TABLE_NAME, + arrayOf(MESSAGE_ID), + "$RECIPIENT_ID = ? AND $SENT_TIMESTAMP = ?", + SqlUtil.buildArgs(recipientId, timestamp), + null, + null, + null, + "1" + ).use { cursor -> + if (cursor.moveToFirst()) { + return MessageId(cursor.requireLong(MESSAGE_ID)) + } + } + return null + } + override fun remapRecipient(oldId: RecipientId, newId: RecipientId) { val query = "$RECIPIENT_ID = ?" val args = SqlUtil.buildArgs(oldId) diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/ThreadTable.kt b/app/src/main/java/org/thoughtcrime/securesms/database/ThreadTable.kt index c156f13e2b..1a0fc83a7e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/ThreadTable.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/ThreadTable.kt @@ -1646,7 +1646,8 @@ class ThreadTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTa private fun ConversationFilter.toQuery(): String { return when (this) { ConversationFilter.OFF -> "" - ConversationFilter.UNREAD -> " AND $READ != ${ReadStatus.READ.serialize()}" + //language=sql + ConversationFilter.UNREAD -> " AND ($UNREAD_COUNT > 0 OR $READ == ${ReadStatus.FORCED_UNREAD.serialize()})" ConversationFilter.MUTED -> error("This filter selection isn't supported yet.") ConversationFilter.GROUPS -> error("This filter selection isn't supported yet.") } diff --git a/app/src/main/java/org/thoughtcrime/securesms/fonts/TypefaceHelper.kt b/app/src/main/java/org/thoughtcrime/securesms/fonts/TypefaceHelper.kt index ec5534bbfa..aeabaf5eb3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/fonts/TypefaceHelper.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/fonts/TypefaceHelper.kt @@ -14,8 +14,7 @@ object TypefaceHelper { weight.value, false ) - true -> Typeface.create("${family.familyName}-$weightName", Typeface.NORMAL) - else -> Typeface.create(family.familyName, if (weight.value > Weight.MEDIUM.value) Typeface.BOLD else Typeface.NORMAL) + else -> Typeface.create("${family.familyName}-$weightName", Typeface.NORMAL) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/details/AddGroupDetailsFragment.java b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/details/AddGroupDetailsFragment.java index 7a61133fb5..4a82bfcd8e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/details/AddGroupDetailsFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/details/AddGroupDetailsFragment.java @@ -128,7 +128,7 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat viewModel.getIsMms().observe(getViewLifecycleOwner(), isMms -> { disappearingMessagesRow.setVisibility(isMms ? View.GONE : View.VISIBLE); mmsWarning.setVisibility(isMms ? View.VISIBLE : View.GONE); - mmsWarningText.setText(R.string.AddGroupDetailsFragment__youve_selected_a_contact_that_doesnt_support); + mmsWarningText.setText(R.string.AddGroupDetailsFragment__youve_selected_a_contact_that_doesnt_support_signal_groups_mms_removal); name.setHint(isMms ? R.string.AddGroupDetailsFragment__group_name_optional : R.string.AddGroupDetailsFragment__group_name_required); toolbar.setTitle(isMms ? R.string.AddGroupDetailsFragment__create_group : R.string.AddGroupDetailsFragment__name_this_group); }); diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/KeyboardPageSearchView.kt b/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/KeyboardPageSearchView.kt index 0e3b175e70..e9e89c2bac 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/KeyboardPageSearchView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/KeyboardPageSearchView.kt @@ -155,7 +155,7 @@ class KeyboardPageSearchView @JvmOverloads constructor( .setDuration(REVEAL_DURATION) .alpha(0f) .setListener(object : AnimationCompleteListener() { - override fun onAnimationEnd(animation: Animator?) { + override fun onAnimationEnd(animation: Animator) { visibility = INVISIBLE } }) diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyvalue/KbsValues.java b/app/src/main/java/org/thoughtcrime/securesms/keyvalue/KbsValues.java index 8c867c3a36..dc54a90ce5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyvalue/KbsValues.java +++ b/app/src/main/java/org/thoughtcrime/securesms/keyvalue/KbsValues.java @@ -3,6 +3,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import org.signal.core.util.StringStringSerializer; import org.thoughtcrime.securesms.lock.PinHashing; import org.thoughtcrime.securesms.util.JsonUtils; import org.whispersystems.signalservice.api.KbsPinData; @@ -13,6 +14,8 @@ import java.security.SecureRandom; import java.util.Collections; import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; public final class KbsValues extends SignalStoreValues { @@ -24,6 +27,7 @@ public final class KbsValues extends SignalStoreValues { private static final String LAST_CREATE_FAILED_TIMESTAMP = "kbs.last_create_failed_timestamp"; public static final String OPTED_OUT = "kbs.opted_out"; private static final String PIN_FORGOTTEN_OR_SKIPPED = "kbs.pin.forgotten.or.skipped"; + private static final String KBS_AUTH_TOKENS = "kbs.kbs_auth_tokens"; KbsValues(KeyValueStore store) { super(store); @@ -165,6 +169,30 @@ public synchronized void setPinForgottenOrSkipped(boolean value) { putBoolean(PIN_FORGOTTEN_OR_SKIPPED, value); } + public synchronized void putAuthTokenList(List tokens) { + putList(KBS_AUTH_TOKENS, tokens, StringStringSerializer.INSTANCE); + } + + public synchronized List getKbsAuthTokenList() { + return getList(KBS_AUTH_TOKENS, StringStringSerializer.INSTANCE); + } + + /** + * Keeps the 10 most recent KBS auth tokens. + * @param token + * @return whether the token was added (new) or ignored (already existed) + */ + public synchronized boolean appendAuthTokenToList(String token) { + List tokens = getKbsAuthTokenList(); + if (tokens.contains(token)) { + return false; + } else { + final List result = Stream.concat(Stream.of(token), tokens.stream()).limit(10).collect(Collectors.toList()); + putAuthTokenList(result); + return true; + } + } + /** Should only be called by {@link org.thoughtcrime.securesms.pin.PinState}. */ public synchronized void optOut() { getStore().beginWrite() diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewPlayerControlView.kt b/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewPlayerControlView.kt index 60ee576a31..0a1b638014 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewPlayerControlView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewPlayerControlView.kt @@ -4,7 +4,6 @@ import android.animation.Animator import android.animation.Animator.AnimatorListener import android.annotation.SuppressLint import android.content.Context -import android.os.Build import android.util.AttributeSet import android.view.MotionEvent import android.view.animation.PathInterpolator @@ -103,14 +102,14 @@ class LottieAnimatedButton @JvmOverloads constructor( MotionEvent.ACTION_UP -> { if (isAnimating) { addAnimatorListener(object : AnimatorListener { - override fun onAnimationEnd(animation: Animator?) { + override fun onAnimationEnd(animation: Animator) { removeAllAnimatorListeners() playAnimationReverse() } - override fun onAnimationStart(animation: Animator?) {} - override fun onAnimationCancel(animation: Animator?) {} - override fun onAnimationRepeat(animation: Animator?) {} + override fun onAnimationStart(animation: Animator) {} + override fun onAnimationCancel(animation: Animator) {} + override fun onAnimationRepeat(animation: Animator) {} }) } else { playAnimationReverse() @@ -162,9 +161,7 @@ class AnimatedInOutImageButton @JvmOverloads constructor( .scaleX(1f) .scaleY(1f) - if (Build.VERSION.SDK_INT >= 21) { - animator.interpolator = PathInterpolator(0.4f, 0.0f, 0.2f, 1f) - } + animator.interpolator = PathInterpolator(0.4f, 0.0f, 0.2f, 1f) animator.start() } @@ -178,9 +175,7 @@ class AnimatedInOutImageButton @JvmOverloads constructor( .scaleY(0.5f) .withEndAction(endAction) - if (Build.VERSION.SDK_INT >= 21) { - animator.interpolator = PathInterpolator(0.4f, 0.0f, 0.2f, 1f) - } + animator.interpolator = PathInterpolator(0.4f, 0.0f, 0.2f, 1f) animator.start() } diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Activity.kt b/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Activity.kt index 27f168cf27..03aef514c8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Activity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Activity.kt @@ -1,7 +1,6 @@ package org.thoughtcrime.securesms.mediapreview import android.content.Context -import android.os.Build import android.os.Bundle import androidx.appcompat.app.AppCompatDelegate import androidx.core.content.ContextCompat @@ -26,11 +25,10 @@ class MediaPreviewV2Activity : PassphraseRequiredActivity(), VoiceNoteMediaContr setContentView(R.layout.activity_mediapreview_v2) voiceNoteMediaController = VoiceNoteMediaController(this) - if (Build.VERSION.SDK_INT >= 21) { - val systemBarColor = ContextCompat.getColor(this, R.color.signal_dark_colorSurface) - window.statusBarColor = systemBarColor - window.navigationBarColor = systemBarColor - } + val systemBarColor = ContextCompat.getColor(this, R.color.signal_dark_colorSurface) + window.statusBarColor = systemBarColor + window.navigationBarColor = systemBarColor + if (savedInstanceState == null) { val bundle = Bundle() val args = MediaIntentFactory.requireArguments(intent.extras!!) diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Fragment.kt b/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Fragment.kt index 4f55a37081..cbeb94034d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Fragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Fragment.kt @@ -8,7 +8,6 @@ import android.content.DialogInterface import android.content.Intent import android.graphics.PorterDuff import android.graphics.PorterDuffColorFilter -import android.os.Build import android.os.Bundle import android.text.SpannableStringBuilder import android.view.LayoutInflater @@ -153,7 +152,6 @@ class MediaPreviewV2Fragment : LoggingFragment(R.layout.fragment_media_preview_v super.onPageSelected(position) if (position != viewModel.currentPosition) { debouncer.clear() - fullscreenHelper.showSystemUI() } viewModel.setCurrentPage(position) } @@ -244,7 +242,6 @@ class MediaPreviewV2Fragment : LoggingFragment(R.layout.fragment_media_preview_v } bindAlbumRail(albumThumbnailMedia, currentItem) - fullscreenHelper.showSystemUI() crossfadeViewIn(binding.mediaPreviewDetailsContainer) } @@ -351,9 +348,7 @@ class MediaPreviewV2Fragment : LoggingFragment(R.layout.fragment_media_preview_v scrollAlbumRailToCurrentAdapterPosition() } } - if (Build.VERSION.SDK_INT >= 21) { - viewPropertyAnimator.interpolator = PathInterpolator(0.17f, 0.17f, 0f, 1f) - } + viewPropertyAnimator.interpolator = PathInterpolator(0.17f, 0.17f, 0f, 1f) viewPropertyAnimator.start() true } else { @@ -452,7 +447,6 @@ class MediaPreviewV2Fragment : LoggingFragment(R.layout.fragment_media_preview_v if (pagerAdapter.getFragmentTag(viewModel.currentPosition) == tag) { debouncer.clear() - fullscreenHelper.showSystemUI() } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/Camera1Fragment.java b/app/src/main/java/org/thoughtcrime/securesms/mediasend/Camera1Fragment.java index ec8ba88905..7345fe279a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/Camera1Fragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/Camera1Fragment.java @@ -45,6 +45,7 @@ import org.thoughtcrime.securesms.LoggingFragment; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.animation.AnimationCompleteListener; +import org.thoughtcrime.securesms.mediasend.camerax.CameraXModelBlocklist; import org.thoughtcrime.securesms.mediasend.v2.MediaAnimations; import org.thoughtcrime.securesms.mediasend.v2.MediaCountIndicatorButton; import org.thoughtcrime.securesms.mms.DecryptableStreamUriLoader.DecryptableUri; @@ -59,7 +60,7 @@ import io.reactivex.rxjava3.disposables.Disposable; /** - * Camera capture implemented with the legacy camera API's. Should only be used if sdk < 21. + * Camera capture implemented with the legacy camera API's. Should only be used if a device is on the {@link CameraXModelBlocklist}. */ public class Camera1Fragment extends LoggingFragment implements CameraFragment, TextureView.SurfaceTextureListener, diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraXFragment.java b/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraXFragment.java index e9ddd9c204..448846b3a1 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraXFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraXFragment.java @@ -73,7 +73,6 @@ * preferred whenever possible. */ @ExperimentalVideo -@RequiresApi(21) public class CameraXFragment extends LoggingFragment implements CameraFragment { private static final String TAG = Log.tag(CameraXFragment.class); diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraXSelfieFlashHelper.java b/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraXSelfieFlashHelper.java index b9f2d3f8d6..b299d45792 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraXSelfieFlashHelper.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraXSelfieFlashHelper.java @@ -5,12 +5,10 @@ import android.view.WindowManager; import androidx.annotation.NonNull; -import androidx.annotation.RequiresApi; import androidx.camera.core.CameraSelector; import androidx.camera.core.ImageCapture; import androidx.camera.view.CameraController; -@RequiresApi(21) final class CameraXSelfieFlashHelper { private static final float MAX_SCREEN_BRIGHTNESS = 1f; diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/camerax/CameraXFlashToggleView.java b/app/src/main/java/org/thoughtcrime/securesms/mediasend/camerax/CameraXFlashToggleView.java index aff3d2d0e7..e1aeb43f86 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/camerax/CameraXFlashToggleView.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/camerax/CameraXFlashToggleView.java @@ -15,7 +15,6 @@ import java.util.Arrays; import java.util.List; -@RequiresApi(21) public final class CameraXFlashToggleView extends AppCompatImageView { private static final String STATE_FLASH_INDEX = "flash.toggle.state.flash.index"; diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/camerax/CameraXModePolicy.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/camerax/CameraXModePolicy.kt index a4bc5d808b..2cac197218 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/camerax/CameraXModePolicy.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/camerax/CameraXModePolicy.kt @@ -2,7 +2,6 @@ package org.thoughtcrime.securesms.mediasend.camerax import android.content.Context import android.os.Build -import androidx.annotation.RequiresApi import androidx.camera.view.CameraController import androidx.camera.view.video.ExperimentalVideo import org.signal.core.util.asListContains @@ -13,7 +12,6 @@ import org.thoughtcrime.securesms.video.VideoUtil /** * Describes device capabilities */ -@RequiresApi(21) @ExperimentalVideo sealed class CameraXModePolicy { diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/camerax/CameraXUtil.java b/app/src/main/java/org/thoughtcrime/securesms/mediasend/camerax/CameraXUtil.java index a0abdab23e..c0657b6c9c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/camerax/CameraXUtil.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/camerax/CameraXUtil.java @@ -41,7 +41,6 @@ public class CameraXUtil { private static final String TAG = Log.tag(CameraXUtil.class); - @RequiresApi(21) private static final int[] CAMERA_HARDWARE_LEVEL_ORDERING = new int[]{CameraMetadata.INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY, CameraMetadata.INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED, CameraMetadata.INFO_SUPPORTED_HARDWARE_LEVEL_FULL}; @@ -60,7 +59,6 @@ public class CameraXUtil { CameraMetadata.INFO_SUPPORTED_HARDWARE_LEVEL_3}; @SuppressWarnings("SuspiciousNameCombination") - @RequiresApi(21) public static ImageResult toJpeg(@NonNull ImageProxy image, boolean flip) throws IOException { ImageProxy.PlaneProxy[] planes = image.getPlanes(); ByteBuffer buffer = planes[0].getBuffer(); @@ -106,10 +104,9 @@ public static ImageResult toJpeg(@NonNull ImageProxy image, boolean flip) throws } public static boolean isSupported() { - return Build.VERSION.SDK_INT >= 21 && !CameraXModelBlocklist.isBlocklisted(); + return !CameraXModelBlocklist.isBlocklisted(); } - @RequiresApi(21) public static int toCameraDirectionInt(CameraSelector cameraSelector) { if (cameraSelector == CameraSelector.DEFAULT_FRONT_CAMERA) { return Camera.CameraInfo.CAMERA_FACING_FRONT; @@ -118,7 +115,6 @@ public static int toCameraDirectionInt(CameraSelector cameraSelector) { } } - @RequiresApi(21) public static CameraSelector toCameraSelector(@CameraSelector.LensFacing int cameraDirectionInt) { if (cameraDirectionInt == Camera.CameraInfo.CAMERA_FACING_FRONT) { return CameraSelector.DEFAULT_FRONT_CAMERA; @@ -127,7 +123,6 @@ public static CameraSelector toCameraSelector(@CameraSelector.LensFacing int cam } } - @RequiresApi(21) public static @ImageCapture.CaptureMode int getOptimalCaptureMode() { return FastCameraModels.contains(Build.MODEL) ? ImageCapture.CAPTURE_MODE_MAXIMIZE_QUALITY : ImageCapture.CAPTURE_MODE_MINIMIZE_LATENCY; @@ -138,7 +133,6 @@ public static int getIdealResolution(int displayWidth, int displayHeight) { return Math.max(maxDisplay, 1920); } - @TargetApi(21) public static @NonNull Size buildResolutionForRatio(int longDimension, @NonNull Rational ratio, boolean isPortrait) { int shortDimension = longDimension * ratio.getDenominator() / ratio.getNumerator(); @@ -187,7 +181,6 @@ private static byte[] transformByteArray(@NonNull byte[] data, @Nullable Rect cr return transformedData; } - @RequiresApi(21) private static boolean shouldCropImage(@NonNull ImageProxy image) { Size sourceSize = new Size(image.getWidth(), image.getHeight()); Size targetSize = new Size(image.getCropRect().width(), image.getCropRect().height()); @@ -205,12 +198,10 @@ private static byte[] toJpegBytes(@NonNull Bitmap bitmap) throws IOException { return out.toByteArray(); } - @RequiresApi(21) public static boolean isMixedModeSupported(@NonNull Context context) { return getLowestSupportedHardwareLevel(context) != CameraMetadata.INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY; } - @RequiresApi(21) public static int getLowestSupportedHardwareLevel(@NonNull Context context) { @SuppressLint("RestrictedApi") CameraManager cameraManager = CameraManagerCompat.from(context).unwrap(); @@ -241,13 +232,11 @@ public static int getLowestSupportedHardwareLevel(@NonNull Context context) { } } - @RequiresApi(21) private static int maxHardwareLevel() { if (Build.VERSION.SDK_INT >= 24) return CameraMetadata.INFO_SUPPORTED_HARDWARE_LEVEL_3; else return CameraMetadata.INFO_SUPPORTED_HARDWARE_LEVEL_FULL; } - @RequiresApi(21) private static int smallerHardwareLevel(int levelA, int levelB) { int[] hardwareInfoOrdering = getHardwareInfoOrdering(); @@ -258,7 +247,6 @@ private static int smallerHardwareLevel(int levelA, int levelB) { return CameraMetadata.INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY; } - @RequiresApi(21) private static int[] getHardwareInfoOrdering() { if (Build.VERSION.SDK_INT >= 28) return CAMERA_HARDWARE_LEVEL_ORDERING_28; else if (Build.VERSION.SDK_INT >= 24) return CAMERA_HARDWARE_LEVEL_ORDERING_24; diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionDestination.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionDestination.kt index b9e730ec9b..414603ceca 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionDestination.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionDestination.kt @@ -29,7 +29,7 @@ sealed class MediaSelectionDestination { } class SingleRecipient(private val id: RecipientId) : MediaSelectionDestination() { - override fun getRecipientSearchKey(): ContactSearchKey.RecipientSearchKey = ContactSearchKey.RecipientSearchKey.KnownRecipient(id) + override fun getRecipientSearchKey(): ContactSearchKey.RecipientSearchKey = ContactSearchKey.RecipientSearchKey(id, false) override fun toBundle(): Bundle { return Bundle().apply { @@ -39,7 +39,7 @@ sealed class MediaSelectionDestination { } class SingleStory(private val id: RecipientId) : MediaSelectionDestination() { - override fun getRecipientSearchKey(): ContactSearchKey.RecipientSearchKey = ContactSearchKey.RecipientSearchKey.Story(id) + override fun getRecipientSearchKey(): ContactSearchKey.RecipientSearchKey = ContactSearchKey.RecipientSearchKey(id, true) override fun toBundle(): Bundle { return Bundle().apply { @@ -51,8 +51,8 @@ sealed class MediaSelectionDestination { class MultipleRecipients(val recipientSearchKeys: List) : MediaSelectionDestination() { companion object { - fun fromParcel(parcelables: List): MultipleRecipients { - return MultipleRecipients(parcelables.map { it.asRecipientSearchKey() }.filterIsInstance(ContactSearchKey.RecipientSearchKey::class.java)) + fun fromParcel(parcelables: List): MultipleRecipients { + return MultipleRecipients(parcelables) } } @@ -68,7 +68,7 @@ sealed class MediaSelectionDestination { override fun toBundle(): Bundle { return Bundle().apply { - putParcelableArrayList(RECIPIENT_LIST, ArrayList(recipientSearchKeys.map { it.requireParcelable() })) + putParcelableArrayList(RECIPIENT_LIST, ArrayList(recipientSearchKeys.map { it.requireRecipientSearchKey() })) } } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/gallery/MediaSelectionGalleryFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/gallery/MediaSelectionGalleryFragment.kt index caf86a82cb..202dd104f4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/gallery/MediaSelectionGalleryFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/gallery/MediaSelectionGalleryFragment.kt @@ -37,7 +37,14 @@ class MediaSelectionGalleryFragment : Fragment(R.layout.fragment_container), Med ) override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - val isFirst = arguments?.getBoolean("suppressEmptyError") ?: arguments?.getBoolean("first") ?: false + val args = arguments + val isFirst = when { + args == null -> false + args.containsKey("suppressEmptyError") -> args.getBoolean("suppressEmptyError") + args.containsKey("first") -> args.getBoolean("first") + else -> false + } + sharedViewModel.setSuppressEmptyError(isFirst) mediaGalleryFragment = ensureMediaGalleryFragment() diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/stories/ChooseGroupStoryBottomSheet.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/stories/ChooseGroupStoryBottomSheet.kt index 04645b4824..1bc40033ed 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/stories/ChooseGroupStoryBottomSheet.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/stories/ChooseGroupStoryBottomSheet.kt @@ -86,7 +86,7 @@ class ChooseGroupStoryBottomSheet : FixedRoundedCornerBottomSheetDialogFragment( mediator.getSelectionState().observe(viewLifecycleOwner) { state -> adapter.submitList( - state.filterIsInstance(ContactSearchKey.RecipientSearchKey.KnownRecipient::class.java) + state.filterIsInstance(ContactSearchKey.RecipientSearchKey::class.java) .map { it.recipientId } .mapIndexed { index, recipientId -> ShareSelectionMappingModel( @@ -146,7 +146,7 @@ class ChooseGroupStoryBottomSheet : FixedRoundedCornerBottomSheetDialogFragment( RESULT_SET, ArrayList( mediator.getSelectedContacts() - .filterIsInstance(ContactSearchKey.RecipientSearchKey.KnownRecipient::class.java) + .filterIsInstance(ContactSearchKey.RecipientSearchKey::class.java) .map { it.recipientId } ) ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/stories/ChooseStoryTypeBottomSheet.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/stories/ChooseStoryTypeBottomSheet.kt index 79a273becf..cd6e360eef 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/stories/ChooseStoryTypeBottomSheet.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/stories/ChooseStoryTypeBottomSheet.kt @@ -37,7 +37,7 @@ class ChooseStoryTypeBottomSheet : DSLSettingsBottomSheetFragment( stringId = R.string.ChooseStoryTypeBottomSheet__visible_only_to ), icon = DSLSettingsIcon.from( - iconId = R.drawable.ic_stories_24, + iconId = R.drawable.symbol_stories_24, iconTintId = R.color.signal_colorOnSurface, backgroundId = R.drawable.circle_tintable, backgroundTint = R.color.signal_colorSurface5, diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostCreationFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostCreationFragment.kt index 6e4dac8deb..51c7f19a91 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostCreationFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostCreationFragment.kt @@ -251,7 +251,7 @@ class TextStoryPostCreationFragment : Fragment(R.layout.stories_text_post_creati return if (linkPreviewState.linkPreview.isPresent) { linkPreviewState.linkPreview.get() } else if (!linkPreviewState.activeUrlForError.isNullOrEmpty()) { - LinkPreview(linkPreviewState.activeUrlForError!!, "", "", 0L, Optional.empty()) + LinkPreview(linkPreviewState.activeUrlForError!!, linkPreviewState.activeUrlForError!!, "", 0L, Optional.empty()) } else { null } diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/send/TextStoryPostSendRepository.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/send/TextStoryPostSendRepository.kt index 436dbe9548..d8b8265ec6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/send/TextStoryPostSendRepository.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/send/TextStoryPostSendRepository.kt @@ -64,7 +64,7 @@ class TextStoryPostSendRepository { for (contact in contactSearchKey) { val recipient = Recipient.resolved(contact.requireShareContact().recipientId.get()) - val isStory = contact is ContactSearchKey.RecipientSearchKey.Story || recipient.isDistributionList + val isStory = contact.requireRecipientSearchKey().isStory || recipient.isDistributionList if (isStory && !recipient.isMyStory) { SignalStore.storyValues().setLatestStorySend(StorySend.newSend(recipient)) diff --git a/app/src/main/java/org/thoughtcrime/securesms/messages/MessageContentProcessor.java b/app/src/main/java/org/thoughtcrime/securesms/messages/MessageContentProcessor.java index c80b1f1e9b..a96214336c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/messages/MessageContentProcessor.java +++ b/app/src/main/java/org/thoughtcrime/securesms/messages/MessageContentProcessor.java @@ -35,6 +35,7 @@ import org.thoughtcrime.securesms.database.AttachmentTable; import org.thoughtcrime.securesms.database.CallTable; import org.thoughtcrime.securesms.database.GroupTable; +import org.thoughtcrime.securesms.database.StorySendTable; import org.thoughtcrime.securesms.database.model.GroupRecord; import org.thoughtcrime.securesms.database.GroupReceiptTable; import org.thoughtcrime.securesms.database.GroupReceiptTable.GroupReceiptInfo; @@ -1750,12 +1751,20 @@ private void handleStoryMessage(@NonNull SignalServiceContent content, @NonNull try { RecipientId storyAuthorRecipient = RecipientId.from(storyContext.getAuthorServiceId()); + RecipientId selfId = Recipient.self().getId(); ParentStoryId parentStoryId; QuoteModel quoteModel = null; long expiresInMillis = 0L; + MessageId storyMessageId = null; try { - MessageId storyMessageId = database.getStoryId(storyAuthorRecipient, storyContext.getSentTimestamp()); + if (selfId.equals(storyAuthorRecipient)) { + storyMessageId = SignalDatabase.storySends().getStoryMessageFor(senderRecipient.getId(), storyContext.getSentTimestamp()); + } + if (storyMessageId == null) { + storyMessageId = database.getStoryId(storyAuthorRecipient, storyContext.getSentTimestamp()); + } + MmsMessageRecord story = (MmsMessageRecord) database.getMessageRecord(storyMessageId.getId()); Recipient threadRecipient = Objects.requireNonNull(SignalDatabase.threads().getRecipientForThreadId(story.getThreadId())); boolean groupStory = threadRecipient.isActiveGroup(); @@ -1942,10 +1951,17 @@ private void handleStoryMessage(@NonNull SignalServiceContent content, @NonNull } private long handleSynchronizeSentExpirationUpdate(@NonNull SentTranscriptMessage message) - throws MmsException, BadGroupIdException + throws MmsException { log(message.getTimestamp(), "Synchronize sent expiration update."); + Optional groupId = getSyncMessageDestination(message).getGroupId(); + + if (groupId.isPresent() && groupId.get().isV2()) { + warn(String.valueOf(message.getTimestamp()), "Expiration update received for GV2. Ignoring."); + return -1; + } + MessageTable database = SignalDatabase.messages(); Recipient recipient = getSyncMessageDestination(message); @@ -1974,9 +1990,9 @@ private long handleSynchronizeSentStoryReply(@NonNull SentTranscriptMessage mess try { Optional reaction = message.getDataMessage().get().getReaction(); ParentStoryId parentStoryId; - SignalServiceDataMessage.StoryContext storyContext = message.getDataMessage().get().getStoryContext().get(); - MessageTable database = SignalDatabase.messages(); - Recipient recipient = getSyncMessageDestination(message); + SignalServiceDataMessage.StoryContext storyContext = message.getDataMessage().get().getStoryContext().get(); + MessageTable database = SignalDatabase.messages(); + Recipient recipient = getSyncMessageDestination(message); QuoteModel quoteModel = null; long expiresInMillis = 0L; RecipientId storyAuthorRecipient = RecipientId.from(storyContext.getAuthorServiceId()); @@ -2206,8 +2222,8 @@ private long handleSynchronizeSentMediaMessage(@NonNull SentTranscriptMessage me { log(envelopeTimestamp, "Synchronize sent media message for " + message.getTimestamp()); - MessageTable database = SignalDatabase.messages(); - Recipient recipients = getSyncMessageDestination(message); + MessageTable database = SignalDatabase.messages(); + Recipient recipients = getSyncMessageDestination(message); Optional quote = getValidatedQuote(message.getDataMessage().get().getQuote()); Optional sticker = getStickerAttachment(message.getDataMessage().get().getSticker()); Optional> sharedContacts = getContacts(message.getDataMessage().get().getSharedContacts()); @@ -3019,7 +3035,7 @@ private Optional> getLinkPreviews(Optional> getToken(@Nullable String authorizatio try { authorization = authorization == null ? kbs.getAuthorization() : authorization; + backupAuthToken(authorization); token = kbs.getToken(authorization); } catch (NonSuccessfulResponseCodeException e) { if (e.getCode() == 404) { @@ -95,6 +99,13 @@ public Single> getToken(@Nullable String authorizatio return Objects.requireNonNull(firstKnownTokenData); } + private static void backupAuthToken(String token) { + final boolean tokenIsNew = SignalStore.kbsValues().appendAuthTokenToList(token); + if (tokenIsNew) { + new BackupManager(ApplicationDependencies.getApplication()).dataChanged(); + } + } + /** * Invoked during registration to restore the master key based on the server response during * verification. diff --git a/app/src/main/java/org/thoughtcrime/securesms/pin/PinState.java b/app/src/main/java/org/thoughtcrime/securesms/pin/PinState.java index f4a3ee99a2..c056ccff3e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/pin/PinState.java +++ b/app/src/main/java/org/thoughtcrime/securesms/pin/PinState.java @@ -29,6 +29,7 @@ import java.io.IOException; import java.util.Arrays; +import java.util.Collections; import java.util.Locale; import java.util.Optional; import java.util.concurrent.TimeUnit; diff --git a/app/src/main/java/org/thoughtcrime/securesms/profiles/edit/EditProfileFragment.java b/app/src/main/java/org/thoughtcrime/securesms/profiles/edit/EditProfileFragment.java index 02b313a164..07d24452f0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/profiles/edit/EditProfileFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/profiles/edit/EditProfileFragment.java @@ -309,7 +309,7 @@ private void startAvatarSelection() { private void handleUpload() { viewModel.getUploadResult().observe(getViewLifecycleOwner(), uploadResult -> { if (uploadResult == EditProfileRepository.UploadResult.SUCCESS) { - if (Build.VERSION.SDK_INT >= 21 && !viewModel.isGroup()) { + if (!viewModel.isGroup()) { handleFinishedLollipop(); } else { @@ -330,7 +330,6 @@ private void handleFinishedLegacy() { controller.onProfileNameUploadCompleted(); } - @RequiresApi(api = 21) private void handleFinishedLollipop() { int[] finishButtonLocation = new int[2]; int[] revealLocation = new int[2]; diff --git a/app/src/main/java/org/thoughtcrime/securesms/profiles/manage/EditAboutFragment.java b/app/src/main/java/org/thoughtcrime/securesms/profiles/manage/EditAboutFragment.java index d49190ed07..fdb7ab6a2a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/profiles/manage/EditAboutFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/profiles/manage/EditAboutFragment.java @@ -143,7 +143,7 @@ private void onEmojiSelectedInternal(@NonNull String emoji) { this.emojiView.setImageDrawable(drawable); this.selectedEmoji = emoji; } else { - this.emojiView.setImageResource(R.drawable.ic_add_emoji); + this.emojiView.setImageResource(R.drawable.symbol_emoji_plus_24); this.selectedEmoji = ""; } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/profiles/manage/ManageProfileFragment.java b/app/src/main/java/org/thoughtcrime/securesms/profiles/manage/ManageProfileFragment.java index 7c6a1df463..708fee8b0c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/profiles/manage/ManageProfileFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/profiles/manage/ManageProfileFragment.java @@ -230,14 +230,14 @@ private void presentAbout(@Nullable String about) { private void presentAboutEmoji(@NonNull String aboutEmoji) { if (aboutEmoji == null || aboutEmoji.isEmpty()) { - binding.manageProfileAboutIcon.setImageDrawable(ResourcesCompat.getDrawable(getResources(), R.drawable.ic_compose_24, null)); + binding.manageProfileAboutIcon.setImageDrawable(ResourcesCompat.getDrawable(getResources(), R.drawable.symbol_edit_24, null)); } else { Drawable emoji = EmojiUtil.convertToDrawable(requireContext(), aboutEmoji); if (emoji != null) { binding.manageProfileAboutIcon.setImageDrawable(emoji); } else { - binding.manageProfileAboutIcon.setImageDrawable(ResourcesCompat.getDrawable(getResources(), R.drawable.ic_compose_24, null)); + binding.manageProfileAboutIcon.setImageDrawable(ResourcesCompat.getDrawable(getResources(), R.drawable.symbol_edit_24, null)); } } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/recipients/Recipient.java b/app/src/main/java/org/thoughtcrime/securesms/recipients/Recipient.java index 17ae06b4d1..49737b41e2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/recipients/Recipient.java +++ b/app/src/main/java/org/thoughtcrime/securesms/recipients/Recipient.java @@ -1367,7 +1367,7 @@ public static class FallbackPhotoProvider { } public @NonNull FallbackContactPhoto getPhotoForDistributionList() { - return new ResourceContactPhoto(R.drawable.ic_stories_24, R.drawable.ic_stories_24, R.drawable.ic_stories_24); + return new ResourceContactPhoto(R.drawable.symbol_stories_24, R.drawable.symbol_stories_24, R.drawable.symbol_stories_24); } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/RegistrationRepository.java b/app/src/main/java/org/thoughtcrime/securesms/registration/RegistrationRepository.java index 417448222e..eb94a60ae2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/RegistrationRepository.java +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/RegistrationRepository.java @@ -5,6 +5,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.WorkerThread; +import androidx.core.app.NotificationManagerCompat; import org.signal.core.util.logging.Log; import org.signal.libsignal.protocol.state.PreKeyRecord; @@ -25,6 +26,7 @@ import org.thoughtcrime.securesms.jobs.DirectoryRefreshJob; import org.thoughtcrime.securesms.jobs.RotateCertificateJob; import org.thoughtcrime.securesms.keyvalue.SignalStore; +import org.thoughtcrime.securesms.notifications.NotificationIds; import org.thoughtcrime.securesms.pin.PinState; import org.thoughtcrime.securesms.push.AccountManagerFactory; import org.thoughtcrime.securesms.recipients.Recipient; @@ -168,7 +170,7 @@ private void registerAccountInternal(@NonNull RegistrationData registrationData, SignalStore.account().setServicePassword(registrationData.getPassword()); SignalStore.account().setRegistered(true); TextSecurePreferences.setPromptedPushRegistration(context, true); - TextSecurePreferences.setUnauthorizedReceived(context, false); + NotificationManagerCompat.from(context).cancel(NotificationIds.UNREGISTERED_NOTIFICATION_ID); PinState.onRegistration(context, kbsData, pin, hasPin); } diff --git a/app/src/main/java/org/thoughtcrime/securesms/safety/SafetyNumberBottomSheet.kt b/app/src/main/java/org/thoughtcrime/securesms/safety/SafetyNumberBottomSheet.kt index e2ad384e4c..e965937819 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/safety/SafetyNumberBottomSheet.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/safety/SafetyNumberBottomSheet.kt @@ -99,7 +99,7 @@ object SafetyNumberBottomSheet { fun forIdentityRecordsAndDestinations(identityRecords: List, destinations: List): Factory { val args = SafetyNumberBottomSheetArgs( identityRecords.map { it.recipientId }, - destinations.filterIsInstance().map { it.requireParcelable() } + destinations.filterIsInstance().map { it.requireRecipientSearchKey() } ) return SheetFactory(args) @@ -115,7 +115,7 @@ object SafetyNumberBottomSheet { fun forIdentityRecordsAndDestination(identityRecords: List, destination: ContactSearchKey): Factory { val args = SafetyNumberBottomSheetArgs( identityRecords.map { it.recipientId }, - listOf(destination).filterIsInstance().map { it.requireParcelable() } + listOf(destination).filterIsInstance().map { it.requireRecipientSearchKey() } ) return SheetFactory(args) @@ -131,14 +131,14 @@ object SafetyNumberBottomSheet { return args!! } - private fun getDestinationFromRecord(messageRecord: MessageRecord): List { + private fun getDestinationFromRecord(messageRecord: MessageRecord): List { val key = if ((messageRecord as? MmsMessageRecord)?.storyType?.isStory == true) { - ContactSearchKey.RecipientSearchKey.Story(messageRecord.recipient.id) + ContactSearchKey.RecipientSearchKey(messageRecord.recipient.id, true) } else { - ContactSearchKey.RecipientSearchKey.KnownRecipient(messageRecord.recipient.id) + ContactSearchKey.RecipientSearchKey(messageRecord.recipient.id, false) } - return listOf(key.requireParcelable()) + return listOf(key) } /** diff --git a/app/src/main/java/org/thoughtcrime/securesms/safety/SafetyNumberBottomSheetArgs.kt b/app/src/main/java/org/thoughtcrime/securesms/safety/SafetyNumberBottomSheetArgs.kt index 7f7d96b420..e2a578564b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/safety/SafetyNumberBottomSheetArgs.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/safety/SafetyNumberBottomSheetArgs.kt @@ -12,6 +12,6 @@ import org.thoughtcrime.securesms.recipients.RecipientId @Parcelize data class SafetyNumberBottomSheetArgs( val untrustedRecipients: List, - val destinations: List, + val destinations: List, val messageId: MessageId? = null ) : Parcelable diff --git a/app/src/main/java/org/thoughtcrime/securesms/safety/SafetyNumberBottomSheetViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/safety/SafetyNumberBottomSheetViewModel.kt index 2066277fa9..c3ff782e4e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/safety/SafetyNumberBottomSheetViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/safety/SafetyNumberBottomSheetViewModel.kt @@ -25,7 +25,7 @@ class SafetyNumberBottomSheetViewModel( private const val MAX_RECIPIENTS_TO_DISPLAY = 5 } - private val destinationStore = RxStore(args.destinations.map { it.asRecipientSearchKey() }) + private val destinationStore = RxStore(args.destinations) val destinationSnapshot: List get() = destinationStore.state diff --git a/app/src/main/java/org/thoughtcrime/securesms/scribbles/RotationDialView.kt b/app/src/main/java/org/thoughtcrime/securesms/scribbles/RotationDialView.kt index d3be567bb5..3a714e7d7a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/scribbles/RotationDialView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/scribbles/RotationDialView.kt @@ -183,11 +183,11 @@ class RotationDialView @JvmOverloads constructor( } private inner class GestureListener : GestureDetector.SimpleOnGestureListener() { - override fun onDown(e: MotionEvent?): Boolean { + override fun onDown(e: MotionEvent): Boolean { return true } - override fun onScroll(e1: MotionEvent?, e2: MotionEvent?, distanceX: Float, distanceY: Float): Boolean { + override fun onScroll(e1: MotionEvent, e2: MotionEvent, distanceX: Float, distanceY: Float): Boolean { val degreeIncrement: Float = distanceX / dimensions.spaceBetweenAngleIndicators val prevDialDegrees = getDialDegrees(degrees) val newDialDegrees = getDialDegrees(degrees + degreeIncrement) diff --git a/app/src/main/java/org/thoughtcrime/securesms/sharing/MultiShareArgs.java b/app/src/main/java/org/thoughtcrime/securesms/sharing/MultiShareArgs.java index 923dbc5191..8e0f54d49d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/sharing/MultiShareArgs.java +++ b/app/src/main/java/org/thoughtcrime/securesms/sharing/MultiShareArgs.java @@ -24,6 +24,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Collections; +import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.stream.Collectors; @@ -61,11 +62,9 @@ private MultiShareArgs(@NonNull Builder builder) { } protected MultiShareArgs(Parcel in) { - List parcelableRecipientSearchKeys = in.createTypedArrayList(ContactSearchKey.ParcelableRecipientSearchKey.CREATOR); + List parcelableRecipientSearchKeys = in.createTypedArrayList(ContactSearchKey.RecipientSearchKey.CREATOR); - contactSearchKeys = parcelableRecipientSearchKeys.stream() - .map(ContactSearchKey.ParcelableRecipientSearchKey::asRecipientSearchKey) - .collect(Collectors.toSet()); + contactSearchKeys = new HashSet<>(parcelableRecipientSearchKeys); media = in.createTypedArrayList(Media.CREATOR); draftText = in.readString(); stickerLocator = in.readParcelable(StickerLocator.class.getClassLoader()); @@ -197,7 +196,8 @@ public boolean isValidForTextStoryGeneration() { } public boolean allRecipientsAreStories() { - return !contactSearchKeys.isEmpty() && contactSearchKeys.stream().allMatch(key -> key instanceof ContactSearchKey.RecipientSearchKey.Story); + return !contactSearchKeys.isEmpty() && contactSearchKeys.stream() + .allMatch(key -> key.requireRecipientSearchKey().isStory()); } public static final Creator CREATOR = new Creator() { @@ -219,7 +219,7 @@ public int describeContents() { @Override public void writeToParcel(Parcel dest, int flags) { - dest.writeTypedList(Stream.of(contactSearchKeys).map(ContactSearchKey::requireParcelable).toList()); + dest.writeTypedList(Stream.of(contactSearchKeys).map(ContactSearchKey::requireRecipientSearchKey).toList()); dest.writeTypedList(media); dest.writeString(draftText); dest.writeParcelable(stickerLocator, flags); @@ -267,7 +267,7 @@ private boolean requiresInterstitial() { (!media.isEmpty() || !TextUtils.isEmpty(draftText) || MediaUtil.isImageOrVideoType(dataType) || - (!contactSearchKeys.isEmpty() && contactSearchKeys.stream().anyMatch(key -> key instanceof ContactSearchKey.RecipientSearchKey.Story))); + (!contactSearchKeys.isEmpty() && contactSearchKeys.stream().anyMatch(key -> key.requireRecipientSearchKey().isStory()))); } public static final class Builder { diff --git a/app/src/main/java/org/thoughtcrime/securesms/sharing/v2/ShareActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/sharing/v2/ShareActivity.kt index 37d12e6d9b..40125c7f73 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/sharing/v2/ShareActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/sharing/v2/ShareActivity.kt @@ -103,7 +103,7 @@ class ShareActivity : PassphraseRequiredActivity(), MultiselectForwardFragment.C openConversation( ShareEvent.OpenConversation( shareState.loadState.resolvedShareData, - ContactSearchKey.RecipientSearchKey.KnownRecipient(directShareTarget) + ContactSearchKey.RecipientSearchKey(directShareTarget, false) ) ) } else { @@ -134,8 +134,7 @@ class ShareActivity : PassphraseRequiredActivity(), MultiselectForwardFragment.C throw AssertionError("Expected a recipient selection!") } - val parcelizedKeys: List = bundle.getParcelableArrayList(MultiselectForwardFragment.RESULT_SELECTION)!! - val contactSearchKeys = parcelizedKeys.map { it.asRecipientSearchKey() } + val contactSearchKeys: List = bundle.getParcelableArrayList(MultiselectForwardFragment.RESULT_SELECTION)!! viewModel.onContactSelectionConfirmed(contactSearchKeys) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/ScaleTransition.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/ScaleTransition.kt index 0c3082f0c5..e0f8a3113b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/ScaleTransition.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/ScaleTransition.kt @@ -10,7 +10,6 @@ import android.transition.TransitionValues import android.util.AttributeSet import android.view.View import android.view.ViewGroup -import androidx.annotation.RequiresApi import androidx.core.view.ViewCompat class ScaleTransition : Transition { @@ -36,7 +35,6 @@ class ScaleTransition : Transition { constructor() : super() - @RequiresApi(21) constructor(context: Context, attrs: AttributeSet) : super(context, attrs) override fun getTransitionProperties(): Array { @@ -108,7 +106,7 @@ class ScaleTransition : Transition { ofFloat(View.SCALE_Y, 1f) ).apply { addListener(object : AnimatorListenerAdapter() { - override fun onAnimationEnd(animation: Animator?) { + override fun onAnimationEnd(animation: Animator) { resetValues(start.view) resetValues(end.view) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/StoryFirstTimeNavigationView.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/StoryFirstTimeNavigationView.kt index a0fba2c4d6..046c565a51 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/StoryFirstTimeNavigationView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/StoryFirstTimeNavigationView.kt @@ -125,7 +125,7 @@ class StoryFirstTimeNavigationView @JvmOverloads constructor( isPlayingAnimations = true tapToAdvance.addAnimatorListener(object : AnimatorListenerAdapter() { - override fun onAnimationEnd(animation: Animator?) { + override fun onAnimationEnd(animation: Animator) { if (isPlayingAnimations) { swipeUp.playAnimation() } @@ -133,7 +133,7 @@ class StoryFirstTimeNavigationView @JvmOverloads constructor( }) swipeUp.addAnimatorListener(object : AnimatorListenerAdapter() { - override fun onAnimationEnd(animation: Animator?) { + override fun onAnimationEnd(animation: Animator) { if (isPlayingAnimations) { swipeRight.playAnimation() } @@ -141,7 +141,7 @@ class StoryFirstTimeNavigationView @JvmOverloads constructor( }) swipeRight.addAnimatorListener(object : AnimatorListenerAdapter() { - override fun onAnimationEnd(animation: Animator?) { + override fun onAnimationEnd(animation: Animator) { postDelayed({ if (isPlayingAnimations) { startLottieAnimations() diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/dialogs/StoryContextMenu.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/dialogs/StoryContextMenu.kt index e6f401ec15..30d14d7fdf 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/dialogs/StoryContextMenu.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/dialogs/StoryContextMenu.kt @@ -227,7 +227,7 @@ object StoryContextMenu { } ) add( - ActionItem(R.drawable.ic_download_24_tinted, context.getString(R.string.save)) { + ActionItem(R.drawable.ic_save_24_tinted, context.getString(R.string.save)) { callbacks.onSave() } ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/landing/StoriesLandingFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/landing/StoriesLandingFragment.kt index ebc210707f..f8db6bceb9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/landing/StoriesLandingFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/landing/StoriesLandingFragment.kt @@ -142,11 +142,11 @@ class StoriesLandingFragment : DSLSettingsFragment(layoutId = R.layout.stories_l setEnterSharedElementCallback(object : SharedElementCallback() { override fun onSharedElementStart(sharedElementNames: MutableList?, sharedElements: MutableList?, sharedElementSnapshots: MutableList?) { if (sharedElementNames?.contains("camera_fab") == true) { - cameraFab.setImageResource(R.drawable.ic_compose_outline_24) + cameraFab.setImageResource(R.drawable.symbol_edit_24) lifecycleDisposable += Single.timer(200, TimeUnit.MILLISECONDS) .observeOn(AndroidSchedulers.mainThread()) .subscribeBy { - cameraFab.setImageResource(R.drawable.ic_camera_outline_24) + cameraFab.setImageResource(R.drawable.symbol_camera_24) sharedElementTarget.alpha = 0f } } @@ -157,7 +157,7 @@ class StoriesLandingFragment : DSLSettingsFragment(layoutId = R.layout.stories_l Permissions.with(this) .request(Manifest.permission.CAMERA) .ifNecessary() - .withRationaleDialog(getString(R.string.ConversationActivity_to_capture_photos_and_video_allow_signal_access_to_the_camera), R.drawable.ic_camera_24) + .withRationaleDialog(getString(R.string.ConversationActivity_to_capture_photos_and_video_allow_signal_access_to_the_camera), R.drawable.symbol_camera_24) .withPermanentDenialDialog(getString(R.string.ConversationActivity_signal_needs_the_camera_permission_to_take_photos_or_video)) .onAllGranted { startActivityIfAble(MediaSelectionActivity.camera(requireContext(), isStory = true)) diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/AddToGroupStoryDelegate.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/AddToGroupStoryDelegate.kt index 764f999429..0a81ca6ffb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/AddToGroupStoryDelegate.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/AddToGroupStoryDelegate.kt @@ -128,7 +128,7 @@ class AddToGroupStoryDelegate( private fun sendNonPreUploadedMedia(result: MediaSendActivityResult) { Log.d(TAG, "Sending non-preupload media.") - val multiShareArgs = MultiShareArgs.Builder(setOf(ContactSearchKey.RecipientSearchKey.Story(result.recipientId))) + val multiShareArgs = MultiShareArgs.Builder(setOf(ContactSearchKey.RecipientSearchKey(result.recipientId, true))) .withMedia(result.nonUploadedMedia.toList()) .withDraftText(result.body) .withMentions(result.mentions.toList()) diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/StoryViewerViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/StoryViewerViewModel.kt index 686f8be092..0389075d27 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/StoryViewerViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/StoryViewerViewModel.kt @@ -1,6 +1,5 @@ package org.thoughtcrime.securesms.stories.viewer -import android.os.Build import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel @@ -31,7 +30,7 @@ class StoryViewerViewModel( storyViewerArgs.storyThumbUri != null -> StoryViewerState.CrossfadeSource.ImageUri(storyViewerArgs.storyThumbUri, storyViewerArgs.storyThumbBlur) else -> StoryViewerState.CrossfadeSource.None }, - skipCrossfade = storyViewerArgs.isFromNotification || storyViewerArgs.isFromQuote || Build.VERSION.SDK_INT < 21 + skipCrossfade = storyViewerArgs.isFromNotification || storyViewerArgs.isFromQuote ) ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/first/StoryFirstTimeNavigationFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/first/StoryFirstTimeNavigationFragment.kt index 8581159102..c0e4dd1eda 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/first/StoryFirstTimeNavigationFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/first/StoryFirstTimeNavigationFragment.kt @@ -3,7 +3,6 @@ package org.thoughtcrime.securesms.stories.viewer.first import android.app.Dialog import android.graphics.Color import android.graphics.drawable.ColorDrawable -import android.os.Build import android.os.Bundle import android.view.View import android.view.WindowManager @@ -36,14 +35,12 @@ class StoryFirstTimeNavigationFragment : DialogFragment(R.layout.story_viewer_fi val dialog = super.onCreateDialog(savedInstanceState) dialog.window!!.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) - if (Build.VERSION.SDK_INT >= 21) { - dialog.window!!.addFlags( - WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION or - WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS or - WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS or - WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS - ) - } + dialog.window!!.addFlags( + WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION or + WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS or + WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS or + WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS + ) return dialog } diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/page/StoryViewerPageFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/page/StoryViewerPageFragment.kt index e13ce8087c..d00ed05ac8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/page/StoryViewerPageFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/page/StoryViewerPageFragment.kt @@ -1184,7 +1184,7 @@ class StoryViewerPageFragment : scaleFactor = 1f isPerformingEndAnimation = true card.animate().scaleX(1f).scaleY(1f).setListener(object : AnimationCompleteListener() { - override fun onAnimationEnd(animation: Animator?) { + override fun onAnimationEnd(animation: Animator) { isPerformingEndAnimation = false viewModel.setIsUserScaling(false) sharedViewModel.setIsChildScrolling(false) @@ -1255,7 +1255,7 @@ class StoryViewerPageFragment : return true } - override fun onFling(e1: MotionEvent?, e2: MotionEvent?, velocityX: Float, velocityY: Float): Boolean { + override fun onFling(e1: MotionEvent, e2: MotionEvent, velocityX: Float, velocityY: Float): Boolean { val isSideSwipe = abs(velocityX) > abs(velocityY) if (!isSideSwipe) { return false diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/group/StoryGroupReplyFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/group/StoryGroupReplyFragment.kt index 537faaae20..318e6b1431 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/group/StoryGroupReplyFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/group/StoryGroupReplyFragment.kt @@ -387,7 +387,7 @@ class StoryGroupReplyFragment : resendReaction = emoji SafetyNumberBottomSheet - .forIdentityRecordsAndDestination(error.untrustedRecords, ContactSearchKey.RecipientSearchKey.Story(groupRecipientId)) + .forIdentityRecordsAndDestination(error.untrustedRecords, ContactSearchKey.RecipientSearchKey(groupRecipientId, true)) .show(childFragmentManager) } else { Log.w(TAG, "Failed to send reply", error) @@ -536,7 +536,7 @@ class StoryGroupReplyFragment : resendMentions = mentions SafetyNumberBottomSheet - .forIdentityRecordsAndDestination(throwable.untrustedRecords, ContactSearchKey.RecipientSearchKey.Story(groupRecipientId)) + .forIdentityRecordsAndDestination(throwable.untrustedRecords, ContactSearchKey.RecipientSearchKey(groupRecipientId, true)) .show(childFragmentManager) } else { Log.w(TAG, "Failed to send reply", throwable) diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/group/StoryGroupReplySender.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/group/StoryGroupReplySender.kt index 8e9a741dba..e26b0e559a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/group/StoryGroupReplySender.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/group/StoryGroupReplySender.kt @@ -36,7 +36,7 @@ object StoryGroupReplySender { } return messageAndRecipient.flatMapCompletable { (message, recipient) -> - UntrustedRecords.checkForBadIdentityRecords(setOf(ContactSearchKey.RecipientSearchKey.KnownRecipient(recipient.id)), System.currentTimeMillis() - IdentityRecordList.DEFAULT_UNTRUSTED_WINDOW) + UntrustedRecords.checkForBadIdentityRecords(setOf(ContactSearchKey.RecipientSearchKey(recipient.id, false)), System.currentTimeMillis() - IdentityRecordList.DEFAULT_UNTRUSTED_WINDOW) .andThen( Completable.create { MessageSender.send( diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/FeatureFlags.java b/app/src/main/java/org/thoughtcrime/securesms/util/FeatureFlags.java index 5b945151a3..4e4d78b42f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/FeatureFlags.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/FeatureFlags.java @@ -89,13 +89,11 @@ public final class FeatureFlags { private static final String PHONE_NUMBER_PRIVACY = "android.pnp"; private static final String USE_FCM_FOREGROUND_SERVICE = "android.useFcmForegroundService.3"; private static final String STORIES_AUTO_DOWNLOAD_MAXIMUM = "android.stories.autoDownloadMaximum"; - private static final String GIFT_BADGE_SEND_SUPPORT = "android.giftBadges.sending.3"; private static final String TELECOM_MANUFACTURER_ALLOWLIST = "android.calling.telecomAllowList"; private static final String TELECOM_MODEL_BLOCKLIST = "android.calling.telecomModelBlockList"; private static final String CAMERAX_MODEL_BLOCKLIST = "android.cameraXModelBlockList"; private static final String CAMERAX_MIXED_MODEL_BLOCKLIST = "android.cameraXMixedModelBlockList"; private static final String RECIPIENT_MERGE_V2 = "android.recipientMergeV2"; - private static final String SMS_EXPORTER = "android.sms.exporter.2"; private static final String HIDE_CONTACTS = "android.hide.contacts"; public static final String CREDIT_CARD_PAYMENTS = "android.credit.card.payments.3"; private static final String PAYMENTS_REQUEST_ACTIVATE_FLOW = "android.payments.requestActivateFlow"; @@ -105,7 +103,7 @@ public final class FeatureFlags { private static final String CDS_HARD_LIMIT = "android.cds.hardLimit"; private static final String CHAT_FILTERS = "android.chat.filters.3"; private static final String PAYPAL_ONE_TIME_DONATIONS = "android.oneTimePayPalDonations.2"; - private static final String PAYPAL_RECURRING_DONATIONS = "android.recurringPayPalDonations"; + private static final String PAYPAL_RECURRING_DONATIONS = "android.recurringPayPalDonations.2"; /** * We will only store remote values for flags in this set. If you want a flag to be controllable @@ -145,13 +143,11 @@ public final class FeatureFlags { PAYMENTS_COUNTRY_BLOCKLIST, USE_FCM_FOREGROUND_SERVICE, STORIES_AUTO_DOWNLOAD_MAXIMUM, - GIFT_BADGE_SEND_SUPPORT, TELECOM_MANUFACTURER_ALLOWLIST, TELECOM_MODEL_BLOCKLIST, CAMERAX_MODEL_BLOCKLIST, CAMERAX_MIXED_MODEL_BLOCKLIST, RECIPIENT_MERGE_V2, - SMS_EXPORTER, HIDE_CONTACTS, CREDIT_CARD_PAYMENTS, PAYMENTS_REQUEST_ACTIVATE_FLOW, diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/TextSecurePreferences.java b/app/src/main/java/org/thoughtcrime/securesms/util/TextSecurePreferences.java index 7e0a02a1a1..17ef6cf180 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/TextSecurePreferences.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/TextSecurePreferences.java @@ -558,8 +558,6 @@ public static void setUnauthorizedReceived(Context context, boolean value) { if (value) { clearLocalCredentials(context); - } else { - NotificationManagerCompat.from(context).cancel(NotificationIds.UNREGISTERED_NOTIFICATION_ID); } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/video/VideoUtil.java b/app/src/main/java/org/thoughtcrime/securesms/video/VideoUtil.java index 18a4e4ae0b..3689ab12e3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/video/VideoUtil.java +++ b/app/src/main/java/org/thoughtcrime/securesms/video/VideoUtil.java @@ -7,7 +7,6 @@ import android.util.Size; import androidx.annotation.NonNull; -import androidx.annotation.RequiresApi; import org.thoughtcrime.securesms.mms.MediaConstraints; import org.thoughtcrime.securesms.util.MediaUtil; @@ -28,7 +27,6 @@ public final class VideoUtil { private static final int TOTAL_BYTES_PER_SECOND = (VIDEO_BIT_RATE / 8) + (AUDIO_BIT_RATE / 8); - @RequiresApi(21) public static final String VIDEO_MIME_TYPE = MediaFormat.MIMETYPE_VIDEO_AVC; public static final String AUDIO_MIME_TYPE = "audio/mp4a-latm"; @@ -36,7 +34,6 @@ public final class VideoUtil { private VideoUtil() { } - @RequiresApi(21) public static Size getVideoRecordingSize() { return isPortrait(screenSize()) ? new Size(VIDEO_SHORT_WIDTH, VIDEO_LONG_WIDTH) @@ -54,13 +51,11 @@ public static int getMaxVideoUploadDurationInSeconds() { return VIDEO_MAX_UPLOAD_LENGTH_S; } - @RequiresApi(21) private static Size screenSize() { DisplayMetrics metrics = Resources.getSystem().getDisplayMetrics(); return new Size(metrics.widthPixels, metrics.heightPixels); } - @RequiresApi(21) private static boolean isPortrait(Size size) { return size.getWidth() < size.getHeight(); } diff --git a/app/src/main/java/org/thoughtcrime/securesms/webrtc/audio/AudioManagerCompat.java b/app/src/main/java/org/thoughtcrime/securesms/webrtc/audio/AudioManagerCompat.java index 1bff5bbf9a..6d80bd3d44 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/webrtc/audio/AudioManagerCompat.java +++ b/app/src/main/java/org/thoughtcrime/securesms/webrtc/audio/AudioManagerCompat.java @@ -235,7 +235,6 @@ public void abandonCallAudioFocus() { } } - @RequiresApi(21) private static class Api21AudioManagerCompat extends Api19AudioManagerCompat { private static AudioAttributes AUDIO_ATTRIBUTES = new AudioAttributes.Builder() diff --git a/app/src/main/java/org/thoughtcrime/securesms/webrtc/audio/SignalAudioManager.kt b/app/src/main/java/org/thoughtcrime/securesms/webrtc/audio/SignalAudioManager.kt index 33590e839a..d35510f0c1 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/webrtc/audio/SignalAudioManager.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/webrtc/audio/SignalAudioManager.kt @@ -158,7 +158,7 @@ class FullSignalAudioManager(context: Context, eventListener: EventListener?) : updateAudioDeviceState() wiredHeadsetReceiver = WiredHeadsetReceiver() - context.registerReceiver(wiredHeadsetReceiver, IntentFilter(if (Build.VERSION.SDK_INT >= 21) AudioManager.ACTION_HEADSET_PLUG else Intent.ACTION_HEADSET_PLUG)) + context.registerReceiver(wiredHeadsetReceiver, IntentFilter(AudioManager.ACTION_HEADSET_PLUG)) state = State.PREINITIALIZED diff --git a/app/src/main/proto/ExternalBackups.proto b/app/src/main/proto/ExternalBackups.proto new file mode 100644 index 0000000000..a59f54974d --- /dev/null +++ b/app/src/main/proto/ExternalBackups.proto @@ -0,0 +1,16 @@ +/** + * Copyright (C) 2023 Open Whisper Systems + * + * Licensed according to the LICENSE file in this repository. + */ + +syntax = "proto3"; + +package signal; + +option java_package = "org.thoughtcrime.securesms.absbackup"; +option java_outer_classname = "ExternalBackupProtos"; + +message KbsAuthToken { + repeated string token = 1; +} \ No newline at end of file diff --git a/app/src/main/res/drawable-hdpi/ic_person_white_24dp.webp b/app/src/main/res/drawable-hdpi/ic_person_white_24dp.webp deleted file mode 100644 index 65cabe34e7..0000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_person_white_24dp.webp and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_person_white_24dp.webp b/app/src/main/res/drawable-mdpi/ic_person_white_24dp.webp deleted file mode 100644 index ca771d7fc3..0000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_person_white_24dp.webp and /dev/null differ diff --git a/app/src/main/res/drawable-night/ic_share_24.xml b/app/src/main/res/drawable-night/ic_share_24.xml deleted file mode 100644 index 5f97a4c2a6..0000000000 --- a/app/src/main/res/drawable-night/ic_share_24.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable-night/sms_small_encrypted.xml b/app/src/main/res/drawable-night/sms_small_encrypted.xml new file mode 100644 index 0000000000..39791e5887 --- /dev/null +++ b/app/src/main/res/drawable-night/sms_small_encrypted.xml @@ -0,0 +1,24 @@ + + + + + + + diff --git a/app/src/main/res/drawable-night/sms_small_export.xml b/app/src/main/res/drawable-night/sms_small_export.xml new file mode 100644 index 0000000000..44e7fd34a0 --- /dev/null +++ b/app/src/main/res/drawable-night/sms_small_export.xml @@ -0,0 +1,23 @@ + + + + + + + diff --git a/app/src/main/res/drawable-night/sms_small_insecure.xml b/app/src/main/res/drawable-night/sms_small_insecure.xml new file mode 100644 index 0000000000..4124670cb1 --- /dev/null +++ b/app/src/main/res/drawable-night/sms_small_insecure.xml @@ -0,0 +1,24 @@ + + + + + + + diff --git a/app/src/main/res/drawable-xhdpi/ic_person_white_24dp.webp b/app/src/main/res/drawable-xhdpi/ic_person_white_24dp.webp deleted file mode 100644 index ee3d356139..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_person_white_24dp.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_person_white_24dp.webp b/app/src/main/res/drawable-xxhdpi/ic_person_white_24dp.webp deleted file mode 100644 index 9170a6bea7..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_person_white_24dp.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_person_white_24dp.webp b/app/src/main/res/drawable-xxxhdpi/ic_person_white_24dp.webp deleted file mode 100644 index 027cf0e5d1..0000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_person_white_24dp.webp and /dev/null differ diff --git a/app/src/main/res/drawable/ic_add_emoji.xml b/app/src/main/res/drawable/ic_add_emoji.xml deleted file mode 100644 index 626e613cc0..0000000000 --- a/app/src/main/res/drawable/ic_add_emoji.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_appearance_24.xml b/app/src/main/res/drawable/ic_appearance_24.xml deleted file mode 100644 index 979485e4f9..0000000000 --- a/app/src/main/res/drawable/ic_appearance_24.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_archive_24.xml b/app/src/main/res/drawable/ic_archive_24.xml deleted file mode 100644 index 49f77523cd..0000000000 --- a/app/src/main/res/drawable/ic_archive_24.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_archive_24dp.xml b/app/src/main/res/drawable/ic_archive_24dp.xml deleted file mode 100644 index 25b274837b..0000000000 --- a/app/src/main/res/drawable/ic_archive_24dp.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_badge_24.xml b/app/src/main/res/drawable/ic_badge_24.xml deleted file mode 100644 index 0660b97cf3..0000000000 --- a/app/src/main/res/drawable/ic_badge_24.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_gift_24.xml b/app/src/main/res/drawable/ic_gift_24.xml deleted file mode 100644 index 308543983a..0000000000 --- a/app/src/main/res/drawable/ic_gift_24.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_heart_24.xml b/app/src/main/res/drawable/ic_heart_24.xml deleted file mode 100644 index 262dcade13..0000000000 --- a/app/src/main/res/drawable/ic_heart_24.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_info_solid_24.xml b/app/src/main/res/drawable/ic_info_solid_24.xml deleted file mode 100644 index 68b0be6979..0000000000 --- a/app/src/main/res/drawable/ic_info_solid_24.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_invite_24.xml b/app/src/main/res/drawable/ic_invite_24.xml deleted file mode 100644 index eda5cb5143..0000000000 --- a/app/src/main/res/drawable/ic_invite_24.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_linked_devices_24.xml b/app/src/main/res/drawable/ic_linked_devices_24.xml deleted file mode 100644 index 2211fd584a..0000000000 --- a/app/src/main/res/drawable/ic_linked_devices_24.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_profile_name_24.xml b/app/src/main/res/drawable/ic_profile_name_24.xml deleted file mode 100644 index 23dc66e2c7..0000000000 --- a/app/src/main/res/drawable/ic_profile_name_24.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_receipt_24.xml b/app/src/main/res/drawable/ic_receipt_24.xml deleted file mode 100644 index d002b6c4bc..0000000000 --- a/app/src/main/res/drawable/ic_receipt_24.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_share_24.xml b/app/src/main/res/drawable/ic_share_24.xml deleted file mode 100644 index 3018fe04d5..0000000000 --- a/app/src/main/res/drawable/ic_share_24.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_stories_16.xml b/app/src/main/res/drawable/ic_stories_16.xml deleted file mode 100644 index 5b19d63971..0000000000 --- a/app/src/main/res/drawable/ic_stories_16.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/ic_stories_24.xml b/app/src/main/res/drawable/ic_stories_24.xml deleted file mode 100644 index 27c10444a0..0000000000 --- a/app/src/main/res/drawable/ic_stories_24.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/ic_unarchive_24.xml b/app/src/main/res/drawable/ic_unarchive_24.xml deleted file mode 100644 index 4d597711f4..0000000000 --- a/app/src/main/res/drawable/ic_unarchive_24.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - diff --git a/app/src/main/res/drawable/ic_union.xml b/app/src/main/res/drawable/ic_union.xml deleted file mode 100644 index 0c2c05277a..0000000000 --- a/app/src/main/res/drawable/ic_union.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/sms_small_encrypted.xml b/app/src/main/res/drawable/sms_small_encrypted.xml new file mode 100644 index 0000000000..5fe5c12112 --- /dev/null +++ b/app/src/main/res/drawable/sms_small_encrypted.xml @@ -0,0 +1,24 @@ + + + + + + + diff --git a/app/src/main/res/drawable/sms_small_export.xml b/app/src/main/res/drawable/sms_small_export.xml new file mode 100644 index 0000000000..46a07bf67e --- /dev/null +++ b/app/src/main/res/drawable/sms_small_export.xml @@ -0,0 +1,23 @@ + + + + + + + diff --git a/app/src/main/res/drawable/sms_small_insecure.xml b/app/src/main/res/drawable/sms_small_insecure.xml new file mode 100644 index 0000000000..5fd412950a --- /dev/null +++ b/app/src/main/res/drawable/sms_small_insecure.xml @@ -0,0 +1,24 @@ + + + + + + + diff --git a/app/src/main/res/drawable/symbol_appearance_24.xml b/app/src/main/res/drawable/symbol_appearance_24.xml new file mode 100644 index 0000000000..91320fda9e --- /dev/null +++ b/app/src/main/res/drawable/symbol_appearance_24.xml @@ -0,0 +1,17 @@ + + + + + + + diff --git a/app/src/main/res/drawable/symbol_archive_24.xml b/app/src/main/res/drawable/symbol_archive_24.xml new file mode 100644 index 0000000000..850a47c11d --- /dev/null +++ b/app/src/main/res/drawable/symbol_archive_24.xml @@ -0,0 +1,13 @@ + + + + diff --git a/app/src/main/res/drawable/symbol_archive_android_24.xml b/app/src/main/res/drawable/symbol_archive_android_24.xml new file mode 100644 index 0000000000..850a47c11d --- /dev/null +++ b/app/src/main/res/drawable/symbol_archive_android_24.xml @@ -0,0 +1,13 @@ + + + + diff --git a/app/src/main/res/drawable/symbol_archive_android_up_24.xml b/app/src/main/res/drawable/symbol_archive_android_up_24.xml new file mode 100644 index 0000000000..06f2e10575 --- /dev/null +++ b/app/src/main/res/drawable/symbol_archive_android_up_24.xml @@ -0,0 +1,13 @@ + + + + diff --git a/app/src/main/res/drawable/symbol_archive_up_24.xml b/app/src/main/res/drawable/symbol_archive_up_24.xml new file mode 100644 index 0000000000..06f2e10575 --- /dev/null +++ b/app/src/main/res/drawable/symbol_archive_up_24.xml @@ -0,0 +1,13 @@ + + + + diff --git a/app/src/main/res/drawable/symbol_at_24.xml b/app/src/main/res/drawable/symbol_at_24.xml new file mode 100644 index 0000000000..a0e75adf58 --- /dev/null +++ b/app/src/main/res/drawable/symbol_at_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/symbol_badge_multi_24.xml b/app/src/main/res/drawable/symbol_badge_multi_24.xml new file mode 100644 index 0000000000..407bac89b4 --- /dev/null +++ b/app/src/main/res/drawable/symbol_badge_multi_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/symbol_bell_24.xml b/app/src/main/res/drawable/symbol_bell_24.xml new file mode 100644 index 0000000000..b731945620 --- /dev/null +++ b/app/src/main/res/drawable/symbol_bell_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/symbol_camera_24.xml b/app/src/main/res/drawable/symbol_camera_24.xml new file mode 100644 index 0000000000..9270ddabc5 --- /dev/null +++ b/app/src/main/res/drawable/symbol_camera_24.xml @@ -0,0 +1,14 @@ + + + + diff --git a/app/src/main/res/drawable/symbol_chat_24.xml b/app/src/main/res/drawable/symbol_chat_24.xml new file mode 100644 index 0000000000..d893fa1c8c --- /dev/null +++ b/app/src/main/res/drawable/symbol_chat_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/symbol_data_24.xml b/app/src/main/res/drawable/symbol_data_24.xml new file mode 100644 index 0000000000..f75eb09c53 --- /dev/null +++ b/app/src/main/res/drawable/symbol_data_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/symbol_devices_24.xml b/app/src/main/res/drawable/symbol_devices_24.xml new file mode 100644 index 0000000000..3972863fb0 --- /dev/null +++ b/app/src/main/res/drawable/symbol_devices_24.xml @@ -0,0 +1,13 @@ + + + + diff --git a/app/src/main/res/drawable/symbol_edit_24.xml b/app/src/main/res/drawable/symbol_edit_24.xml new file mode 100644 index 0000000000..f8469bf131 --- /dev/null +++ b/app/src/main/res/drawable/symbol_edit_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/symbol_emoji_plus_24.xml b/app/src/main/res/drawable/symbol_emoji_plus_24.xml new file mode 100644 index 0000000000..a0b85b8609 --- /dev/null +++ b/app/src/main/res/drawable/symbol_emoji_plus_24.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/symbol_gift_24.xml b/app/src/main/res/drawable/symbol_gift_24.xml new file mode 100644 index 0000000000..5b5148d826 --- /dev/null +++ b/app/src/main/res/drawable/symbol_gift_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/symbol_heart_24.xml b/app/src/main/res/drawable/symbol_heart_24.xml new file mode 100644 index 0000000000..65d42e88d3 --- /dev/null +++ b/app/src/main/res/drawable/symbol_heart_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/symbol_help_24.xml b/app/src/main/res/drawable/symbol_help_24.xml new file mode 100644 index 0000000000..e771a985ad --- /dev/null +++ b/app/src/main/res/drawable/symbol_help_24.xml @@ -0,0 +1,13 @@ + + + + diff --git a/app/src/main/res/drawable/symbol_info_fill_24.xml b/app/src/main/res/drawable/symbol_info_fill_24.xml new file mode 100644 index 0000000000..f7e1befeac --- /dev/null +++ b/app/src/main/res/drawable/symbol_info_fill_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/symbol_invite_24.xml b/app/src/main/res/drawable/symbol_invite_24.xml new file mode 100644 index 0000000000..13a948fe06 --- /dev/null +++ b/app/src/main/res/drawable/symbol_invite_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/symbol_lock_24.xml b/app/src/main/res/drawable/symbol_lock_24.xml new file mode 100644 index 0000000000..de682a3817 --- /dev/null +++ b/app/src/main/res/drawable/symbol_lock_24.xml @@ -0,0 +1,13 @@ + + + + diff --git a/app/src/main/res/drawable/symbol_open_20.xml b/app/src/main/res/drawable/symbol_open_20.xml new file mode 100644 index 0000000000..8bdd7dfda3 --- /dev/null +++ b/app/src/main/res/drawable/symbol_open_20.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/symbol_payment_24.xml b/app/src/main/res/drawable/symbol_payment_24.xml new file mode 100644 index 0000000000..8069b84b91 --- /dev/null +++ b/app/src/main/res/drawable/symbol_payment_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/symbol_person_24.xml b/app/src/main/res/drawable/symbol_person_24.xml new file mode 100644 index 0000000000..8decf852db --- /dev/null +++ b/app/src/main/res/drawable/symbol_person_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/symbol_person_circle_24.xml b/app/src/main/res/drawable/symbol_person_circle_24.xml new file mode 100644 index 0000000000..b7fad710e1 --- /dev/null +++ b/app/src/main/res/drawable/symbol_person_circle_24.xml @@ -0,0 +1,14 @@ + + + + diff --git a/app/src/main/res/drawable/symbol_plus_compact_16.xml b/app/src/main/res/drawable/symbol_plus_compact_16.xml new file mode 100644 index 0000000000..0626ca111b --- /dev/null +++ b/app/src/main/res/drawable/symbol_plus_compact_16.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/symbol_receipt_24.xml b/app/src/main/res/drawable/symbol_receipt_24.xml new file mode 100644 index 0000000000..93d88a2c0f --- /dev/null +++ b/app/src/main/res/drawable/symbol_receipt_24.xml @@ -0,0 +1,13 @@ + + + + diff --git a/app/src/main/res/drawable/symbol_search_24.xml b/app/src/main/res/drawable/symbol_search_24.xml new file mode 100644 index 0000000000..7db95e8e00 --- /dev/null +++ b/app/src/main/res/drawable/symbol_search_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/symbol_share_android_24.xml b/app/src/main/res/drawable/symbol_share_android_24.xml new file mode 100644 index 0000000000..84c0f3c657 --- /dev/null +++ b/app/src/main/res/drawable/symbol_share_android_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/symbol_stories_24.xml b/app/src/main/res/drawable/symbol_stories_24.xml new file mode 100644 index 0000000000..bfdfe64d88 --- /dev/null +++ b/app/src/main/res/drawable/symbol_stories_24.xml @@ -0,0 +1,13 @@ + + + + diff --git a/app/src/main/res/drawable/symbol_stories_fill_compact_12.xml b/app/src/main/res/drawable/symbol_stories_fill_compact_12.xml new file mode 100644 index 0000000000..447111a6ab --- /dev/null +++ b/app/src/main/res/drawable/symbol_stories_fill_compact_12.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/symbol_x_24.xml b/app/src/main/res/drawable/symbol_x_24.xml new file mode 100644 index 0000000000..02cb3134da --- /dev/null +++ b/app/src/main/res/drawable/symbol_x_24.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/about_preset_item.xml b/app/src/main/res/layout/about_preset_item.xml index 2bbeda7893..82edb6d112 100644 --- a/app/src/main/res/layout/about_preset_item.xml +++ b/app/src/main/res/layout/about_preset_item.xml @@ -17,7 +17,7 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@id/about_preset_body" app:layout_constraintBottom_toBottomOf="@id/about_preset_body" - tools:src="@drawable/ic_add_emoji"/> + tools:src="@drawable/symbol_emoji_plus_24"/> @@ -136,7 +136,7 @@ android:transitionName="new_convo_fab" android:visibility="gone" app:backgroundTint="@color/signal_colorPrimaryContainer" - app:srcCompat="@drawable/ic_compose_outline_24" + app:srcCompat="@drawable/symbol_edit_24" app:tint="@color/signal_colorOnSurface" tools:visibility="visible" /> diff --git a/app/src/main/res/layout/dsl_payments_preference.xml b/app/src/main/res/layout/dsl_payments_preference.xml index 9f87719086..04a9db419a 100644 --- a/app/src/main/res/layout/dsl_payments_preference.xml +++ b/app/src/main/res/layout/dsl_payments_preference.xml @@ -17,7 +17,8 @@ app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" - app:srcCompat="@drawable/ic_payments_24" /> + app:tint="@color/signal_icon_tint_primary" + app:srcCompat="@drawable/symbol_payment_24" /> + app:srcCompat="@drawable/symbol_search_24" /> diff --git a/app/src/main/res/layout/manage_profile_fragment.xml b/app/src/main/res/layout/manage_profile_fragment.xml index 2cd26c24b9..4a67249225 100644 --- a/app/src/main/res/layout/manage_profile_fragment.xml +++ b/app/src/main/res/layout/manage_profile_fragment.xml @@ -112,7 +112,7 @@ app:layout_constraintBottom_toBottomOf="@id/manage_profile_name_subtitle" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@id/manage_profile_name" - app:srcCompat="@drawable/ic_profile_name_24" + app:srcCompat="@drawable/symbol_person_24" app:tint="@color/signal_text_primary" /> @@ -221,7 +221,7 @@ app:layout_constraintBottom_toBottomOf="@id/manage_profile_about_subtitle" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@id/manage_profile_about" - app:srcCompat="@drawable/ic_compose_24" + app:srcCompat="@drawable/symbol_edit_24" app:tint="@color/signal_text_primary" /> + tools:background="@drawable/symbol_heart_24" /> + tools:background="@drawable/symbol_heart_24" /> + tools:background="@drawable/symbol_heart_24" /> + tools:background="@drawable/symbol_heart_24" /> + tools:background="@drawable/symbol_heart_24" /> + tools:background="@drawable/symbol_heart_24" /> + tools:background="@drawable/symbol_heart_24" /> @@ -82,7 +82,7 @@ android:layout_height="100dp" app:forceJumbo="true" app:layout_constraintTag="emoji" - tools:background="@drawable/ic_heart_24" /> + tools:background="@drawable/symbol_heart_24" /> + tools:background="@drawable/symbol_heart_24" /> + tools:background="@drawable/symbol_heart_24" /> \ No newline at end of file diff --git a/app/src/main/res/layout/share_button.xml b/app/src/main/res/layout/share_button.xml index cf4659ddf9..8507b65947 100644 --- a/app/src/main/res/layout/share_button.xml +++ b/app/src/main/res/layout/share_button.xml @@ -11,6 +11,6 @@ android:layout_height="wrap_content" android:layout_gravity="center" android:text="@string/preferences_share" - app:icon="@drawable/ic_share_24" + app:icon="@drawable/symbol_share_android_24" app:iconSize="20dp" /> \ No newline at end of file diff --git a/app/src/main/res/layout/signal_bottom_action_bar_item.xml b/app/src/main/res/layout/signal_bottom_action_bar_item.xml index 0d8ca7d37b..9924e87610 100644 --- a/app/src/main/res/layout/signal_bottom_action_bar_item.xml +++ b/app/src/main/res/layout/signal_bottom_action_bar_item.xml @@ -20,7 +20,7 @@ android:layout_height="wrap_content" android:layout_marginBottom="4dp" app:tint="@color/signal_colorOnSurface" - tools:src="@drawable/ic_archive_24"/> + tools:src="@drawable/symbol_archive_android_24"/> + tools:src="@drawable/symbol_archive_android_24" /> - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/sms_removal_information_fragment.xml b/app/src/main/res/layout/sms_removal_information_fragment.xml new file mode 100644 index 0000000000..6fe358578a --- /dev/null +++ b/app/src/main/res/layout/sms_removal_information_fragment.xml @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/sticker_management_sticker_item.xml b/app/src/main/res/layout/sticker_management_sticker_item.xml index 94ea3bf832..d7fd68a144 100644 --- a/app/src/main/res/layout/sticker_management_sticker_item.xml +++ b/app/src/main/res/layout/sticker_management_sticker_item.xml @@ -26,7 +26,7 @@ app:layout_constraintBottom_toTopOf="@id/sticker_management_divider" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" - tools:src="@drawable/ic_person_white_24dp" + tools:src="@drawable/symbol_person_24" tools:tint="@color/core_ultramarine" /> + app:tint="@color/signal_colorBackground" + app:srcCompat="@drawable/symbol_plus_compact_16" /> + app:tint="@color/signal_colorBackground" + app:srcCompat="@drawable/symbol_plus_compact_16" /> Hierdie weergawe van Signal het verval. Werk dit nou by om boodskappe te kan stuur en ontvang Werk nou by - - Signal no longer works on this device. To use Signal again, update your device to a newer version of Android or switch to a newer device. - %1$d hangende lidmaatskapversoeke. @@ -1890,11 +1887,11 @@ Video Kletssessie het verfris - %1$s donated for you + %1$s het namens jou geskenk - You donated for %1$s + Jy het namens %1$s - You redeemed a badge + Jy het \'n wapen gebruik %1$s Het op jou storie gereageer @@ -2270,7 +2267,7 @@ Nie meer beskikbaar nie - Donation for a friend + Skenking namens \'n vriend/in Rol af na onder @@ -4358,7 +4355,7 @@ Ander maniere om te gee - Donate for a Friend + Skenk namens \'n vriend/in Voer Eie Bedrag in Eenmalige bydrae @@ -4415,9 +4412,9 @@ Kon nie geldigheid van bedienerrespons bevestig nie. Kontak asseblief die steundiens. - Donation failed + Skenking was onsuksesvol - Your payment was processed but Signal could not send your donation message. Please contact support. + Jou betaling is verwerk maar Signal kon nie jou skenkingsboodskap stuur nie. Kontak asb. ondersteuning. Jou wapen kon nie by jou rekening gevoeg word nie, maar \'n betaling is dalk van jou gehef. Kontak asb. ondersteuning. Jou betaling word nog verwerk. Dit kan ’n paar minute duur afhangend van jou verbinding. Kon nie intekening kanselleer nie @@ -4426,16 +4423,16 @@ Netwerkfout. Gaan jou verbinding na en probeer weer. Probeer weer - Cannot send donation + Kan nie skenking stuur nie - This user can\'t receive donations until they upgrade Signal. + Hierdie gebruiker kan nie geskenke ontvang totdat hulle Signal opgedateer het nie. - Your donation could not be sent because of a network error. Check your connection and try again. + Jou geskenk kon nie gestuur word nie as gevolg van \'n netwerkfout. Kontroleer jou verbinding en probeer weer. - Donation to %1$s + Skenking aan %1$s - %1$s donated to Signal on your behalf + %1$s het namens jou aan Signal geskenk Los af @@ -4646,7 +4643,7 @@ Eenmalig - Donation for a friend + Skenking namens \'n vriend/in @@ -4997,22 +4994,22 @@ %1$s · %2$d dae lank - Donate for a Friend + Skenk namens \'n vriend/in - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Ondersteun Signal deur \'n skenking te maak namens \'n vriend/in of familielid wat Signal gebruik. Hulle sal \'n wapen kry om vir %1$d dag op hulle profielfoto te vertoon. + Ondersteun Signal deur \'n skenking te maak namens \'n vriend/in of familielid wat Signal gebruik. Hulle sal \'n wapen kry om vir %1$d dae op hulle profielfoto te vertoon. Volgende Kies ontvanger - Confirm donation + Bevestig skenking Stuur na - The recipient will be notified of the donation in a 1 on 1 message. Add your own message below. + Die ontvanger sal in \'n 1-1 boodskap van die skenking in kennis gestel word. Voeg jou eie boodskap hier onder by. Eenmalige skenking @@ -5020,27 +5017,27 @@ Besig om ontvanger te verifieer… - %1$s made a donation for you + %1$s het namens jou \'n skenking gemaak Dankie vir jou ondersteuning! - %1$s made a donation to Signal on your behalf! Show your support for Signal on your profile. + %1$s het namens jou \'n skenking aan Signal gemaak! Wys jou ondersteuning van Signal op jou profiel. - You\'ve made a donation to Signal on behalf of %1$s. They\'ll be given the option to show their support on their profile. + Jy het \'n skenking aan Signal gemaak namens %1$s. Hulle sal die keuse kry om hulle ondersteuning op hul profiel te wys. Los af Nie nou nie - Redeeming badge… + Gebruik tans wapen… Jy kan jou wapen later aflos. - You’ve made a donation to Signal on behalf of %1$s. They’ll be given the option to show their support on their profile. + Jy het \'n skenking aan Signal gemaak namens %1$s. Hulle sal die keuse kry om hulle ondersteuning op hul profiel te wys. - U wapen het verstryk + Jou wapen het verstryk - Your badge has expired, and is no longer visible to others on your profile. + Jou wapen het verstryk en is nie meer vir andere op jou profiel sigbaar nie. Oorweeg dit asb. om ’n maandelikse onderhouer te word om steeds tegnologie wat vir jou gebou is, te steun. @@ -5353,9 +5350,9 @@ SMS-ondersteuning gaan beëindig word - SMS-ondersteuning sal binnekort verwyder word om op geënkripteerde boodskappe te fokus. + Moenie bekommerd wees nie, geënkripteerde Signal-boodskappe sal steeds werk. - Voer SMS uit + Gaan voort Uitvoer voltooi @@ -5413,7 +5410,7 @@ Krediet- of debietkaart - Donate for a friend + Skenk namens n vriend/in Besig om te kanselleer… @@ -5480,10 +5477,17 @@ Wenk: Trek ondertoe op die kletslys om te filtreer - - Signal will no longer support your device\'s version of Android soon. To keep using Signal, update your device, or switch to a newer device by %1$s. - - - Vind meer uit + + SMS-ondersteuning gaan beëindig word + + SMS-boodskappe in die Signal-toepassing sal binnekort nie meer ondersteun word nie. + + SMS-boodskappe verskil van Signal-boodskappe. Dit beïnvloed nie geënkripteerde Signal-boodskappe nie, wat steeds sal werk. + + Jy kan jou SMS-boodskappe uitvoer en \'n nuwe SMS-toepassing kies. + + Signal het ondersteuning vir die stuur van SMS-boodskappe verwyder. + + Voer SMS\'e uit diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index e7d5e86007..4d8d230840 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -733,9 +733,6 @@ انتهت صلاحية هذا الإصدار من Signal. يُرجى التحديث الآن لإرسال واستلام الرسائل. حدِّث الآن - - لم يعُد تطبيق Signal يَعمل على هذا الجهاز. لاستخدام التطبيق مرة أخرى، يُرجى تحديث الأندرويد على جهازك إلى إصدار أحدث أو قم بالتغيير إلى جهاز أحدث. - %1$d طلب العضوية معلق @@ -5440,12 +5437,12 @@ تبرّع لصديق - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + ادعم Signal عن طريق تقديم تبرّع إلى صديق أو فرد من العائلة يستخدم Signal. سَيتلقون شارة لِعرضها على حسابهم الشخصي لـ %1$d يوم + ادعم Signal عن طريق تقديم تبرّع إلى صديق أو فرد من العائلة يستخدم Signal. سَيتلقون شارة لعرضها على حسابهم الشخصي لـ %1$d يوم + ادعم Signal عن طريق تقديم تبرّع إلى صديق أو فرد من العائلة يستخدم Signal. سَيتلقون شارة لعرضها على حسابهم الشخصي لـ %1$d يومين + ادعم Signal عن طريق تقديم تبرّع إلى صديق أو فرد من العائلة يستخدم Signal. سَيتلقون شارة لعرضها على حسابهم الشخصي لـ %1$d أيام + ادعم Signal عن طريق تقديم تبرّع إلى صديق أو فرد من العائلة يستخدم Signal. سَيتلقون شارة لعرضها على حسابهم الشخصي لـ %1$d يومًا + ادعم Signal عن طريق تقديم تبرّع إلى صديق أو فرد من العائلة يستخدم Signal. سَيتلقون شارة لعرضها على حسابهم الشخصي لـ %1$d يوم التالي @@ -5837,9 +5834,9 @@ سَيختفي دعم SMS - سيتم إزالة دعم SMS قريبًا للتركيز على الرسائل المشفرة. + لا تقلق، رسائل Signal المُشفّرة سَتستمر في العمل. - تصدير SMS + واصل اِكتمل التصدير @@ -5976,10 +5973,17 @@ نصيحة: اِسحب الدردشة للأسفل للفلترة - - سيتوقف Signal عن دعم إصدار الأندرويد على جهازك قريبًا. للاستمرار في استخدام Signal، يُرجى تحديث جِهازك أو التغيير إلى جهاز أحدث قبل %1$s. - - - معرفة المزيد + + سَيختفي دعم SMS + + سَيتوقف دعم رسائل SMS في تطبيق Signal قريبًا. + + تختلف رسائل SMS عن رسائل Signal. لا يُؤثر هذا على رسائل Signal المُشفرة التي ستستمر في العمل. + + يُمكنك تصدير رسائل SMS الخاصة بك واختيار تطبيق SMS جديد. + + أزال تطبيق Signal دعم إرسال رسائل SMS. + + تصدير SMS diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml index 7fb1605fed..63b938abc3 100644 --- a/app/src/main/res/values-az/strings.xml +++ b/app/src/main/res/values-az/strings.xml @@ -653,9 +653,6 @@ Signal-ın bu versiyasının istifadə müddəti bitib. Mesaj göndərmək və almaq üçün indi yeniləyin. İndi yenilə - - Signal artıq bu cihazda işləmir. Signal-dan təkrar istifadə etmək üçün cihazınıza Android-in daha yeni versiyasını yükləyin, yaxud da daha yeni cihaza keçin. - Gözləyən %1$d üzv tələbi var. @@ -5000,8 +4997,8 @@ Bir dostunuza ianə verin - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Signal-dan istifadə edən bir dostunuza və ya ailə üzvünə ianə verərək Signal-ı dəstəkləyin. O, profilində %1$d gün görünəcək bir nişan alacaq + Signal-dan istifadə edən bir dostunuza və ya ilə üzvünə ianə verərək Signal-ı dəstəkləyin. O, profilində %1$d gün görünəcək bir nişan alacaq Növbəti @@ -5353,9 +5350,9 @@ SMS dəstəyi ləğv olunur - Şifrələnmiş mesajlaşmaya başlamaq üçün SMS dəstəyi tezliklə silinəcək. + Narahat olmayın, şifrələnmiş Signal mesajları davam edəcək. - SMS ixrac et + Davam et İxrac prosesi tamamlandı @@ -5480,10 +5477,17 @@ İpucu: Filtrləmək üçün çat siyahısı ekranında aşağı çəkin - - Tezliklə Signal cihazınızın Android versiyasını dəstəkləyə bilməyəcək. Signal-dan istifadəyə davam etmək üçün cihazınızı yeniləyin və ya %1$s tarixinə qədər daha yeni bir cihaza keçin. - - - Daha ətraflı + + SMS dəstəyi davam edir + + Tezliklə Signal tətbiqində SMS mesajları artıq dəstəklənməyəcək. + + SMS mesajları Signal mesajlarından fərqlidir. Bu davam edən şifrəli Signal mesajlarına təsir etməyəcək. + + SMS mesajlarınızı ixrac edib, yeni bir SMS tətbiqi seçə bilərsiniz. + + Signal SMS mesajları göndərmə dəstəyini daha göstərmir. + + SMS-i ixrac et diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index 162419e5de..3969e135dd 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -653,9 +653,6 @@ Тази версия на Signal е изтекла. Обновете сега, за да можете да получавате и изпращате съобщения. Обнови сега - - Signal вече не работи на това устройство. За да използвате Signal отново, актуализирайте устройството си до по-нова версия на Android или преминете към по-ново устройство. - %1$d изчакващо членство. @@ -5000,8 +4997,8 @@ Дарете за приятел - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Подкрепете Signal, като направите дарение за приятел или член на семейството, който използва Signal. Те ще получат значка, която да показват в профила си за %1$d ден + Подкрепете Signal, като направите дарение за приятел или член на семейството, който използва Signal. Те ще получат значка, която да показват в профила си за %1$d дни Напред @@ -5353,9 +5350,9 @@ Поддръжката на SMS отпада - Поддръжката на SMS скоро ще бъде прекратена, за да се фокусираме върху криптираните съобщения. + Не се притеснявайте, криптираните съобщения от Signal ще продължат да работят. - Експорт на SMS + Продължете Експортът завърши @@ -5480,10 +5477,17 @@ Съвет: Плъзнете надолу чат списъка, за да филтрирате - - Signal скоро няма да поддържа версията на Android на вашето устройство. За да продължите да използвате Signal, актуализирайте устройството си или преминете към по-ново устройство до %1$s. - - - Научете повече + + Поддръжката на SMS отпада + + SMS съобщенията в приложението Signal скоро вече няма да се поддържат. + + SMS съобщенията са различни от Signal съобщенията. Това не засяга криптираните съобщения в Signal, които ще продължат да работят. + + Можете да експортирате вашите SMS съобщения и да изберете ново приложение за SMS. + + Signal премахна поддръжката за изпращане на SMS съобщения. + + Експорт на SMS diff --git a/app/src/main/res/values-bn/strings.xml b/app/src/main/res/values-bn/strings.xml index 3c68cb5a07..d8a1584677 100644 --- a/app/src/main/res/values-bn/strings.xml +++ b/app/src/main/res/values-bn/strings.xml @@ -653,9 +653,6 @@ আপনার Signal সংস্করণটির মেয়াদ শেষ হয়ে গেছে। বার্তা প্রেরণ এবং গ্রহণ করতে এখনই আপডেট করুন। আপডেট করুন - - Signal এই ডিভাইসে আর কাজ করে না। আবার Signal ব্যবহার করতে, আপনার ডিভাইসটিকে Android-এর একটি নতুন সংস্করণে আপডেট করুন বা একটি উন্নততর ডিভাইসে সুইচ করুন। - %1$d অমীমাংসিত সদস্যের অনুরোধ। @@ -5000,8 +4997,8 @@ বন্ধুর জন্য ডোনেট করুন - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Signal ব্যবহার করে এমন একজন বন্ধু বা পরিবারের সদস্যের জন্য ডোনেট করে Signal-কে সমর্থন করুন। তারা তাদের প্রোফাইলে প্রদর্শন করতে %1$d দিনের জন্য একটি ব্যাজ পাবেন + Signal ব্যবহার করে এমন একজন বন্ধু বা পরিবারের সদস্যের জন্য ডোনেট করে Signal-কে সমর্থন করুন। তারা তাদের প্রোফাইলে প্রদর্শন করতে %1$d দিনের জন্য একটি ব্যাজ পাবেন পরবর্তী @@ -5353,9 +5350,9 @@ এসএমএস সমর্থন শেষ হয়ে যাচ্ছে - এনক্রিপ্ট করা ম্যাসেজিং-এ অধিক গুরুত্ব দেওয়ার উদ্দেশ্যে শীঘ্রই এমএমএস সহায়তা বাদ দেওয়া হবে। + চিন্তা করবেন না, এনক্রিপ্ট করা Signal ম্যাসেজগুলো কার্যকর থাকবে। - এসএমএস এক্সপোর্ট করুন + চালিয়ে যান এক্সপোর্ট সম্পন্ন হয়েছে @@ -5480,10 +5477,17 @@ পরামর্শ: ফিল্টার করতে চ্যাট লিস্টে টেনে আনুন - - Signal শীঘ্রই আর আপনার ডিভাইসের Android সংস্করণ সমর্থন করবে না। Signal ব্যবহার চালিয়ে যেতে চাইলে, আপনার ডিভাইস আপডেট করুন বা %1$s তারিখের মধ্যে একটি নতুন ডিভাইসে সুইচ করুন। - - - আরো জানুন + + এসএমএস সুবিধা আর থাকছে না + + শীঘ্রই Signal অ্যাপে এসএমএস ম্যাসেজিং সুবিধাটি আর থাকবে না। + + এসএমএস ম্যাসেজ আর Signal ম্যাসেজের মধ্যে পার্থক্য রয়েছে। এটি এনক্রিপ্ট করা Signal ম্যাসেজিংকে প্রভাবিত করবে না এবং এর কার্যক্রম অব্যাহত থাকবে। + + আপনি আপনার এসএমএস ম্যাসেজ স্থানান্তর করতে পারেন এবং একটি নতুন এসএমএস অ্যাপ বেছে নিতে পারেন। + + Signal এসএমএস ম্যাসেজ পাঠানোর সুবিধাটি বাদ দিয়ে দিয়েছে। + + এসএমএস এক্সপোর্ট করুন diff --git a/app/src/main/res/values-bs/strings.xml b/app/src/main/res/values-bs/strings.xml index 5a4abd6f51..49c7b99648 100644 --- a/app/src/main/res/values-bs/strings.xml +++ b/app/src/main/res/values-bs/strings.xml @@ -693,9 +693,6 @@ Ova verzija Signala je istekla. Ažurirajte aplikaciju sada da biste mogli slati i primati poruke. Ažuriraj sada - - Signal više ne funkcionira na ovom uređaju. Da ponovo koristite Signal, ažurirajte uređaj na noviju verziju Androida ili se prebacite na noviji uređaj. - %1$d zahtjev za članstvo na čekanju. @@ -5220,10 +5217,10 @@ Donirajte za prijatelja - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Podržite Signal tako što ćete donirati za prijatelja ili člana porodice koji koristi Signal. Primit će značku koju će moći prikazati na profilu u trajanju od %1$d dana + Podržite Signal tako što ćete donirati za prijatelja ili člana porodice koji koristi Signal. Primit će značku koju će moći prikazati na profilu u trajanju od %1$d dana + Podržite Signal tako što ćete donirati za prijatelja ili člana porodice koji koristi Signal. Primit će značku koju će moći prikazati na profilu u trajanju od %1$d dana + Podržite Signal tako što ćete donirati za prijatelja ili člana porodice koji koristi Signal. Primit će značku koju će moći prikazati na profilu u trajanju od %1$d dana Dalje @@ -5595,9 +5592,9 @@ Podrška za SMS uskoro nestaje - Podrška za SMS će se uskoro ukloniti radi fokusiranja na šifrirane poruke. + Ne brinite, šifrirane poruke Signala će nastaviti funkcionirati. - Izvezi SMS + Nastavi Izvoz je završen @@ -5728,10 +5725,17 @@ Savjet: Prevucite prema dolje na listi chatova za filtriranje - - Signal uskoro više neće podržavati verziju Androida vašeg uređaja. Da nastavite koristiti Signal, ažurirajte uređaj ili se prebacite na noviji uređaj do %1$s . - - - Saznajte više + + Podrška za SMS uskoro nestaje + + Slanje SMS poruka u aplikaciji Signal uskoro više neće biti podržano. + + SMS poruke se razlikuju od poruka Signala. To neće uticati na šifrirano razmjenjivanje poruka u Signalu koje će i dalje funkcionirati. + + Možete izvesti SMS poruke i odabrati novu aplikaciju za SMS. + + Signal je uklonio podršku za slanje SMS poruka. + + Izvezi SMS diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index b1dd2c9e63..27b22f832a 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -653,9 +653,6 @@ Aquesta versió del Signal ha vençut. Actualitzeu-la ara per enviar i rebre missatges. Actualitza-la ara - - Signal ja no funciona en aquest dispositiu. Per tornar a utilitzar Signal, actualitza el dispositiu a una versió més recent d\'Android o canvia\'l per un dispositiu més nou. - %1$dsol·licitud d\'adhesió pendent @@ -5000,8 +4997,8 @@ Fer una donació per un amic - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Dona suport a Signal fent una donació en nom d\'un amic o familiar que utilitzi Signal. Rebran una insígnia per mostrar al seu perfil durant %1$d dia + Dona suport a Signal fent una donació en nom d\'un amic o familiar que utilitzi Signal. Rebran una insígnia per mostrar al seu perfil durant %1$d dies Següent @@ -5353,9 +5350,9 @@ Ja no podràs enviar SMS - Els SMS aviat no seran compatibles, ja que volem centrar-nos en la missatgeria encriptada. + No et preocupis, els missatges xifrats de Signal continuaran funcionant. - Exportar SMS + Continuar Exportació completada @@ -5480,10 +5477,17 @@ Truc: desplaça\'t cap avall a la llista de xats per filtrar - - Signal aviat deixarà de ser compatible amb la versió d\'Android del teu dispositiu. Per continuar utilitzant Signal, actualitza el dispositiu o canvia\'l per un altre més nou abans del dia %1$s. - - - Més informació + + Ja no podràs enviar SMS + + La missatgeria SMS aviat deixarà de ser compatible amb l\'app de Signal. + + Els missatges SMS són diferents dels missatges de Signal. Això no afectarà els missatges xifrats de Signal, els quals continuaran funcionant. + + Pots exportar els teus missatges SMS i triar una nova app d\'SMS. + + Signal ha eliminat la compatibilitat amb l\'enviament de missatges SMS. + + Exportar SMS diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 3be41b7912..e068d9636a 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -693,9 +693,6 @@ Tato verze aplikace Signal je zastaralá. Proveďte aktualizaci, abyste mohli odesílat a přijímat zprávy. Aktualizovat nyní - - Signal na tomto zařízení již nefunguje. Pokud chcete Signal zase používat, aktualizujte své zařízení na novější verzi systému Android nebo si pořiďte novější zařízení. - %1$d nevyřízená žádost o členství. @@ -5220,10 +5217,10 @@ Přispět za přítele - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Podpořte Signal příspěvkem za přítele nebo člena rodiny, kteří používají Signal. Obdrží odznak, který si mohou na %1$d den vystavit na svém profilu. + Podpořte Signal příspěvkem za přítele nebo člena rodiny, kteří používají Signal. Obdrží odznak, který si mohou na %1$d dny vystavit na svém profilu. + Podpořte Signal příspěvkem za přítele nebo člena rodiny, kteří používají Signal. Obdrží odznak, který si mohou na %1$d dne vystavit na svém profilu. + Podpořte Signal příspěvkem za přítele nebo člena rodiny, kteří používají Signal. Obdrží odznak, který si mohou na %1$d dní vystavit na svém profilu. Další @@ -5595,9 +5592,9 @@ Podpora SMS končí. - Podpora SMS zpráv bude brzy ukončena, abychom se mohli zaměřit na šifrované zprávy. + Nebojte se, šifrované zprávy Signal budou fungovat i nadále. - Exportovat SMS + Pokračovat Export dokončen @@ -5728,10 +5725,17 @@ Tip: Přetažením dolů přes seznam konverzací filtrujte - - Služba Signal již brzy nebude podporovat verzi Android, kterou máte na svém zařízení. Chcete-li službu Signal používat i nadále, aktualizujte své zařízení do %1$s nebo přejděte na novější zařízení. - - - Více informací + + Podpora SMS zpráv končí + + Zasílání SMS zpráv v aplikaci Signal již brzy nebude podporováno. + + Zprávy SMS jsou jiné než zprávy aplikace Signal. To se netýká šifrovaných zpráv Signal, které budou fungovat i nadále. + + SMS zprávy můžete exportovat a vybrat si novou aplikaci pro SMS. + + Služba Signal ukončila podporu pro odesílání SMS zpráv. + + Exportovat SMS diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index ee22ef2768..de61bd2620 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -653,9 +653,6 @@ Denne version af Signal er udløbet. Opdatér nu for at sende og modtage beskeder. Opdatér nu - - Signal virker ikke længere på denne enhed. For at bruge Signal igen skal du opdatere din enhed til en nyere version af Android eller skifte til en nyere enhed. - %1$d afventende forespørgsel fra medlem @@ -5000,8 +4997,8 @@ Donér for en ven - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Støt Signal ved at donere på vegne af en ven eller et familiemedlem, der bruger Signal. De vil modtage et badge, som kan vises på deres profil i %1$d dag + Støt Signal ved at donere på vegne af en ven eller et familiemedlem, der bruger Signal. De vil modtage et badge, som kan vises på deres profil i %1$d dage Næste @@ -5353,9 +5350,9 @@ Sms-understøttelse forsvinder - Sms-understøttelse vil snart blive fjernet for at fokusere på krypterede beskeder. + Bare rolig, krypterede Signal-beskeder vil fortsat fungere. - Eksportér sms + Fortsæt Eksport gennemført @@ -5480,10 +5477,17 @@ Råd: Træk chatlisten ned for at filtrere - - Snart vil Signal ikke længere understøtte din enheds Android-version. For at bruge Signal fremadrettet, skal du opdatere din enhed eller skifte til en nyere enhed inden %1$s. - - - Få mere at vide + + Sms-understøttelse forsvinder + + Snart understøttes sms-beskeder i Signal-appen ikke længere. + + Sms-beskeder er anderledes end Signal-beskeder. Dette påvirker ikke krypterede Signal-meddelelser, som fortsat vil fungere. + + Du kan eksportere dine sms-beskeder og vælge en ny sms-app. + + Signal har fjernet understøttelse af afsendelse af sms-beskeder. + + Eksportér sms diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index de02886bf7..0a38740745 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -653,9 +653,6 @@ Diese Signal-Version ist veraltet. Aktualisiere jetzt, um Nachrichten senden und empfangen zu können. Jetzt aktualisieren - - Signal funktioniert auf diesem Gerät nicht mehr. Um Signal wieder nutzen zu können, aktualisiere dein Gerät auf eine neuere Android-Version oder wechsle zu einem neueren Gerät. - %1$d ausstehende Beitrittsanfrage. @@ -5000,8 +4997,8 @@ Für einen Freund spenden - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Unterstütze Signal, indem du für einen Freund oder ein Familienmitglied, das Signal nutzt, spendest. Sie erhalten ein Abzeichen, das sie für %1$d Tag in ihrem Profil anzeigen können. + Unterstütze Signal, indem du für einen Freund oder ein Familienmitglied, das Signal nutzt, spendest. Sie erhalten ein Abzeichen, das sie für %1$d Tage auf ihrem Profil anzeigen können. Weiter @@ -5353,9 +5350,9 @@ SMS-Support wird eingestellt - Der SMS-Support wird bald entfernt, um den Fokus auf verschlüsselte Nachrichten zu legen. + Keine Sorge, verschlüsselten Signal-Nachrichten werden weiterhin funktionieren. - SMS exportieren + Fortfahren Export abgeschlossen @@ -5480,10 +5477,17 @@ Tipp: Ziehe die Unterhaltungsliste nach unten, um zu filtern - - Signal wird die Android-Version deines Geräts demnächst nicht mehr unterstützen. Um Signal weiterhin nutzen zu können, aktualisiere dein Gerät oder wechsle bis zum %1$s auf ein neueres Gerät. - - - Mehr erfahren + + SMS-Support wird eingestellt + + SMS-Nachrichten in der Signal-App werden bald nicht mehr unterstützt. + + SMS-Nachrichten sind anders als Signal-Nachrichten. Dies hat keine Auswirkungen auf verschlüsselte Signal-Nachrichten, die weiterhin funktionieren werden. + + Du kannst deine SMS-Nachrichten exportieren und eine neue SMS-App festlegen. + + Signal hat die Unterstützung für das Senden von SMS-Nachrichten abgeschafft. + + SMS exportieren diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index c58ef924f0..5ce82642c4 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -653,9 +653,6 @@ Αυτή η έκδοση Signal έχει λήξει. Αναβάθμισε τώρα για να στείλεις και να λάβεις μηνύματα. Αναβάθμιση τώρα - - Η Signal δεν λειτουργεί πλέον σε αυτή τη συσκευή. Για να χρησιμοποιήσεις πάλι τη Signal, ενημέρωσε τη συσκευή σου με μια νεότερη έκδοση Android ή συνδέσου σε μια νεότερη συσκευή. - %1$d αίτημα μέλους σε εκκρεμότητα @@ -5000,8 +4997,8 @@ Κάνε δωρεά για έναν φίλο ή φίλη - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Υποστήριξε τη Signal με δωρεά για έναν φίλο, μία φίλη ή ένα μέλος της οικογένειας που χρησιμοποιεί τη Signal. Θα λάβουν ένα σήμα που θα εμφανίζεται στο προφίλ τους για %1$d μέρα + Υποστήριξε τη Signal με δωρεά για έναν φίλο, μία φίλη ή ένα μέλος της οικογένειας που χρησιμοποιεί τη Signal. Θα λάβουν ένα σήμα που θα εμφανίζεται στο προφίλ τους για %1$d μέρες Επόμενο @@ -5353,9 +5350,9 @@ Η υποστήριξη SMS καταργείται - Η υποστήριξη SMS θα καταργηθεί σύντομα για εστίαση στην κρυπτογραφημένη ανταλλαγή μηνυμάτων. + Μην ανησυχείς, τα κρυπτογραφημένα μηνύματα Signal θα συνεχίσουν να λειτουργούν. - Εξαγωγή SMS + Συνέχεια Ολοκληρώθηκε η εξαγωγή @@ -5480,10 +5477,17 @@ Συμβουλή: Σύρε προς τα κάτω στη λίστα συνομιλιών για φιλτράρισμα - - Η Signal δεν θα υποστηρίζει πλέον την έκδοση Android της συσκευής σου. Για να συνεχίσεις να χρησιμοποιείς τη Signal, ενημέρωσε τη συσκευή σου ή συνδέσου σε μια νεότερη συσκευή έως τις %1$s. - - - Μάθε περισσότερα + + Η υποστήριξη SMS καταργείται + + Η ανταλλαγή μηνυμάτων SMS στην εφαρμογή Signal σύντομα δεν θα υποστηρίζεται πλέον. + + Τα μηνύματα SMS διαφέρουν από τα μηνύματα Signal. Αυτή η αλλαγή δεν επηρεάζει τα κρυπτογραφημένα μηνύματα Signal, τα οποία θα συνεχίσουν να λειτουργούν. + + Μπορείς να εξαγάγεις τα μηνύματα SMS σου και να επιλέξεις μια νέα εφαρμογή SMS. + + Η Signal έχει καταργήσει την υποστήριξη για την αποστολή μηνυμάτων SMS. + + Εξαγωγή SMS diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index b6aa94dcac..0f7f75c899 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -653,9 +653,6 @@ Esta versión de Signal ha caducado. Actualízala ahora para seguir enviando y recibiendo mensajes. Actualizar ahora - - Signal ya no funciona en este dispositivo. Para volver a usar Signal, actualiza tu dispositivo a una versión más nueva de Android o cámbialo por un dispositivo más nuevo. - %1$d solicitud pendiente. @@ -5000,8 +4997,8 @@ Donar en nombre de un amigo - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Apoya a Signal haciendo una donación en nombre de un amigo o familiar que use Signal. Recibirán una insignia para mostrar en su perfil durante %1$d día + Apoya a Signal haciendo una donación en nombre de un amigo o familiar que use Signal. Recibirán una insignia para mostrar en su perfil durante %1$d días Siguiente @@ -5353,9 +5350,9 @@ Los SMS dejan de ser compatibles - Los SMS pronto no serán compatibles para centraros en la mensajería cifrada. + No te preocupes, los mensajes encriptados de Signal seguirán funcionando. - Exportar SMS + Continuar Exportación completa @@ -5480,10 +5477,17 @@ Truco: desplázate hacia abajo en la lista de chats para filtrar - - Signal pronto dejará de ser compatible con la versión de Android de tu dispositivo. Para seguir usando Signal, actualiza tu dispositivo o cámbialo por un dispositivo más nuevo antes del %1$s . - - - Saber más + + Los SMS dejarán de ser compatibles + + La mensajería SMS pronto dejará de ser compatible con la app de Signal. + + Los mensajes SMS son diferentes a los mensajes de Signal. Esto no afectará a los mensajes encriptados de Signal, que seguirán funcionando. + + Puedes exportar tus mensajes SMS y elegir una nueva app para los SMS. + + Signal ha eliminado la compatibilidad con el envío de mensajes SMS. + + Exportar SMS diff --git a/app/src/main/res/values-et/strings.xml b/app/src/main/res/values-et/strings.xml index e78d0bd3ea..5bba570fe6 100644 --- a/app/src/main/res/values-et/strings.xml +++ b/app/src/main/res/values-et/strings.xml @@ -653,9 +653,6 @@ See Signali versioon on aegunud. Sõnumite saatmiseks ja vastuvõtmiseks uuenda kohe. Uuenda kohe - - Signal ei tööta enam selles seadmes. Selleks, et Signalit edasi kasutada, uuenda oma seadme Androidi versiooni või võta kasutusele uuem seade. - %1$d ootel liikmetaotlus. @@ -5000,8 +4997,8 @@ Anneta sõbra nimel - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Toeta Signalit, tehes annetus sõbra või pereliikme nimel, kes samuti Signalit kasutab. Tema saab selle eest %1$d päevaks oma profiilile kuvamiseks märgi + Toeta Signalit, tehes annetus sõbra või pereliikme nimel, kes samuti Signalit kasutab. Tema saab selle eest %1$d päevaks oma profiilile kuvamiseks märgi Edasi @@ -5353,9 +5350,9 @@ SMS-sõnumite toetamine lõpeb - Lõpetame varsti SMS-sõnumite toetamise, et saaksime keskenduda krüptitud sõnumisidele. + Ära muretse, krüptitud Signali sõnumeid saad samamoodi edasi saata. - Ekspordi SMS + Jätka Eksportimine lõpule viidud @@ -5480,10 +5477,17 @@ Filtreerimiseks tõmba mööda vestluste ajalugu sõrmega alla - - Signal lõpetab varsti sinu seadme Androidi versiooni toetamise. Kui soovid jätkata Signali kasutamist, uuenda oma seadet või võta kasutusele uuem seade hiljemalt %1$s. - - - Rohkem teavet + + SMS-sõnumite toetamine lõpeb + + SMS-sõnumite toetamine Signali rakenduses lõpeb õige pea. + + SMS-sõnumid erinevad Signali sõnumitest. See ei mõjuta krüptitud Signali sõnumeid, mida saad samamoodi edasi saata. + + Sul on võimalik oma SMS-sõnumid teise SMS-rakendusse ümber kolida. + + Signal on lõpetanud SMS-sõnumite saatmise toetamise. + + Ekspordi SMS diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index 32c3c5ba7d..042d554680 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -653,9 +653,6 @@ Signalen bertsio hau iraungi da. Eguneratu orain mezuak bidali eta jaso ahal izateko. Eguneratu orain - - Signal-ek jada ez du funtzionatzen gailu honetan. Signal berriro erabiltzeko, eguneratu gailua Android-en bertsio berriago batera, edo erabili gailu berriago bat. - Kide %1$den eskaera falta da. @@ -4155,7 +4152,7 @@ Audio Deia - Bideo deia + Bideodeia Ezabatu @@ -5000,8 +4997,8 @@ Egin dohaitza lagun bati - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Signal-i laguntzeko, egin dohaintza bat Signal erabiltzen duen lagun edo senide bati. Bere profilean %1$d egunez bistaratzeko bereizgarri bat jasoko du. + Signal-i laguntzeko, egin dohaintza bat Signal erabiltzen duen lagun edo senide bati. Bere profilean %1$d egunez bistaratzeko bereizgarri bat jasoko du. Hurrengoa @@ -5353,9 +5350,9 @@ SMSak erabiltzeko aukera desagertu egingo da - Laster, SMSak erabiltzeko aukera emateari utzi, eta mezu enkriptatuetan jarriko dugu arreta osoa. + Ez kezkatu, Signal-eko mezu enkriptatuek funtzionatzen jarraituko dute. - Esportatu SMSak + Jarraitu Osatu da esportazioa @@ -5480,10 +5477,17 @@ Aholkua: iragazteko, tiratu beherantz txat-zerrendan - - Aurrerantzean, Signal-ek ez du onartuko gailuan duzun Android-en bertsioa. Signal erabiltzen jarraitzeko, eguneratu gailua edo erabili gailu berriago bat %1$s baino lehen. - - - Informazio gehiago + + Laster, ezingo dira SMSak erabili + + Laster, SMS mezuak ez dira onartuko Signal aplikazioan. + + SMS mezuak ez dira Signal-eko mezuen berdinak. Honek ez die eragingo Signal-eko mezu enkriptatuei; beti bezala funtzionatzen dute. + + SMS mezuak esportatu, eta SMSetarako aplikazio berri bat aukera dezakezu. + + Signal-ek SMS mezuak bidaltzeko aukera kendu du. + + Esportatu SMSak diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index d254634318..3d363981ba 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -653,9 +653,6 @@ این نسخهٔ سیگنال منقضی شده است. برای ارسال و دریافت پیام‌ها همین حالا به‌روزرسانی کنید. همین حالا به‌روزرسانی کن - - سیگنال دیگر در این دستگاه کار نمی‌کند. برای استفاده مجدد از سیگنال، دستگاه خود را به نسخه جدیدتر اندروید به‌روزرسانی کنید یا از دستگاه جدیدتری استفاده کنید. - %1$d درخواست عضویت در حال انتظار. @@ -1892,9 +1889,9 @@ %1$s از طرف شما کمک مالی اهدا کرد - شما از طرف %1$s کمک مالی اهدا کردید + از طرف %1$s کمک مالی اهدا کردید - شما یک نشان آزادسازی کردید + یک نشان آزادسازی کردید با %1$s به استوری شما واکنش نشان داد @@ -4415,9 +4412,9 @@ اعتبار پاسخ سرور تایید نشد. لطفاً با پشتیبانی تماس بگیرید. - اهدا کمک مالی انجام نشد + اهدای کمک مالی انجام نشد - پرداخت شما پردازش شد اما سیگنال نتوانست پیام اهدای کمک مالی شما را ارسال کند. لطفاً با پشتیبانی تماس بگیرید. + پرداختتان پردازش شد اما سیگنال نتوانست پیام اهدای کمک مالی شما را ارسال کند. لطفاً با پشتیبانی تماس بگیرید. نشان شما به حساب کاربری‌تان اضافه نشد، اما ممکن است هزینه‌ای از شما کسر شده باشد. لطفاً با پشتیبانی تماس بگیرید. پرداخت شما هنوز در حال پردازش است. این فرآیند بسته به اتصال اینترنت شما ممکن است چند دقیقه به طول بیانجامد. لغو اشتراک انجام نشد @@ -5000,8 +4997,8 @@ از طرف یکی از دوستان کمک مالی اهدا کنید - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + با اهدای کمک مالی از طرف یکی از دوستان یا اعضای خانواده که از سیگنال استفاده می‌کند، از سیگنال پشتیبانی کنید. او نشانی برای نمایش در نمایه‌اش به مدت %1$d روز دریافت خواهد کرد + با اهدای کمک مالی از طرف یکی از دوستان یا اعضای خانواده که از سیگنال استفاده می‌کند، از سیگنال پشتیبانی کنید. او نشانی برای نمایش در نمایه‌اش به مدت %1$d روز دریافت خواهد کرد بعدی @@ -5012,7 +5009,7 @@ ارسال به - دریافت کننده با یک پیام اختصاصی از کمک مالی اهدایی مطلع خواهد شد. پیام خود را در زیر اضافه کنید. + دریافت‌کننده با یک پیام اختصاصی از کمک مالی اهدایی مطلع خواهد شد. پیام خود را در زیر اضافه کنید. کمک مالی یک‌باره @@ -5026,7 +5023,7 @@ %1$s از طرف شما به سیگنال کمک مالی اهدا کرد! حمایت خود را از سیگنال در نمایه خود نشان دهید. - شما از طرف %1$s به سیگنال کمک مالی اهدا کرده‌اید. به او امکان داده می‌شود که حمایت خود را در نمایه خود نشان دهد. + شما از طرف %1$s به سیگنال کمک مالی اهدا کرده‌اید. به او امکان داده می‌شود که حمایت خود را در نمایه ‌اش نشان دهد. آزادسازی @@ -5036,11 +5033,11 @@ می‌توانید بعدا نشان خود را آزادسازی کنید. - شما از طرف %1$s به سیگنال کمک مالی اهدا کرده‌اید. به او امکان داده می‌شود که حمایت خود را در نمایه خود نشان دهد. + شما از طرف %1$s به سیگنال کمک مالی اهدا کرده‌اید. به او امکان داده می‌شود که حمایت خود را در نمایه‌اش نشان دهد. نشان شما منقضی شده است - نشان شما منقضی شده است، و دیگر روی نمایه شما برای دیگران قابل مشاهده نیست. + نشان شما منقضی شده است و دیگر روی نمایه‌تان برای دیگران قابل مشاهده نیست. برای ادامهٔ حمایت از تکنولوژی‌ای که برای شما ساخته شده است. لطفاً تبدیل شدن به یک حامی ماهانه را در نظر بگیرید. @@ -5353,9 +5350,9 @@ پشتیبانی پیامک حذف می‌شود - پشتیبانی پیامک به‌زودی حذف خواهد شد تا روی پیام‌های رمزگذاری‌شده تمرکز شود. + نگران نباشید، پیام‌های رمزگذاری‌شده سیگنال همچنان کار خواهند کرد. - صدور پیامک + ادامه صدور انجام شد @@ -5480,10 +5477,17 @@ نکته: لیست چت را پایین بکشید تا فیلتر شود - - سیگنال به زودی دیگر از نسخه اندروید دستگاه شما پشتیبانی نخواهد کرد. برای ادامه استفاده از سیگنال، دستگاه خود را به‌روزرسانی کنید یا تا %1$s از دستگاه جدیدتری استفاده کنید. - - - بیشتر بدانید + + پشتیبانی پیامکی به‌زودی برداشته می‌شود + + به‌زودی دیگر از ارسال پیامک در برنامه سیگنال پشتیبانی نمی‌شود. + + پیامک‌ها با پیام‌های سیگنال تفاوت دارند. این تغییر بر پیام‌های رمزگذاری‌شده سیگنال تأثیری نخواهد داشت و آن‌ها همچنان کار خواهند کرد. + + می‌توانید پیامک‌هایتان را صادر کنید و برنامه پیامک جدیدی را انتخاب کنید. + + سیگنال پشتیبانی برای ارسال پیامک را حذف کرده است. + + صادر کردن پیامک diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 1ee3a5d23f..d4627c3438 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -653,9 +653,6 @@ Tämä Signal-versio on vanhentunut. Päivitä nyt lähettääksesi ja vastaanottaaksesi viestejä. Päivitä nyt - - Signal ei enää toimi tässä laitteessa. Jos haluat käyttää Signalia uudelleen, päivitä laite uudempaan Android-versioon tai vaihda uudempaan laitteeseen. - %1$d odottava ryhmäänliittymispyyntö. @@ -5000,8 +4997,8 @@ Lahjoita ystävän puolesta - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Tue Signalia tekemällä lahjoitus Signalia käyttävän ystävän tai perheenjäsenen puolesta. Hän saa merkin, jonka hän voi näyttää profiilissaan %1$d päivän ajan. + Tue Signalia tekemällä lahjoitus Signalia käyttävän ystävän tai perheenjäsenen puolesta. Hän saa merkin, jonka hän voi näyttää profiilissaan %1$d päivän ajan. Seuraava @@ -5353,9 +5350,9 @@ Tekstiviestituki on päättymässä - Tekstiviestituki päättyy pian palvelun keskittyessä viestien salaukseen. + Ei hätää, salatut Signal-viestit toimivat edelleen. - Vie tekstiviestit + Jatka Vienti valmis @@ -5480,10 +5477,17 @@ Vihje: Suodata vetämällä keskusteluluetteloa alaspäin - - Signalin tuki laitteesi Android-versiolle päättyy pian. Jos haluat jatkaa Signalin käyttöä, päivitä laitteesi tai vaihda uudempaan laitteeseen %1$s mennessä. - - - Lue lisää + + Tekstiviestituki päättyy pian + + Tekstiviestien tuki Signal-sovelluksessa päättyy pian. + + Tekstiviestit ovat erilaisia kuin Signal-viestit. Tällä ei ole vaikutusta salattuihin Signal-viesteihin, jotka toimivat edelleen. + + Voit viedä tekstiviestisi ja valita uuden tekstiviestisovelluksen. + + Signalin tuki tekstiviestien lähettämiselle on päättynyt. + + Vie tekstiviestit diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index c46382517e..b193690a7a 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -653,9 +653,6 @@ Votre version de Signal est expirée. Mettez-la à jour maintenant afin d’échanger des messages. Mettre Signal à jour maintenant - - Signal ne fonctionne plus sur cet appareil. Pour pouvoir utiliser Signal à nouveau, veuillez mettre à jour votre appareil Android ou utiliser un appareil plus récent. - %1$d demande d\'adhésion en attente. @@ -5000,8 +4997,8 @@ Faire un don pour un ami - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Soutenez Signal en effectuant un don pour un ami ou un membre de votre famille qui utilise Signal. Ils recevront un macaron à afficher sur leur profil pendant %1$d jour. + Soutenez Signal en effectuant un don pour un ami ou un membre de votre famille qui utilise Signal. Ils recevront un macaron à afficher sur leur profil pendant %1$d jours. Suivant @@ -5353,9 +5350,9 @@ Fin de la prise en charge des SMS - La prise en charge des SMS sera bientôt supprimée pour laisser place aux messages chiffrés. + Pas de panique : les messages cryptés Signal fonctionneront toujours. - Exportation du SMS + Poursuivre Exportation terminée @@ -5480,10 +5477,17 @@ Astuce : faites glisser la liste des conversations vers le bas pour filtrer - - Signal ne prendra bientôt plus en charge la version Android de votre appareil. Afin de continuer à utiliser Signal, veuillez mettre à jour votre appareil ou utiliser un appareil plus récent avant le %1$s. - - - En savoir plus + + Fin de la prise en charge des SMS + + Les SMS ne seront bientôt plus pris en charge dans l\'appli Signal. + + Les messages SMS sont différents des messages Signal. Cela n\'affecte pas la messagerie cryptée Signal qui continuera à fonctionner. + + Vous pouvez exporter vos SMS et choisir une nouvelle appli SMS. + + Signal a supprimé la prise en charge de l\'envoi des SMS. + + Exporter les SMS diff --git a/app/src/main/res/values-ga/strings.xml b/app/src/main/res/values-ga/strings.xml index 44a6dcb359..d379aec953 100644 --- a/app/src/main/res/values-ga/strings.xml +++ b/app/src/main/res/values-ga/strings.xml @@ -713,9 +713,6 @@ Chuaigh an leagan seo de Signal i léig. Nuashonraigh anois é chun teachtaireachtaí a sheoladh agus a fháil. Nuashonraigh anois é - - Níl Signal ag feidhmiú ar an ngléas seo a thuilleadh. Le Signal a úsáid arís, nuashonraigh do ghléas chuig leagan níos nuaí de Android nó aistrigh chuig gléas níos nuaí. - %1$d iarratas ar bhallraíocht ar feitheamh. @@ -5330,11 +5327,11 @@ Tabhair airgead ar son Cara - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Tacaigh le Signal trí thabhartas a thabhairt ar son cara nó duine den teaghlach a úsáideann Signal. Gheobhaidh an duine sin suaitheantas le taispeáint ar an próifíl ar feadh %1$d lae + Tacaigh le Signal trí thabhartas a thabhairt ar son cara nó duine den teaghlach a úsáideann Signal. Gheobhaidh an duine sin suaitheantas le taispeáint ar an próifíl ar feadh %1$d lá + Tacaigh le Signal trí thabhartas a thabhairt ar son cara nó duine den teaghlach a úsáideann Signal. Gheobhaidh an duine sin suaitheantas le taispeáint ar an próifíl ar feadh %1$d lá + Tacaigh le Signal trí thabhartas a thabhairt ar son cara nó duine den teaghlach a úsáideann Signal. Gheobhaidh an duine sin suaitheantas le taispeáint ar an próifíl ar feadh %1$d lá + Tacaigh le Signal trí thabhartas a thabhairt ar son cara nó duine den teaghlach a úsáideann Signal. Gheobhaidh an duine sin suaitheantas le taispeáint ar an próifíl ar feadh %1$d lá Ar Aghaidh @@ -5716,9 +5713,9 @@ Tacaíocht do SMA le críochnú - Bainfear tacaíocht SMS go luath chun díriú ar chur teachtaireachtaí criptithe. + Ná bíodh imní ort, leanfar le teachtaireachtaí criptithe Signal. - Easpórtáil SMS + Ar aghaidh Easpórtáil Críochnaithe @@ -5852,10 +5849,17 @@ Leid: Tarraing anuas ar an liosta comhráite le scagadh a dhéanamh - - Ní bheidh tacú ag Signal go luath leis an leagan de Android atá ar do ghléas. Le leanúint le Signal a úsáid, nuashonraigh do ghléas nó aistrigh chuig gléas níos nuaí faoin %1$s. - - - Tuilleadh faisnéise + + Tá tacaíocht do SMS le críochnú + + Cuirfear deireadh le tacaíocht le cur teachtaireachtaí SMS san aip Signal ar ball. + + Ní hionann teachtaireachtaí SMS agus teachtaireachtaí Signal. Ní chuirfidh sé sin isteach ar chur teachtaireachtaí criptithe Signal, leanfar leosan. + + Is féidir leat do theachtaireachtaí SMS a easpórtáil agus aip nua SMS a roghnú. + + Bhain Signal an tacaíocht le teachtaireachtaí SMS a sheoladh. + + Easpórtáil SMS diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index 82cb31aef9..ea350812b5 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -653,9 +653,6 @@ Esta versión de Signal caducou. Actualiza para poder enviar e recibir mensaxes. Actualiza - - Signal xa non funciona neste dispositivo. Para empregar Signal de novo, actualiza o teu dispositivo á versión máis recente de Android ou cambia de dispositivo. - %1$d solicitude de membros pendente. @@ -5000,8 +4997,8 @@ Doar en nome dun amigo - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Apoia a Signal ao doar en nome dun amigo ou familiar que empregue Signal. Recibirán unha insignia que poden mostrar no seu perfil durante %1$d día. + Apoia a Signal ao doar en nome dun amigo ou familiar que empregue Signal. Recibirán unha insignia que poden mostrar no seu perfil durante %1$d días. Seguinte @@ -5353,9 +5350,9 @@ Rematará a compatibilidade coas mensaxes SMS - A función de mensaxes SMS eliminarase pronto para centrármonos na mensaxería encriptada. + Non te preocupes, as mensaxes encriptadas de Signal seguen funcionando. - Exportar mensaxes SMS + Continuar Exportación completa @@ -5480,10 +5477,17 @@ Consello: arrastra cara abaixo da lista de conversas para filtrar - - Signal deixará de funcionar na versión de Android do teu dispositivo. Para seguir empregando Signal, actualiza o teu dispositivo ou cámbiao por un dispositivo máis actual antes do %1$s. - - - Máis información + + Rematará a compatibilidade coas mensaxes SMS + + As mensaxes SMS desaparecerán pronto da app de Signal e deixarán de ser compatibles. + + As mensaxes de SMS son diferentes das mensaxes de Signal. Isto non afectará as mensaxes encriptadas de Signal, que seguirán a funcionar. + + Podes exportar as túas mensaxes SMS e elixir unha nova app de SMS. + + Signal eliminou a compatibilidade para enviar mensaxes SMS. + + Exportar mensaxes SMS diff --git a/app/src/main/res/values-gu/strings.xml b/app/src/main/res/values-gu/strings.xml index 3f35c53083..bf483db015 100644 --- a/app/src/main/res/values-gu/strings.xml +++ b/app/src/main/res/values-gu/strings.xml @@ -653,9 +653,6 @@ Signal નું આ વર્ઝન સમાપ્ત થઈ ગયું છે. મેસેજ મોકલવા અને મેળવવા કરવા માટે અત્યારે અપડેટ કરો. અત્યારે અપડેટ કરો - - Signal હવે આ ડિવાઇસ પર કામ કરતું નથી. Signalનો ફરીથી ઉપયોગ કરવા માટે, તમારા ડિવાઇસને Android ના નવા વર્ઝન પર અપડેટ કરો અથવા નવા ડિવાઇસ પર સ્વિચ કરો. - %1$d મેમ્બર વિનંતી બાકી @@ -5000,8 +4997,8 @@ મિત્ર માટે દાન આપો - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Signalનો ઉપયોગ કરતા મિત્ર અથવા કુટુંબના સભ્ય માટે દાન કરીને Signalને સપોર્ટ કરો. તેઓને %1$d દિવસ માટે તેમની પ્રોફાઇલ પર પ્રદર્શિત કરવા માટે એક બૅજ પ્રાપ્ત થશે + Signalનો ઉપયોગ કરતા મિત્ર અથવા કુટુંબના સભ્ય માટે દાન કરીને Signalને સપોર્ટ કરો. તેઓને %1$d દિવસ માટે તેમની પ્રોફાઇલ પર પ્રદર્શિત કરવા માટે એક બૅજ પ્રાપ્ત થશે આગળ @@ -5353,9 +5350,9 @@ SMS સપોર્ટ બંધ થઈ રહ્યો છે - એન્ક્રિપ્ટ કરેલ મેસેજિંગ પર ધ્યાન આપવા માટે SMS માટેનું સમર્થન ટૂંક સમયમાં જ દૂર કરવામાં આવશે. + ચિંતા કરશો નહીં, એન્ક્રિપ્ટેડ Signal મેસેજ તો પણ કામ કરતા રહેશે. - SMS એક્સપોર્ટ કરો + ચાલુ રાખો એક્સપોર્ટ પૂર્ણ @@ -5480,10 +5477,17 @@ ટિપ: ફિલ્ટર કરવા માટે ચેટ સૂચિ પર નીચે ખેંચો - - Signal હવે ટૂંક સમયમાં તમારા ડિવાઇસના Android વર્ઝનને સપોર્ટ કરશે નહીં. Signalનો ઉપયોગ ચાલુ રાખવા માટે, તમારા ડિવાઇસને અપડેટ કરો અથવા %1$s સુધીમાં નવા ડિવાઇસ પર સ્વિચ કરો. - - - વધુ જાણો + + SMS સપોર્ટ બંધ થઈ રહ્યો છે + + Signal ઍપમાં SMS મેસેજિંગ હવે ટૂંક સમયમાં સપોર્ટ થશે નહીં. + + SMS મેસેજ Signal મેસેજ કરતાં અલગ હોય છે. આ એન્ક્રિપ્ટેડ Signal મેસેજિંગને અસર કરતું નથી જે કામ કરવાનું ચાલુ રાખશે. + + તમે તમારા SMS મેસેજને એક્સપોર્ટ કરી શકો છો અને નવી SMS ઍપ પસંદ કરી શકો છો. + + Signalએ SMS મેસેજ મોકલવા માટેનો સપોર્ટ દૂર કર્યો છે. + + SMS એક્સપોર્ટ કરો diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index 6b81fe393f..a40fa10ec8 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -653,9 +653,6 @@ Signal का यह वर्ज़न एक्सपायर हो गया है। मेसेज भेजने और प्राप्त करने के लिए अभी अपडेट करें। अभी अपडेट करें - - Signal अब इस डिवाइस पर काम नहीं करता। Signal का फिर से इस्तेमाल करने के लिए अपने डिवाइस को ऐंड्रॉयड के एक अधिक नए वर्ज़न में अपडेट करें या फिर किसी नए डिवाइस पर स्विच करें। - %1$d लंबित मेंबर अनुरोध। @@ -5000,8 +4997,8 @@ किसी दोस्त के लिए दान दें - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Signal इस्तेमाल करनेवाले किसी दोस्त या परिवार के सदस्य के लिए दान देकर Signal को सहयोग दें। उन्हें %1$d दिन के लिए अपनी प्रोफ़ाइल पर दर्शाने के लिए एक बैज मिलेगा + Signal इस्तेमाल करनेवाले किसी दोस्त या परिवार के सदस्य के लिए दान देकर Signal को सहयोग दें। उन्हें %1$d दिनों के लिए अपनी प्रोफ़ाइल पर दर्शाने के लिए एक बैज मिलेगा अगला @@ -5353,9 +5350,9 @@ SMS समर्थन हटाया जा रहा है - एनक्रिप्टेड संदेश सेवा पर फ़ोकस करने के लिए जल्द ही SMS सेवा का समर्थन हटा दिया जाएगा। + चिंता न करें, एनक्रिप्टेड Signal मैसेज काम करते रहेंगे। - SMS निर्यात करें + जारी रखें निर्यात पूरा हुआ @@ -5480,10 +5477,17 @@ नुस्खा : फ़िल्टर करने के लिए चैट सूची को पुल डाउन करें - - Signal द्वारा अब आपके डिवाइस के ऐंड्रॉयड वर्ज़न का सपोर्ट जल्द ही हटा लिया जाएगा। Signal इस्तेमाल करते रहने के लिए अपना डिवाइस अपडेट करें या फिर %1$s तक किसी नए डिवाइस पर स्विच कर लें। - - - अधिक जानें + + SMS सपोर्ट बंद हो रहा है + + Signal ऐप में SMS मैसेजिंग जल्द ही सपोर्ट नहीं रहेगी। + + SMS संदेश, Signal संदेशों से अलग होते हैं। इससे एन्क्रिप्टेड Signal मैसेजिंग पर असर नहीं पड़ता जो कि आगे भी काम करती रहेगी। + + आप अपने SMS मैसेज एक्सपोर्ट कर सकते हैं और कोई नया SMS ऐप चुन सकते हैं। + + Signal ने SMS मैसेज भेजने के लिए सपोर्ट हटा लिया है। + + SMS निर्यात करें diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index 0b466497ff..fec834424f 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -693,9 +693,6 @@ Ova verzija Signala je istekla. Ažurirajte odmah da biste slali i primali poruke. Ažuriraj sada - - Signal više nije kompatibilan s ovim uređajem. Da biste ponovno koristili Signal, ažurirajte svoj uređaj na noviju verziju Androida ili prijeđite na noviji uređaj. - %1$d zahtjev za članstvo na čekanju. @@ -5220,10 +5217,10 @@ Donirajte u ime prijatelja - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Podržite Signal donacijom u ime prijatelja ili člana obitelji koji koristi Signal. Primit će značku koju će moći prikazati na svom profilu na %1$d dan + Podržite Signal donacijom u ime prijatelja ili člana obitelji koji koristi Signal. Primit će značku koju će moći prikazati na svom profilu na %1$d dana + Podržite Signal donacijom u ime prijatelja ili člana obitelji koji koristi Signal. Primit će značku koju će moći prikazati na svom profilu na %1$d dana + Podržite Signal donacijom u ime prijatelja ili člana obitelji koji koristi Signal. Primit će značku koju će moći prikazati na svom profilu na %1$d dana Sljedeće @@ -5595,9 +5592,9 @@ Ukida se podrška za SMS poruke - Podrška za SMS poruke uskoro će biti uklonjena kako bismo se usredotočili na šifriranu razmjenu poruka. + Ne brinite, šifrirane Signal poruke će i dalje biti dostupne. - Izvoz SMS poruka + Nastavi Izvoz dovršen @@ -5728,10 +5725,17 @@ Savjet: povucite prema dolje na popisu razgovora za filtriranje - - Signal uskoro više neće biti kompatibilan s verzijom Androida na vašem uređaju. Da biste nastavili koristiti Signal, ažurirajte svoj uređaj ili prijeđite na noviji uređaj do %1$s. - - - Saznajte više + + Ukida se podrška za SMS poruke + + Slanje SMS poruka unutar aplikacije Signal uskoro neće više biti moguće. + + SMS poruke nisu isto što i Signal poruke. Ovo ne utječe na slanje šifriranih poruka unutar Signala koje će nastaviti normalno funkcionirati. + + Svoje SMS poruke možete izvesti i odabrati drugu aplikaciju za slanje SMS poruka. + + Signal je uklonio podršku za slanje SMS poruka. + + Izvoz SMS poruka diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 61f7ad1df7..31fc13f9dc 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -653,9 +653,6 @@ Az általad használt Signal verziója elavult. Üzenetek küldéséhez és fogadásához frissíts most! Frissítés most - - A Signal már nem működik ezen az eszközön. A Signal ismételt használatához frissítsd az eszközöd az Android újabb verziójára, vagy válts egy újabb eszközre. - %1$d függőben lévő tagsági kérés. @@ -5000,8 +4997,8 @@ Adomány egy ismerősnek - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Támogasd a Signalt azáltal, hogy adományozol egy olyan ismerősödnek vagy családtagodnak, aki használja a Signalt. Ezáltal az adott személy kap egy jelvényt, amelyet %1$d napig megjeleníthet a profilján + Támogasd a Signalt azáltal, hogy adományozol egy olyan ismerősödnek vagy családtagodnak, aki használja a Signalt. Ezáltal az adott személy kap egy jelvényt, amelyet %1$d napig megjeleníthet a profilján Tovább @@ -5353,9 +5350,9 @@ Az SMS-támogatás megszűnik - Az SMS-támogatás hamarosan megszűnik, hogy a titkosított üzenetküldésre összpontosíthassunk. + Ne aggódj, a titkosított Signal-üzenetek továbbra is működni fognak. - SMS-exportálás + Tovább Exportálás kész @@ -5480,10 +5477,17 @@ Tipp: a szűréshez húzd le a csevegőlistát - - A Signal hamarosan nem fogja támogatni az eszközödön lévő Android-verziót. A Signal használatának folytatásához frissítsd az eszközöd, vagy válts egy újabb eszközre %1$s dátumig. - - - Tudj meg többet + + Az SMS-támogatás megszűnik + + Hamarosan megszűnik az SMS-ek támogatása a Signal-alkalmazásban. + + Az SMS-ek eltérnek a Signal-üzenetektől. Ez nincs hatással a titkosított Signal-üzenetküldési szolgáltatásra, amely továbbra is működik. + + Exportálhatod az SMS-eidet, és választhatsz egy új SMS-alkalmazást. + + A Signal megszüntette az SMS-ek küldésének támogatását. + + SMS-exportálás diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index b01ef534a9..3be153aacd 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -633,9 +633,6 @@ Versi Signal ini telah kedaluwarsa. Perbarui sekarang untuk mengirim dan menerima pesan. Perbarui sekarang - - Signal sudah tidak berfungsi di perangkat ini. Untuk menggunakan Signal lagi, perbarui versi Android ke yang lebih baru atau beralihlah ke perangkat yang lebih baru. - %1$d permintaan anggota tertunda. @@ -4890,7 +4887,7 @@ Donasi untuk Teman - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Dukung Signal dengan memberikan donasi untuk teman atau anggota keluarga yang menggunakan Signal. Mereka akan menerima lencana untuk ditampilkan di profil mereka selama %1$d hari Berikutnya @@ -5232,9 +5229,9 @@ Dukungan untuk SMS ditiadakan - Dukungan untuk SMS akan segera dihentikan demi fokus pada pengiriman pesan terenkripsi. + Jangan khawatir, pesan terenkripsi Signal akan terus berfungsi. - Ekspor SMS + Lanjutkan Ekspor Selesai @@ -5356,10 +5353,17 @@ Tips: Tarik ke bawah pada daftar obrolan untuk memfilter - - Signal tidak akan lagi mendukung versi perangkat Android Anda dalam waktu dekat. Untuk tetap menggunakan Signal, perbarui perangkat Anda, atau beralihlah ke perangkat yang lebih baru paling lambat %1$s. - - - Selengkapnya + + Dukungan SMS akan dihentikan + + Dukungan SMS di aplikasi Signal akan segera dihentikan. + + Pesan SMS berbeda dengan pesan Signal. Ini tidak memengaruhi perpesanan terenkripsi Signal yang akan tetap berfungsi. + + Anda dapat mengekspor pesan SMS dan memilih aplikasi SMS baru. + + Signal telah meniadakan dukungan untuk pengiriman pesan SMS. + + Ekspor SMS diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 97238a85ee..02fadf3a95 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -653,9 +653,6 @@ Questa versione di Signal è scaduta. Aggiorna ora per inviare e ricevere messaggi. Aggiorna ora - - Signal non è più supportato su questo dispositivo. Per continuare a usare l\'app, devi aggiornare Android all\'ultima versione oppure provare su un dispositivo più recente. - %1$d richiesta per entrare nel gruppo ancora in attesa. @@ -5000,8 +4997,8 @@ Fai una donazione per un\'altra persona - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Supporta Signal facendo una donazione per conto di una persona che già usa il servizio. L\'altra persona riceverà un Badge Signal che potrà mostrare sul proprio profilo per %1$d giorno. + Supporta Signal facendo una donazione per conto di una persona che già usa il servizio. L\'altra persona riceverà un Badge Signal che potrà mostrare sul proprio profilo per %1$d giorni. Avanti @@ -5353,9 +5350,9 @@ Il supporto agli SMS verrà rimosso - Il supporto agli SMS verrà rimosso a breve per spostare il nostro focus su sistemi di messaggistica più sicuri e criptati. + Non preoccuparti, i messaggi crittografati di Signal continueranno a funzionare. - Esporta SMS + Continua Esportazione completata @@ -5480,10 +5477,17 @@ Consiglio: scorri in basso sulla lista delle chat per filtrare - - L\'app di Signal non supporterà più la versione Android installata sul tuo dispositivo. Hai tempo fino al %1$s per continuare a usare l\'app, dopodiché dovrai aggiornare Android all\'ultima versione oppure provare su un dispositivo più recente. - - - Scopri di più + + Presto non supporteremo più gli SMS + + Presto l\'app di Signal non supporterà più i messaggi SMS. + + I messaggi SMS sono diversi rispetto ai messaggi di Signal. I messaggi crittografati di Signal continueranno a funzionare senza variazioni. + + Puoi esportare i tuoi SMS e scegliere una nuova app di messaggistica che li supporti. + + Signal non supporta più l\'invio di messaggi SMS. + + Esporta SMS diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index 133ccb3079..868f572b4a 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -693,9 +693,6 @@ גרסה זו של Signal פגה. עדכן עכשיו כדי לשלוח ולקבל הודעות. עדכן עכשיו - - אפליקציית Signal כבר לא פועלת במכשיר הזה. כדי להשתמש ב–Signal שוב, צריך לעדכן את המכשיר לגרסה חדשה יותר של Android או להחליף למכשיר חדש יותר. - בקשה ממתינה של חבר קבוצה %1$d. @@ -5220,10 +5217,10 @@ ביצוע תרומה בשביל חבר/ה - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + אפשר לתמוך ב–Signal על ידי ביצוע תרומה בשביל חבר/ה או קרוב/ת משפחה שמשתמשים ב–Signal. הם יקבלו תג שיוכלו להציג בפרופיל שלהם ליום %1$d + אפשר לתמוך ב–Signal על ידי ביצוע תרומה בשביל חבר/ה או קרוב/ת משפחה שמשתמשים ב–Signal. הם יקבלו תג שיוכלו להציג בפרופיל שלהם ליומיים + אפשר לתמוך ב–Signal על ידי ביצוע תרומה בשביל חבר/ה או קרוב/ת משפחה שמשתמשים ב–Signal. הם יקבלו תג שיוכלו להציג בפרופיל שלהם ל–%1$d ימים + אפשר לתמוך ב–Signal על ידי ביצוע תרומה בשביל חבר/ה או קרוב/ת משפחה שמשתמשים ב–Signal. הם יקבלו תג שיוכלו להציג בפרופיל שלהם ל–%1$d ימים הבא @@ -5595,9 +5592,9 @@ נפרדים מהתמיכה ב–SMS - התמיכה ב–SMS תוסר בקרוב כדי להתמקד בהודעות מוצפנות. + אל דאגה, הודעות Signal מוצפנות ימשיכו לפעול. - ייצוא SMS + המשך הייצוא הושלם @@ -5728,10 +5725,17 @@ טיפ: אפשר לגרור למטה את רשימת הצ׳אטים כדי לסנן - - בקרוב Signal תפסיק לתמוך בגרסת Android של המכשיר שלך. כדי להמשיך להשתמש ב–Signal, צריך לעדכן את המכשיר או להחליף למכשיר חדש יותר עד %1$s. - - - למידע נוסף + + נפרדים מהתמיכה ב–SMS + + בקרוב לא תהיה תמיכה בהודעות SMS באפליקציית Signal. + + הודעות SMS שונות מהודעות Signal. זה לא ישפיע על שליחת הודעות מוצפנת ב–Signal, שתמשיך לפעול. + + אפשר לייצא את הודעות ה–SMS שלך ולבחור אפליקציית SMS חדשה. + + Signal הסירה את התמיכה בשליחת הודעות SMS. + + ייצוא SMS diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index fb1e0044b0..c398d18b43 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -633,9 +633,6 @@ このバージョンのSignalは期限が切れています。メッセージを送受信するには、アップデートしてください。 アップデートする - - このデバイスではSignalは動作しなくなりました。再びSignalを利用するためには、お使いのデバイスでAndroidのバージョンをアップデートするか、機種変更をしてください。 - %1$d件のメンバー申請が保留中です。 @@ -4890,7 +4887,7 @@ 友達に代わって寄付する - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Signalを利用している友人や家族の代わりに寄付をして、Signalをサポートすることができます。その人たちはバッジを受け取り、プロフィールに %1$d 日間表示されます。 次へ @@ -5232,9 +5229,9 @@ SMSサポートの終了 - 暗号化されたメッセージ送受信にフォーカスするため、SMSのサポートはまもなく終了する予定です。 + 暗号化されたSignalメッセージは引き続きご使用になれますのでご安心ください。 - SMSをエクスポートする + 続行 エクスポートが完了しました @@ -5356,10 +5353,17 @@ ヒント: チャットリストを下にスワイプしてフィルタリング - - Signalは、お使いのデバイスのAndroidのバージョンサポートをまもなく終了する予定です。Signalを引き続き利用するには、 %1$sまでにデバイスをアップデートするか機種変更をしてください。 - - - 詳しく見る + + SMSサポートの終了 + + SignalアプリのSMSメッセージは、近日中にサポートが終了します。 + + SMSメッセージはSignalのメッセージとは異なります。暗号化されたSignalメッセージへの影響はなく、引き続きご使用になれます。 + + SMSメッセージをエクスポートして、新しいSMSアプリを選択できます。 + + Signalは、SMSメッセージの送信のサポートを終了しました。 + + SMSをエクスポートする diff --git a/app/src/main/res/values-ka/strings.xml b/app/src/main/res/values-ka/strings.xml index 61cf478437..53b1997a1c 100644 --- a/app/src/main/res/values-ka/strings.xml +++ b/app/src/main/res/values-ka/strings.xml @@ -653,9 +653,6 @@ Signal-ის ამ ვერსიას ვადა გაუვიდა. განაახლე ახლავე, რათა გააგზავნო და მიიღო შეტყობინებები. განაახლე ახლავე - - ამ მოწყობილობაზე Signal-ი აღარ მუშაობს. იმისათვის, რომ Signal-ის გამოყენება ისევ შეძლო, განაახლე Android-ის ვერსია, ან შეცვალე შენი მოწყობილობა ახლით. - %1$d მოლოდინის რეჟიმში მყოფი წევრობის მოთხოვნა. @@ -5000,8 +4997,8 @@ გაუკეთე დონაცია მეგობარს - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + დაუჭირე მხარი Signal-ს დონაციის გაკეთებით იმ მეგობრის ან ოჯახის წევრის სახელზე, რომელიც Signal-ს იყენებს. ისინი მათ პროფილზე გამოსაჩენ ემბლემას %1$d დღით მიიღებენ. + დაუჭირე მხარი Signal-ს დონაციის გაკეთებით იმ მეგობრის ან ოჯახის წევრის სახელზე, რომელიც Signal-ს იყენებს. ისინი მათ პროფილზე გამოსაჩენ ემბლემას %1$d დღით მიიღებენ. შემდეგი @@ -5353,9 +5350,9 @@ SMS-ის მხარდაჭერა უქმდება - SMS შეტყობინებების მხარდაჭერა მალე გაუქმდება დაშიფრულ შეტყობინებებზე ფოკუსირებისთვის. + ნუ ღელავ, Signal-ის დაშიფრული წერილები ისევ იმუშავებს. - SMS-ის ექსპორტირება + გაგრძელება ექსპორტირება დასრულებულია @@ -5480,10 +5477,17 @@ რჩევა: გასაფილტრად ჩატების სია დაბლა ჩამოქაჩე - - მალე Signal-ს შენი მოწყობილობის Android-ის ვერსიის მხარდაჭერა აღარ ექნება. იმისათვის, რომ Signal-ით სარგებლობა განაგრძო, განაახლე შენი მოწყობილობა ან გამოცვალე ის %1$s-მდე. - - - გაიგე მეტი + + SMS-ის მხარდაჭერა აღარ გვექნება + + მალე Signal-ის აპს SMS მიმოწერის მხარდაჭერა აღარ ექნება. + + SMS წერილები Signal-ის წერილებისგან განსხვავდება. ამას გავლენა არ ექნება Signal-ის დაშიფრულ მიმოწერაზე, რომელიც ისევ იმუშავებს. + + შეგიძლია შენი SMS წერილები დააექსპორტო და ახალი SMS აპი აირჩიო. + + Signal-მა SMS წერილების გაგზავნის მხარდაჭერა გააუქმა. + + SMS-ის ექსპორტირება diff --git a/app/src/main/res/values-kk/strings.xml b/app/src/main/res/values-kk/strings.xml index ee5fe6da12..6c5bf5e798 100644 --- a/app/src/main/res/values-kk/strings.xml +++ b/app/src/main/res/values-kk/strings.xml @@ -653,9 +653,6 @@ Signal-дың бұл нұсқасы ескіріп кетті. Хаттар жіберу және алу үшін қазір жаңартыңыз. Қазір жаңарту - - Signal бұдан былай бұл құрылғыда жұмыс істемейді. Signal-ды қайта қолдану үшін, құрылғыңыздағы Android жүйесінің соңғы нұсқасын орнатыңыз немесе жаңа құрылғыға ауысыңыз. - Топ мүшесі болуға %1$d өтініш тұр. @@ -5000,8 +4997,8 @@ Досқа демеу - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Signal қолданбасын пайдаланатын досыңызға немесе жақын туысыңызға демеу жасау арқылы Signal-ға қолдау көрсетіңіз. Олардың профилінде %1$d күн бойы таңба тұратын болады + Signal қолданбасын пайдаланатын досыңызға немесе жақын туысыңызға демеу жасау арқылы Signal-ға қолдау көрсетіңіз. Олардың профилінде %1$d күн бойы таңба тұратын болады Келесі @@ -5353,9 +5350,9 @@ SMS-ке қолдау көрсетілмейтін болады - Шифрланған хат алмасу функциясына көңіл бөлу үшін жақында SMS хат алмасу функциясы істемейтін болады. + Уайымдамаңыз, шифрланған Signal хаттары істей береді. - SMS хаттарды экспорттау + Жалғастыру Экспорттау процесі аяқталды @@ -5480,10 +5477,17 @@ Кеңес: фильтр қолдану үшін чатты төмен сырғытыңыз - - Құрылғыңыздағы Android жүйесінің қазіргі нұсқасында жақында Signal жұмыс істемейтін болады. Signal-ды әрі қарай пайдалана беру үшін құрылғыңызды жаңартыңыз немесе %1$s күніне дейін жаңа құрылғыға ауысыңыз. - - - Толық ақпарат + + SMS-ке қолдау көрсетілмейтін болады + + Signal қолданбасындағы SMS хаттарға бұдан былай қолдау көрсетілмейтін болады. + + SMS хаттары Signal хаттарынан басқа. Ол шифрланған Signal хаттарының жұмысына әсер етпейді. + + SMS хаттарыңызды экспорттап алып, жаңа SMS қолданбасын таңдауыңызға болады. + + Signal қолданбасынан SMS хаттарды жіберу функциясы алып тасталды. + + SMS хаттарды экспорттау diff --git a/app/src/main/res/values-km/strings.xml b/app/src/main/res/values-km/strings.xml index a9b2c9a84b..00ff0985f3 100644 --- a/app/src/main/res/values-km/strings.xml +++ b/app/src/main/res/values-km/strings.xml @@ -633,9 +633,6 @@ កំណែ Signal នេះបានផុតកំណត់។ ធ្វើបច្ចុប្បន្នភាពឥឡូវ ដើម្បីផ្ញើ និងទទួលសារ។ ធ្វើបច្ចុប្បន្នភាពឥឡូវនេះ - - Signal លែងដំណើរការលើឧបករណ៍នេះទៀតហើយ។ ដើម្បីប្រើ Signal ឡើងវិញ សូមដំឡើងកំណែឧបករណ៍របស់អ្នកទៅជា Android កំណែថ្មីជាងនេះ ឬប្តូរទៅឧបករណ៍ថ្មីជាងនេះ។ - %1$d សំណើសមាជិកមិនទាន់សម្រេច។ @@ -4890,7 +4887,7 @@ បរិច្ចាគសម្រាប់មិត្តភក្តិម្នាក់ - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + គាំទ្រ Signal ដោយធ្វើការបរិច្ចាគសម្រាប់មិត្តភក្តិ ឬសមាជិកគ្រួសារដែលប្រើ Signal។ ពួកគេនឹងទទួលបានស្លាកមួយដើម្បីបង្ហាញនៅលើប្រូហ្វាល់របស់ពួកគេរយៈពេល %1$d ថ្ងៃ បន្ទាប់ @@ -5232,9 +5229,9 @@ សារជាអក្សរនឹងលែងប្រើបានទៀតហើយ - ការគាំទ្រចំពោះសារជាអក្សរនឹងត្រូវបានដកចេញក្នុងពេលឆាប់ៗនេះ ដើម្បីផ្តោតលើការផ្ញើសារដែលបានអ៊ីនគ្រីប។ + កុំបារម្ភអី! សារ Signal ដែលបានអ៊ីនគ្រីបនឹងបន្តដំណើរការ។ - នាំចេញសារជាអក្សរ + បន្ត ការនាំចេញបានបញ្ចប់ @@ -5356,10 +5353,17 @@ គន្លឹះ៖ ទាញចុះក្រោមនៅលើបញ្ជីជជែកដើម្បីត្រង - - Signal នឹងមិនអាចប្រើបានជាមួយកំណែ Android របស់ឧបករណ៍អ្នកទៀតទេក្នុងពេលឆាប់ៗនេះ។ ដើម្បីបន្តប្រើ Signal សូមដំឡើងកំណែឧបករណ៍របស់អ្នក ឬប្តូរទៅឧបករណ៍ថ្មីជាងនេះត្រឹម %1$s។ - - - ស្វែងយល់បន្ថែម + + សារជាអក្សរនឹងលែងប្រើបានទៀតហើយ + + ការផ្ញើសារជាអក្សរក្នុងកម្មវិធី Signal នឹងលែងប្រើបានទៀតហើយក្នុងពេលឆាប់ៗនេះ។ + + សារជាអក្សរគឺខុសពីសារ Signal។ វាមិនប៉ះពាល់ដល់ការផ្ញើសារ Signal ដែលបានអ៊ីនគ្រីប ដែលនឹងបន្តដំណើរការទេ។ + + អ្នកអាចនាំចេញសារជាអក្សររបស់អ្នក ហើយជ្រើសរើសកម្មវិធីសារជាអក្សរថ្មី។ + + Signal បានដកការគាំទ្រសម្រាប់ការផ្ញើសារជាអក្សរ។ + + នាំចេញសារជាអក្សរ diff --git a/app/src/main/res/values-kn/strings.xml b/app/src/main/res/values-kn/strings.xml index cea272673b..e525620433 100644 --- a/app/src/main/res/values-kn/strings.xml +++ b/app/src/main/res/values-kn/strings.xml @@ -653,9 +653,6 @@ ನಿಮ್ಮ Signal ಆವೃತ್ತಿಯ ವಾಯಿದೆ ಮುಗಿದಿದೆ. ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸಲು ಮತ್ತೆ ಪಡೆಯಲು ನವೀಕರಿಸಿ. ಈಗ ನವೀಕರಿಸಿ - - ಈ ಸಾಧನದಲ್ಲಿ Signal ಇನ್ನು ಕಾರ್ಯನಿರ್ವಹಿಸುವುದಿಲ್ಲ. Signal ಅನ್ನು ಮತ್ತೊಮ್ಮೆ ಬಳಸಲು, Android ನ ಹೊಸ ಆವೃತ್ತಿಗೆ ನಿಮ್ಮ ಸಾಧನವನ್ನು ನವೀಕರಿಸಿ ಅಥವಾ ಹೊಸ ಸಾಧನಕ್ಕೆ ಬದಲಾಯಿಸಿ. - %1$d ಸದಸ್ಯರ ವಿನಂತಿ ಬಾಕಿ ಉಳಿದಿದೆ. @@ -5000,8 +4997,8 @@ ಸ್ನೇಹಿತರಿಗಾಗಿ ದೇಣಿಗೆ ನೀಡಿ - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Signal ಬಳಸುತ್ತಿರುವ ಸ್ನೇಹಿತ ಅಥವಾ ಕುಟುಂಬ ಸದಸ್ಯರಿಗಾಗಿ ದೇಣಿಗೆ ನೀಡುವ ಮೂಲಕ Signal ಅನ್ನು ಬೆಂಬಲಿಸಿ. ಅವರು ತಮ್ಮ ಪ್ರೊಫೈಲ್‌ನಲ್ಲಿ %1$d ದಿನದ ಕಾಲ ಪ್ರದರ್ಶಿಸಲು ಒಂದು ಬ್ಯಾಡ್ಜ್ ಅನ್ನು ಪಡೆಯುತ್ತಾರೆ. + Signal ಬಳಸುತ್ತಿರುವ ಸ್ನೇಹಿತ ಅಥವಾ ಕುಟುಂಬ ಸದಸ್ಯರಿಗಾಗಿ ದೇಣಿಗೆ ನೀಡುವ ಮೂಲಕ Signal ಅನ್ನು ಬೆಂಬಲಿಸಿ. ಅವರು ತಮ್ಮ ಪ್ರೊಫೈಲ್‌ನಲ್ಲಿ %1$d ದಿನಗಳ ಕಾಲ ಪ್ರದರ್ಶಿಸಲು ಒಂದು ಬ್ಯಾಡ್ಜ್ ಅನ್ನು ಪಡೆಯುತ್ತಾರೆ. ಮುಂದೆ @@ -5353,9 +5350,9 @@ SMS ಬೆಂಬಲ ಇಲ್ಲವಾಗುತ್ತಿದೆ - ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡಲಾದ ಮೆಸೇಜಿಂಗ್ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸಲು ಶೀಘ್ರದಲ್ಲೇ SMS ಬೆಂಬಲವನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ. + ಚಿಂತಿಸಬೇಡಿ, ಎನ್‌ಕ್ರಿಪ್ಟ್ ಆಗಿರುವ Signal ಮೆಸೇಜ್‌ಗಳು ಕೆಲಸ ಮಾಡುವುದನ್ನು ಮುಂದುವರಿಸುತ್ತವೆ. - SMS ರಫ್ತು ಮಾಡಿ + ಮುಂದುವರಿಸಿ ರಫ್ತು ಪೂರ್ಣಗೊಂಡಿದೆ @@ -5480,10 +5477,17 @@ ಸಲಹೆ: ಫಿಲ್ಟರ್ ಮಾಡಲು ಚಾಟ್ ಪಟ್ಟಿಯತ್ತ ಕೆಳಕ್ಕೆ ಎಳೆಯಿರಿ - - ನಿಮ್ಮ ಸಾಧನದ Android ಆವೃತ್ತಿಯನ್ನು ಇನ್ನು ಮುಂದೆ Signal ಬೆಂಬಲಿಸುವುದಿಲ್ಲ. Signal ಬಳಕೆಯನ್ನು ಮುಂದುವರಿಸಲು, %1$s ರ ಒಳಗೆ ನಿಮ್ಮ ಸಾಧನವನ್ನು ನವೀಕರಿಸಿ ಅಥವಾ ಹೊಸ ಸಾಧನಕ್ಕೆ ಬದಲಾಯಿಸಿ. - - - ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ + + SMS ಬೆಂಬಲ ಇಲ್ಲವಾಗುತ್ತಿದೆ + + Signal ಆ್ಯಪ್‌ನಲ್ಲಿ SMS ಮೆಸೇಜಿಂಗ್ ಅನ್ನು ಇನ್ನು ಮುಂದೆ ಬೆಂಬಲಿಸುವುದಿಲ್ಲ. + + SMS ಮೆಸೇಜ್‌ಗಳು Signal ಮೆಸೇಜ್‌ಗಳಿಗಿಂತ ಭಿನ್ನವಾಗಿವೆ. ಇದು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಆಗಿರುವ Signal ಮೆಸೇಜಿಂಗ್‌ಗೆ ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ, ಇದು ಕೆಲಸ ಮಾಡುವುದನ್ನು ಮುಂದುವರಿಸುತ್ತದೆ. + + ನಿಮ್ಮ SMS ಮೆಸೇಜ್‌ಗಳನ್ನು ನೀವು ರಫ್ತು ಮಾಡಬಹುದು ಮತ್ತು ಹೊಸ SMS ಆ್ಯಪ್‌ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಬಹುದು. + + SMS ಮೆಸೇಜ್‌ಗಳನ್ನು ಕಳುಹಿಸಲು Signal ಬೆಂಬಲವನ್ನು ತೆಗೆದುಹಾಕಿದೆ. + + SMS ರಫ್ತು ಮಾಡಿ diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index e3e875f4c2..9fcd2a406a 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -633,9 +633,6 @@ Signal 버전이 만료되었습니다. 메시지를 송수신 하기 위해 지금 업데이트 하십시오. 지금 업데이트하세요. - - Signal이 이 기기에서 더는 작동하지 않습니다. Signal을 다시 사용하려면 기기를 최신 Android 버전으로 업데이트하거나 최신 기기로 업데이트하세요. - %1$d개의 멤버 요청이 대기 중입니다. @@ -4890,7 +4887,7 @@ 친구를 대신해 기부하세요. - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Signal을 사용하는 친구나 가족을 대신해 기부하여 Signal을 지지해 주세요. %1$d일 동안 프로필에 게시할 수 있는 배지가 제공됩니다. 다음 @@ -5232,9 +5229,9 @@ SMS 지원 중단 예정 - 암호화 메시지에 집중하기 위해 SMS 지원을 곧 중단합니다. + 걱정 마세요, 암호화된 Signal 메시지는 계속 작동합니다. - SMS 내보내기 + 계속 내보내기 완료 @@ -5356,10 +5353,17 @@ 팁: 아래로 당겨서 채팅 목록을 필터링하세요. - - Signal이 곧 귀하의 기기에서 사용하는 Android 버전에 대한 지원을 중단합니다. Signal을 계속 사용하려면 %1$s까지 기기를 업데이트하거나 최신 기기로 전환하세요. - - - 자세히 알아보기 + + SMS 지원이 곧 중단됩니다. + + Signal 앱의 SMS 메시지에 대한 지원이 곧 중단됩니다. + + SMS 메시지는 Signal 메시지와 다릅니다. 이 결정은 암호화된 Signal 메시지에는 영향을 미치지 않으며, 이 기능은 계속해서 작동합니다. + + SMS 메시지를 내보내고 새로운 SMS 앱을 선택할 수 있습니다. + + Signal이 SMS 메시지 보내기에 대한 지원을 중단했습니다. + + SMS 내보내기 diff --git a/app/src/main/res/values-ky/strings.xml b/app/src/main/res/values-ky/strings.xml index fca7f29361..54532e41a0 100644 --- a/app/src/main/res/values-ky/strings.xml +++ b/app/src/main/res/values-ky/strings.xml @@ -633,9 +633,6 @@ Signal\'дын бул версиясы эскирип калган. Жазышкыңыз келсе, аны жаңыртыңыз. Жаңыртуу - - Бул түзмөктө Signal иштебей калды. Signal\'ды колдонуу үчүн Android түзмөгүңүздүн версиясын жаңыртыңыз же жаңыраак түзмөккө которулуңуз. - %1$d кошулуу өтүнүчү жооп күтүүдө. @@ -4890,7 +4887,7 @@ Дос үчүн колдоо көрсөтүңүз - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Signal\'ды пайдаланган досуңузга же үй-бүлө мүчөңүзгө белек берип, Signal\'га колдоо көрсөтүңүз. Алар алган төшбелги профилинде %1$d күн көрүнүп турат Кийинки @@ -5232,9 +5229,9 @@ SMS менен жазышуу мүмкүнчүлүгү жок болот - Шифрленген билдирүүлөргө басым жасоо үчүн SMS билдирүүлөр жакында иштебей калат. + Сарсанаа болбоңуз, Signal\'дагы билдирүүлөр мурункудай эле шифрлене берет. - SMS билдирүүлөрүн өткөрүү + Улантуу Өткөрүлдү @@ -5356,10 +5353,17 @@ Кеңеш: Иргөө үчүн маектер тизмесин ылдый тартыңыз - - Жакында Signal Android түзмөгүңүздүн версиясында иштебей калат. Signal\'ды колдоно берүү үчүн түзмөгүңүздү жаңыртыңыз же жаңыраак түзмөккө которулуңуз (%1$s). - - - Кененирээк маалымат + + SMS түрүндө жазыша албай каласыз + + Signal колдонмосунда мындан ары SMS түрүндө жазыша албай каласыз. + + SMS билдирүүлөр Signal билдирүүлөрүнөн айырмаланат. Signal\'дагы билдирүүлөр мурункудай эле шифрлене берет. + + SMS билдирүүлөрүңүздү чыгарып алып, жаңы SMS колдонмосун тандасаңыз болот. + + Мындан ары Signal кызматында SMS билдирүүлөрүн жөнөтө албайсыз. + + SMS билдирүүлөрүн өткөрүү diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index b3ce788ed6..6496316f5e 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -693,9 +693,6 @@ Ši Signal versija nebegalioja. Norėdami siųsti ir gauti žinutes, atnaujinkite programėlę dabar. Atnaujinti dabar - - „Signal“ nebeveikia šiame įrenginyje. Jei nori vėl naudoti „Signal“, atsisiųsk naujesnę „Android“ versiją į savo įrenginį arba jį pakeisk į naujesnį. - %1$d laukiantis prašymas tapti nariu. @@ -5220,10 +5217,10 @@ Skirk paramą draugo vardu - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Palaikyk „Signal“ – skirk paramą draugo ar šeimos nario, naudojančio šią programėlę, vardu. Šis žmogus gaus ženklelį, kurį galės rodyti savo profilyje %1$d dieną + Palaikyk „Signal“ – skirk paramą draugo ar šeimos nario, naudojančio šią programėlę, vardu. Šis žmogus gaus ženklelį, kurį galės rodyti savo profilyje %1$d dienas + Palaikyk „Signal“ – skirk paramą draugo ar šeimos nario, naudojančio šią programėlę, vardu. Šis žmogus gaus ženklelį, kurį galės rodyti savo profilyje %1$d d. + Palaikyk „Signal“ – skirk paramą draugo ar šeimos nario, naudojančio šią programėlę, vardu. Šis žmogus gaus ženklelį, kurį galės rodyti savo profilyje %1$d dienų Kitas @@ -5595,9 +5592,9 @@ Nebelieka SMS palaikymo - SMS palaikymo greit nebeliks, kad galėtume sutelkti dėmesį į šifruotas žinutes. + Nesijaudink, užšifruotos „Signal“ žinutės veiks ir toliau. - Eksportuoti SMS + Tęsti Eksportavimas atliktas @@ -5728,10 +5725,17 @@ Patarimas: paslink pokalbių sąrašą žemyn ir filtruok - - Netrukus „Signal“ nebepalaikys tavo įrenginyje esančios „Android“ versijos. Jei nori toliau naudoti „Signal“, atnaujink įrenginį arba pakeisk jį į naujesnį iki %1$s. - - - Sužinoti daugiau + + Nebelieka SMS palaikymo + + Programėlėje „Signal“ greit nebebus SMS žinučių palaikymo. + + SMS žinutės skiriasi nuo „Signal“ žinučių. Pastarųjų šis pokytis nepaveiks – užšifruotos „Signal“ žinutės veiks ir toliau. + + Gali eksportuoti savo SMS žinutes ir pasirinkti naują SMS programėlę. + + „Signal“ atsisakė SMS žinučių siuntimo palaikymo. + + Eksportuoti SMS diff --git a/app/src/main/res/values-lv/strings.xml b/app/src/main/res/values-lv/strings.xml index f495488f0e..628c35d1e6 100644 --- a/app/src/main/res/values-lv/strings.xml +++ b/app/src/main/res/values-lv/strings.xml @@ -673,9 +673,6 @@ Šīs Signal versijas lietošanas termiņš ir beidzies. Lai nosūtītu un saņemtu ziņas, tā jānomaina ar jaunāku. Aktualizēt tagad - - Signal vairs nedarbojas šajā ierīcē. Lai varētu izmantot Signak, atjauniniet ierīci uz jaunāku Android versiju vai pārejiet uz jaunāku ierīci. - %1$d neapstiprināts dalībnieka pieprasījums. @@ -5110,9 +5107,9 @@ Ziedot drauga vārdā - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Atbalstiet Signal, veicot ziedojumu drauga vai ģimenes locekļa vārdā, kurš arī lieto Signal. Saņēmējs varēs savam profilam pievienot nozīmīti, kas būs redzama %1$d dienas + Atbalstiet Signal, veicot ziedojumu drauga vai ģimenes locekļa vārdā, kurš arī lieto Signal. Saņēmējs varēs savam profilam pievienot nozīmīti, kas būs redzama %1$d dienu + Atbalstiet Signal, veicot ziedojumu drauga vai ģimenes locekļa vārdā, kurš arī lieto Signal. Saņēmējs varēs savam profilam pievienot nozīmīti, kas būs redzama %1$d dienas Tālāk @@ -5474,9 +5471,9 @@ SMS atbalsts tiks pārtraukts - SMS atbalstīšana drīzumā tiks pārtraukta, lai koncentrētos uz šifrētu ziņojumapmaiņu. + Neuztraucieties, šifrētie Signal ziņojumi turpinās darboties. - Eksportēt SMS + Turpināt Eksportēšana pabeigta @@ -5604,10 +5601,17 @@ Padoms. Lai filtrētu, velciet uz leju sarunu sarakstu - - Drīzumā Signal vairs neatbalstīs jūsu ierīces Android versiju. Lai turpinātu lietot Signal, atjauniniet savu ierīci vai pārejiet uz jaunāku ierīci līdz šim datumam: %1$s. - - - Lasīt vairāk + + Īsziņu atbalsts tiks pārtraukts + + Īsziņu sūtīšana lietotnē Signal drīz vairs netiks atbalstīta. + + Īsziņas atšķiras no Signal ziņojumiem. Tas neietekmē šifrētos Signal ziņojumus, kuri darbosies arī turpmāk. + + Varat eksportēt īsziņas uz izvēlēties jaunu īsziņu lietotni. + + Signal vairs neatbalsta īsziņu sūtīšanu. + + Eksportēt īsziņas diff --git a/app/src/main/res/values-mk/strings.xml b/app/src/main/res/values-mk/strings.xml index b6a5a2ff5b..496a94c1b9 100644 --- a/app/src/main/res/values-mk/strings.xml +++ b/app/src/main/res/values-mk/strings.xml @@ -653,9 +653,6 @@ Оваа верзија на Signal е истечена. Ажурирајте веднаш за да испраќате и примате пораки. Ажурирај веднаш - - Signal повеќе не функционира на овој уред. За повторно да користите Signal, ажурирајте на понова верзија на Android на овој уред или користете понов уред. - %1$d барање за членство во листата на чекање. @@ -5000,8 +4997,8 @@ Донирајте за пријател - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Поддржете го Signal со донација за пријател или член на семејството кој користи Signal. Тие ќе добијат беџ кој ќе може да го прикажуваат на профилот %1$d ден + Поддржете го Signal со донација за пријател или член на семејството кој користи Signal. Тие ќе добијат беџ кој ќе може да го прикажуваат на профилот %1$d дена Следно @@ -5353,9 +5350,9 @@ SMS поддршката ќе биде отстранета - Наскоро ќе ја отстраниме поддршката на SMS за да се фокусираме на целосно шифрирани разговори. + Не грижете се, шифрираните Signal пораки ќе продолжат да функционираат. - Извезување на SMS + Продолжи Извозот е завршен @@ -5480,10 +5477,17 @@ Совет: Повлечете надолу на листата со разговори за да филтрирате - - Наскоро Signal ќе престане да ја поддржува верзијата на Android на вашиот уред. За да продолжите да користите Signal, ажурирајте го уредот или земете понов уред пред %1$s. - - - Дознајте повеќе + + SMS поддршката ќе биде отстранета + + Повеќе нема да се поддржува допишување со SMS пораки преку Signal апликацијата. + + SMS пораките се различни од Signal пораките. Ова не влијае на шифрираното допишување на Signal, што ќе продолжи да функционира. + + Можете да ги извезете вашите SMS пораки и да одберете нова апликација за SMS. + + Signal ја отстрани поддршката за испраќање SMS пораки. + + Извезување на SMS diff --git a/app/src/main/res/values-ml/strings.xml b/app/src/main/res/values-ml/strings.xml index 8801d25124..fe8d8dfbad 100644 --- a/app/src/main/res/values-ml/strings.xml +++ b/app/src/main/res/values-ml/strings.xml @@ -653,9 +653,6 @@ Signal-ന്റെ ഈ പതിപ്പ് കാലഹരണപ്പെട്ടു. സന്ദേശങ്ങൾ അയയ്‌ക്കുന്നതിനും സ്വീകരിക്കുന്നതിനും ഇപ്പോൾ തന്നെ പുതുക്കുക. ഇപ്പോൾ അപ്ഡേറ്റ് ചെയ്യുക - - ഈ ഉപകരണത്തിൽ Signal ഇനി മുതൽ പ്രവർത്തിക്കുന്നതല്ല. Signal വീണ്ടും ഉപയോഗിക്കുന്നതിന്, നിങ്ങളുടെ ഉപകരണം Android-ന്റെ പുതിയ പതിപ്പിലേക്ക് അപ്‌ഡേറ്റ് ചെയ്യുക അല്ലെങ്കിൽ ഒരു പുതിയ ഉപകരണത്തിലേക്ക് മാറുക. - %1$d തീർപ്പുകൽപ്പിക്കാത്ത അംഗത അഭ്യര്‍ത്ഥന. @@ -5000,8 +4997,8 @@ ഒരു സുഹൃത്തിന് വേണ്ടി സംഭാവന ചെയ്യുക - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Signal ഉപയോഗിക്കുന്ന ഒരു സുഹൃത്തിനോ കുടുംബാംഗത്തിനോ ഒരു സംഭാവന നൽകി Signal-നെ പിന്തുണയ്ക്കുക. %1$d ദിവസത്തേക്ക് അവരുടെ പ്രൊഫൈലിൽ പ്രദർശിപ്പിക്കുന്നതിന് അവർക്ക് ഒരു ബാഡ്‌ജ് ലഭിക്കും + Signal ഉപയോഗിക്കുന്ന ഒരു സുഹൃത്തിനോ കുടുംബാംഗത്തിനോ വേണ്ടി ഒരു സംഭാവന നൽകി Signal-നെ പിന്തുണയ്ക്കുക. %1$d ദിവസത്തേക്ക് അവരുടെ പ്രൊഫൈലിൽ പ്രദർശിപ്പിക്കുന്നതിന് അവർക്ക് ഒരു ബാഡ്‌ജ് ലഭിക്കും അടുത്തത് @@ -5036,7 +5033,7 @@ നിങ്ങളുടെ ബാഡ്‍ജ് നിങ്ങൾക്ക് പിന്നീട് റിഡീം ചെയ്യാം. - %1$s എന്നതിന് വേണ്ടി നിങ്ങൾ Signal-ലേക്ക് ഒരു സംഭാവന നൽകി. അവരുടെ പ്രൊഫൈലിൽ പിന്തുണ കാണിക്കാനുള്ള ഓപ്ഷൻ അവർക്ക് നൽകും. + %1$s എന്നയാളുടെ പേരിൽ നിങ്ങൾ Signal-ലേക്ക് ഒരു സംഭാവന നൽകി. അവരുടെ പ്രൊഫൈലിൽ പിന്തുണ കാണിക്കാനുള്ള ഓപ്ഷൻ അവർക്ക് നൽകും. നിങ്ങളുടെ ബാഡ്‌ജ് കാലഹരണപ്പെട്ടു @@ -5353,9 +5350,9 @@ SMS പിന്തുണ ഇല്ലാതാകുന്നു - എൻക്രിപ്റ്റ് ചെയ്‌ത സന്ദേശമയയ്‌ക്കലിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കാൻ SMS പിന്തുണ ഉടൻ നീക്കം ചെയ്യും. + പേടിക്കേണ്ട, Signal സന്ദേശങ്ങൾ എൻക്രിപ്റ്റ് ചെയ്യുന്നത് തുടരും. - SMS എക്‌സ്പോർട്ട് ചെയ്യുക + തുടരുക എക്‌സ്‌പോർട്ട് പൂർത്തിയായി @@ -5480,10 +5477,17 @@ ടിപ്പ്: ഫിൽട്ടർ ചെയ്യുന്നതിന് ചാറ്റ് ലിസ്റ്റ് താഴേക്ക് വലിക്കുക - - അധികം താമസിയാതെ നിങ്ങളുടെ ഉപകരണത്തിന്റെ Android പതിപ്പിനെ Signal പിന്തുണയ്ക്കില്ല. Signal ഉപയോഗിക്കുന്നത് തുടരാൻ, നിങ്ങളുടെ ഉപകരണം അപ്‌ഡേറ്റ് ചെയ്യുക അല്ലെങ്കിൽ %1$s എന്ന തീയതിയ്‌ക്കകം പുതിയൊരു ഉപകരണത്തിലേക്ക് മാറുക. - - - കൂടുതൽ അറിയുക + + SMS പിന്തുണ അവസാനിക്കുകയാണ് + + Signal ആപ്പിലെ SMS സന്ദേശമയയ്ക്കലിനുള്ള പിന്തുണ ഉടനടി അവസാനിക്കും. + + SMS സന്ദേശങ്ങളും Signal സന്ദേശങ്ങളും വ്യത്യസ്തമാണ്. ഇത് എൻക്രിപ്റ്റ് ചെയ്ത Signal സന്ദേശമയയ്ക്കലിനെ ബാധിക്കില്ല, അവ തുടർന്നും പ്രവർത്തിക്കും. + + നിങ്ങളുടെ SMS സന്ദേശങ്ങൾ എക്സ്പോർട്ട് ചെയ്യുകയും പുതിയൊരു SMS ആപ്പ് ഉപയോഗിക്കുകയും ചെയ്യാം. + + SMS സന്ദേശങ്ങൾ അയയ്ക്കുന്നതിനുള്ള പിന്തുണ Signal നീക്കം ചെയ്‌തു. + + SMS എക്‌സ്പോർട്ട് ചെയ്യുക diff --git a/app/src/main/res/values-mr/strings.xml b/app/src/main/res/values-mr/strings.xml index 1ae3038e6c..cbf5ec8e8a 100644 --- a/app/src/main/res/values-mr/strings.xml +++ b/app/src/main/res/values-mr/strings.xml @@ -653,9 +653,6 @@ सिग्नलची ही आवृत्ती कालबाह्य झाली आहे. संदेश पाठविण्यासाठी आणि प्राप्त करण्यासाठी आता अद्यतनित करा. आता अद्यतनित करा - - Signal या डिव्हाइसवर यापुढे काम करणार नाही. Signal पुन्हा वापरण्यासाठी, आपला डिव्हाइस Android च्या नवीनतम आवृत्तीवर अपडेट करा किंवा नवीनतम डिव्हाइसवर स्वीच व्हा. - %1$d प्रलंबित सदस्य विनंती. @@ -5000,8 +4997,8 @@ एका मित्रासाठी देणगी द्या - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Signal वापरणाऱ्या मित्रासाठी किंवा कौटुंब सदस्यासाठी देणगी देऊन Signal ला सपोर्ट करा. त्यांना %1$d दिवसासाठी त्यांच्या प्रोफाईलवर प्रदर्शित करण्यासाठी एक बॅज प्राप्त होईल + Signal वापरणाऱ्या मित्रासाठी किंवा कौटुंब सदस्यांसाठी देणगी देऊन Signal ला सपोर्ट करा. त्यांना %1$d दिवसांसाठी त्यांच्या प्रोफाईलवर प्रदर्शित करण्यासाठी एक बॅज प्राप्त होईल पुढे @@ -5353,9 +5350,9 @@ SMS समर्थन दूर जात आहे - एन्क्रिप्टेड संदेशनावर लक्ष केंद्रित करण्यासाठी SMS समर्थन लवकरच हटवले जाईल. + काळजी करू नका, कूटबध्द केलेले Signal संदेश काम करणे पुढे सुरू राहिल. - SMS एक्सपोर्ट करा + सुरू ठेवा एक्सपोर्ट पूर्ण झाले @@ -5480,10 +5477,17 @@ टिप: फिल्टर करण्यासाठी चॅटस् यादी खाली ओढा - - Signal लवकरच यापुढे आपल्या डिव्हाइसच्या Android च्या आवृत्तीला सपोर्ट करणार नाही. Signal वापरणे पुढे सुरु ठेवण्यासाठी, आपला डिव्हाइसची श्रेणी सुधारणा करा, किंवा %1$s द्वारे नवीनतम डिव्हाइस वर स्वीच व्हा. - - - अधिक जाणून घ्या + + SMS सपोर्ट आता बंद होत आहे + + Signal अ‍ॅप मध्ये SMS संदेशनला यापुढे लवकरच समर्थित केले जाणार नाही. + + SMS संदेश हे Signal संदेशांपेक्षा वेगळे असतात. यामुळे काम करणे पुढे सुरु राहणार्‍या कूटबध्द केलेल्या Signal संदेशनावर परिणाम होणार नाही. + + आपण आपल्या SMS संदेशांना एक्सपोर्ट करु शकता आणि नवीन SMS अ‍ॅप निवडू शकता. + + SMS संदेश पाठवण्यासाठीचा सपोर्ट Signal ने काढून टाकला आहे. + + SMS एक्सपोर्ट करा diff --git a/app/src/main/res/values-ms/strings.xml b/app/src/main/res/values-ms/strings.xml index f96b860658..d12781a9bd 100644 --- a/app/src/main/res/values-ms/strings.xml +++ b/app/src/main/res/values-ms/strings.xml @@ -633,9 +633,6 @@ Versi Signal ini telah tamat tempoh. Kemas kini sekarang untuk menghantar dan menerima mesej. Update sekarang - - Signal tidak lagi berfungsi pada peranti ini. Untuk menggunakan Signal sekali lagi, kemas kini peranti anda kepada versi Android yang lebih baru atau tukar kepada peranti yang lebih baru. - %1$d permintaan ahli belum selesai. @@ -4890,7 +4887,7 @@ Menderma untuk Rakan - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Sokong Signal dengan membuat derma untuk rakan atau ahli keluarga yang menggunakan Signal. Mereka akan menerima lencana untuk dipaparkan pada profil mereka selama %1$d hari Seterusnya @@ -5232,9 +5229,9 @@ Sokongan SMS akan hilang - Sokongan SMS akan dialih keluar tidak lama lagi untuk menumpukan pada pemesejan yang disulitkan. + Jangan risau, mesej Signal yang disulitkan akan terus berfungsi. - Eksport SMS + Teruskan Eksport Selesai @@ -5356,10 +5353,17 @@ Tip: Tarik ke bawah senarai sembang untuk menapis - - Tidak lama lagi, Signal tidak lagi menyokong versi Android peranti anda. Untuk terus menggunakan Signal, kemas kini peranti anda atau tukar kepada peranti yang lebih baru sebelum %1$s. - - - Ketahui lebih lanjut + + Sokongan SMS akan dialih keluar + + Pemesejan SMS dalam aplikasi Signal tidak lagi akan disokong tidak lama lagi. + + Mesej SMS adalah berbeza daripada mesej Signal. Ini tidak menjejaskan pemesejan Signal yang disulitkan yang akan terus berfungsi. + + Anda boleh mengeksport mesej SMS anda dan memilih aplikasi SMS baru. + + Signal telah mengalih keluar sokongan untuk menghantar mesej SMS. + + Eksport SMS diff --git a/app/src/main/res/values-my/strings.xml b/app/src/main/res/values-my/strings.xml index e9c2fff48a..982d4e40be 100644 --- a/app/src/main/res/values-my/strings.xml +++ b/app/src/main/res/values-my/strings.xml @@ -633,9 +633,6 @@ ယခု အသုံးပြုနေသော Signal ဗားရှင်း သက်တမ်းကုန်သွားပြီ။ မက်ဆေ့ခ်ျများပို့ရန်နှင့် လက်ခံရန် ယခု Update လုပ်ပါ။ ယခု Update လုပ်ပါ။ - - Signal သည် ဤစက်တွင် အလုပ်လုပ်တော့မည် မဟုတ်ပါ။ Signal ကို ထပ်သုံးရန် သင့်စက်ကို နောက်ဆုံးထွက် Android ဗားရှင်းသို့ အပ်ဒိတ်လုပ်ပါ သို့မဟုတ် ပိုသစ်သော စက်သို့ ပြောင်းပါ။ - ဆုံးဖြတ်ချက်မရသေးသော အဖွဲ့ဝင်ရန် တောင်းဆိုမှုများ %1$d ခုရှိသည်။ @@ -4890,7 +4887,7 @@ မိတ်ဆွေတစ်ယောက်အတွက် လှူရန် - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Signal သုံးသည့် မိတ်ဆွေ သို့မဟုတ် မိသားစုဝင်အစား လှူဒါန်းမှု ပြုလုပ်၍ Signal အား ပံ့ပိုးပေးပါ။ ၎င်းတို့၏ ပရိုဖိုင်းတွင် %1$d ရက်ကြာ ပြသနိုင်မည့် ဘဲ့ဂျ်တစ်ခုကို ၎င်းတို့ လက်ခံရရှိပါမည် နောက်ထက် @@ -5232,9 +5229,9 @@ SMS ပံ့ပိုးမှုနှင့် ဝေးပါပြီ - စာဝှက်စနစ်သုံးထားသော မက်ဆေ့ချ်လုပ်ဆောင်ချက်အပေါ် အာရုံစိုက်နိုင်ရန် SMS ပံ့ပိုးမှုကို မကြာမီ ဖယ်ရှားပါတော့မည်။ + စိတ်မပူပါနှင့်၊ ကုဒ်ပြောင်းဝှက်ထားသော Signal မက်ဆေ့ချ်များက ဆက်လက်အလုပ်လုပ်နေပါမည်။ - SMS ထုတ်သိမ်းရန် + ဆက်လုပ်ရန် ထုတ်သိမ်းမှု ပြီးပါပြီ @@ -5356,10 +5353,17 @@ အကြံပြုချက်- စစ်ထုတ်ရန် ချက်(တ်)စာရင်းတွင် အောက်သို့ ဆွဲပါ - - Signal သည် သင့်စက်၏ Android ဗားရှင်းကို မကြာမီကာလတွင် ဆက်လက်၍ မပံ့ပိုးပေးတော့ပါ။ Signal ကို ဆက်သုံးရန် သင့်စက်ကို အပ်ဒိတ်လုပ်ပါ သို့မဟုတ် %1$s ထက် နောက်မကျဘဲ ပိုသစ်သော စက်သို့ ပြောင်းပါ။ - - - ပိုမိုလေ့လာရန် + + SMS ပံ့ပိုးမှုကို မကြာမီတွင် ရပ်နားတော့မည် ဖြစ်သည် + + Signal အက်ပ်တွင် SMS မက်ဆေ့ချ်များ ပေးပို့လက်ခံခြင်းကို မကြာမီတွင် ဆက်လက်ပံ့ပိုးတော့မည် မဟုတ်ပါ။ + + SMS မက်ဆေ့ချ်များသည် Signal မက်ဆေ့ချ်များနှင့် ကွဲပြားပါသည်။ ဤသည်က ကုဒ်ပြောင်းဝှက်သည့် Signal မက်ဆေ့ချ်များ ပေးပို့လက်ခံခြင်းကို ထိခိုက်မည်မဟုတ်ဘဲ ၎င်းသည် ဆက်လက်အလုပ်လုပ်ပါမည်။ + + သင့် SMS မက်ဆေ့ချ်များကို ထုတ်သိမ်းနိုင်ပြီး SMS အက်ပ်အသစ်တစ်ခု ရွေးချယ်နိုင်ပါသည်။ + + SMS မက်ဆေ့ချ်များ ပေးပို့ခြင်းအတွက် ပံ့ပိုးမှုကို Signal က ဖယ်ရှားထားပါသည်။ + + SMS ထုတ်သိမ်းရန် diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index 7f5ab9a878..076e035f84 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -653,9 +653,6 @@ Din versjon av Signal er utløpt. Vennligst oppdater for å sende ytterligere meldinger. Oppdater nå - - Signal fungerer ikke lenger på denne enheten. Du må oppdatere til en nyere versjon av Android eller bytte til en nyere enhet for å bruke Signal. - %1$d ventende medlemsforespørsel. @@ -5000,8 +4997,8 @@ Gi penger for en venn - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Støtt Signal ved å gi en pengegave for venner og familie som bruker Signal. Personen du velger ut, får et merke som vedkommende kan vise frem på profilen sin i %1$d dag. + Støtt Signal ved å gi en pengegave for venner og familie som bruker Signal. Personen du velger ut, får et merke som vedkommende kan vise frem på profilen sin i %1$d dager. Neste @@ -5353,9 +5350,9 @@ SMS-støtten avvikles - Vi fjerner snart SMS-støtte for å sette fokus på krypterte meldinger i stedet. + Ta det med ro, de krypterte meldingene på Signal vil fremdeles fungere. - Eksporter SMS-meldinger + Fortsett Eksporten er fullført @@ -5480,10 +5477,17 @@ Tips: Trykk og dra ned i samtalen for å filtrere - - Signal vil snart ikke fungere på denne versjonen av Android. Du må oppdatere til en nyere versjon av operativsystemet eller bytte til en nyere enhet innen %1$s for å bruke Signal. - - - Les mer + + SMS-støtten avvikles + + Det vil snart ikke være mulig å sende SMS-meldinger i Signal-appen. + + SMS-meldinger er annerledes enn Signal-meldinger. Dette påvirker ikke de krypterte Signal-meldingene – de vil fortsette å fungere. + + Du kan eksportere SMS-meldingene dine og velge en ny SMS-app. + + Signal har avviklet SMS-støtten. + + Eksporter SMS-meldinger diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index d71175e0d4..ea659d2d1d 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -653,9 +653,6 @@ Deze versie van Signal is verlopen. Werk Signal bij om weer berichten te kunnen verzenden en ontvangen. Nu bijwerken - - Signal werkt niet meer op dit apparaat. Als je Signal weer wilt gebruiken, update je je apparaat naar een nieuwere versie van Android of gebruik je een nieuwer apparaat. - %1$d openstaand lidmaatschapsverzoek. @@ -5000,8 +4997,8 @@ Doneer voor een vriend(in) - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Steun Signal door een donatie te doen namens een vriend(in) of familielid die Signal gebruikt. Ze ontvangen een badge die ze %1$d dag op hun profiel kunnen weergeven + Steun Signal door een donatie te doen namens een vriend(in) of familielid die Signal gebruikt. Ze ontvangen een badge die ze %1$d dagen op hun profiel kunnen weergeven Volgende @@ -5353,9 +5350,9 @@ Sms-ondersteuning verdwijnt - Sms-ondersteuning wordt binnenkort verwijderd, zodat we ons kunnen richten op versleutelde berichten. + Maak je geen zorgen, versleutelde Signal-berichten blijven werken. - Exporteer sms + Doorgaan Export compleet @@ -5480,10 +5477,17 @@ Tip: Sleep je vinger langs chatlijst om te filteren - - Signal ondersteunt binnenkort de Android-versie van je apparaat niet meer. Als je Signal wilt blijven gebruiken, werk je je apparaat bij of gebruik je vóór %1$s een nieuwer apparaat. - - - Meer informatie + + Sms-ondersteuning verdwijnt + + Sms\'en in de Signal-app wordt binnenkort niet meer ondersteund. + + Sms-berichten zijn anders dan Signal-berichten. Dit heeft geen invloed op versleutelde Signal-berichten. Die blijven werken. + + Je kunt je sms-berichten exporteren en een nieuwe sms-app kiezen. + + Signal heeft de ondersteuning voor het versturen van sms-berichten verwijderd. + + Exporteer sms diff --git a/app/src/main/res/values-pa/strings.xml b/app/src/main/res/values-pa/strings.xml index 47b67d2210..c7d1c1dcec 100644 --- a/app/src/main/res/values-pa/strings.xml +++ b/app/src/main/res/values-pa/strings.xml @@ -653,9 +653,6 @@ Signal ਦੇ ਸੰਸਕਰਣ ਦੀ ਮਿਆਦ ਮੁੱਕ ਗਈ ਹੈ। ਸੁਨੇਹੇ ਭੇਜਣ ਅਤੇ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਕਿਰਪਾ ਕਰਕੇ ਹੁਣੇ ਅੱਪਡੇਟ ਕਰੋ। ਹੁਣੇ ਅੱਪਡੇਟ ਕਰੋ - - Signal ਹੁਣ ਇਸ ਡਿਵਾਈਸ \'ਤੇ ਕੰਮ ਨਹੀਂ ਕਰਦਾ ਹੈ। Signal ਦੀ ਦੁਬਾਰਾ ਵਰਤੋਂ ਕਰਨ ਲਈ, ਆਪਣੇ ਡਿਵਾਈਸ ਨੂੰ Android ਦੇ ਨਵੇਂ ਸੰਸਕਰਣ \'ਤੇ ਅੱਪਡੇਟ ਕਰੋ ਜਾਂ ਨਵੇਂਂ ਡਿਵਾਈਸ ਵਿੱਚ ਇਸਦੀ ਵਰਤੋਂ ਕਰੋ। - %1$d ਪੈਂਡਿੰਗ ਸਦੱਸ ਬੇਨਤੀਆਂ @@ -5000,8 +4997,8 @@ ਕਿਸੇ ਦੋਸਤ ਦੀ ਤਰਫ਼ ਤੋਂ ਦਾਨ ਦਿਓ - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Signal ਦੀ ਵਰਤੋਂ ਕਰਨ ਵਾਲੇ ਕਿਸੇ ਦੋਸਤ ਜਾਂ ਪਰਿਵਾਰ ਦੇ ਮੈਂਬਰ ਦੀ ਤਰਫ਼ ਤੋਂ ਦਾਨ ਦੇ ਕੇ Signal ਨੂੰ ਆਪਣਾ ਸਹਿਯੋਗ ਦਿਓ। ਉਹਨਾਂ ਨੂੰ %1$d ਦਿਨ ਲਈ ਆਪਣੀ ਪ੍ਰੋਫਾਈਲ ਉੱਤੇ ਦਿਖਾਉਣ ਲਈ ਇੱਕ ਬੈਜ ਪ੍ਰਾਪਤ ਹੋਵੇਗਾ + Signal ਦੀ ਵਰਤੋਂ ਕਰਨ ਵਾਲੇ ਕਿਸੇ ਦੋਸਤ ਜਾਂ ਪਰਿਵਾਰ ਦੇ ਮੈਂਬਰ ਦੀ ਤਰਫ਼ ਤੋਂ ਦਾਨ ਦੇ ਕੇ Signal ਨੂੰ ਆਪਣਾ ਸਹਿਯੋਗ ਦਿਓ। ਉਹਨਾਂ ਨੂੰ %1$d ਦਿਨਾਂ ਲਈ ਆਪਣੀ ਪ੍ਰੋਫਾਈਲ ਉੱਤੇ ਦਿਖਾਉਣ ਲਈ ਇੱਕ ਬੈਜ ਪ੍ਰਾਪਤ ਹੋਵੇਗਾ ਅੱਗੇ @@ -5353,9 +5350,9 @@ SMS ਲਈ ਸਮਰਥਨ ਨੂੰ ਜਲਦੀ ਹੀ ਸਮਾਪਤ ਹੋ ਰਿਹਾ ਹੈ - ਇਨਕ੍ਰਿਪਟਡ ਸੁਨੇਹਿਆਂ ਉੱਤੇ ਫੋਕਸ ਕਰਨ ਲਈ SMS ਲਈ ਸਮਰਥਨ ਨੂੰ ਜਲਦੀ ਹੀ ਹਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ। + ਚਿੰਤਾ ਨਾ ਕਰੋ, Signal ਦੇ ਇਨਕ੍ਰਿਪਟਡ ਸੁਨੇਹੇ ਚਲਦੇ ਰਹਿਣਗੇ। - SMS ਐਕਸਪੋਰਟ ਕਰੋ + ਜਾਰੀ ਰੱਖੋ ਐਕਸਪੋਰਟ ਪੂਰਾ ਹੋਇਆ @@ -5480,10 +5477,17 @@ ਸੁਝਾਅ: ਫਿਲਟਰ ਕਰਨ ਲਈ ਚੈਟ ਸੂਚੀ ਨੂੰ ਹੇਠਾਂ ਵੱਲ ਖਿੱਚੋ - - Signal ਜਲਦੀ ਹੀ ਤੁਹਾਡੇ ਡਿਵਾਈਸ ਦੇ Android ਵਰਜ਼ਨ ਵਿੱਚ ਕੰਮ ਕਰਨਾ ਬੰਦ ਕਰ ਦੇਵੇਗਾ। Signal ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਰਹਿਣ ਲਈ, ਆਪਣੇ ਡਿਵਾਈਸ ਨੂੰ ਅੱਪਡੇਟ ਕਰੋ, ਜਾਂ %1$s ਤੋਂ ਕਿਸੇ ਨਵੇਂਂ ਡਿਵਾਈਸ ਵਿੱਚ ਇਸਦੀ ਵਰਤੋਂ ਕਰੋ। - - - ਹੋਰ ਜਾਣੋ + + SMS ਭੇਜਣ ਦੀ ਸਹੂਲਤ ਸਮਾਪਤ ਹੋ ਰਹੀ ਹੈ + + ਹੁਣ Signal ਐਪ ਰਾਹੀਂ SMS ਸੁਨੇਹੇ ਭੇਜੇ ਨਹੀਂ ਜਾ ਸਕਣਗੇ। + + SMS ਸੁਨੇਹੇ Signal ਦੇ ਸੁਨੇਹਿਆਂ ਨਾਲੋਂ ਵੱਖਰੇ ਹੁੰਦੇ ਹਨ। ਇਸ ਨਾਲ Signal ਦੇ ਇਨਕ੍ਰਿਪਟਡ ਸੁਨੇਹਿਆਂ ਪ੍ਰਭਾਵਿਤ ਨਹੀਂ ਹੋਣਗੇ ਅਤੇ ਇਹ ਚਲਦੇ ਰਹਿਣਗੇ। + + ਤੁਸੀਂ ਆਪਣੇ SMS ਸੁਨੇਹਿਆਂ ਨੂੰ ਐਕਸਪੋਰਟ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ ਕੋਈ ਨਵੀਂ ਐਪ ਚੁਣ ਸਕਦੇ ਹੋ। + + Signal ਨੇ SMS ਸੁਨੇਹੇ ਭੇਜਣ ਦੀ ਸਹੂਲਤ ਹਟਾ ਦਿੱਤੀ ਹੈ। + + SMS ਐਕਸਪੋਰਟ ਕਰੋ diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 678521e0f7..02474823c0 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -693,9 +693,6 @@ Ta wersja Signal wygasła. Zaktualizuj teraz, aby móc wysyłać i odbierać wiadomości. Aktualizuj teraz - - Sygnał nie działa już na tym urządzeniu. Aby ponownie korzystać z usługi Signal, zaktualizuj swoje urządzenie do nowszej wersji systemu Android lub użyj nowszego urządzenia. - %1$d oczekująca prośba o przyjęcie. @@ -5220,10 +5217,10 @@ Wpłać darowiznę w imieniu znajomego - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Wesprzyj Signal, wpłacając darowiznę w imieniu innego użytkownika naszej usługi — znajomego lub rodziny. Osoba ta otrzyma od nas na %1$d dzień odznakę do wyświetlenia na profilu. + Wesprzyj Signal, wpłacając darowiznę w imieniu innego użytkownika naszej usługi — znajomego lub rodziny. Osoba ta otrzyma od nas na %1$d dni odznakę do wyświetlenia na profilu. + Wesprzyj Signal, wpłacając darowiznę w imieniu innego użytkownika naszej usługi — znajomego lub rodziny. Osoba ta otrzyma od nas na %1$d dni odznakę do wyświetlenia na profilu. + Wesprzyj Signal, wpłacając darowiznę w imieniu innego użytkownika naszej usługi — znajomego lub rodziny. Osoba ta otrzyma od nas na %1$d dni odznakę do wyświetlenia na profilu. Dalej @@ -5595,9 +5592,9 @@ Koniec obsługiwania wiadomości SMS - Ponieważ chcemy skupić się na wiadomościach szyfrowanych, wkrótce wiadomości SMS przestaną być obsługiwane. + Spokojnie, zaszyfrowane wiadomości Signal będą nadal działać. - Eksportuj wiadomości SMS + Kontynuuj Eksport zakończony @@ -5728,10 +5725,17 @@ Podpowiedź: aby zastosować filtr, przesuń w dół listę rozmów - - Już wkrótce Signal przestanie obsługiwać wersję Androida na Twoim urządzeniu. Aby nadal korzystać z usługi Signal, zaktualizuj swoje urządzenie lub zacznij używać nowego do %1$s. - - - Dowiedz się więcej + + Wkrótce koniec obsługi wiadomości SMS + + Wiadomości SMS w aplikacji Signal wkrótce przestaną być obsługiwane. + + Wiadomości SMS to nie to samo, co wiadomości Signal. Spokojnie, zmiana nie obejmie zaszyfrowanych wiadomości Signal — te nadal będą działać. + + Możesz wyeksportować swoje wiadomości SMS i wybrać nową apkę do ich obsługi. + + Signal wycofał obsługę wiadomości SMS. + + Eksportuj wiadomości SMS diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index ebb99e37f5..6b15b25327 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -653,9 +653,6 @@ Esta versão do Signal não é mais suportada. Atualize agora para poder enviar e receber as mensagens. Atualize agora - - O Signal não funciona mais neste dispositivo. Para usar o Signal novamente, atualize seu dispositivo para uma versão mais recente do Android ou mude para um dispositivo mais recente. - %1$d solicitação de membro pendente. @@ -5000,8 +4997,8 @@ Doar para um amigo - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Apoie o Signal fazendo uma doação para um amigo ou familiar que usa o app. Essa pessoa receberá um selo para exibir no perfil por %1$d dia + Apoie o Signal fazendo uma doação para um amigo ou familiar que usa o app. Essa pessoa receberá um selo para exibir no perfil por %1$d dias Próximo @@ -5353,9 +5350,9 @@ O suporte a mensagens SMS será descontinuado - O suporte de SMS será removido em breve. Nosso foco serão as mensagens com criptografia. + Não se preocupe, as mensagens criptografadas do Signal continuarão funcionando. - Exportar mensagens SMS + Continuar Exportação concluída @@ -5480,10 +5477,17 @@ Dica: puxe a lista de chats pra baixo para filtrar - - Em breve, o Signal não será mais compatível com a versão do Android do seu dispositivo. Para contiuar usando o Signal, atualize seu dispositivo ou mude para um dispositivo mais recente até %1$s. - - - Saiba mais + + O suporte a mensagens SMS será descontinuado + + Em breve, as mensagens SMS no app do Signal não serão mais suportadas. + + As mensagens SMS são diferentes das mensagens do Signal. Isso não afeta o serviço de mensagens criptografadas do Signal que continuarão funcionando. + + Você pode exportar suas mensagens de SMS e escolher um novo app de SMS. + + O Signal removeu o suporte para envio de SMS. + + Exportar mensagens SMS diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index f86fc2cd4e..de491f171f 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -653,9 +653,6 @@ Esta versão do Signal expirou. Faça agora a atualização par aenviar e receber mensagens. Atualizar agora - - O Signal já não funciona neste dispositivo. Para voltar a usar o Signal, atualize o seu dispositivo para uma versão mais recente do Android ou utilize um dispositivo mais recente. - %1$d pedido de membro pendente. @@ -5000,8 +4997,8 @@ Doar em nome de um amigo - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Apoie o Signal fazendo uma doação em nome de um amigo ou membro da família que use o Signal. A pessoa receberá um crachá para exibir no perfil durante %1$d dia + Apoie o Signal fazendo uma doação em nome de um amigo ou membro da família que use o Signal. A pessoa receberá um crachá para exibir no perfil durante %1$d dias Seguinte @@ -5353,9 +5350,9 @@ O suporte para SMS vai ser removido - O suporte para SMS será removido em breve para nos focarmos em mensagens encriptadas. + Não se preocupe, as mensagens encriptadas do Signal continuarão a funcionar. - Exportar SMS + Continuar Exportação completa @@ -5480,10 +5477,17 @@ Dica: Deslize para baixo na lista de chat para filtrar - - O Signal deixará de suportar a versão de Android do seu dispositivo em breve. Para continuar a usar o Signal, atualize o seu dispositivo ou utilize um dispositivo mais recente até %1$s. - - - Saber mais + + O suporte para SMS vai ser removido + + As mensagens SMS deixarão de ser suportadas em breve na app Signal. + + As mensagens SMS são diferentes das mensagens do Signal. Isto não afeta as mensagens encriptadas do Signal, que continuarão a funcionar. + + Pode exportar as suas mensagens SMS e escolher uma nova app de SMS. + + O Signal removeu o suporte para envio de mensagens SMS. + + Exportar SMS diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index be62651a8b..92ece5f314 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -673,9 +673,6 @@ Această versiune a Signal a expirat. Actualizează acum pentru a trimite și primi mesaje. Actualizează acum - - Signal nu mai funcționează pe acest dispozitiv. Ca să folosești Signal din nou, actualizează-ți dispozitivul pentru o versiune mai nouă a Android sau treci la un dispozitiv mai nou. - %1$d solicitare de membru în așteptare. @@ -5110,9 +5107,9 @@ Donează pentru un prieten - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Susține Signal printr-o donație pentru un prieten sau un membru al familiei care folosește Signal. Va primi o insignă pe care să o afișeze la profil pentru %1$d zi + Susține Signal printr-o donație către un prieten sau un membru al familiei care folosește Signal. Vor primi o insignă pe care o pot afișa la profil pentru %1$d zile + Susține Signal printr-o donație către un prieten sau un membru al familiei care folosește Signal. Vor primi o insignă pe care o pot afișa la profil pentru %1$d de zile Următorul @@ -5474,9 +5471,9 @@ Suportul pentru SMS-uri dispare - Sprijinul SMS va fi eliminat curând pentru a ne concentra pe mesajele criptate. + Nu-ți face griji, mesajele criptate Signal vor continua să funcționeze. - Exportă SMS-urile + Continuă Exportul a fost finalizat @@ -5604,10 +5601,17 @@ Sfat: Trage în jos în lista de conversații pentru a filtra - - Signal nu va mai susține versiunea de Android a dispozitivului tău curând. Ca să continui să folosești Signal, actualizează-ți dispozitivul sau treci la un dispozitiv nou prin %1$s. - - - Află mai multe + + Sprijinul SMS dispare + + Trimiterea de mesaje SMS din aplicația Signal nu va mai fi acceptată în curând. + + Mesajele SMS sunt diferite față de mesajele Signal. Trimiterea de mesaje criptate Signal nu va fi afectată și va continua să funcționeze. + + Poți să îți exporți mesajele SMS și să alegi o nouă aplicație SMS. + + Signal a eliminat sprijinul pentru trimiterea de mesaje SMS. + + Exportă SMS-urile diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 390fbb8a89..0bf0cd57ae 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -693,9 +693,6 @@ Эта версия Signal устарела. Обновитесь сейчас, чтобы отправлять и получать сообщения. Обновиться - - Signal больше не работает на этом устройстве. Чтобы снова использовать Signal, обновите свое устройство до свежей версии Android или перейдите на более новое устройство. - %1$d ожидающий запрос на участие @@ -5220,10 +5217,10 @@ Пожертвовать за друга - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Поддержите Signal с помощью пожертвования за друга или члена семьи, которые пользуются Signal. Они получат значок, который смогут показывать в своем профиле в течение %1$d дня + Поддержите Signal с помощью пожертвования за друга или члена семьи, которые пользуются Signal. Они получат значок, который смогут показывать в своем профиле в течение %1$d дней + Поддержите Signal с помощью пожертвования за друга или члена семьи, которые пользуются Signal. Они получат значок, который смогут показывать в своем профиле в течение %1$d дней + Поддержите Signal с помощью пожертвования за друга или члена семьи, которые пользуются Signal. Они получат значок, который смогут показывать в своем профиле в течение %1$d дня Далее @@ -5595,9 +5592,9 @@ Поддержка SMS прекращается - Поддержка SMS будет скоро удалена в пользу обмена зашифрованными сообщениями. + Не волнуйтесь, зашифрованные сообщения Signal будут работать по-прежнему. - Экспорт SMS + Продолжить Экспорт завершён @@ -5728,10 +5725,17 @@ Совет: Проведите пальцем вниз по списку чатов, чтобы отфильтровать - - В скором времени Signal перестанет поддерживать версию Android, установленную на вашем устройстве. Чтобы продолжить использование Signal, обновите устройство или перейдите на более новое до %1$s. - - - Узнать больше + + Поддержка SMS прекращается + + Приложение Signal скоро перестанет поддерживать обмен SMS-сообщениями. + + SMS-сообщения отличаются от сообщений Signal. Это не влияет на зашифрованные сообщения Signal, которые будут продолжать работать. + + Вы можете экспортировать свои SMS-сообщения и выбрать новое приложение для SMS. + + Signal прекратил поддержку отправки SMS-сообщений. + + Экспорт SMS diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index 997bec4502..ad447870cd 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -693,9 +693,6 @@ Táto verzia Signalu vypršala. Pre odosielanie a príjem ďalších správ ju aktualizujte. Aktualizovať teraz - - Signal už na tomto zariadení nefunguje. Ak chcete znova používať Signal, aktualizujte svoje zariadenie na novšiu verziu Androidu alebo prejdite na novšie zariadenie. - %1$d čakajúca žiadosť o členstvo. @@ -2036,7 +2033,7 @@ Poslali ste príspevok za používateľa %1$s - Uplatnili ste odznak + Odomkli ste odznak Poslal/a %1$s ako reakciu na tvoj príbeh @@ -4637,7 +4634,7 @@ Váš príspevok nebolo možné odoslať z dôvodu chyby siete. Skontrolujte pripojenie a skúste to znovu. - Príspevok pre %1$s + Príspevok pre používateľa %1$s Používateľ %1$s prispel na Signal vo vašom mene @@ -5220,10 +5217,10 @@ Prispejte za priateľa - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Podporte Signal príspevkom za priateľa alebo člena rodiny, ktorý používa Signal. Dostanú odznak, ktorý si môžu vystaviť na profile na %1$d deň + Podporte Signal príspevkom za priateľa alebo člena rodiny, ktorý používa Signal. Dostanú odznak, ktorý si môžu vystaviť na profile na %1$d dni + Podporte Signal príspevkom za priateľa alebo člena rodiny, ktorý používa Signal. Dostanú odznak, ktorý si môžu vystaviť na profile na %1$d dňa + Podporte Signal príspevkom za priateľa alebo člena rodiny, ktorý používa Signal. Dostanú odznak, ktorý si môžu vystaviť na profile na %1$d dní Ďalší @@ -5234,7 +5231,7 @@ Poslať - Príjemca bude o príspevku informovaný v správe. Pridajte svoju vlastnú správu nižšie. + Príjemca bude o príspevku informovaný v správe. Pridajte svoj vlastný text správy nižšie. Jednorazový príspevok @@ -5254,7 +5251,7 @@ Teraz nie - Uplatňuje sa odznak… + Odomyká sa odznak… Svoj odznak si môžete uplatniť neskôr. @@ -5262,7 +5259,7 @@ Platnosť vášho odznaku vypršala - Platnosť vášho odznaku vypršala a už nie je viditeľný pre ostatných vo vašom profile. + Platnosť vášho odznaku vypršala a už nie je vo vašom profile viditeľný pre ostatných. Ak chcete pokračovať v podpore technológie, ktorá je vytvorená pre vás, zvážte, či sa nestanete mesačným podporovateľom. @@ -5595,9 +5592,9 @@ Podpora SMS končí - Podpora SMS bude čoskoro odstránená, aby sme sa mohli zamerať na šifrované správy. + Bez obáv, šifrované Signal správy budú fungovať aj naďalej. - Exportovať SMS + Pokračovať Export bol úspešne dokončený @@ -5728,10 +5725,17 @@ Tip: Ak chcete filtrovať, potiahnite nadol v zozname četov - - Signal už čoskoro nebude podporovať verziu Androidu vo vašom zariadení. Ak chcete naďalej používať Signal, aktualizujte svoje zariadenie alebo prejdite na novšie zariadenie do %1$s. - - - Zistiť viac + + Podpora SMS čoskoro končí + + Posielanie SMS správ v aplikácii Signal už čoskoro nebude podporované. + + SMS správy sú odlišné od Signal správ. Neovplyvní to odosielanie šifrovaných Signal správ, ktoré budú fungovať aj naďalej. + + Svoje SMS správy môžete exportovať a vybrať si novú aplikáciu pre SMS. + + Signal odstránil podporu pre odosielanie SMS správ. + + Exportovať SMS diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml index 3f08333bba..b5869c851d 100644 --- a/app/src/main/res/values-sl/strings.xml +++ b/app/src/main/res/values-sl/strings.xml @@ -693,9 +693,6 @@ Ta različica aplikacije Signal je potekla. Posodobite jo, da boste lahko spet pošiljali in prejemali sporočila. Posodobi zdaj - - Signal na tej napravi ne deluje več. Če želite znova uporabljati Signal, posodobite svojo napravo na novejšo različico Androida ali preklopite na novejšo napravo. - %1$d čakajoče vabilo za članstvo. @@ -5220,10 +5217,10 @@ Donirajte za prijatelja_ico - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Podprite Signal z donacijo v imenu prijatelja_ice ali člana_ice družine, ki uporablja Signal. Ta bo prejel_a značko, ki jo bo lahko prikazal_a v svojem profilu za %1$d dan + Podprite Signal z donacijo v imenu prijatelja_ice ali člana_ice družine, ki uporablja Signal. Ta bo prejel_a značko, ki jo bo lahko prikazal_a v svojem profilu za %1$d dni + Podprite Signal z donacijo v imenu prijatelja_ice ali člana_ice družine, ki uporablja Signal. Ta bo prejel_a značko, ki jo bo lahko prikazal_a v svojem profilu za %1$d dni + Podprite Signal z donacijo v imenu prijatelja_ice ali člana_ice družine, ki uporablja Signal. Ta bo prejel_a značko, ki jo bo lahko prikazal_a v svojem profilu za %1$d dni Naprej @@ -5595,9 +5592,9 @@ Podpora za SMS-e se ukinja - Podpora za SMS-e bo kmalu odstranjena, da bi se osredotočili na šifrirana sporočila. + Ne skrbite, šifrirana sporočila Signal bodo še naprej delovala. - Izvozi SMS-e + Nadaljuj Izvoz končan @@ -5728,10 +5725,17 @@ Nasvet: za filtriranje povlecite navzdol po seznamu klepetov - - Signal kmalu ne bo več podpiral različice Androida v vaši napravi. Če želite še naprej uporabljati Signal, posodobite svojo napravo ali preklopite na novejšo napravo do %1$s. - - - Preberite več + + Podpora za SMS-e se ukinja + + SMS sporočila v aplikaciji Signal kmalu ne bodo več podprta. + + SMS sporočila se razlikujejo od sporočil Signal. To ne vpliva na šifrirana sporočila Signal, ki bodo še naprej delovala. + + Svoja SMS sporočila lahko izvozite in izberete novo SMS aplikacijo. + + Signal je odstranil podporo za pošiljanje SMS sporočil. + + Izvozi SMS-e diff --git a/app/src/main/res/values-sq/strings.xml b/app/src/main/res/values-sq/strings.xml index a8b995236e..b9d27a544c 100644 --- a/app/src/main/res/values-sq/strings.xml +++ b/app/src/main/res/values-sq/strings.xml @@ -653,9 +653,6 @@ Ky version i Signal-it ka skaduar. Që të dërgoni dhe merrni mesazhe, përditësojeni që tani. Përditësoje tani - - Signal nuk funksionon më në këtë pajisje. Për të përdorur sërish Signal, përditëso pajisjen në një version më të ri të Android ose kalo në një pajisje më të re. - %1$d kërkesë anëtarësimi pezull. @@ -5000,8 +4997,8 @@ Dhuro për një mik - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Mbështet Signal duke bërë një dhurim për një mik ose anëtar të familjes që përdor Signal. Ata do të marrin një distinktiv për ta shfaqur në profilin e tyre për %1$d ditë + Mbështet Signal duke bërë një dhurim për një mik ose anëtar të familjes që përdor Signal. Ata do të marrin një distinktiv për ta shfaqur në profilin e tyre për %1$d ditë Tjetër @@ -5353,9 +5350,9 @@ Mbështetja për SMS po largohet - Mbështetja për SMS do të hiqet së shpejti për t\'u përqendruar në mesazhet e koduara. + Mos u shqetëso, mesazhet e koduara të Signal do të vazhdojnë të funksionojnë. - Eksporto SMS + Vazhdo Eksportimi përfundoi @@ -5480,10 +5477,17 @@ Udhëzim: Tërhiqe poshtë listën e bisedave për ta filtruar - - Së shpejti, Signal nuk do të mbështesë më versionin Android të pajisjes tënde. Për të vazhduar përdorimin e Signal, përditëso pajisjen tënde ose kalo në një pajisje më të re nga %1$s. - - - Mëso më tepër + + Mbështetja për SMS po hiqet + + Mesazhet SMS në aplikacionin Signal së shpejti do të hiqet. + + Mesazhet SMS janë të ndryshme nga mesazhet e Signal. Kjo nuk ndikon në mesazhet e koduara të Signal të cilat do të vazhdojnë të funksionojnë. + + Mund të eksportosh mesazhet e tua SMS dhe të zgjedhësh një aplikacion të ri SMS. + + Signal ka hequr mbështetjen për dërgimin e mesazheve SMS. + + Eksporto SMS diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml index 45b853a032..8938dc11aa 100644 --- a/app/src/main/res/values-sr/strings.xml +++ b/app/src/main/res/values-sr/strings.xml @@ -653,9 +653,6 @@ Ова верзија апликације Signal је истекла. Ажурирајте сада да бисте слали и примали поруке. Ажурирај сада - - Signal више не ради на овом уређају. Да бисте поново користили Signal, ажурирајте уређај на новију верзију Android-а или пређите на новији уређај. - Захтева за чланство на чекању: %1$d. @@ -5000,8 +4997,8 @@ Донирајте за пријатеља - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Подржите Signal тако што ћете дати донацију за пријатеља или члана породице који користи Signal. Добиће значку коју може да прикаже на профилу %1$d дан. + Подржите Signal тако што ћете дати донацију за пријатеља или члана породице који користи Signal. Добиће значку коју може да прикаже на профилу %1$d дан(а). Даље @@ -5353,9 +5350,9 @@ Подршка за SMS се укида - Подршка за SMS ће ускоро бити укинута како бисмо се фокусирали на шифроване поруке. + Не брините, шифроване поруке у Signal-у ће наставити да раде. - Извезите SMS + Настави Извоз је завршен @@ -5480,10 +5477,17 @@ Савет: Превуците листу ћаскања надоле да филтрирате - - Signal ускоро више неће подржавати верзију Android-а на вашем уређају. Да бисте наставили да користите Signal ажурирајте уређај или пређите на новији уређај до %1$s. - - - Сазнајте више + + Подршка за SMS се укида + + Размена SMS порука у апликацији Signal ускоро више неће бити подржана. + + SMS поруке се разликују од порука у Signal-у. То неће утицати на шифровану размену порука у Signal-у, која ће и даље функционисати. + + Можете да извезете SMS поруке и изаберете нову апликацију за SMS. + + Signal је укинуо подршку за слање SMS порука. + + Извези SMS diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index e2315758c5..98b305395e 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -653,9 +653,6 @@ Denna version av Signal har upphört att gälla. Uppdatera nu för att skicka och ta emot meddelanden. Uppdatera nu - - Signal fungerar inte längre på den här enheten. Om du vill använda Signal igen uppdaterar du enheten till en nyare version av Android eller byter till en nyare enhet. - %1$d väntande medlemsförfrågan. @@ -5000,8 +4997,8 @@ Donera åt en vän - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Stöd Signal genom att göra en donation åt en vän eller familjemedlem som använder Signal. De får ett märke som de kan visa på sin profil under %1$d dag + Stöd Signal genom att göra en donation åt en vän eller familjemedlem som använder Signal. De får ett märke som de kan visa på sin profil under %1$d dagar Nästa @@ -5353,9 +5350,9 @@ Sms-stöd försvinner - Sms-stöd kommer snart att tas bort för att fokusera på krypterade meddelanden. + Oroa dig inte, krypterade Signal-meddelanden fortsätter att fungera. - Exportera sms + Fortsätt Exporten är klar @@ -5480,10 +5477,17 @@ Tips: Dra ner på chattlistan för att filtrera - - Signal stöder snart inte längre enhetens version av Android. För att fortsätta använda Signal, uppdatera din enhet, eller växla till en nyare enhet senast den %1$s. - - - Läs mer + + Stöd för sms kommer försvinna + + Sms i Signal-appen stöds snart inte längre. + + Sms skiljer sig från Signal-meddelanden. Detta påverkar inte krypterade Signal-meddelanden som fortsätter att fungera. + + Du kan exportera dina sms och välja en ny sms-app. + + Signal har tagit bort stöd för att skicka sms. + + Exportera sms diff --git a/app/src/main/res/values-sw/strings.xml b/app/src/main/res/values-sw/strings.xml index f2e88fca20..29d87f3349 100644 --- a/app/src/main/res/values-sw/strings.xml +++ b/app/src/main/res/values-sw/strings.xml @@ -653,9 +653,6 @@ Muda wa toleo hili la Signal umekwisha. Sasisha sasa ili utume na kupokea ujumbe. Sasisha sasa - - Signal haifanyi kazi tena kwenye kifaa hiki. Ili kutumia tena Signal, sasisha kifaa chako katika toleo jipya la Android au hamia kwenye kifaa kipya. - Kuna maombi %1$d ya wanachama yanayosubiri. @@ -5000,8 +4997,8 @@ Mchangie Rafiki - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Iunge mkono Signal kwa kutoa mchango kwa rafiki au mwanafamilia anayetumia Signal. Watapokea beji ya kuonyesha kwenye wasifu wao kwa siku %1$d + Iunge mkono Signal kwa kutoa mchango kwa rafiki au mwanafamilia anayetumia Signal. Watapokea beji za kuonyesha kwenye wasifu wao kwa siku %1$d Inayofuata @@ -5353,9 +5350,9 @@ Usaidizi wa SMS unasitishwa - Usaidizi wa jumbe za SMS muda si mrefu utaondolewa ili kuwekeza nguvu katika utumaji jumbe salama. + Usijali, jumbe za Signal zilizosimbwa zitaendelea kufanya kazi. - Hamisha jumbe za SMS + Endelea Uhamishaji Umekamilika @@ -5480,10 +5477,17 @@ Dondoo: Vuta chini kwenye orodha ya gumzo ili kuchuja - - Muda si mrefu Signal haitaikubali tena toleo la kifaa chako cha Android. Ili kuendelea kutumia Signal, sasisha kifaa chako, au hamia kwenye kifaa kipya zaidi kabla ya %1$s. - - - Jifunze zaidi + + Msaada wa SMS utaondolewa + + Utumaji wa SMS kwenye programu ya Signal muda si mrefu hautakuwepo. + + Jumbe za SMS ni tofauti na jumbe za Signal. Hii haiathiri utumaji jumbe kwa usimbwaji wa Signal ambao utaendelea kufanya kazi. + + Unaweza kuhamisha jumbe zako za SMS na kuchagua programu mpya ya SMS. + + Signal imeondoa msaada wa kutuma jumbe za SMS. + + Hamisha jumbe za SMS diff --git a/app/src/main/res/values-ta/strings.xml b/app/src/main/res/values-ta/strings.xml index 3e8ebda63f..25c16d5fb1 100644 --- a/app/src/main/res/values-ta/strings.xml +++ b/app/src/main/res/values-ta/strings.xml @@ -653,9 +653,6 @@ Signal லின் இந்த பதிப்பு காலாவதியானது. செய்திகளை அனுப்ப மற்றும் பெற பயன்பாட்டைப் புதுப்பிக்கவும். இப்பொழுது மேம்படுத்து - - இந்த டிவைஸில் இனியும் Signal வேலை செய்யாது. மீண்டும் சிக்னலைப் பயன்படுத்த, உங்கள் டிவைஸை Android இன் புதிய பதிப்பிற்குப் புதுப்பிக்கவும் அல்லது புதிய டிவைஸிற்கு மாறவும். - %1$dஉறுப்பினர் கோரிக்கை நிலுவையில் உள்ளது @@ -5000,8 +4997,8 @@ நண்பருக்காக நன்கொடை அளிக்கவும் - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Signalஐ பயன்படுத்தும் நண்பர் அல்லது குடும்ப உறுப்பினருக்கு நன்கொடை அளிப்பதன் மூலம் Signalஐ ஆதரிக்கவும். %1$d நாளுக்கு அவர்களின் ப்ரொஃபைலில் காண்பிக்க ஒரு பேட்ஜைப் பெறுவார்கள் + சிக்னலைப் பயன்படுத்தும் நண்பர் அல்லது குடும்ப உறுப்பினருக்கு நன்கொடை அளிப்பதன் மூலம் சிக்னலை ஆதரிக்கவும். %1$d நாட்களுக்கு அவர்களின் ப்ரொஃபைலில் காண்பிக்க ஒரு பேட்ஜைப் பெறுவார்கள் அடுத்தது @@ -5353,9 +5350,9 @@ எஸ்.எம்.எஸ் ஆதரவு நிறுத்தப்படுகிறது - மறைகுறியாக்கப்பட்ட செய்தியிடலில் கவனம் செலுத்த எஸ்.எம்.எஸ் ஆதரவு விரைவில் அகற்றப்படும். + கவலை வேண்டாம், குறியாக்கம் செய்யப்பட்ட Signal மெசேஜ்கள் தொடர்ந்து வேலை செய்யும். - எஸ்எம்எஸ்-ஐ ஏற்றுமதி செய் + தொடர்க ஏற்றுமதி முடிந்தது @@ -5480,10 +5477,17 @@ உதவிக்குறிப்பு: வடிகட்ட சாட் பட்டியலை கீழே இழுக்கவும் - - உங்கள் டிவைஸின் Android பதிப்பை விரைவில் Signal ஆதரிக்காது. Signalஐ தொடர்ந்து பயன்படுத்த, உங்கள் டிவைஸை புதுப்பிக்கவும் அல்லது %1$s க்குள் புதிய டிவைஸிற்கு மாறவும். - - - மேலும் அறிக + + SMS ஆதரவு நிறுத்தப்படுகிறது + + Signal செயலியில் SMS மெசேஜ் அனுப்புதலுக்கான ஆதரவு விரைவில் நிறுத்தப்படும். + + SMS மெசேஜ்களும் Signal மெசேஜ்களும் வேறுபட்டவை. இது குறியாக்கம் செய்யப்பட்ட Signal மெசேஜைப் பாதிக்காது, அது தொடர்ந்து செயல்படும். + + உங்கள் SMS மெசேஜ்களை ஏற்றுமதி செய்து புதிய SMS செயலியைத் தேர்வுசெய்யலாம். + + SMS மெசேஜ்களை அனுப்புவதற்கான ஆதரவை Signal அகற்றியுள்ளது. + + SMSஐ ஏற்றுமதி செய் diff --git a/app/src/main/res/values-te/strings.xml b/app/src/main/res/values-te/strings.xml index ffbead966a..569c8f68ba 100644 --- a/app/src/main/res/values-te/strings.xml +++ b/app/src/main/res/values-te/strings.xml @@ -653,9 +653,6 @@ Signal యొక్క ఈ వెర్షన్ గడువు ముగిసింది. సందేశాలను పంపడానికి మరియు స్వీకరించడానికి ఇప్పుడే నవీకరించండి. నవీకరణ చేయండి ఇప్పుడు - - ఈ పరికరంపై Signal ఇక ఏమాత్రం పని చేయదు. Signalను మళ్లీ ఉపయోగించడానికి, మీ పరికరాన్ని Android యొక్క కొత్త వెర్షన్‌కి అప్‌డేట్ చేయండి లేదా కొత్త పరికరానికి మారండి. - %1$d సభ్యుల అభ్యర్థన పెండింగ్‌లో ఉంది. @@ -5000,8 +4997,8 @@ ఒక స్నేహితుడి కొరకు విరాళం ఇవ్వండి - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Signal ఉపయోగించే స్నేహితుడు లేదా కుటుంబ సభ్యుడి కొరకు విరాళం ఇవ్వడం ద్వారా Signalకు మద్దతు ఇవ్వండి. %1$d రోజుపాటు వారి ప్రొఫైల్‌లో ప్రదర్శించడానికి వారు ఒక బ్యాడ్జీని పొందుతారు. + Signal ఉపయోగించే స్నేహితుడు లేదా కుటుంబ సభ్యుడి కొరకు విరాళం ఇవ్వడం ద్వారా Signalకు మద్దతు ఇవ్వండి. %1$d రోజులపాటు వారి ప్రొఫైల్‌లో ప్రదర్శించడానికి వారు ఒక బ్యాడ్జీని పొందుతారు. తరువాత @@ -5353,9 +5350,9 @@ SMS మద్దతు కనుమరుగవబోతోంది - ఎన్‌క్రిప్ట్ చేసిన సందేశాలు పంపడంపై దృష్టి పెట్టడానికి త్వరలో SMS మద్దతు తొలగించబడుతుంది. + చింతించవద్దు, ఎన్‌క్రిప్ట్ చేసిన Signal సందేశాలు పని చేయడం కొనసాగిస్తాయి. - SMS ఎగుమతి చేయండి + కొనసాగండి ఎగుమతి పూర్తయింది @@ -5480,10 +5477,17 @@ చిట్కా: ఫిల్టర్ చేయడానికి చాట్ జాబితాపై కిందకు లాగండి - - త్వరలో మీ పరికరం Android వెర్షన్‌కు Signal ఇక ఏమాత్రం మద్దతు ఇవ్వదు. Signalని ఉపయోగించడాన్ని కొనసాగించేందుకు, మీ పరికరాన్ని అప్‌డేట్ చేయండి లేదా %1$s ద్వారా కొత్త పరికరానికి మారండి. - - - మరింత తెలుసుకోండి + + SMS మద్దతు కనుమరుగవబోతోంది + + Signal యాప్‌లో SMS మెసేజింగ్‌కు త్వరలో మద్దతు తొలగించబడుతుంది. + + SMS సందేశాలు Signal సందేశాల కంటే భిన్నంగా ఉంటాయి. ఇది ఎన్‌క్రిప్ట్ చేసిన Signal మెసేజింగ్‌ను ప్రభావితం చేయదు, ఇది పని చేయడం కొనసాగుతుంది. + + మీరు మీ SMS సందేశాలను ఎగుమతి చేయవచ్చు మరియు కొత్త SMS యాప్‌ను ఎంచుకోవచ్చు. + + SMS సందేశాలను పంపడానికి Signal మద్దతును తొలగించింది. + + SMS ఎగుమతి చేయండి diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index 3acc0d2a48..dd690f797e 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -633,9 +633,6 @@ Signal รุ่นนี้หมดอายุแล้ว ปรับรุ่นเดี๋ยวนี้เพื่อรับและส่งข้อความ ปรับรุ่นเดี๋ยวนี้ - - อุปกรณ์นี้ไม่รองรับการใช้งาน Signal อีกต่อไป หากต้องการกลับไปใช้งาน Signal ตามปกติอีกครั้ง ให้อัปเดตอุปกรณ์ของคุณเป็น Android เวอร์ชันล่าสุดหรือเปลี่ยนไปใช้อุปกรณ์รุ่นที่ใหม่กว่า - %1$d คำขอเป็นสมาชิกที่ค้างอยู่ @@ -4890,7 +4887,7 @@ บริจาคในนามของเพื่อน - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + สนับสนุน Signal ด้วยการบริจาคในนามของเพื่อนหรือครอบครัวที่ใช้ Signal อยู่ ผู้ใช้ที่คุณบริจาคในนาให้จะได้รับโล่สำหรับแสดงบนโปรไฟล์เป็นเวลา %1$d วัน ถัดไป @@ -5232,9 +5229,9 @@ เราจะไม่รองรับข้อความ SMS แล้ว - เราจะยกเลิกการรองรับข้อความ SMS ในอีกไม่ช้า เพื่อมุ่งเน้นการให้บริการการส่งข้อความที่เข้ารหัส + ไม่ต้องห่วง ข้อความเข้ารหัสของ Signal จะยังใช้งานได้ตามปกติ - ส่งออก SMS + ดำเนินการต่อ ส่งออกเรียบร้อยแล้ว @@ -5356,10 +5353,17 @@ เคล็ดลับ: ลากลงไปที่รายการแชทเพื่อกรอง - - Signal กำลังจะหยุดรองรับ Android เวอร์ชันที่อุปกรณ์ของคุณใช้งานอยู่ กรุณาอัปเดตอุปกรณ์หรือเปลี่ยนไปใช้อุปกรณ์รุ่นที่ใหม่กว่าภายใน %1$s เพื่อการใช้งานอย่างต่อเนื่อง - - - เรียนรู้เพิ่มเติม + + เราจะไม่รองรับข้อความ SMS แล้ว + + เราจะหยุดรองรับการส่งข้อความ SMS ในแอป Signal ในอีกไม่ช้า + + ข้อความ SMS แตกต่างจากข้อความ Signal นี่จะไม่ส่งผลกระทบต่อการส่งข้อความเข้ารหัสของ Signal ที่จะยังใช้งานได้ตามปกติ + + คุณสามารถส่งออกข้อความ SMS และเลือกแอป SMS แอปใหม่ได้ + + Signal ยกเลิกการรองรับการส่งข้อความ SMS แล้ว + + ส่งออก SMS diff --git a/app/src/main/res/values-tl/strings.xml b/app/src/main/res/values-tl/strings.xml index 75cc8944b5..3c62445754 100644 --- a/app/src/main/res/values-tl/strings.xml +++ b/app/src/main/res/values-tl/strings.xml @@ -653,9 +653,6 @@ Itong version ng Signal ay expired na. Mag-update ngayon para makapag-send at makapag-receive ng messages I-update na - - Hindi na gumagana ang Signal sa device na ito. Para magamit ulit ang Signal, i-update ang iyong device sa mas bagong version ng Android o lumipat sa mas bagong device. - %1$d pending member request. @@ -5000,8 +4997,8 @@ Mag-donate para sa Kaibigan - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Suportahan ang Signal sa pamamagitan ng pag-donate para sa isang kaibigan o kamag-anak na gumagamit ng Signal. Makatatanggap sila ng isang badge na pwede nilang i-display sa kanilang profile sa loob ng %1$d araw + Suportahan ang Signal sa pamamagitan ng pag-donate para sa isang kaibigan o kamag-anak na gumagamit ng Signal. Makatatanggap sila ng isang badge na pwede nilang i-display sa kanilang profile sa loob ng %1$d araw Susunod @@ -5353,9 +5350,9 @@ Mawawala na ang SMS support - Malapit nang tanggaling ang pagsuporta sa SMS para mag-focus sa encrypted messaging. + \'Wag kang mag-alala, patuloy na gagana ang encrypted Signal messages. - I-export ang SMS + Magpatuloy Tapos na ang pag-export @@ -5480,10 +5477,17 @@ Tip: I-drag pababa ang chat list para mag-filter - - Malapit nang hindi masuportahan ng Signal ang Android version ng iyong device. Para patuloy na magamit ang Signal, i-update ang iyong device, o lumipat sa mas bagong device sa %1$s. - - - Matuto pa + + Mawawala na ang SMS support + + Hindi na susuportahan sa hinaharap ang SMS messaging sa Signal app. + + Iba sa Signal messages ang SMS messages. Hindi nito maaapektuhan ang encrypted Signal messaging na patuloy na gagana. + + Pwede mong i-export ang iyong SMS messages at pumili ng bagong SMS app. + + Tinanggal na ng Signal ang pagsuporta sa pag-send ng SMS messages. + + I-export ang SMS diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index c7341b612b..2463fa84d3 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -653,9 +653,6 @@ Signal\'in bu sürümü kullanım dışı kaldı. İleti gönderip alabilmek için şimdi güncelleyin. Şimdi güncelle - - Signal artık bu cihazda çalışmıyor. Signal\'ı tekrar kullanmak için cihazını daha yeni bir Android sürümüyle güncelle veya daha yeni bir cihaza geç. - %1$d üye isteği beklemede. @@ -5000,8 +4997,8 @@ Arkadaşın için bağış yap - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Signal kullanan bir arkadaşın veya aile üyesi için bağış yaparak Signal\'ı destekle. Böylece %1$d gün boyunca profillerinde görünecek bir rozet sahibi olacaklar + Signal kullanan bir arkadaşın veya aile üyesi için bağış yaparak Signal\'ı destekle. Böylece %1$d gün boyunca profillerinde görünecek bir rozet sahibi olacaklar İleri @@ -5353,9 +5350,9 @@ SMS desteği kaldırılıyor - Şifreli mesajlaşmaya geçmek için SMS desteği yakında kaldırılacak. + Endişelenme, şifreli Signal mesajları çalışmaya devam edecek. - SMS\'i dışa aktar + Devam Et Dışa Aktarma Tamamlandı @@ -5480,10 +5477,17 @@ İpucu: Filtrelemek için konuşma listesini aşağı çek - - Signal yakında cihazının Android sürümünü desteklemeyecek. Signal\'ı kullanmaya devam etmek için cihazını güncelle veya %1$s tarihine kadar daha yeni bir cihaza geç. - - - Daha fazlasını öğren + + SMS desteği kaldırılıyor + + Signal uygulamasında SMS mesajları yakında artık desteklenmeyecek. + + SMS mesajları, Signal mesajlarından farklıdır. Bu durum çalışmaya devam edecek olan şifreli Signal mesajlarını etkilemez. + + SMS mesajlarını dışa aktarabilir ve yeni bir SMS uygulaması seçebilirsin. + + Signal, SMS mesajları gönderme desteğini kaldırdı. + + SMS\'i dışa aktar diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 2d648405f8..bd2c494412 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -693,9 +693,6 @@ Ваша версія Signal застаріла. Оновіть зараз, щоб відправляти та отримувати повідомлення. Оновити зараз - - Signal більше не працює на цьому пристрої. Щоб знову користуватися застосунком, оновіть версію Android чи скористайся новішим пристроєм. - %1$d запит учасникав, що очікує розгляд. @@ -5220,10 +5217,10 @@ Донат для друга - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Підтримайте Signal, зробивши донат за друзів чи родичів, які користуються застосунком. Вони отримують спеціальний значок профілю на %1$d день + Підтримайте Signal, зробивши донат за друзів чи родичів, які користуються застосунком. Вони отримують спеціальний значок профілю на %1$d дні + Підтримайте Signal, зробивши донат за друзів чи родичів, які користуються застосунком. Вони отримують спеціальний значок профілю на %1$d днів + Підтримайте Signal, зробивши донат за друзів чи родичів, які користуються застосунком. Вони отримують спеціальний значок профілю на %1$d дня Далі @@ -5595,9 +5592,9 @@ Підтримка SMS припиняється - Незабаром ми припинимо підтримувати SMS, щоб сфокусуватися на зашифрованих повідомленнях. + Не хвилюйтеся. Зашифровані повідомлення Signal продовжать працювати. - Експорт SMS + Продовжити Експорт завершено @@ -5728,10 +5725,17 @@ Порада: потягніть список чатів униз, щоби відфільтрувати - - Незабаром Signal припинить підтримувати версію Android вашого пристрою. Щоб користуватися застосунком і надалі, оновіть версію Android чи скористайся новішим пристроєм до %1$s. - - - Подробиці + + Підтримка SMS припиняється + + Невдовзі застосунок Signal припинить підтримувати SMS-повідомлення. + + SMS-повідомлення відрізняються від повідомлень Signal. Ця зміна ніяк не впливатиме на зашифровані повідомлення Signal, які продовжать працювати. + + Ви можете експортувати свої SMS-повідомлення і вибрати новий застосунок для SMS. + + Signal більше не підтримує надсилання SMS-повідомлень. + + Експорт SMS diff --git a/app/src/main/res/values-ur/strings.xml b/app/src/main/res/values-ur/strings.xml index a65dbf17b6..643dede02e 100644 --- a/app/src/main/res/values-ur/strings.xml +++ b/app/src/main/res/values-ur/strings.xml @@ -653,9 +653,6 @@ Signal کا یہ ورژن ختم ہوگیا ہے۔ پیغامات بھیجنے اور موصول کرنے کے لئے ابھی اپ ڈیٹ کریں۔ تازہ ترین کریں. - - Signal اب اس ڈیوائس پر کام نہیں کرتی Signal کو دوبارہ استعمال کرنے کے لیے، اپنی ڈیوائس کو Android کے نئے ورژن پر اپ ڈیٹ کریں یا ایک حالیہ ڈیوائس پر سوئچ کریں۔ - %1$d زیر التواء ممبر درخواست۔ @@ -5000,8 +4997,8 @@ دوست کی طرف سے عطیہ کریں - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Signal استعمال کرنے والے دوست یا فیملی ممبر کی خاطر عطیہ کر کے Signal کو سپورٹ کریں۔ انہیں %1$d دن کے لیے اپنی پروفائل پر ڈسپلے کرنے کے لیے ایک بیج موصول ہو گا + Signal استعمال کرنے والے دوست یا فیملی ممبر کی خاطر عطیہ کر کے Signal کو سپورٹ کریں۔ انہیں %1$d دنوں کے لیے اپنی پروفائل پر ڈسپلے کرنے کے لیے ایک بیج موصول ہو گا اگلا @@ -5353,9 +5350,9 @@ SMS سپورٹ ہٹائی جا رہی ہے - اینکرپٹڈ میسیجنگ پر توجہ مرکوز کرنے کے لیے SMS سپورٹ جلد ہی ہٹا دی جائے گی۔ + گھبرائیں مت، انکرپٹ کردہ Signal پیغامات کام کرنا جاری رکھیں گے۔ - SMS منتقل کریں + جاری رکھیں منتقلی مکمل ہو گئی @@ -5480,10 +5477,17 @@ تجویز: فلٹر کرنے کے لیے چیٹ لسٹ نیچے کی طرف کھینچیں - - Signal جلد ہی آپ کی ڈیوائس کے Android ورژن کو مزید سپورٹ نہیں کرے گا۔ Signal کا استعمال جاری رکھنے کے لیے، اپنی ڈیوائس اپ ڈیٹ کریں، یا %1$s تک ایک نئی ڈیوائس پر سوئچ کریں۔ - - - مزید جانیں + + SMS سپورٹ ختم ہو رہی ہے + + Signal ایپ میں SMS پیغام رسانی کی اب مزید سپورٹ نہیں کی جائے گی۔ + + SMS پیغامات Signal پیغامات سے مختلف ہو سکتے ہیں۔ اس سے انکرپٹ کردہ Signal پیغام رسانی متاثر نہیں ہوتی اور وہ کام کرنا جاری رکھے گی۔ + + آپ اپنے SMS پیغامات کو ایکسپورٹ اور ایک نئی SMS ایپ کا انتخاب کر سکتے ہیں۔ + + SMS پیغامات بھیجنے کے لیے Signal کی طرف سے سپورٹ کو ہٹا دیا گیا ہے۔ + + SMS ایکسپورٹ کریں diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 2844efda17..cd5d211426 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -633,9 +633,6 @@ Phiên bản này của Signal đã hết hạn. Cập nhật ngay để gửi và nhận tin nhắn. Cập nhật ngay - - Signal không còn hoạt động được trên thiết bị này. Để có thể tiếp tục sử dụng Signal, cập nhật phiên bản Android mới hơn cho thiết bị của bạn hoặc đổi qua một thiết bị mới hơn. - %1$dyêu cầu thành viên đang chờ. @@ -4890,7 +4887,7 @@ Ủng hộ thay cho một người bạn - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + Hỗ trợ Signal bằng cách gửi ủng hộ thay cho một người bạn hoặc thành viên gia đình cũng sử dụng Signal. Họ sẽ nhận được một huy hiệu để hiển thị trên hồ sơ trong %1$d ngày Tiếp @@ -5232,9 +5229,9 @@ SMS sẽ sớm không còn được hỗ trợ - Việc hỗ trợ nhắn tin SMS sẽ sớm được lược bỏ để tập trung vào tính năng nhắn tin được mã hóa. + Đừng lo lắng, tin nhắn được mã hóa của Signal sẽ vẫn tiếp tục hoạt động. - Xuất SMS + Tiếp tục Xuất thành công @@ -5356,10 +5353,17 @@ Mẹo: Kéo danh sách cuộc trò chuyện xuống để lọc - - Signal sẽ sớm không còn hỗ trợ phiên bản Android trên thiết bị của bạn. Để có thể tiếp tục sử dụng Signal, cập nhật thiết bị của bạn, hoặc đổi qua một thiết bị mới hơn của %1$s. - - - Tìm hiểu thêm + + SMS sẽ sớm không còn được hỗ trợ + + Tin nhắn SMS trong ứng dụng Signal sẽ sớm không còn được hỗ trợ. + + Tin nhắn SMS khác với tin nhắn Signal. Điều này không ảnh hưởng đến hoạt động nhắn tin được mã hóa của Signal. + + Bạn có thể xuất các tin nhắn SMS và lựa chọn ứng dụng nhắn tin SMS mới. + + Signal đã ngừng hỗ trợ việc gửi tin nhắn SMS. + + Xuất SMS diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 0cd97c360f..cfd13429e4 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -633,9 +633,6 @@ 此 Signal 版本已过期,请升级到最新版本以继续收发消息。 现在升级 - - Signal 已无法在此设备上运行。如要继续使用 Signal,请将您的设备更新到较新版本的 Android 系统,或更换一个新的设备。 - %1$d 待处理成员请求。 @@ -4890,7 +4887,7 @@ 代朋友捐款 - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + 代使用 Signal 的朋友或家人进行捐款,为 Signal 提供一份支持。对方将会收到捐款徽章并可以在个人资料中展示 %1$d 天。 下一步 @@ -5232,9 +5229,9 @@ 短信支持即将撤销 - 我们将很快不再支持短信服务,以专注于加密消息服务。 + 不要担心,加密的 Signal 消息服务仍然可用。 - 导出短信 + 继续 导出完成 @@ -5356,10 +5353,17 @@ 提示:下拉聊天列表进行筛选 - - Signal 很快将不再支持您设备上的 Android 版本。如要继续使用 Signal,请更新您的现有的设备或在 %1$s之前更换一个新的设备。 - - - 了解详情 + + 短信服务即将结束 + + Signal 应用即将下线短信聊天服务。 + + 短信消息与 Signal 消息不一样。这不会影响加密的 Signal 消息服务。此服务仍然可用。 + + 您可以将短信消息导出,或选择其他的短信应用。 + + Signal 已不再支持发送短信消息。 + + 导出短信 diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 1598224bc3..1558aeef62 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -633,9 +633,6 @@ 此版本的 Signal 已過期。立即更新以傳送和接收訊息。 立即更新 - - Signal 不再適用於此裝置。若要再次使用 Signal,請將你的裝置更新至較新版本的 Android,或切換至較新的裝置。 - %1$d 個尚待處理的成員請求。 @@ -4890,7 +4887,7 @@ 為朋友捐款 - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + 透過為使用 Signal 的朋友或家人捐款來支持 Signal。對方還可以在個人檔案上展示徽章 %1$d 天。 下一步 @@ -5232,9 +5229,9 @@ 系統即將停止支援短訊服務 - 系統即將停止短訊支援,專注提供加密通訊服務。 + 不用擔心,Signal 加密訊息將可繼續使用。 - 匯出短訊 + 繼續 匯出完成 @@ -5356,10 +5353,17 @@ 提示:下拉聊天清單以進行篩選 - - Signal 即將停止支援你裝置使用的 Android 版本。如要繼續使用 Signal,請在 %1$s 之前更新你的裝置或切換至較新的裝置。 - - - 了解更多 + + 系統即將停止支援短訊服務 + + Signal 應用程式即將停止支援短訊服務。 + + 短訊與 Signal 訊息不同。這不會影響 Signal 加密通訊,有關服務將可繼續使用。 + + 你可匯出短訊,並選擇新的短訊應用程式。 + + Signal 已停止支援短訊傳送。 + + 匯出短訊 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index eeb6a7a605..9c7cb69a6f 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -633,9 +633,6 @@ 此版本的 Signal 已過期。立即更新以傳送和接收訊息。 立即更新 - - Signal 不再適用於此裝置。若要再次使用 Signal,請將你的裝置更新至較新版本的 Android,或切換至較新的裝置。 - %1$d 個待處理的成員要求。 @@ -4890,7 +4887,7 @@ 為朋友捐款 - Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days + 透過為使用 Signal 的朋友或家人捐款來支持 Signal。對方還可以在個人檔案上展示徽章 %1$d 天。 下一步 @@ -5232,9 +5229,9 @@ 系統即將停止支援短訊服務 - 系統即將停止短訊支援,專注提供加密通訊服務。 + 不用擔心,Signal 加密訊息將可繼續使用。 - 匯出短訊 + 繼續 匯出完成 @@ -5356,10 +5353,17 @@ 提示:下拉聊天清單以進行篩選 - - Signal 即將停止支援你裝置使用的 Android 版本。如要繼續使用 Signal,請在 %1$s 之前更新你的裝置或切換至較新的裝置。 - - - 了解更多 + + 系統即將停止支援短訊服務 + + Signal 應用程式即將停止支援短訊服務。 + + 短訊與 Signal 訊息不同。這不會影響 Signal 加密通訊,有關服務將可繼續使用。 + + 你可匯出短訊,並選擇新的短訊應用程式。 + + Signal 已停止支援短訊傳送。 + + 匯出短訊 diff --git a/app/src/main/res/values/ids.xml b/app/src/main/res/values/ids.xml index f47968185f..9c64334b54 100644 --- a/app/src/main/res/values/ids.xml +++ b/app/src/main/res/values/ids.xml @@ -22,8 +22,6 @@ - - diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b7ea2a23a2..98f9250bca 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -653,9 +653,6 @@ This version of Signal has expired. Update now to send and receive messages. Update now - - Signal no longer works on this device. To use Signal again, update your device to a newer version of Android or switch to a newer device. - %d pending member request. @@ -5355,9 +5352,9 @@ SMS support going away - SMS support will be removed soon to focus on encrypted messaging. + Don’t worry, encrypted Signal messages will continue to work. - Export SMS + Continue Export Complete @@ -5482,10 +5479,17 @@ Tip: Pull down on the chat list to filter - - Signal will no longer support your device\'s version of Android soon. To keep using Signal, update your device, or switch to a newer device by %1$s. - - - Learn more + + SMS support is going away + + SMS messaging in the Signal app will soon no longer be supported. + + SMS messages are different than Signal messages. This does not affect encrypted Signal messaging which will continue to work. + + You can export your SMS messages and choose a new SMS app. + + Signal has removed support for sending SMS messages. + + Export SMS diff --git a/app/src/test/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchPagedDataSourceTest.kt b/app/src/test/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchPagedDataSourceTest.kt index 6a43b1d571..ef6a70b92b 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchPagedDataSourceTest.kt +++ b/app/src/test/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchPagedDataSourceTest.kt @@ -51,16 +51,16 @@ class ContactSearchPagedDataSourceTest { val expected = listOf( ContactSearchKey.Header(ContactSearchConfiguration.SectionKey.RECENTS), - ContactSearchKey.RecipientSearchKey.KnownRecipient(RecipientId.UNKNOWN), - ContactSearchKey.RecipientSearchKey.KnownRecipient(RecipientId.UNKNOWN), - ContactSearchKey.RecipientSearchKey.KnownRecipient(RecipientId.UNKNOWN), - ContactSearchKey.RecipientSearchKey.KnownRecipient(RecipientId.UNKNOWN), - ContactSearchKey.RecipientSearchKey.KnownRecipient(RecipientId.UNKNOWN), - ContactSearchKey.RecipientSearchKey.KnownRecipient(RecipientId.UNKNOWN), - ContactSearchKey.RecipientSearchKey.KnownRecipient(RecipientId.UNKNOWN), - ContactSearchKey.RecipientSearchKey.KnownRecipient(RecipientId.UNKNOWN), - ContactSearchKey.RecipientSearchKey.KnownRecipient(RecipientId.UNKNOWN), - ContactSearchKey.RecipientSearchKey.KnownRecipient(RecipientId.UNKNOWN), + ContactSearchKey.RecipientSearchKey(RecipientId.UNKNOWN, false), + ContactSearchKey.RecipientSearchKey(RecipientId.UNKNOWN, false), + ContactSearchKey.RecipientSearchKey(RecipientId.UNKNOWN, false), + ContactSearchKey.RecipientSearchKey(RecipientId.UNKNOWN, false), + ContactSearchKey.RecipientSearchKey(RecipientId.UNKNOWN, false), + ContactSearchKey.RecipientSearchKey(RecipientId.UNKNOWN, false), + ContactSearchKey.RecipientSearchKey(RecipientId.UNKNOWN, false), + ContactSearchKey.RecipientSearchKey(RecipientId.UNKNOWN, false), + ContactSearchKey.RecipientSearchKey(RecipientId.UNKNOWN, false), + ContactSearchKey.RecipientSearchKey(RecipientId.UNKNOWN, false), ContactSearchKey.Header(ContactSearchConfiguration.SectionKey.INDIVIDUALS) ) @@ -75,15 +75,15 @@ class ContactSearchPagedDataSourceTest { val result = testSubject.load(5, 10) { false } val expected = listOf( - ContactSearchKey.RecipientSearchKey.KnownRecipient(RecipientId.UNKNOWN), - ContactSearchKey.RecipientSearchKey.KnownRecipient(RecipientId.UNKNOWN), - ContactSearchKey.RecipientSearchKey.KnownRecipient(RecipientId.UNKNOWN), - ContactSearchKey.RecipientSearchKey.KnownRecipient(RecipientId.UNKNOWN), - ContactSearchKey.RecipientSearchKey.KnownRecipient(RecipientId.UNKNOWN), - ContactSearchKey.RecipientSearchKey.KnownRecipient(RecipientId.UNKNOWN), + ContactSearchKey.RecipientSearchKey(RecipientId.UNKNOWN, false), + ContactSearchKey.RecipientSearchKey(RecipientId.UNKNOWN, false), + ContactSearchKey.RecipientSearchKey(RecipientId.UNKNOWN, false), + ContactSearchKey.RecipientSearchKey(RecipientId.UNKNOWN, false), + ContactSearchKey.RecipientSearchKey(RecipientId.UNKNOWN, false), + ContactSearchKey.RecipientSearchKey(RecipientId.UNKNOWN, false), ContactSearchKey.Header(ContactSearchConfiguration.SectionKey.INDIVIDUALS), - ContactSearchKey.RecipientSearchKey.KnownRecipient(RecipientId.UNKNOWN), - ContactSearchKey.RecipientSearchKey.KnownRecipient(RecipientId.UNKNOWN), + ContactSearchKey.RecipientSearchKey(RecipientId.UNKNOWN, false), + ContactSearchKey.RecipientSearchKey(RecipientId.UNKNOWN, false), ContactSearchKey.Expand(ContactSearchConfiguration.SectionKey.INDIVIDUALS) ) @@ -99,17 +99,17 @@ class ContactSearchPagedDataSourceTest { val expected = listOf( ContactSearchKey.Header(ContactSearchConfiguration.SectionKey.STORIES), - ContactSearchKey.RecipientSearchKey.Story(RecipientId.UNKNOWN), - ContactSearchKey.RecipientSearchKey.Story(RecipientId.UNKNOWN), - ContactSearchKey.RecipientSearchKey.Story(RecipientId.UNKNOWN), - ContactSearchKey.RecipientSearchKey.Story(RecipientId.UNKNOWN), - ContactSearchKey.RecipientSearchKey.Story(RecipientId.UNKNOWN), - ContactSearchKey.RecipientSearchKey.Story(RecipientId.UNKNOWN), - ContactSearchKey.RecipientSearchKey.Story(RecipientId.UNKNOWN), - ContactSearchKey.RecipientSearchKey.Story(RecipientId.UNKNOWN), - ContactSearchKey.RecipientSearchKey.Story(RecipientId.UNKNOWN), - ContactSearchKey.RecipientSearchKey.Story(RecipientId.UNKNOWN), - ContactSearchKey.RecipientSearchKey.Story(RecipientId.UNKNOWN), + ContactSearchKey.RecipientSearchKey(RecipientId.UNKNOWN, true), + ContactSearchKey.RecipientSearchKey(RecipientId.UNKNOWN, true), + ContactSearchKey.RecipientSearchKey(RecipientId.UNKNOWN, true), + ContactSearchKey.RecipientSearchKey(RecipientId.UNKNOWN, true), + ContactSearchKey.RecipientSearchKey(RecipientId.UNKNOWN, true), + ContactSearchKey.RecipientSearchKey(RecipientId.UNKNOWN, true), + ContactSearchKey.RecipientSearchKey(RecipientId.UNKNOWN, true), + ContactSearchKey.RecipientSearchKey(RecipientId.UNKNOWN, true), + ContactSearchKey.RecipientSearchKey(RecipientId.UNKNOWN, true), + ContactSearchKey.RecipientSearchKey(RecipientId.UNKNOWN, true), + ContactSearchKey.RecipientSearchKey(RecipientId.UNKNOWN, true), ) val resultKeys = result.map { it.contactSearchKey } diff --git a/app/src/test/java/org/thoughtcrime/securesms/contacts/paged/SafetyNumberRepositoryTest.kt b/app/src/test/java/org/thoughtcrime/securesms/contacts/paged/SafetyNumberRepositoryTest.kt index f8ec47e01f..b4d6b84048 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/contacts/paged/SafetyNumberRepositoryTest.kt +++ b/app/src/test/java/org/thoughtcrime/securesms/contacts/paged/SafetyNumberRepositoryTest.kt @@ -108,7 +108,7 @@ class SafetyNumberRepositoryTest { @Test fun batchSafetyNumberCheckSync_batchOf1_noChanges() { val other = recipientPool[1] - val keys = listOf(ContactSearchKey.RecipientSearchKey.KnownRecipient(other.id)) + val keys = listOf(ContactSearchKey.RecipientSearchKey(other.id, false)) staticRecipient.`when`> { Recipient.resolvedList(argThat { containsAll(keys.map { it.recipientId }) }) }.thenReturn(listOf(other)) whenever(profileService.performIdentityCheck(mapOf(other.requireServiceId() to identityPool[other]!!.identityKey))) @@ -127,7 +127,7 @@ class SafetyNumberRepositoryTest { val other = recipientPool[1] val otherAci = ACI.from(other.requireServiceId()) val otherNewIdentityKey = IdentityKeyUtil.generateIdentityKeyPair().publicKey - val keys = listOf(ContactSearchKey.RecipientSearchKey.KnownRecipient(other.id)) + val keys = listOf(ContactSearchKey.RecipientSearchKey(other.id, false)) staticRecipient.`when`> { Recipient.resolvedList(argThat { containsAll(keys.map { it.recipientId }) }) }.thenReturn(listOf(other)) whenever(profileService.performIdentityCheck(mapOf(other.requireServiceId() to identityPool[other]!!.identityKey))) @@ -148,7 +148,7 @@ class SafetyNumberRepositoryTest { val secondOther = recipientPool[2] val otherAci = ACI.from(other.requireServiceId()) val otherNewIdentityKey = IdentityKeyUtil.generateIdentityKeyPair().publicKey - val keys = listOf(ContactSearchKey.RecipientSearchKey.KnownRecipient(other.id), ContactSearchKey.RecipientSearchKey.KnownRecipient(secondOther.id)) + val keys = listOf(ContactSearchKey.RecipientSearchKey(other.id, false), ContactSearchKey.RecipientSearchKey(secondOther.id, false)) staticRecipient.`when`> { Recipient.resolvedList(argThat { containsAll(keys.map { it.recipientId }) }) }.thenReturn(listOf(other, secondOther)) whenever(profileService.performIdentityCheck(mapOf(other.requireServiceId() to identityPool[other]!!.identityKey, secondOther.requireServiceId() to identityPool[secondOther]!!.identityKey))) @@ -166,7 +166,7 @@ class SafetyNumberRepositoryTest { @Test fun batchSafetyNumberCheckSync_batchOf1_abortOnPriorRecentCheck() { val other = recipientPool[1] - val keys = listOf(ContactSearchKey.RecipientSearchKey.KnownRecipient(other.id)) + val keys = listOf(ContactSearchKey.RecipientSearchKey(other.id, false)) staticRecipient.`when`> { Recipient.resolvedList(argThat { containsAll(keys.map { it.recipientId }) }) }.thenReturn(listOf(other)) whenever(profileService.performIdentityCheck(mapOf(other.requireServiceId() to identityPool[other]!!.identityKey))) @@ -187,7 +187,7 @@ class SafetyNumberRepositoryTest { */ @Test fun batchSafetyNumberCheckSync_batchOf10WithSmallBatchSize_noChanges() { - val keys = recipientPool.map { ContactSearchKey.RecipientSearchKey.KnownRecipient(it.id) } + val keys = recipientPool.map { ContactSearchKey.RecipientSearchKey(it.id, false) } val others = recipientPool.subList(1, recipientPool.lastIndex) staticRecipient.`when`> { Recipient.resolvedList(argThat { containsAll(others.map { it.id }) }) }.thenReturn(others) @@ -205,7 +205,7 @@ class SafetyNumberRepositoryTest { @Test fun batchSafetyNumberCheckSync_serverError() { val other = recipientPool[1] - val keys = listOf(ContactSearchKey.RecipientSearchKey.KnownRecipient(other.id)) + val keys = listOf(ContactSearchKey.RecipientSearchKey(other.id, false)) staticRecipient.`when`> { Recipient.resolvedList(argThat { containsAll(keys.map { it.recipientId }) }) }.thenReturn(listOf(other)) whenever(profileService.performIdentityCheck(mapOf(other.requireServiceId() to identityPool[other]!!.identityKey))) @@ -219,7 +219,7 @@ class SafetyNumberRepositoryTest { @Test fun batchSafetyNumberCheckSync_networkError() { val other = recipientPool[1] - val keys = listOf(ContactSearchKey.RecipientSearchKey.KnownRecipient(other.id)) + val keys = listOf(ContactSearchKey.RecipientSearchKey(other.id, false)) staticRecipient.`when`> { Recipient.resolvedList(argThat { containsAll(keys.map { it.recipientId }) }) }.thenReturn(listOf(other)) whenever(profileService.performIdentityCheck(mapOf(other.requireServiceId() to identityPool[other]!!.identityKey))) @@ -233,7 +233,7 @@ class SafetyNumberRepositoryTest { @Test fun batchSafetyNumberCheckSync_badJson() { val other = recipientPool[1] - val keys = listOf(ContactSearchKey.RecipientSearchKey.KnownRecipient(other.id)) + val keys = listOf(ContactSearchKey.RecipientSearchKey(other.id, false)) staticRecipient.`when`> { Recipient.resolvedList(argThat { containsAll(keys.map { it.recipientId }) }) }.thenReturn(listOf(other)) whenever(profileService.performIdentityCheck(mapOf(other.requireServiceId() to identityPool[other]!!.identityKey))) diff --git a/build.gradle b/build.gradle index 3ce8e62dfe..e64c2d793c 100644 --- a/build.gradle +++ b/build.gradle @@ -29,7 +29,7 @@ buildscript { ext { BUILD_TOOL_VERSION = '32.0.0' // MOLLY: Edit Dockerfile to download the same SDK packages - COMPILE_SDK = 32 + COMPILE_SDK = 33 TARGET_SDK = 31 MINIMUM_SDK = 23 diff --git a/core-util/src/main/java/org/signal/core/util/Serializer.kt b/core-util/src/main/java/org/signal/core/util/Serializer.kt index 07d7ee4764..5521d1d7f2 100644 --- a/core-util/src/main/java/org/signal/core/util/Serializer.kt +++ b/core-util/src/main/java/org/signal/core/util/Serializer.kt @@ -15,3 +15,15 @@ interface IntSerializer : Serializer interface LongSerializer : Serializer interface ByteSerializer : Serializer + +object StringStringSerializer : StringSerializer { + + override fun serialize(data: String?): String { + return data ?: "" + } + + override fun deserialize(data: String): String { + return data + } + +} \ No newline at end of file diff --git a/dependencies.gradle b/dependencies.gradle index 1617dc6a30..e29bd1a440 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -4,13 +4,13 @@ dependencyResolutionManagement { versionCatalogs { libs { - version('androidx-camera', '1.1.0') + version('androidx-camera', '1.2.0') version('androidx-fragment', '1.5.2') version('androidx-lifecycle', '2.5.1') version('androidx-navigation', '2.5.2') version('androidx-window', '1.0.0') version('exoplayer', '2.18.1') - version('glide', '4.13.2') + version('glide', '4.14.2') version('kotlin', '1.6.21') version('libsignal-client', '0.21.1') version('mp4parser', '1.9.39') @@ -87,7 +87,7 @@ dependencyResolutionManagement { alias('signal-aesgcmprovider').to('org.signal:aesgcmprovider:0.0.3') alias('molly-argon2').to('im.molly:argon2:13.1-1') alias('molly-ringrtc').to('im.molly:ringrtc-android:2.22.0-1') - alias('signal-android-database-sqlcipher').to('org.signal:android-database-sqlcipher:4.4.3-S8') + alias('signal-android-database-sqlcipher').to('org.signal:android-database-sqlcipher:4.5.1-S1') // MOLLY alias('gosimple-nbvcxz').to('me.gosimple:nbvcxz:1.5.0') diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index 8d27cd5f1a..90079098af 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -177,36 +177,36 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + @@ -264,11 +264,6 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - @@ -1054,11 +1049,6 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - @@ -1648,29 +1638,35 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - + + + + + + - - - + + + + + + - - - + + + - - - + + + - - - + + + @@ -1840,11 +1836,6 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - @@ -2757,11 +2748,6 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - @@ -4292,7 +4278,7 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - + @@ -4662,9 +4648,9 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - + + + diff --git a/libsignal/service/src/main/java/org/whispersystems/signalservice/api/groupsv2/GroupsV2Operations.java b/libsignal/service/src/main/java/org/whispersystems/signalservice/api/groupsv2/GroupsV2Operations.java index e1aa2cab45..cb46dc7505 100644 --- a/libsignal/service/src/main/java/org/whispersystems/signalservice/api/groupsv2/GroupsV2Operations.java +++ b/libsignal/service/src/main/java/org/whispersystems/signalservice/api/groupsv2/GroupsV2Operations.java @@ -64,7 +64,7 @@ public final class GroupsV2Operations { public static final UUID UNKNOWN_UUID = UuidUtil.UNKNOWN_UUID; /** Highest change epoch this class knows now to decrypt */ - public static final int HIGHEST_KNOWN_EPOCH = 4; + public static final int HIGHEST_KNOWN_EPOCH = 5; private final ServerPublicParams serverPublicParams; private final ClientZkProfileOperations clientZkProfileOperations; diff --git a/libsignal/service/src/main/java/org/whispersystems/signalservice/api/kbs/MasterKey.java b/libsignal/service/src/main/java/org/whispersystems/signalservice/api/kbs/MasterKey.java index 47bd3a6041..1b36ffe9a8 100644 --- a/libsignal/service/src/main/java/org/whispersystems/signalservice/api/kbs/MasterKey.java +++ b/libsignal/service/src/main/java/org/whispersystems/signalservice/api/kbs/MasterKey.java @@ -31,6 +31,10 @@ public String deriveRegistrationLock() { return Hex.toStringCondensed(derive("Registration Lock")); } + public String deriveRegistrationRecoveryToken() { + return Hex.toStringCondensed(derive("Registration Recovery")); + } + public StorageKey deriveStorageServiceKey() { return new StorageKey(derive("Storage Service Encryption")); } diff --git a/qr/lib/src/main/java/org/signal/qr/ImageProxyLuminanceSource.kt b/qr/lib/src/main/java/org/signal/qr/ImageProxyLuminanceSource.kt index 470b3dd60d..f9e721ff13 100644 --- a/qr/lib/src/main/java/org/signal/qr/ImageProxyLuminanceSource.kt +++ b/qr/lib/src/main/java/org/signal/qr/ImageProxyLuminanceSource.kt @@ -1,7 +1,6 @@ package org.signal.qr import android.graphics.ImageFormat -import androidx.annotation.RequiresApi import androidx.camera.core.ImageProxy import com.google.zxing.LuminanceSource import java.nio.ByteBuffer @@ -14,7 +13,6 @@ import java.nio.ByteBuffer * An image width can be reported as 1080 but the row stride may be 1088. Thus when representing a row-major * 2D array as a 1D array, the math can go sideways if width is used instead of row stride. */ -@RequiresApi(21) class ImageProxyLuminanceSource(image: ImageProxy) : LuminanceSource(image.width, image.height) { val yData: ByteArray diff --git a/qr/lib/src/main/java/org/signal/qr/QrProcessor.kt b/qr/lib/src/main/java/org/signal/qr/QrProcessor.kt index b4167448a1..6981c3efdd 100644 --- a/qr/lib/src/main/java/org/signal/qr/QrProcessor.kt +++ b/qr/lib/src/main/java/org/signal/qr/QrProcessor.kt @@ -1,6 +1,5 @@ package org.signal.qr -import androidx.annotation.RequiresApi import androidx.camera.core.ImageProxy import com.google.zxing.BinaryBitmap import com.google.zxing.ChecksumException @@ -24,7 +23,6 @@ class QrProcessor { private var previousHeight = 0 private var previousWidth = 0 - @RequiresApi(21) fun getScannedData(proxy: ImageProxy): String? { return getScannedData(ImageProxyLuminanceSource(proxy)) } diff --git a/qr/lib/src/main/java/org/signal/qr/ScannerView21.kt b/qr/lib/src/main/java/org/signal/qr/ScannerView21.kt index d3b0835668..d876de2d8e 100644 --- a/qr/lib/src/main/java/org/signal/qr/ScannerView21.kt +++ b/qr/lib/src/main/java/org/signal/qr/ScannerView21.kt @@ -4,7 +4,6 @@ import android.annotation.SuppressLint import android.content.Context import android.util.Size import android.widget.FrameLayout -import androidx.annotation.RequiresApi import androidx.camera.core.Camera import androidx.camera.core.CameraSelector import androidx.camera.core.ImageAnalysis @@ -22,7 +21,6 @@ import java.util.concurrent.Executors * API21+ version of QR scanning view. Uses camerax APIs. */ @SuppressLint("ViewConstructor") -@RequiresApi(21) internal class ScannerView21 constructor( context: Context, private val listener: ScanListener