diff --git a/app/build.gradle b/app/build.gradle index 29ff9772d1..324876d532 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -225,7 +225,7 @@ dependencies { ksp("androidx.hilt:hilt-compiler:$jetpackHiltVersion") ksp("com.google.dagger:hilt-compiler:$daggerHiltVersion") - ksp "com.github.bumptech.glide:ksp:$glideVersion" + ksp("com.github.bumptech.glide:ksp:$glideVersion") implementation 'androidx.compose.material3:material3-android:1.2.1' implementation("com.google.dagger:hilt-android:$daggerHiltVersion") @@ -273,7 +273,6 @@ dependencies { implementation 'com.github.chrisbanes:PhotoView:2.1.3' implementation "com.github.bumptech.glide:glide:$glideVersion" implementation "com.github.bumptech.glide:compose:1.0.0-beta01" - ksp "com.github.bumptech.glide:ksp:$glideVersion" implementation 'com.makeramen:roundedimageview:2.1.0' implementation 'com.pnikosis:materialish-progress:1.5' implementation 'org.greenrobot:eventbus:3.0.0' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 01720409b8..aa164fe7b5 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -268,13 +268,6 @@ android:theme="@style/Theme.Session.DayNight.NoActionBar" android:launchMode="singleTask" android:windowSoftInputMode="stateHidden" /> - ) { showSessionDialog { title(R.string.banUser) - // ACL TODO - We need a string for the below `text` element + // ACL TODO - We need a string for the below `text` element - have asked Lucy about this 2024/08/26 -AL text("This will ban the selected user from this room. It won't ban them from other rooms.") button(R.string.banUser) { viewModel.banUser(messages.first().individualRecipient); endActionMode() } cancelButton(::endActionMode) @@ -2129,7 +2129,7 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe override fun banAndDeleteAll(messages: Set) { showSessionDialog { title(R.string.banUser) - // ACL TODO - We need a string for the below `text` element + // ACL TODO - We need a string for the below `text` element - have asked Lucy about this 2024/08/26 -AL text("This will ban the selected user from this room and delete all messages sent by them. It won't ban them from other rooms or delete the messages they sent there.") button(R.string.banUser) { viewModel.banAndDeleteAll(messages.first()); endActionMode() } cancelButton(::endActionMode) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/dialogs/BlockedDialog.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/dialogs/BlockedDialog.kt index 394e41bab7..3dc87b5e91 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/dialogs/BlockedDialog.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/dialogs/BlockedDialog.kt @@ -33,7 +33,7 @@ class BlockedDialog(private val recipient: Recipient, private val context: Conte title(resources.getString(R.string.blockUnblock)) text(spannable) - dangerButton(R.string.blockUnblock,R.string.AccessibilityId_unblockConfirm) { unblock() } + dangerButton(R.string.blockUnblock, R.string.AccessibilityId_unblockConfirm) { unblock() } cancelButton { dismiss() } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/Storage.kt b/app/src/main/java/org/thoughtcrime/securesms/database/Storage.kt index 35c1307f3b..a39598c55b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/Storage.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/Storage.kt @@ -634,7 +634,7 @@ open class Storage( val threadID = getOrCreateThreadIdFor(Address.fromSerialized(groupId)) threadDb.setDate(threadID, formationTimestamp) - // ACL Note: Commenting out this line prevents the timestamp of room creation being added to a new closed group, + // Note: Commenting out this line prevents the timestamp of room creation being added to a new closed group, // which in turn allows us to show the `groupNoMessages` control message text. //insertOutgoingInfoMessage(context, groupId, SignalServiceGroup.Type.CREATION, title, members.map { it.serialize() }, admins.map { it.serialize() }, threadID, formationTimestamp) diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/helpers/SQLCipherOpenHelper.java b/app/src/main/java/org/thoughtcrime/securesms/database/helpers/SQLCipherOpenHelper.java index abdc69072c..b6ebd6db84 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/helpers/SQLCipherOpenHelper.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/helpers/SQLCipherOpenHelper.java @@ -6,17 +6,15 @@ import android.app.NotificationChannel; import android.app.NotificationManager; import android.content.Context; import android.database.Cursor; - import androidx.annotation.NonNull; import androidx.core.app.NotificationCompat; - import com.squareup.phrase.Phrase; - +import java.io.File; import net.zetetic.database.sqlcipher.SQLiteConnection; import net.zetetic.database.sqlcipher.SQLiteDatabase; import net.zetetic.database.sqlcipher.SQLiteDatabaseHook; import net.zetetic.database.sqlcipher.SQLiteOpenHelper; - +import network.loki.messenger.R; import org.session.libsession.utilities.TextSecurePreferences; import org.session.libsignal.utilities.Log; import org.thoughtcrime.securesms.crypto.DatabaseSecret; @@ -43,13 +41,8 @@ import org.thoughtcrime.securesms.database.SessionContactDatabase; import org.thoughtcrime.securesms.database.SessionJobDatabase; import org.thoughtcrime.securesms.database.SmsDatabase; import org.thoughtcrime.securesms.database.ThreadDatabase; -import org.thoughtcrime.securesms.notifications.NotificationChannels; import org.thoughtcrime.securesms.util.ConfigurationMessageUtilities; -import java.io.File; - -import network.loki.messenger.R; - public class SQLCipherOpenHelper extends SQLiteOpenHelper { @SuppressWarnings("unused") diff --git a/app/src/main/java/org/thoughtcrime/securesms/home/HomeActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/home/HomeActivity.kt index 6e9a265adc..5af7e7be52 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/home/HomeActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/home/HomeActivity.kt @@ -156,123 +156,10 @@ class HomeActivity : PassphraseRequiredActionBarActivity(), private val isFromOnboarding: Boolean get() = intent.getBooleanExtra(FROM_ONBOARDING, false) private val isNewAccount: Boolean get() = intent.getBooleanExtra(NEW_ACCOUNT, false) - // ACL REMOVE BLOCK START - - fun getRelativeTimeLocalized(timestampMS: Long): String { - // Get the current system time - val nowMS = System.currentTimeMillis() - - // Calculate the time difference in milliseconds - this value will be negative if it's in the - // future or positive if it's in the past. - val timeDifferenceMS = nowMS - timestampMS - - // Choose a desired time resolution based on the time difference. - // Note: We do this against the absolute time difference so this function can still work for - // both future/past times without having separate future/past cases. - val desiredResolution = when (abs(timeDifferenceMS)) { - in 0..DateUtils.MINUTE_IN_MILLIS -> DateUtils.SECOND_IN_MILLIS - in DateUtils.MINUTE_IN_MILLIS..DateUtils.HOUR_IN_MILLIS -> DateUtils.MINUTE_IN_MILLIS - in DateUtils.HOUR_IN_MILLIS..DateUtils.DAY_IN_MILLIS -> DateUtils.HOUR_IN_MILLIS - in DateUtils.DAY_IN_MILLIS..DateUtils.WEEK_IN_MILLIS -> DateUtils.DAY_IN_MILLIS - - // We don't do months or years, so if the result is 53 weeks then so be it - also, the - // getRelativeTimeSpanString method's resolution maxes out at weeks! - else -> DateUtils.WEEK_IN_MILLIS - } - - // Use DateUtils to get the relative time span string - return DateUtils.getRelativeTimeSpanString( - timestampMS, - nowMS, - desiredResolution, - DateUtils.FORMAT_ABBREV_RELATIVE - // Using either DateUtils.FORMAT_ABBREV_RELATIVE or DateUtils.FORMAT_ABBREV_ALL gives: - // - 1 sec. ago / 2 sec. ago - // - 1 min. ago / 2 min. ago - // - 1 hr. ago / 2 hr. ago - // - Yesterday / 2 days ago - // - August 2 / 2 wk. ago / 14 wk. ago <-- Note: Date running this test is August 9th. - - // Using either 0 or DateUtils.FORMAT_ABBREV_TIME gives: - // - 1 second ago / 2 seconds ago - // - 1 minute ago / 2 minutes ago - // - 1 hour ago / 2 hours ago - // - Yesterday / 2 days ago - // - August 2nd / 2 weeks ago / 14 weeks ago <-- Note: Date running this test is August 9th. - ).toString() - } - - fun testRelativeTimes(op: (Long, Long) -> Long) { - var t = 0L - - // 1 and 2 seconds - t = op(System.currentTimeMillis(), 1.seconds.inWholeMilliseconds) - Log.w("ACL", "1s -> ${getRelativeTimeLocalized(t)}") - t = op(System.currentTimeMillis(), 2.seconds.inWholeMilliseconds) - Log.w("ACL", "2s -> ${getRelativeTimeLocalized(t)}") - - // 1 and 2 minutes - t = op(System.currentTimeMillis(), 1.minutes.inWholeMilliseconds) - Log.w("ACL", "1m -> ${getRelativeTimeLocalized(t)}") - t = op(System.currentTimeMillis(), 2.minutes.inWholeMilliseconds) - Log.w("ACL", "2m -> ${getRelativeTimeLocalized(t)}") - - // 1 and 2 hours - t = op(System.currentTimeMillis(), 1.hours.inWholeMilliseconds) - Log.w("ACL", "1h -> ${getRelativeTimeLocalized(t)}") - t = op(System.currentTimeMillis(), 2.hours.inWholeMilliseconds) - Log.w("ACL", "2h -> ${getRelativeTimeLocalized(t)}") - - // 1 and 2 days - t = op(System.currentTimeMillis(), 1.days.inWholeMilliseconds) - Log.w("ACL", "1d -> ${getRelativeTimeLocalized(t)}") - t = op(System.currentTimeMillis(), 2.days.inWholeMilliseconds) - Log.w("ACL", "2d -> ${getRelativeTimeLocalized(t)}") - - // 1 week, 2 weeks, and 100 days (14.285 weeks) - t = op(System.currentTimeMillis(), 7.days.inWholeMilliseconds) - Log.w("ACL", "1w -> ${getRelativeTimeLocalized(t)}") - t = op(System.currentTimeMillis(), 14.days.inWholeMilliseconds) - Log.w("ACL", "2w -> ${getRelativeTimeLocalized(t)}") - t = op(System.currentTimeMillis(), 100.days.inWholeMilliseconds) - Log.w("ACL", "100d -> ${getRelativeTimeLocalized(t)}") - } - - fun testSystemGeneratedRelativeTimes() { - // Print relative times in the past - var op: (Long, Long) -> Long = Long::minus - testRelativeTimes(op) - - // Print relative times in the future - op = Long::plus - testRelativeTimes(op) - } - - // ACL REMOVE BLOCK END - - - - - - - - - - - - - - - - // region Lifecycle override fun onCreate(savedInstanceState: Bundle?, isReady: Boolean) { super.onCreate(savedInstanceState, isReady) - // ACL REMOVE THIS WHEN UNIT TESTS ARE FIXED - //Locale.setDefault(Locale.FRENCH) - //testSystemGeneratedRelativeTimes() - // Set content view binding = ActivityHomeBinding.inflate(layoutInflater) setContentView(binding.root) diff --git a/app/src/main/java/org/thoughtcrime/securesms/home/PathActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/home/PathActivity.kt index 48c37d61c3..2fdd698148 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/home/PathActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/home/PathActivity.kt @@ -53,7 +53,7 @@ class PathActivity : PassphraseRequiredActionBarActivity() { setContentView(binding.root) supportActionBar!!.title = resources.getString(R.string.onionRoutingPath) - // Substitute the localised version of "Session" into the layout + // Substitute "Session" into the path description. Note: This is a non-translatable string. val appName = applicationContext.getString(R.string.app_name) val txt = Phrase.from(applicationContext, R.string.onionRoutingPathDescription).put(APP_NAME_KEY, appName).format().toString() binding.pathDescription.text = txt diff --git a/app/src/main/java/org/thoughtcrime/securesms/linkpreview/LinkPreviewUtil.java b/app/src/main/java/org/thoughtcrime/securesms/linkpreview/LinkPreviewUtil.java index 4a3cecf9cf..6f44f7523c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/linkpreview/LinkPreviewUtil.java +++ b/app/src/main/java/org/thoughtcrime/securesms/linkpreview/LinkPreviewUtil.java @@ -1,10 +1,5 @@ package org.thoughtcrime.securesms.linkpreview; -import static org.thoughtcrime.securesms.giph.util.InfiniteScrollListener.TAG; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; - import android.annotation.SuppressLint; import android.os.Build; import android.text.Html; @@ -12,15 +7,9 @@ import android.text.SpannableString; import android.text.TextUtils; import android.text.style.URLSpan; import android.text.util.Linkify; - +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import com.annimon.stream.Stream; - -import org.session.libsignal.utilities.Log; -import org.thoughtcrime.securesms.util.DateUtils; -import org.session.libsignal.utilities.guava.Optional; - -import org.session.libsession.utilities.Util; - import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Collections; @@ -30,10 +19,10 @@ import java.util.Locale; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; -import android.text.format.DateFormat; - - import okhttp3.HttpUrl; +import org.session.libsession.utilities.Util; +import org.session.libsignal.utilities.Log; +import org.session.libsignal.utilities.guava.Optional; public final class LinkPreviewUtil { @@ -71,9 +60,9 @@ public final class LinkPreviewUtil { if (linkUrl == null) return false; HttpUrl url = HttpUrl.parse(linkUrl); - return url != null && - !TextUtils.isEmpty(url.scheme()) && - "https".equals(url.scheme()) && + return url != null && + !TextUtils.isEmpty(url.scheme()) && + "https".equals(url.scheme()) && isLegalUrl(linkUrl); } @@ -84,9 +73,9 @@ public final class LinkPreviewUtil { if (mediaUrl == null) return false; HttpUrl url = HttpUrl.parse(mediaUrl); - return url != null && - !TextUtils.isEmpty(url.scheme()) && - "https".equals(url.scheme()) && + return url != null && + !TextUtils.isEmpty(url.scheme()) && + "https".equals(url.scheme()) && isLegalUrl(mediaUrl); } diff --git a/app/src/main/java/org/thoughtcrime/securesms/media/FixedTimeBuckets.kt b/app/src/main/java/org/thoughtcrime/securesms/media/FixedTimeBuckets.kt index 14be0f371b..85b00f66bc 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/media/FixedTimeBuckets.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/media/FixedTimeBuckets.kt @@ -35,9 +35,9 @@ class FixedTimeBuckets( @StringRes fun getBucketText(time: ZonedDateTime): Int? { return when { - time >= startOfToday -> R.string.BucketedThreadMedia_Today // Should be replaced with call to getLocalisedRelativeDayString - time >= startOfYesterday -> R.string.BucketedThreadMedia_Yesterday // Should be replaced with call to getLocalisedRelativeDayString - time >= startOfThisWeek -> R.string.attachmentsThisWeek + time >= startOfToday -> R.string.BucketedThreadMedia_Today + time >= startOfYesterday -> R.string.BucketedThreadMedia_Yesterday + time >= startOfThisWeek -> R.string.attachmentsThisWeek time >= startOfThisMonth -> R.string.attachmentsThisMonth else -> null } diff --git a/app/src/main/java/org/thoughtcrime/securesms/notifications/DefaultMessageNotifier.kt b/app/src/main/java/org/thoughtcrime/securesms/notifications/DefaultMessageNotifier.kt index 1a31ce01a9..cbf53e6a8b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/notifications/DefaultMessageNotifier.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/notifications/DefaultMessageNotifier.kt @@ -28,6 +28,8 @@ import android.database.Cursor import android.os.AsyncTask import android.os.Build import android.text.TextUtils +import android.widget.Toast +import androidx.camera.core.impl.utils.ContextUtil.getApplicationContext import androidx.core.app.ActivityCompat import androidx.core.app.NotificationCompat import androidx.core.app.NotificationManagerCompat @@ -45,6 +47,7 @@ import org.session.libsession.messaging.utilities.AccountId import org.session.libsession.messaging.utilities.SodiumUtilities.blindedKeyPair import org.session.libsession.utilities.Address.Companion.fromSerialized import org.session.libsession.utilities.ServiceUtil +import org.session.libsession.utilities.StringSubstitutionConstants.APP_NAME_KEY import org.session.libsession.utilities.StringSubstitutionConstants.EMOJI_KEY import org.session.libsession.utilities.TextSecurePreferences.Companion.getLocalNumber import org.session.libsession.utilities.TextSecurePreferences.Companion.getNotificationPrivacy @@ -67,6 +70,8 @@ import org.thoughtcrime.securesms.database.model.MmsMessageRecord import org.thoughtcrime.securesms.database.model.ReactionRecord import org.thoughtcrime.securesms.dependencies.DatabaseComponent.Companion.get import org.thoughtcrime.securesms.mms.SlideDeck +import org.thoughtcrime.securesms.permissions.Permissions +import org.thoughtcrime.securesms.preferences.ShareLogsDialog import org.thoughtcrime.securesms.service.KeyCachingService import org.thoughtcrime.securesms.util.SessionMetaProtocol.canUserReplyToNotification import org.thoughtcrime.securesms.util.SpanUtil @@ -209,7 +214,6 @@ class DefaultMessageNotifier : MessageNotifier { return } - //var notificationState: NotificationState try { val notificationState = constructNotificationState(context, telcoCursor) @@ -353,7 +357,7 @@ class DefaultMessageNotifier : MessageNotifier { val notification = builder.build() - // ACL FIX THIS PROPERLY + // TODO - ACL to fix this properly & will do on 2024-08-26, but just skipping for now so review can start if (ActivityCompat.checkSelfPermission(context, Manifest.permission.POST_NOTIFICATIONS) != PackageManager.PERMISSION_GRANTED) { // TODO: Consider calling // ActivityCompat#requestPermissions @@ -435,7 +439,7 @@ class DefaultMessageNotifier : MessageNotifier { builder.putStringExtra(LATEST_MESSAGE_ID_TAG, messageIdTag) - // ACL FIX THIS PROPERLY + // TODO - ACL to fix this properly & will do on 2024-08-26, but just skipping for now so review can start if (ActivityCompat.checkSelfPermission(context, Manifest.permission.POST_NOTIFICATIONS) != PackageManager.PERMISSION_GRANTED) { // TODO: Consider calling // ActivityCompat#requestPermissions @@ -463,7 +467,7 @@ class DefaultMessageNotifier : MessageNotifier { val threadDatabase = get(context).threadDatabase() val cache: MutableMap = HashMap() - // CAREFUL: Do not put this loop back as `while ((reader.next.also { record = it }) != null) {` because it breaks with a Null Pointer Exception - you have been warned. + // CAREFUL: Do not put this loop back as `while ((reader.next.also { record = it }) != null) {` because it breaks with a Null Pointer Exception! var record: MessageRecord? = null do { record = reader.next @@ -587,7 +591,6 @@ class DefaultMessageNotifier : MessageNotifier { if (count == 0) ShortcutBadger.removeCount(context) else ShortcutBadger.applyCount(context, count) } catch (t: Throwable) { - // NOTE :: I don't totally trust this thing, so I'm catching everything. Log.w("MessageNotifier", t) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/notifications/MultipleRecipientNotificationBuilder.java b/app/src/main/java/org/thoughtcrime/securesms/notifications/MultipleRecipientNotificationBuilder.java index 861d94edd1..4898c9b840 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/notifications/MultipleRecipientNotificationBuilder.java +++ b/app/src/main/java/org/thoughtcrime/securesms/notifications/MultipleRecipientNotificationBuilder.java @@ -18,7 +18,6 @@ import java.util.List; import network.loki.messenger.R; import org.session.libsession.messaging.contacts.Contact; import org.session.libsession.utilities.NotificationPrivacyPreference; -import org.session.libsession.utilities.TextSecurePreferences; import org.session.libsession.utilities.Util; import org.session.libsession.utilities.recipients.Recipient; import org.thoughtcrime.securesms.database.SessionContactDatabase; @@ -41,12 +40,15 @@ public class MultipleRecipientNotificationBuilder extends AbstractNotificationBu } public void setMessageCount(int messageCount, int threadCount) { - String txt = Phrase.from(context, R.string.notificationsAndroidSystem) + String txt = Phrase.from(context, R.string.notificationsSystem) .put(MESSAGE_COUNT_KEY, messageCount) .put(CONVERSATION_COUNT_KEY, threadCount) .format().toString(); setSubText(txt); - setContentInfo(String.valueOf(messageCount)); // Note: `setContentInfo` details are only visible in Android API 24 and below - remove when min. API is upgraded. + + // Note: `setContentInfo` details are only visible in Android API 24 and below - as our minimum is now API 26 this can be skipped. + //setContentInfo(String.valueOf(messageCount)); + setNumber(messageCount); } diff --git a/app/src/main/java/org/thoughtcrime/securesms/onboarding/messagenotifications/MessageNotifications.kt b/app/src/main/java/org/thoughtcrime/securesms/onboarding/messagenotifications/MessageNotifications.kt index 6cdcebad81..7eee4eeaa8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/onboarding/messagenotifications/MessageNotifications.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/onboarding/messagenotifications/MessageNotifications.kt @@ -71,7 +71,7 @@ internal fun MessageNotificationsScreen( NotificationRadioButton( R.string.notificationsFastMode, - R.string.notificationsFastModeDescriptionAndroid, + R.string.notificationsFastModeDescription, modifier = Modifier.contentDescription(R.string.AccessibilityId_notificationsFastMode), tag = R.string.recommended, checked = state.pushEnabled, diff --git a/app/src/main/java/org/thoughtcrime/securesms/preferences/SeedDialog.kt b/app/src/main/java/org/thoughtcrime/securesms/preferences/SeedDialog.kt deleted file mode 100644 index 26e01756ab..0000000000 --- a/app/src/main/java/org/thoughtcrime/securesms/preferences/SeedDialog.kt +++ /dev/null @@ -1,41 +0,0 @@ -package org.thoughtcrime.securesms.preferences - -import android.app.Dialog -import android.content.ClipData -import android.content.ClipboardManager -import android.content.Context -import android.os.Bundle -import android.widget.Toast -import androidx.fragment.app.DialogFragment -import network.loki.messenger.R -import org.session.libsignal.crypto.MnemonicCodec -import org.session.libsignal.utilities.hexEncodedPrivateKey -import org.thoughtcrime.securesms.createSessionDialog -import org.thoughtcrime.securesms.crypto.IdentityKeyUtil -import org.thoughtcrime.securesms.crypto.MnemonicUtilities - -class SeedDialog: DialogFragment() { - private val seed by lazy { - val hexEncodedSeed = IdentityKeyUtil.retrieve(requireContext(), IdentityKeyUtil.LOKI_SEED) - ?: IdentityKeyUtil.getIdentityKeyPair(requireContext()).hexEncodedPrivateKey // Legacy account - - MnemonicCodec { fileName -> MnemonicUtilities.loadFileContents(requireContext(), fileName) } - .encode(hexEncodedSeed, MnemonicCodec.Language.Configuration.english) - } - - override fun onCreateDialog(savedInstanceState: Bundle?): Dialog = createSessionDialog { - title(R.string.sessionRecoveryPassword) - text(R.string.recoveryPasswordDescription) - text(seed, R.style.AccountIdTextView) - button(R.string.copy, R.string.AccessibilityId_sessionRecoveryPasswordCopy) { copySeed() } - button(R.string.close) { dismiss() } - } - - private fun copySeed() { - val clipboard = requireActivity().getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager - val clip = ClipData.newPlainText("Seed", seed) - clipboard.setPrimaryClip(clip) - Toast.makeText(requireContext(), R.string.copied, Toast.LENGTH_SHORT).show() - dismiss() - } -} diff --git a/app/src/main/java/org/thoughtcrime/securesms/preferences/ShareLogsDialog.kt b/app/src/main/java/org/thoughtcrime/securesms/preferences/ShareLogsDialog.kt index a3240d3480..29ce563c5d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/preferences/ShareLogsDialog.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/preferences/ShareLogsDialog.kt @@ -15,6 +15,11 @@ import android.widget.Toast import androidx.fragment.app.DialogFragment import androidx.lifecycle.lifecycleScope import com.squareup.phrase.Phrase +import java.io.File +import java.io.FileOutputStream +import java.io.IOException +import java.util.Objects +import java.util.concurrent.TimeUnit import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers.Main import kotlinx.coroutines.Job @@ -29,11 +34,6 @@ import org.thoughtcrime.securesms.ApplicationContext import org.thoughtcrime.securesms.createSessionDialog import org.thoughtcrime.securesms.util.FileProviderUtil import org.thoughtcrime.securesms.util.StreamUtil -import java.io.File -import java.io.FileOutputStream -import java.io.IOException -import java.util.Objects -import java.util.concurrent.TimeUnit class ShareLogsDialog(private val updateCallback: (Boolean)->Unit): DialogFragment() { diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/KeyCachingService.java b/app/src/main/java/org/thoughtcrime/securesms/service/KeyCachingService.java index 0888a04b43..9d95ac5d49 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/KeyCachingService.java +++ b/app/src/main/java/org/thoughtcrime/securesms/service/KeyCachingService.java @@ -54,7 +54,7 @@ import org.thoughtcrime.securesms.notifications.NotificationChannels; * * @author Moxie Marlinspike */ -//TODO AC: This service does only serve one purpose now - to track the screen lock state and handle the timer. +// TODO: This service does only serve one purpose now - to track the screen lock state and handle the timer. // We need to refactor it and cleanup from all the old Signal code. public class KeyCachingService extends Service { @@ -70,7 +70,7 @@ public class KeyCachingService extends Service { private final IBinder binder = new KeySetBinder(); - // AC: This is a temporal drop off replacement for the refactoring time being. + // This is a temporal drop off replacement for the refactoring time being. // This field only indicates if the app was unlocked or not (null means locked). private static Object masterSecret = null; diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/QuickResponseService.java b/app/src/main/java/org/thoughtcrime/securesms/service/QuickResponseService.java index 6119c7f62d..22f0addd71 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/QuickResponseService.java +++ b/app/src/main/java/org/thoughtcrime/securesms/service/QuickResponseService.java @@ -8,21 +8,17 @@ import android.content.Intent; import android.telephony.TelephonyManager; import android.text.TextUtils; import android.widget.Toast; - import com.squareup.phrase.Phrase; - +import java.net.URISyntaxException; +import java.net.URLDecoder; import network.loki.messenger.R; - import org.session.libsession.messaging.messages.visible.VisibleMessage; +import org.session.libsession.messaging.sending_receiving.MessageSender; import org.session.libsession.snode.SnodeAPI; import org.session.libsession.utilities.Address; import org.session.libsignal.utilities.Log; -import org.session.libsession.messaging.sending_receiving.MessageSender; import org.thoughtcrime.securesms.util.Rfc5724Uri; -import java.net.URISyntaxException; -import java.net.URLDecoder; - public class QuickResponseService extends IntentService { private static final String TAG = QuickResponseService.class.getSimpleName(); diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/UpdateApkReadyListener.java b/app/src/main/java/org/thoughtcrime/securesms/service/UpdateApkReadyListener.java index df25a7d5cd..85d00ec8e5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/UpdateApkReadyListener.java +++ b/app/src/main/java/org/thoughtcrime/securesms/service/UpdateApkReadyListener.java @@ -10,12 +10,14 @@ import android.content.Context; import android.content.Intent; import android.database.Cursor; import android.net.Uri; - import androidx.annotation.Nullable; import androidx.core.app.NotificationCompat; - import com.squareup.phrase.Phrase; - +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.security.MessageDigest; +import network.loki.messenger.R; import org.session.libsession.utilities.FileUtils; import org.session.libsession.utilities.ServiceUtil; import org.session.libsession.utilities.TextSecurePreferences; @@ -24,13 +26,6 @@ import org.session.libsignal.utilities.Log; import org.thoughtcrime.securesms.notifications.NotificationChannels; import org.thoughtcrime.securesms.util.FileProviderUtil; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.security.MessageDigest; - -import network.loki.messenger.R; - public class UpdateApkReadyListener extends BroadcastReceiver { private static final String TAG = UpdateApkReadyListener.class.getSimpleName(); @@ -128,4 +123,4 @@ public class UpdateApkReadyListener extends BroadcastReceiver { return false; } } -} +} \ No newline at end of file diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/DateUtils.kt b/app/src/main/java/org/thoughtcrime/securesms/util/DateUtils.kt index 639e0b4c2a..74cc319a47 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/DateUtils.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/util/DateUtils.kt @@ -31,7 +31,7 @@ import java.util.Locale import java.util.concurrent.TimeUnit // Enums used to get the locale-aware String for one of the three relative days -public enum class RelativeDay { TODAY, YESTERDAY, TOMORROW } +enum class RelativeDay { TODAY, YESTERDAY, TOMORROW } /** * Utility methods to help display dates in a nice, easily readable way. @@ -81,30 +81,6 @@ object DateUtils : android.text.format.DateUtils() { FORMAT_SHOW_DATE).toString() } - // Method to get the locale-aware String for the word "Now" -// public fun getLocalisedNowString(): String { -// val now = Calendar.getInstance().timeInMillis -// return getRelativeTimeSpanString(now, now,MINUTE_IN_MILLIS, FORMAT_SHOW_TIME).toString() -// } - - // THIS DOES NOT WORK - public fun getLocalisedNowString(): String { - - val now = Calendar.getInstance().timeInMillis - val relativeTime = getRelativeTimeSpanString(now, now, MINUTE_IN_MILLIS, FORMAT_SHOW_TIME).toString() - - // Create a DateFormat instance for the current time - val timeFormat = getTimeInstance(SHORT, Locale.getDefault()) - val formattedTime = timeFormat.format(Calendar.getInstance().time) - - // Check if the relative time indicates "0 minutes ago" or similar and replace it with the formatted time - return if (relativeTime == "0 minutes ago" || relativeTime == "in 0 minutes") { - formattedTime - } else { - relativeTime - } - } - fun getFormattedDateTime(time: Long, template: String, locale: Locale): String { val localizedPattern = getLocalizedPattern(template, locale) return SimpleDateFormat(localizedPattern, locale).format(Date(time)) @@ -117,8 +93,9 @@ object DateUtils : android.text.format.DateUtils() { fun getDisplayFormattedTimeSpanString(c: Context, locale: Locale, timestamp: Long): String { // If the timestamp is invalid (ie. 0) then assume we're waiting on data and just use the 'Now' copy return if (timestamp == 0L || isWithin(timestamp, 1, TimeUnit.MINUTES)) { - getLocalisedNowString() - //c.getString(R.string.DateUtils_just_now) // ACL REMOVE WHEN HAPPY + // TODO ACL: We need a string for "Now" because I can't seem to coax a localised version from DateUtils - + // TODO: although anyone seeing is this is more than welcome to try! - 2024-08-26 + "Now" } else if (isToday(timestamp)) { getFormattedDateTime(timestamp, getHourFormat(c), locale) } else if (isWithin(timestamp, 6, TimeUnit.DAYS)) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/SaveAttachmentTask.kt b/app/src/main/java/org/thoughtcrime/securesms/util/SaveAttachmentTask.kt index c1921f21aa..3c0007ccd7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/SaveAttachmentTask.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/util/SaveAttachmentTask.kt @@ -133,15 +133,9 @@ class SaveAttachmentTask @JvmOverloads constructor(context: Context, count: Int private fun createOutputUri(context: Context, outputUri: Uri, contentType: String, fileName: String): Uri? { - if (fileName == null) - { - Log.w("ACL", "Filename is null - wtf!") - } - - if (fileName != null && fileName.isEmpty()) - { - Log.w("ACL", "Filename is empty - wtf!") - } + // TODO: This method may pass an empty string as the filename in Android API 28 and below. This requires + // TODO: follow-up investigation, but has temporarily been worked around, see: + // TODO: https://github.com/oxen-io/session-android/commit/afbb71351a74220c312a09c25cc1c79738453c12 val fileParts: Array = getFileNameParts(fileName) val base = fileParts[0] diff --git a/app/src/main/res/xml/preferences_notifications.xml b/app/src/main/res/xml/preferences_notifications.xml index cf26ebd859..10ba37f434 100644 --- a/app/src/main/res/xml/preferences_notifications.xml +++ b/app/src/main/res/xml/preferences_notifications.xml @@ -7,7 +7,7 @@ + android:summary="@string/lockAppDescription" /> أو انضم إلى واحدة من… الوضع السريع الوضع البطيء - سوف يتم إشعارك بالرسائل بشكل موثوق و فوري بإستخدام خوادم جوجل للإشعارات. + سوف يتم إشعارك بالرسائل بشكل موثوق و فوري بإستخدام خوادم جوجل للإشعارات. سيقوم سيشن بالتحقق من وجود رسائل جديدة بشكل دوري في الخلفية. اِفتح انسخ الرابط diff --git a/libsession/src/main/res/values-ar/strings.xml b/libsession/src/main/res/values-ar/strings.xml index aac682b41a..d010462be2 100644 --- a/libsession/src/main/res/values-ar/strings.xml +++ b/libsession/src/main/res/values-ar/strings.xml @@ -193,7 +193,7 @@ أو انضم إلى واحدة من… الوضع السريع الوضع البطيء - سوف يتم إشعارك بالرسائل بشكل موثوق و فوري بإستخدام خوادم جوجل للإشعارات. + سوف يتم إشعارك بالرسائل بشكل موثوق و فوري بإستخدام خوادم جوجل للإشعارات. سيقوم سيشن بالتحقق من وجود رسائل جديدة بشكل دوري في الخلفية. اِفتح انسخ الرابط diff --git a/libsession/src/main/res/values-az-rAZ/strings.xml b/libsession/src/main/res/values-az-rAZ/strings.xml index c75e1f6e90..3f1d255f5e 100644 --- a/libsession/src/main/res/values-az-rAZ/strings.xml +++ b/libsession/src/main/res/values-az-rAZ/strings.xml @@ -193,7 +193,7 @@ Və ya bunlardan birinə qoşulun… Sürətli rejim Yavaş rejim - Google-un bildiriş serverlərini istifadə edərək yeni mesajlardan dərhal və etibarlı şəkildə xəbərdar olacaqsınız. + Google-un bildiriş serverlərini istifadə edərək yeni mesajlardan dərhal və etibarlı şəkildə xəbərdar olacaqsınız. Session, arada arxaplanda yeni mesajları yoxlayacaq. URL-ni kopyala diff --git a/libsession/src/main/res/values-az/strings.xml b/libsession/src/main/res/values-az/strings.xml index c75e1f6e90..3f1d255f5e 100644 --- a/libsession/src/main/res/values-az/strings.xml +++ b/libsession/src/main/res/values-az/strings.xml @@ -193,7 +193,7 @@ Və ya bunlardan birinə qoşulun… Sürətli rejim Yavaş rejim - Google-un bildiriş serverlərini istifadə edərək yeni mesajlardan dərhal və etibarlı şəkildə xəbərdar olacaqsınız. + Google-un bildiriş serverlərini istifadə edərək yeni mesajlardan dərhal və etibarlı şəkildə xəbərdar olacaqsınız. Session, arada arxaplanda yeni mesajları yoxlayacaq. URL-ni kopyala diff --git a/libsession/src/main/res/values-ca-rES/strings.xml b/libsession/src/main/res/values-ca-rES/strings.xml index 0d99bfc515..df3f62ff07 100644 --- a/libsession/src/main/res/values-ca-rES/strings.xml +++ b/libsession/src/main/res/values-ca-rES/strings.xml @@ -188,6 +188,6 @@ O uneix-te a alguns d\'aquests… Mode ràpid Mode lent - Es notificaran els missatges de forma immediata i fiable fent servir els servidors de notificació de Google. + Es notificaran els missatges de forma immediata i fiable fent servir els servidors de notificació de Google. Session ocasionalment comprovarà en pla secundari si hi ha nous missatges. diff --git a/libsession/src/main/res/values-ca/strings.xml b/libsession/src/main/res/values-ca/strings.xml index 0d99bfc515..df3f62ff07 100644 --- a/libsession/src/main/res/values-ca/strings.xml +++ b/libsession/src/main/res/values-ca/strings.xml @@ -188,6 +188,6 @@ O uneix-te a alguns d\'aquests… Mode ràpid Mode lent - Es notificaran els missatges de forma immediata i fiable fent servir els servidors de notificació de Google. + Es notificaran els missatges de forma immediata i fiable fent servir els servidors de notificació de Google. Session ocasionalment comprovarà en pla secundari si hi ha nous missatges. diff --git a/libsession/src/main/res/values-cs-rCZ/strings.xml b/libsession/src/main/res/values-cs-rCZ/strings.xml index 800f5af59a..9c079e1ded 100644 --- a/libsession/src/main/res/values-cs-rCZ/strings.xml +++ b/libsession/src/main/res/values-cs-rCZ/strings.xml @@ -193,7 +193,7 @@ Nebo se připojte k jedné z těchto… Rychlý režim Pomalý režim - Budete spolehlivě a okamžitě informováni o nových zprávách pomocí oznamovacích serverů Google. + Budete spolehlivě a okamžitě informováni o nových zprávách pomocí oznamovacích serverů Google. Session občas zkontroluje nové zprávy na pozadí. Otevřít Zkopírovat URL diff --git a/libsession/src/main/res/values-cs/strings.xml b/libsession/src/main/res/values-cs/strings.xml index 800f5af59a..9c079e1ded 100644 --- a/libsession/src/main/res/values-cs/strings.xml +++ b/libsession/src/main/res/values-cs/strings.xml @@ -193,7 +193,7 @@ Nebo se připojte k jedné z těchto… Rychlý režim Pomalý režim - Budete spolehlivě a okamžitě informováni o nových zprávách pomocí oznamovacích serverů Google. + Budete spolehlivě a okamžitě informováni o nových zprávách pomocí oznamovacích serverů Google. Session občas zkontroluje nové zprávy na pozadí. Otevřít Zkopírovat URL diff --git a/libsession/src/main/res/values-de-rDE/strings.xml b/libsession/src/main/res/values-de-rDE/strings.xml index 2fb41296f3..f112607e3a 100644 --- a/libsession/src/main/res/values-de-rDE/strings.xml +++ b/libsession/src/main/res/values-de-rDE/strings.xml @@ -193,7 +193,7 @@ Oder tritt diesen bei… Schneller Modus Langsamer Modus - Du wirst über neue Nachrichten zuverlässig und sofort über Google\'s Server benachrichtigt. + Du wirst über neue Nachrichten zuverlässig und sofort über Google\'s Server benachrichtigt. Session sucht gelegentlich nach neuen Nachrichten im Hintergrund. Öffnen Link kopieren diff --git a/libsession/src/main/res/values-de/strings.xml b/libsession/src/main/res/values-de/strings.xml index 2fb41296f3..f112607e3a 100644 --- a/libsession/src/main/res/values-de/strings.xml +++ b/libsession/src/main/res/values-de/strings.xml @@ -193,7 +193,7 @@ Oder tritt diesen bei… Schneller Modus Langsamer Modus - Du wirst über neue Nachrichten zuverlässig und sofort über Google\'s Server benachrichtigt. + Du wirst über neue Nachrichten zuverlässig und sofort über Google\'s Server benachrichtigt. Session sucht gelegentlich nach neuen Nachrichten im Hintergrund. Öffnen Link kopieren diff --git a/libsession/src/main/res/values-el-rGR/strings.xml b/libsession/src/main/res/values-el-rGR/strings.xml index dc2de32a89..89b16558a0 100644 --- a/libsession/src/main/res/values-el-rGR/strings.xml +++ b/libsession/src/main/res/values-el-rGR/strings.xml @@ -193,7 +193,7 @@ Ή συνδεθείτε σε ένα από αυτά… Γρήγορη Επιλογή Αργή Επιλογή - Θα ειδοποιηθείτε για νέα μηνύματα αξιόπιστα και άμεσα χρησιμοποιώντας τους διακομιστές ειδοποιήσεων της Google. + Θα ειδοποιηθείτε για νέα μηνύματα αξιόπιστα και άμεσα χρησιμοποιώντας τους διακομιστές ειδοποιήσεων της Google. Το Session θα ελέγχει κατά καιρούς για νέα μηνύματα στο παρασκήνιο. Άνοιγμα Αντιγραφή URL diff --git a/libsession/src/main/res/values-el/strings.xml b/libsession/src/main/res/values-el/strings.xml index dc2de32a89..89b16558a0 100644 --- a/libsession/src/main/res/values-el/strings.xml +++ b/libsession/src/main/res/values-el/strings.xml @@ -193,7 +193,7 @@ Ή συνδεθείτε σε ένα από αυτά… Γρήγορη Επιλογή Αργή Επιλογή - Θα ειδοποιηθείτε για νέα μηνύματα αξιόπιστα και άμεσα χρησιμοποιώντας τους διακομιστές ειδοποιήσεων της Google. + Θα ειδοποιηθείτε για νέα μηνύματα αξιόπιστα και άμεσα χρησιμοποιώντας τους διακομιστές ειδοποιήσεων της Google. Το Session θα ελέγχει κατά καιρούς για νέα μηνύματα στο παρασκήνιο. Άνοιγμα Αντιγραφή URL diff --git a/libsession/src/main/res/values-es-rES/strings.xml b/libsession/src/main/res/values-es-rES/strings.xml index f078d2a442..8fa388783f 100644 --- a/libsession/src/main/res/values-es-rES/strings.xml +++ b/libsession/src/main/res/values-es-rES/strings.xml @@ -193,7 +193,7 @@ O únete a uno de estos… Modo Rápido Modo Lento - Se le notificará de los nuevos mensajes de forma fiable e inmediata usando los servidores de notificaciones de Google. + Se le notificará de los nuevos mensajes de forma fiable e inmediata usando los servidores de notificaciones de Google. Session comprobará ocasionalmente si hay nuevos mensajes en segundo plano. Abrir Copiar la dirección URL diff --git a/libsession/src/main/res/values-es/strings.xml b/libsession/src/main/res/values-es/strings.xml index f078d2a442..8fa388783f 100644 --- a/libsession/src/main/res/values-es/strings.xml +++ b/libsession/src/main/res/values-es/strings.xml @@ -193,7 +193,7 @@ O únete a uno de estos… Modo Rápido Modo Lento - Se le notificará de los nuevos mensajes de forma fiable e inmediata usando los servidores de notificaciones de Google. + Se le notificará de los nuevos mensajes de forma fiable e inmediata usando los servidores de notificaciones de Google. Session comprobará ocasionalmente si hay nuevos mensajes en segundo plano. Abrir Copiar la dirección URL diff --git a/libsession/src/main/res/values-fa-rIR/strings.xml b/libsession/src/main/res/values-fa-rIR/strings.xml index ceb1b6d6a1..0eeb500432 100644 --- a/libsession/src/main/res/values-fa-rIR/strings.xml +++ b/libsession/src/main/res/values-fa-rIR/strings.xml @@ -193,7 +193,7 @@ پیام صوتی یا به یکی از این‌ها بپیوندید… حالت سریع - با استفاده از سرورهای گوگل، شما به صورت سریع و مطمئن از پیام‌های جدید مطلع می‌شوید. + با استفاده از سرورهای گوگل، شما به صورت سریع و مطمئن از پیام‌های جدید مطلع می‌شوید. Session هرازگاهی در پس زمینه وجود پیام‌های جدید را بررسی می‌کند. باز کردن کپی URL diff --git a/libsession/src/main/res/values-fa/strings.xml b/libsession/src/main/res/values-fa/strings.xml index 9b834993b2..26fa64106e 100644 --- a/libsession/src/main/res/values-fa/strings.xml +++ b/libsession/src/main/res/values-fa/strings.xml @@ -193,7 +193,7 @@ یا به یکی از این‌ها بپیوندید… حالت سریع حالت آهسته - شما سریع و مطمئن با استفاده از سرور‌های اطلاع‌رسانی گوگل از پیام‌های جدید مطلع می‌شوید. + شما سریع و مطمئن با استفاده از سرور‌های اطلاع‌رسانی گوگل از پیام‌های جدید مطلع می‌شوید. نشست هرازگاهی در پس زمینه وجود پیام‌های جدید را بررسی می‌کند. باز کردن کپی URL diff --git a/libsession/src/main/res/values-fi-rFI/strings.xml b/libsession/src/main/res/values-fi-rFI/strings.xml index c824d43fc4..d4b9256958 100644 --- a/libsession/src/main/res/values-fi-rFI/strings.xml +++ b/libsession/src/main/res/values-fi-rFI/strings.xml @@ -193,7 +193,7 @@ Tai liity johonkin näistä… Nopea tila Hidastila - Sinulle ilmoitetaan uusista viesteistä luotettavasti ja viivyttelemättä Applen ilmoituspalvelua käyttäen. + Sinulle ilmoitetaan uusista viesteistä luotettavasti ja viivyttelemättä Applen ilmoituspalvelua käyttäen. Session tarkistaa taustalla ajoittain uudet viestit. Avaa Kopioi URL diff --git a/libsession/src/main/res/values-fi/strings.xml b/libsession/src/main/res/values-fi/strings.xml index c824d43fc4..d4b9256958 100644 --- a/libsession/src/main/res/values-fi/strings.xml +++ b/libsession/src/main/res/values-fi/strings.xml @@ -193,7 +193,7 @@ Tai liity johonkin näistä… Nopea tila Hidastila - Sinulle ilmoitetaan uusista viesteistä luotettavasti ja viivyttelemättä Applen ilmoituspalvelua käyttäen. + Sinulle ilmoitetaan uusista viesteistä luotettavasti ja viivyttelemättä Applen ilmoituspalvelua käyttäen. Session tarkistaa taustalla ajoittain uudet viestit. Avaa Kopioi URL diff --git a/libsession/src/main/res/values-fr-rFR/strings.xml b/libsession/src/main/res/values-fr-rFR/strings.xml index c56dfe80f4..72bb52178d 100644 --- a/libsession/src/main/res/values-fr-rFR/strings.xml +++ b/libsession/src/main/res/values-fr-rFR/strings.xml @@ -202,7 +202,7 @@ Ou rejoignez l\'un(e) de ceux-ci… Mode rapide Mode lent - Vous serez averti de nouveaux messages de manière fiable et immédiate en utilisant les serveurs de notification de Google. + Vous serez averti de nouveaux messages de manière fiable et immédiate en utilisant les serveurs de notification de Google. Session vérifiera occasionnellement la présence de nouveaux messages en tâche de fond. Ouvrir Copier l\'adresse URL diff --git a/libsession/src/main/res/values-fr/strings.xml b/libsession/src/main/res/values-fr/strings.xml index b7dcfa24d4..b3f9cd509e 100644 --- a/libsession/src/main/res/values-fr/strings.xml +++ b/libsession/src/main/res/values-fr/strings.xml @@ -201,7 +201,7 @@ Ou rejoignez l\'un(e) de ceux-ci… Mode rapide Mode lent - Vous serez averti de nouveaux messages de manière fiable et immédiate en utilisant les serveurs de notification de Google. + Vous serez averti de nouveaux messages de manière fiable et immédiate en utilisant les serveurs de notification de Google. Session vérifiera occasionnellement la présence de nouveaux messages en tâche de fond. Ouvrir Copier l\'adresse URL diff --git a/libsession/src/main/res/values-hi-rIN/strings.xml b/libsession/src/main/res/values-hi-rIN/strings.xml index d903d404d2..b70d72a834 100644 --- a/libsession/src/main/res/values-hi-rIN/strings.xml +++ b/libsession/src/main/res/values-hi-rIN/strings.xml @@ -193,7 +193,7 @@ या इनमें से एक को जोड़ें... फास्ट मोड स्लो मोड - आपको नई सूचनाओं के बारे में google के नोटीफिकेशन servers से तत्काल सूचित किया जाएगा। + आपको नई सूचनाओं के बारे में google के नोटीफिकेशन servers से तत्काल सूचित किया जाएगा। Session कभी-कभी पृष्ठभूमि में नए संदेशों की जांच करेगा। खोलें यूआरएल कॉपी करें diff --git a/libsession/src/main/res/values-hi/strings.xml b/libsession/src/main/res/values-hi/strings.xml index d903d404d2..b70d72a834 100644 --- a/libsession/src/main/res/values-hi/strings.xml +++ b/libsession/src/main/res/values-hi/strings.xml @@ -193,7 +193,7 @@ या इनमें से एक को जोड़ें... फास्ट मोड स्लो मोड - आपको नई सूचनाओं के बारे में google के नोटीफिकेशन servers से तत्काल सूचित किया जाएगा। + आपको नई सूचनाओं के बारे में google के नोटीफिकेशन servers से तत्काल सूचित किया जाएगा। Session कभी-कभी पृष्ठभूमि में नए संदेशों की जांच करेगा। खोलें यूआरएल कॉपी करें diff --git a/libsession/src/main/res/values-hu-rHU/strings.xml b/libsession/src/main/res/values-hu-rHU/strings.xml index 2902c539bc..debe7e8a27 100644 --- a/libsession/src/main/res/values-hu-rHU/strings.xml +++ b/libsession/src/main/res/values-hu-rHU/strings.xml @@ -194,7 +194,7 @@ Vagy csatlakozz ezekhez… Gyorsított mód Lassított mód - A Google értesítési szerverein keresztül megbízhatóan és azonnal értesítést kapsz az új üzenetekről. + A Google értesítési szerverein keresztül megbízhatóan és azonnal értesítést kapsz az új üzenetekről. A Session alkalmanként, az új üzeneteket a háttérben fogja ellenőrizni. Megnyit URL másolása diff --git a/libsession/src/main/res/values-hu/strings.xml b/libsession/src/main/res/values-hu/strings.xml index 2902c539bc..debe7e8a27 100644 --- a/libsession/src/main/res/values-hu/strings.xml +++ b/libsession/src/main/res/values-hu/strings.xml @@ -194,7 +194,7 @@ Vagy csatlakozz ezekhez… Gyorsított mód Lassított mód - A Google értesítési szerverein keresztül megbízhatóan és azonnal értesítést kapsz az új üzenetekről. + A Google értesítési szerverein keresztül megbízhatóan és azonnal értesítést kapsz az új üzenetekről. A Session alkalmanként, az új üzeneteket a háttérben fogja ellenőrizni. Megnyit URL másolása diff --git a/libsession/src/main/res/values-hy-rAM/strings.xml b/libsession/src/main/res/values-hy-rAM/strings.xml index a4d6128bf2..73d3adf1e0 100644 --- a/libsession/src/main/res/values-hy-rAM/strings.xml +++ b/libsession/src/main/res/values-hy-rAM/strings.xml @@ -193,7 +193,7 @@ Կամ միացե՛ք սրանցից մեկին… Արագ ռեժիմ Դանդաղ ռեժիմ - Դուք մշտապես և անմիջապես կտեղեկացվեք նոր հաղորդագրությունների մասին՝ օգտագործելով Google-ի ծանուցումների սերվերները: + Դուք մշտապես և անմիջապես կտեղեկացվեք նոր հաղորդագրությունների մասին՝ օգտագործելով Google-ի ծանուցումների սերվերները: Session-ը երբեմն, ֆոնային կստուգի նոր հաղորդագրությունների առկայությունը: Բացել Պատճենել հղումը diff --git a/libsession/src/main/res/values-hy/strings.xml b/libsession/src/main/res/values-hy/strings.xml index a4d6128bf2..73d3adf1e0 100644 --- a/libsession/src/main/res/values-hy/strings.xml +++ b/libsession/src/main/res/values-hy/strings.xml @@ -193,7 +193,7 @@ Կամ միացե՛ք սրանցից մեկին… Արագ ռեժիմ Դանդաղ ռեժիմ - Դուք մշտապես և անմիջապես կտեղեկացվեք նոր հաղորդագրությունների մասին՝ օգտագործելով Google-ի ծանուցումների սերվերները: + Դուք մշտապես և անմիջապես կտեղեկացվեք նոր հաղորդագրությունների մասին՝ օգտագործելով Google-ի ծանուցումների սերվերները: Session-ը երբեմն, ֆոնային կստուգի նոր հաղորդագրությունների առկայությունը: Բացել Պատճենել հղումը diff --git a/libsession/src/main/res/values-it-rIT/strings.xml b/libsession/src/main/res/values-it-rIT/strings.xml index d1329169f4..55281acad2 100644 --- a/libsession/src/main/res/values-it-rIT/strings.xml +++ b/libsession/src/main/res/values-it-rIT/strings.xml @@ -193,7 +193,7 @@ Oppure unisciti a uno di questi… Modalità Veloce Modalità Lenta - Riceverai notifiche di nuovi messaggi in modo affidabile e immediato utilizzando i server di notifica di Google. + Riceverai notifiche di nuovi messaggi in modo affidabile e immediato utilizzando i server di notifica di Google. Session controllerà di tanto in tanto la presenza di nuovi messaggi in background. Apri Copia l\'URL diff --git a/libsession/src/main/res/values-it/strings.xml b/libsession/src/main/res/values-it/strings.xml index d1329169f4..55281acad2 100644 --- a/libsession/src/main/res/values-it/strings.xml +++ b/libsession/src/main/res/values-it/strings.xml @@ -193,7 +193,7 @@ Oppure unisciti a uno di questi… Modalità Veloce Modalità Lenta - Riceverai notifiche di nuovi messaggi in modo affidabile e immediato utilizzando i server di notifica di Google. + Riceverai notifiche di nuovi messaggi in modo affidabile e immediato utilizzando i server di notifica di Google. Session controllerà di tanto in tanto la presenza di nuovi messaggi in background. Apri Copia l\'URL diff --git a/libsession/src/main/res/values-lt-rLT/strings.xml b/libsession/src/main/res/values-lt-rLT/strings.xml index 1ef0ad73b2..bb0b816a4b 100644 --- a/libsession/src/main/res/values-lt-rLT/strings.xml +++ b/libsession/src/main/res/values-lt-rLT/strings.xml @@ -187,7 +187,7 @@ Arba prisijunkite prie vienos iš šių… Greita veiksena Lėta veiksena - Jums bus nedelsiant ir patikimai pranešama apie naujas žinutes, naudojant „Google“ pranešimų serverius. + Jums bus nedelsiant ir patikimai pranešama apie naujas žinutes, naudojant „Google“ pranešimų serverius. Session programėlė retkarčiais fone tikrins, ar yra naujų žinučių. Atverti Įjungti diff --git a/libsession/src/main/res/values-lt/strings.xml b/libsession/src/main/res/values-lt/strings.xml index 1ef0ad73b2..bb0b816a4b 100644 --- a/libsession/src/main/res/values-lt/strings.xml +++ b/libsession/src/main/res/values-lt/strings.xml @@ -187,7 +187,7 @@ Arba prisijunkite prie vienos iš šių… Greita veiksena Lėta veiksena - Jums bus nedelsiant ir patikimai pranešama apie naujas žinutes, naudojant „Google“ pranešimų serverius. + Jums bus nedelsiant ir patikimai pranešama apie naujas žinutes, naudojant „Google“ pranešimų serverius. Session programėlė retkarčiais fone tikrins, ar yra naujų žinučių. Atverti Įjungti diff --git a/libsession/src/main/res/values-lv-rLV/strings.xml b/libsession/src/main/res/values-lv-rLV/strings.xml index ebd607b2c5..371205b705 100644 --- a/libsession/src/main/res/values-lv-rLV/strings.xml +++ b/libsession/src/main/res/values-lv-rLV/strings.xml @@ -123,7 +123,7 @@ Balss ziņojums Ātrais režīms Lēnais režīms - Jūs saņemsiet paziņojumus par jauniem ziņojumiem droši un nekavējoties, izmantojot Google paziņojumu serverus. + Jūs saņemsiet paziņojumus par jauniem ziņojumiem droši un nekavējoties, izmantojot Google paziņojumu serverus. Session laiku pa laikam fonā pārbaudīs, vai nav jaunu ziņojumu. Atvērt Nokopēt URL diff --git a/libsession/src/main/res/values-lv/strings.xml b/libsession/src/main/res/values-lv/strings.xml index ebd607b2c5..371205b705 100644 --- a/libsession/src/main/res/values-lv/strings.xml +++ b/libsession/src/main/res/values-lv/strings.xml @@ -123,7 +123,7 @@ Balss ziņojums Ātrais režīms Lēnais režīms - Jūs saņemsiet paziņojumus par jauniem ziņojumiem droši un nekavējoties, izmantojot Google paziņojumu serverus. + Jūs saņemsiet paziņojumus par jauniem ziņojumiem droši un nekavējoties, izmantojot Google paziņojumu serverus. Session laiku pa laikam fonā pārbaudīs, vai nav jaunu ziņojumu. Atvērt Nokopēt URL diff --git a/libsession/src/main/res/values-nb-rNO/strings.xml b/libsession/src/main/res/values-nb-rNO/strings.xml index faf74b2d21..2a79be2727 100644 --- a/libsession/src/main/res/values-nb-rNO/strings.xml +++ b/libsession/src/main/res/values-nb-rNO/strings.xml @@ -193,7 +193,7 @@ Eller bli med i en av disse… Rask modus Langsom Modus - Du vil bli varslet om nye meldinger på en pålitelig måte, og umiddelbart ved hjelp av Googles varslingsservere. + Du vil bli varslet om nye meldinger på en pålitelig måte, og umiddelbart ved hjelp av Googles varslingsservere. Session vil av og til sjekke nye meldinger i bakgrunnen. Åpne Kopier URL diff --git a/libsession/src/main/res/values-nb/strings.xml b/libsession/src/main/res/values-nb/strings.xml index faf74b2d21..2a79be2727 100644 --- a/libsession/src/main/res/values-nb/strings.xml +++ b/libsession/src/main/res/values-nb/strings.xml @@ -193,7 +193,7 @@ Eller bli med i en av disse… Rask modus Langsom Modus - Du vil bli varslet om nye meldinger på en pålitelig måte, og umiddelbart ved hjelp av Googles varslingsservere. + Du vil bli varslet om nye meldinger på en pålitelig måte, og umiddelbart ved hjelp av Googles varslingsservere. Session vil av og til sjekke nye meldinger i bakgrunnen. Åpne Kopier URL diff --git a/libsession/src/main/res/values-nl-rNL/strings.xml b/libsession/src/main/res/values-nl-rNL/strings.xml index c3624eb29e..5cdda67418 100644 --- a/libsession/src/main/res/values-nl-rNL/strings.xml +++ b/libsession/src/main/res/values-nl-rNL/strings.xml @@ -193,7 +193,7 @@ Of neem deel aan een van deze... Snelle modus Langzame modus - U wordt op een betrouwbare en directe manier op de hoogte gebracht van nieuwe berichten via Googles notificatieservers. + U wordt op een betrouwbare en directe manier op de hoogte gebracht van nieuwe berichten via Googles notificatieservers. Sessie controleert af en toe op nieuwe berichten op de achtergrond. Open Kopieer URL diff --git a/libsession/src/main/res/values-nl/strings.xml b/libsession/src/main/res/values-nl/strings.xml index 027bb09cb5..aeda0a4009 100644 --- a/libsession/src/main/res/values-nl/strings.xml +++ b/libsession/src/main/res/values-nl/strings.xml @@ -193,7 +193,7 @@ Of neem deel aan een van deze... Snelle modus Langzame modus - U wordt op een betrouwbare en directe manier op de hoogte gebracht van nieuwe berichten via Googles notificatieservers. + U wordt op een betrouwbare en directe manier op de hoogte gebracht van nieuwe berichten via Googles notificatieservers. Sessie controleert af en toe op nieuwe berichten op de achtergrond. Open Kopieer URL diff --git a/libsession/src/main/res/values-pl-rPL/strings.xml b/libsession/src/main/res/values-pl-rPL/strings.xml index 415f51fc70..209b4b9885 100644 --- a/libsession/src/main/res/values-pl-rPL/strings.xml +++ b/libsession/src/main/res/values-pl-rPL/strings.xml @@ -193,7 +193,7 @@ Lub dołącz do jednego z tych… Tryb szybki Tryb wolny - Zostaniesz natychmiast powiadomiony o nowych wiadomościach w niezawodny sposób przy użyciu serwerów powiadomień Google. + Zostaniesz natychmiast powiadomiony o nowych wiadomościach w niezawodny sposób przy użyciu serwerów powiadomień Google. Session będzie czasami sprawdzać w tle czy są nowe wiadomości. Otwórz Skopiuj URL diff --git a/libsession/src/main/res/values-pl/strings.xml b/libsession/src/main/res/values-pl/strings.xml index 415f51fc70..209b4b9885 100644 --- a/libsession/src/main/res/values-pl/strings.xml +++ b/libsession/src/main/res/values-pl/strings.xml @@ -193,7 +193,7 @@ Lub dołącz do jednego z tych… Tryb szybki Tryb wolny - Zostaniesz natychmiast powiadomiony o nowych wiadomościach w niezawodny sposób przy użyciu serwerów powiadomień Google. + Zostaniesz natychmiast powiadomiony o nowych wiadomościach w niezawodny sposób przy użyciu serwerów powiadomień Google. Session będzie czasami sprawdzać w tle czy są nowe wiadomości. Otwórz Skopiuj URL diff --git a/libsession/src/main/res/values-pt-rBR/strings.xml b/libsession/src/main/res/values-pt-rBR/strings.xml index 37680ca6c9..24dd41abcd 100644 --- a/libsession/src/main/res/values-pt-rBR/strings.xml +++ b/libsession/src/main/res/values-pt-rBR/strings.xml @@ -193,7 +193,7 @@ Ou junte-se a um desses… Modo Rápido Modo Lento - Você será notificado de forma confiável e imediata sobre novas mensagens usando os servidores de notificação da Google. + Você será notificado de forma confiável e imediata sobre novas mensagens usando os servidores de notificação da Google. O session verificará ocasionalmente por novas mensagens em segundo plano. Abrir Copiar URLs diff --git a/libsession/src/main/res/values-pt/strings.xml b/libsession/src/main/res/values-pt/strings.xml index 37680ca6c9..24dd41abcd 100644 --- a/libsession/src/main/res/values-pt/strings.xml +++ b/libsession/src/main/res/values-pt/strings.xml @@ -193,7 +193,7 @@ Ou junte-se a um desses… Modo Rápido Modo Lento - Você será notificado de forma confiável e imediata sobre novas mensagens usando os servidores de notificação da Google. + Você será notificado de forma confiável e imediata sobre novas mensagens usando os servidores de notificação da Google. O session verificará ocasionalmente por novas mensagens em segundo plano. Abrir Copiar URLs diff --git a/libsession/src/main/res/values-ru-rRU/strings.xml b/libsession/src/main/res/values-ru-rRU/strings.xml index d6457fcb59..c4117caabb 100644 --- a/libsession/src/main/res/values-ru-rRU/strings.xml +++ b/libsession/src/main/res/values-ru-rRU/strings.xml @@ -193,7 +193,7 @@ Или присоединитесь к одной из этих… Ускоренный режим Медленный режим - Вы будете получать уведомления о новых сообщениях надежно и сразу же с помощью серверов уведомлений Google. + Вы будете получать уведомления о новых сообщениях надежно и сразу же с помощью серверов уведомлений Google. Session время от времени в фоновом режиме будeт проверять и получать новые сообщения. Открыть Копировать ссылку diff --git a/libsession/src/main/res/values-ru/strings.xml b/libsession/src/main/res/values-ru/strings.xml index d6457fcb59..c4117caabb 100644 --- a/libsession/src/main/res/values-ru/strings.xml +++ b/libsession/src/main/res/values-ru/strings.xml @@ -193,7 +193,7 @@ Или присоединитесь к одной из этих… Ускоренный режим Медленный режим - Вы будете получать уведомления о новых сообщениях надежно и сразу же с помощью серверов уведомлений Google. + Вы будете получать уведомления о новых сообщениях надежно и сразу же с помощью серверов уведомлений Google. Session время от времени в фоновом режиме будeт проверять и получать новые сообщения. Открыть Копировать ссылку diff --git a/libsession/src/main/res/values-sv-rSE/strings.xml b/libsession/src/main/res/values-sv-rSE/strings.xml index a1cb89d109..3a4250c044 100644 --- a/libsession/src/main/res/values-sv-rSE/strings.xml +++ b/libsession/src/main/res/values-sv-rSE/strings.xml @@ -193,7 +193,7 @@ Eller gå med i en av dessa… Snabbläge Långsamt läge - Du kommer att meddelas om nya meddelanden på ett tillförlitligt sätt och omedelbart genom att använda Googles aviseringsservrar. + Du kommer att meddelas om nya meddelanden på ett tillförlitligt sätt och omedelbart genom att använda Googles aviseringsservrar. Session kommer då och då att leta efter nya meddelanden i bakgrunden. Öppna &Kopiera webbadress diff --git a/libsession/src/main/res/values-sv/strings.xml b/libsession/src/main/res/values-sv/strings.xml index a1cb89d109..3a4250c044 100644 --- a/libsession/src/main/res/values-sv/strings.xml +++ b/libsession/src/main/res/values-sv/strings.xml @@ -193,7 +193,7 @@ Eller gå med i en av dessa… Snabbläge Långsamt läge - Du kommer att meddelas om nya meddelanden på ett tillförlitligt sätt och omedelbart genom att använda Googles aviseringsservrar. + Du kommer att meddelas om nya meddelanden på ett tillförlitligt sätt och omedelbart genom att använda Googles aviseringsservrar. Session kommer då och då att leta efter nya meddelanden i bakgrunden. Öppna &Kopiera webbadress diff --git a/libsession/src/main/res/values-tr-rTR/strings.xml b/libsession/src/main/res/values-tr-rTR/strings.xml index b4a1e30c1c..5e2296f029 100644 --- a/libsession/src/main/res/values-tr-rTR/strings.xml +++ b/libsession/src/main/res/values-tr-rTR/strings.xml @@ -193,7 +193,7 @@ Veya bunlardan birine katılın… Hızlı Mod Yavaş Mod - Google\'ın bildirim sunucularını kullanarak yeni iletilerden güvenilir ve anında haberdar olacaksınız. + Google\'ın bildirim sunucularını kullanarak yeni iletilerden güvenilir ve anında haberdar olacaksınız. Session ara sıra arka planda yeni mesajları kontrol eder. Bağlantıyı kopyala diff --git a/libsession/src/main/res/values-tr/strings.xml b/libsession/src/main/res/values-tr/strings.xml index b4a1e30c1c..5e2296f029 100644 --- a/libsession/src/main/res/values-tr/strings.xml +++ b/libsession/src/main/res/values-tr/strings.xml @@ -193,7 +193,7 @@ Veya bunlardan birine katılın… Hızlı Mod Yavaş Mod - Google\'ın bildirim sunucularını kullanarak yeni iletilerden güvenilir ve anında haberdar olacaksınız. + Google\'ın bildirim sunucularını kullanarak yeni iletilerden güvenilir ve anında haberdar olacaksınız. Session ara sıra arka planda yeni mesajları kontrol eder. Bağlantıyı kopyala diff --git a/libsession/src/main/res/values-uk-rUA/strings.xml b/libsession/src/main/res/values-uk-rUA/strings.xml index f4ada8ab30..a9c2522467 100644 --- a/libsession/src/main/res/values-uk-rUA/strings.xml +++ b/libsession/src/main/res/values-uk-rUA/strings.xml @@ -194,7 +194,7 @@ Або приєднуйтесь до одного з цих… Швидкий режим Медленний режим - Вас надійно повідомлятимуть про нові сповіщщеня негайно, використовуючи сервери сповіщень Google. + Вас надійно повідомлятимуть про нові сповіщщеня негайно, використовуючи сервери сповіщень Google. Session буде періодично перевіряти наявність нових повідомлень у фоновому режимі. Відкрити Копіювати URL diff --git a/libsession/src/main/res/values-uk/strings.xml b/libsession/src/main/res/values-uk/strings.xml index f4ada8ab30..a9c2522467 100644 --- a/libsession/src/main/res/values-uk/strings.xml +++ b/libsession/src/main/res/values-uk/strings.xml @@ -194,7 +194,7 @@ Або приєднуйтесь до одного з цих… Швидкий режим Медленний режим - Вас надійно повідомлятимуть про нові сповіщщеня негайно, використовуючи сервери сповіщень Google. + Вас надійно повідомлятимуть про нові сповіщщеня негайно, використовуючи сервери сповіщень Google. Session буде періодично перевіряти наявність нових повідомлень у фоновому режимі. Відкрити Копіювати URL diff --git a/libsession/src/main/res/values-zh-rCN/strings.xml b/libsession/src/main/res/values-zh-rCN/strings.xml index 2d974fe4e8..d67290b9be 100644 --- a/libsession/src/main/res/values-zh-rCN/strings.xml +++ b/libsession/src/main/res/values-zh-rCN/strings.xml @@ -193,7 +193,7 @@ 或加入下列群组… 快速模式 慢速模式 - 新消息将通过 Google 通知服务器即时可靠地发送 + 新消息将通过 Google 通知服务器即时可靠地发送 Session 将不时在后台获取新消息 打开 复制链接 diff --git a/libsession/src/main/res/values-zh-rTW/strings.xml b/libsession/src/main/res/values-zh-rTW/strings.xml index f002447ced..11e35e3f22 100644 --- a/libsession/src/main/res/values-zh-rTW/strings.xml +++ b/libsession/src/main/res/values-zh-rTW/strings.xml @@ -193,7 +193,7 @@ 或加入這些群組⋯ 快速模式 慢速模式 - 您將會透過 Google 的通知服務可靠且迅速的收到通知。 + 您將會透過 Google 的通知服務可靠且迅速的收到通知。 Session 會偶爾在背景執行時檢查新訊息。 開啟 複製網址 diff --git a/libsession/src/main/res/values-zh/strings.xml b/libsession/src/main/res/values-zh/strings.xml index b6631fa62f..2b3832ac63 100644 --- a/libsession/src/main/res/values-zh/strings.xml +++ b/libsession/src/main/res/values-zh/strings.xml @@ -193,7 +193,7 @@ 或加入下列群组… 快速模式 慢速模式 - 新消息将通过 Google 通知服务器即时可靠地发送。 + 新消息将通过 Google 通知服务器即时可靠地发送。 Session 将不时在后台获取新消息。 打开 复制链接 diff --git a/libsession/src/main/res/values/strings.xml b/libsession/src/main/res/values/strings.xml index cdfa119264..ec978d4a7d 100644 --- a/libsession/src/main/res/values/strings.xml +++ b/libsession/src/main/res/values/strings.xml @@ -1,748 +1,13 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Session + About Accept Copy Account ID @@ -1233,7 +498,7 @@ NOTE: Strings with blank lines have manually been replaced with '\n\n' - this wi Loading your account Loading... Lock App - Require fingerprint, PIN, pattern or password to unlock {app_name}. + Require fingerprint, PIN, pattern or password to unlock {app_name}. Require Touch ID, Face ID or your passcode to unlock {app_name}. You must enable a passcode in your iOS Settings in order to use Screen Lock. {app_name} is locked @@ -1317,14 +582,14 @@ NOTE: Strings with blank lines have manually been replaced with '\n\n' - this wi Hide Note to Self Are you sure you want to hide Note to Self? All Messages - {message_count} new messages in {conversation_count} conversations + {message_count} new messages in {conversation_count} conversations Notification Content The information shown in notifications. Name and Content Name Only No Name or Content Fast Mode - You\'ll be notified of new messages reliably and immediately using Google\'s notification Servers. + You\'ll be notified of new messages reliably and immediately using Google\'s notification Servers. You\'ll be notified of new messages reliably and immediately using Apple\'s notification Servers. Go to device notification settings {name} to {conversation_name} @@ -1402,7 +667,7 @@ NOTE: Strings with blank lines have manually been replaced with '\n\n' - this wi {app_name} continues running in the background when you close the window {app_name} needs photo library access to continue. You can enable access in the iOS settings. Microphone - {app_name} needs microphone access to send audio messages, but it has been permanently denied. Please continue to app settings, select \"Permissions\", and enable \"Microphone\". + {app_name} needs microphone access to send audio messages, but it has been permanently denied. Please continue to app settings, select \"Permissions\", and enable \"Microphone\". Allow access to microphone Permission required {app_name} needs storage access to save attachments and media. @@ -1556,8 +821,4 @@ NOTE: Strings with blank lines have manually been replaced with '\n\n' - this wi Uploading - - Session - \ No newline at end of file