Skip to content

Commit 285650e

Browse files
committed
Merge branch 'molly-7.63'
2 parents 4c5358c + c72b735 commit 285650e

File tree

74 files changed

+331
-298
lines changed

Some content is hidden

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

74 files changed

+331
-298
lines changed

app/build.gradle.kts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ plugins {
99
id("molly")
1010
}
1111

12-
val canonicalVersionCode = 1610
13-
val canonicalVersionName = "7.63.2"
12+
val canonicalVersionCode = 1611
13+
val canonicalVersionName = "7.63.3"
1414
val currentHotfixVersion = 0
1515
val maxHotfixVersions = 100
1616
val mollyRevision = 1
@@ -201,7 +201,6 @@ android {
201201
buildConfigField("String", "CONTENT_PROXY_HOST", "\"contentproxy.signal.org\"")
202202
buildConfigField("int", "CONTENT_PROXY_PORT", "443")
203203
buildConfigField("String", "SIGNAL_AGENT", "\"OWA\"")
204-
buildConfigField("String", "SVR2_MRENCLAVE_LEGACY_LEGACY", "\"9314436a9a144992bb3680770ea5fd7934a7ffd29257844a33763a238903d570\"")
205204
buildConfigField("String", "SVR2_MRENCLAVE_LEGACY", "\"093be9ea32405e85ae28dbb48eb668aebeb7dbe29517b9b86ad4bec4dfe0e6a6\"")
206205
buildConfigField("String", "SVR2_MRENCLAVE", "\"29cd63c87bea751e3bfd0fbd401279192e2e5c99948b4ee9437eafc4968355fb\"")
207206
buildConfigField("String[]", "UNIDENTIFIED_SENDER_TRUST_ROOTS", "new String[]{ \"BXu6QIKVz5MA8gstzfOgRQGqyLqOwNKHL6INkv3IHWMF\", \"BUkY0I+9+oPgDCn4+Ac6Iu813yvqkDr/ga8DzLxFxuk6\"}")
@@ -338,7 +337,6 @@ android {
338337
buildConfigField("String", "SIGNAL_CDN3_URL", "\"https://cdn3-staging.signal.org\"")
339338
buildConfigField("String", "SIGNAL_CDSI_URL", "\"https://cdsi.staging.signal.org\"")
340339
buildConfigField("String", "SIGNAL_SVR2_URL", "\"https://svr2.staging.signal.org\"")
341-
buildConfigField("String", "SVR2_MRENCLAVE_LEGACY_LEGACY", "\"38e01eff4fe357dc0b0e8ef7a44b4abc5489fbccba3a78780f3872c277f62bf3\"")
342340
buildConfigField("String", "SVR2_MRENCLAVE_LEGACY", "\"2e8cefe6e3f389d8426adb24e9b7fb7adf10902c96f06f7bbcee36277711ed91\"")
343341
buildConfigField("String", "SVR2_MRENCLAVE", "\"a75542d82da9f6914a1e31f8a7407053b99cc99a0e7291d8fbd394253e19b036\"")
344342
buildConfigField("String[]", "UNIDENTIFIED_SENDER_TRUST_ROOTS", "new String[]{\"BbqY1DzohE4NUZoVF+L18oUPrK3kILllLEJh2UnPSsEx\", \"BYhU6tPjqP46KGZEzRs1OL4U39V5dlPJ/X09ha4rErkm\"}")

app/src/main/java/org/thoughtcrime/securesms/keyvalue/RegistrationValues.kt

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,12 @@ class RegistrationValues internal constructor(store: KeyValueStore) : SignalStor
4444

4545
@Synchronized
4646
fun clearRegistrationComplete() {
47-
onFirstEverAppLaunch()
47+
store
48+
.beginWrite()
49+
.putBoolean(HAS_UPLOADED_PROFILE, false)
50+
.putBoolean(REGISTRATION_COMPLETE, false)
51+
.putBoolean(PIN_REQUIRED, true)
52+
.commit()
4853
}
4954

5055
@Synchronized
@@ -86,8 +91,8 @@ class RegistrationValues internal constructor(store: KeyValueStore) : SignalStor
8691
var restoreDecisionState: RestoreDecisionState
8792
get() = store.getBlob(RESTORE_DECISION_STATE, null)?.let { RestoreDecisionState.ADAPTER.decode(it) } ?: RestoreDecisionState.Skipped
8893
set(newValue) {
89-
if (isRegistrationComplete) {
90-
Log.w(TAG, "Registration was completed, cannot change initial restore decision state")
94+
if (isRegistrationComplete || restoreDecisionState.isTerminal) {
95+
Log.w(TAG, "Cannot change initial restore decision state. complete: $isRegistrationComplete terminal: ${restoreDecisionState.isTerminal}")
9196
} else {
9297
Log.v(TAG, "Restore decision set: $newValue", Throwable())
9398
store.beginWrite()

app/src/main/java/org/thoughtcrime/securesms/pin/PinRestoreViewModel.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,10 @@ class PinRestoreViewModel : ViewModel() {
6868
is SecureValueRecovery.RestoreResponse.ApplicationError -> {
6969
event.postValue(Event.NETWORK_ERROR)
7070
}
71+
72+
SecureValueRecovery.RestoreResponse.EnclaveNotFound -> {
73+
event.postValue(Event.PIN_LOCKED)
74+
}
7175
}
7276
}
7377
}

app/src/main/java/org/thoughtcrime/securesms/pin/SvrRepository.kt

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ object SvrRepository {
4444

4545
val TAG = Log.tag(SvrRepository::class.java)
4646

47-
private val svr2LegacyLegacy: SecureValueRecovery = AppDependencies.signalServiceAccountManager.getSecureValueRecoveryV2(BuildConfig.SVR2_MRENCLAVE_LEGACY_LEGACY)
4847
private val svr2Legacy: SecureValueRecovery = AppDependencies.signalServiceAccountManager.getSecureValueRecoveryV2(BuildConfig.SVR2_MRENCLAVE_LEGACY)
4948
private val svr2: SecureValueRecovery = AppDependencies.signalServiceAccountManager.getSecureValueRecoveryV2(BuildConfig.SVR2_MRENCLAVE)
5049
private val svr3: SecureValueRecovery = AppDependencies.signalServiceAccountManager.getSecureValueRecoveryV3(AppDependencies.libsignalNetwork)
@@ -53,7 +52,7 @@ object SvrRepository {
5352
private val readImplementations: List<SecureValueRecovery> = if (Svr3Migration.shouldReadFromSvr3) {
5453
listOf(svr3, svr2)
5554
} else {
56-
listOf(svr2, svr2Legacy, svr2LegacyLegacy)
55+
listOf(svr2, svr2Legacy)
5756
}
5857

5958
/** An ordered list of SVR implementations to write to. They should be in priority order, with the most important one listed first. */
@@ -66,7 +65,6 @@ object SvrRepository {
6665
if (Svr3Migration.shouldWriteToSvr2) {
6766
implementations += svr2
6867
implementations += svr2Legacy
69-
implementations += svr2LegacyLegacy
7068
}
7169
return implementations
7270
}
@@ -104,8 +102,7 @@ object SvrRepository {
104102
} else {
105103
listOf(
106104
svr2 to { restoreMasterKeyPreRegistrationFromV2(svr2, credentials.svr2, userPin) },
107-
svr2Legacy to { restoreMasterKeyPreRegistrationFromV2(svr2Legacy, credentials.svr2, userPin) },
108-
svr2LegacyLegacy to { restoreMasterKeyPreRegistrationFromV2(svr2LegacyLegacy, credentials.svr2, userPin) }
105+
svr2Legacy to { restoreMasterKeyPreRegistrationFromV2(svr2Legacy, credentials.svr2, userPin) }
109106
)
110107
}
111108

@@ -140,6 +137,10 @@ object SvrRepository {
140137
RestoreResponse.Missing -> {
141138
Log.w(TAG, "[restoreMasterKeyPreRegistration] No data found for $implementation | Continuing to next implementation.", true)
142139
}
140+
141+
RestoreResponse.EnclaveNotFound -> {
142+
Log.w(TAG, "[restoreMasterKeyPreRegistration] Enclave no longer exists: $implementation | Continuing to next implementation.", true)
143+
}
143144
}
144145
}
145146

@@ -218,6 +219,10 @@ object SvrRepository {
218219
RestoreResponse.Missing -> {
219220
Log.w(TAG, "[restoreMasterKeyPostRegistration] No data found for: $implementation | Continuing to next implementation.", true)
220221
}
222+
223+
RestoreResponse.EnclaveNotFound -> {
224+
Log.w(TAG, "[restoreMasterKeyPostRegistration] Enclave no longer exists: $implementation | Continuing to next implementation.", true)
225+
}
221226
}
222227
}
223228

app/src/main/java/org/thoughtcrime/securesms/registration/ui/restore/RemoteRestoreActivity.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ import org.signal.core.ui.compose.DayNightPreviews
6666
import org.signal.core.ui.compose.Dialogs
6767
import org.signal.core.ui.compose.Previews
6868
import org.signal.core.ui.compose.theme.SignalTheme
69-
import org.signal.core.util.AppUtil
7069
import org.signal.core.util.ThreadUtil
7170
import org.signal.core.util.bytes
7271
import org.thoughtcrime.securesms.BaseActivity
@@ -250,7 +249,11 @@ class RemoteRestoreActivity : BaseActivity() {
250249
.setTitle(R.string.RestoreActivity__no_longer_registered_title)
251250
.setMessage(R.string.RestoreActivity__no_longer_registered_message)
252251
.setCancelable(false)
253-
.setPositiveButton(android.R.string.ok) { _, _ -> AppUtil.clearData(this) }
252+
.setPositiveButton(android.R.string.ok) { _, _ ->
253+
viewModel.skipRestore()
254+
startActivity(MainActivity.clearTop(this))
255+
supportFinishAfterTransition()
256+
}
254257
.show()
255258
}
256259

app/src/main/java/org/thoughtcrime/securesms/restore/RestoreActivity.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder
2121
import kotlinx.coroutines.delay
2222
import kotlinx.coroutines.isActive
2323
import kotlinx.coroutines.launch
24-
import org.signal.core.util.AppUtil
2524
import org.signal.core.util.ThreadUtil
2625
import org.signal.core.util.getParcelableExtraCompat
2726
import org.signal.core.util.logging.Log
@@ -155,7 +154,11 @@ class RestoreActivity : BaseActivity() {
155154
.setTitle(R.string.RestoreActivity__no_longer_registered_title)
156155
.setMessage(R.string.RestoreActivity__no_longer_registered_message)
157156
.setCancelable(false)
158-
.setPositiveButton(android.R.string.ok) { _, _ -> AppUtil.clearData(this) }
157+
.setPositiveButton(android.R.string.ok) { _, _ ->
158+
sharedViewModel.skipRestore()
159+
startActivity(MainActivity.clearTop(this))
160+
supportFinishAfterTransition()
161+
}
159162
.show()
160163
}
161164

app/src/main/java/org/thoughtcrime/securesms/window/WindowSizeClassExtensions.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,5 +50,6 @@ fun WindowSizeClass.isSplitPane(
5050
return true
5151
}
5252

53-
return windowWidthSizeClass.isAtLeast(WindowWidthSizeClass.MEDIUM)
53+
return windowWidthSizeClass.isAtLeast(WindowWidthSizeClass.MEDIUM) &&
54+
windowHeightSizeClass.isAtLeast(WindowHeightSizeClass.MEDIUM)
5455
}

app/src/main/res/values-ar/strings.xml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1255,7 +1255,7 @@
12551255
<string name="ExpiredBuildReminder_update_now">حدِّث الآن</string>
12561256

12571257
<!-- A message in a banner shown at the top of the screen indicating that the user must upgrade their device to use signal. -->
1258-
<string name="DeprecatedSdkBanner_body">لم يعُد تطبيق Signal يَعمل على هذا الجهاز. لاستخدام التطبيق مرة أخرى، يُرجى تحديث الأندرويد على جهازك إلى إصدار أحدث أو قم بالتغيير إلى جهاز أحدث.</string>
1258+
<string name="DeprecatedSdkBanner_body">لم يعُد تطبيق Signal يَعمل على هذا الجهاز. لاستخدام التطبيق مرّة أخرى، قُم بتحديث الأندرويد على جهازك إلى إصدار أحدث أو قُم بالتغيير إلى جهاز أحدث.</string>
12591259

12601260
<!-- Title of notification telling users to update Signal -->
12611261
<string name="DeprecatedNotificationJob_update_signal">تحديث سيجنال</string>
@@ -6490,11 +6490,11 @@
64906490
<!-- Hint text that shows in the recipient search bar when no text is entered yet. -->
64916491
<string name="RecipientSearchBar__search_name_or_number">الاسم، أو اسم المُستخدِم، أو الرقم</string>
64926492
<!-- Accessibility label for the button to switch to the numeric keyboard type. -->
6493-
<string name="RecipientSearchBar_accessibility_switch_to_numeric_keyboard">Switch to numeric keyboard</string>
6493+
<string name="RecipientSearchBar_accessibility_switch_to_numeric_keyboard">التبديل إلى لوحة مفاتيح رقمية</string>
64946494
<!-- Accessibility label for the button to switch to the alphanumeric keyboard type. -->
6495-
<string name="RecipientSearchBar_accessibility_switch_to_alphanumeric_keyboard">Switch to alphanumeric keyboard</string>
6495+
<string name="RecipientSearchBar_accessibility_switch_to_alphanumeric_keyboard">التبديل إلى لوحة مفاتيح أبجدية ورقمية</string>
64966496
<!-- Accessibility label for the button to clear the search filter. -->
6497-
<string name="RecipientSearchBar_accessibility_clear_search">Reset search filter</string>
6497+
<string name="RecipientSearchBar_accessibility_clear_search">إعادة تعيين فلتر البحث</string>
64986498

64996499
<!-- VoiceNotePlayerView -->
65006500
<string name="VoiceNotePlayerView__dot_s">· %1$s</string>
@@ -8449,7 +8449,7 @@
84498449
<!-- Button of a megaphone shown at the bottom of the chat list to prompt the user to enable message backups that will simply dismiss the megaphone -->
84508450
<string name="TurnOnSignalBackups__not_now">ليس الآن</string>
84518451
<!-- Text for a "toast" that pops up at the bottom of the user\'s screen after they respond "not now" to a prompt asking them to enable backups -->
8452-
<string name="TurnOnSignalBackups__toast_not_now">You can enable backups in \"Settings\"</string>
8452+
<string name="TurnOnSignalBackups__toast_not_now">يُمكنك تفعيل النسخ الاحتياطية في \"الإعدادات\"</string>
84538453

84548454
<!-- Title of a megaphone shown to prompt the user to verify their recovery key -->
84558455
<string name="VerifyBackupKey__title">قُم بتأكيد مفتاح الاستعادة الخاص بك</string>

app/src/main/res/values-az/strings.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5930,11 +5930,11 @@
59305930
<!-- Hint text that shows in the recipient search bar when no text is entered yet. -->
59315931
<string name="RecipientSearchBar__search_name_or_number">Ad, istifadəçi adı və ya nömrəsi</string>
59325932
<!-- Accessibility label for the button to switch to the numeric keyboard type. -->
5933-
<string name="RecipientSearchBar_accessibility_switch_to_numeric_keyboard">Switch to numeric keyboard</string>
5933+
<string name="RecipientSearchBar_accessibility_switch_to_numeric_keyboard">Rəqəm klaviaturasına keç</string>
59345934
<!-- Accessibility label for the button to switch to the alphanumeric keyboard type. -->
5935-
<string name="RecipientSearchBar_accessibility_switch_to_alphanumeric_keyboard">Switch to alphanumeric keyboard</string>
5935+
<string name="RecipientSearchBar_accessibility_switch_to_alphanumeric_keyboard">Hərf-rəqəm klaviaturasına keç</string>
59365936
<!-- Accessibility label for the button to clear the search filter. -->
5937-
<string name="RecipientSearchBar_accessibility_clear_search">Reset search filter</string>
5937+
<string name="RecipientSearchBar_accessibility_clear_search">Axtarış filtrini sıfırla</string>
59385938

59395939
<!-- VoiceNotePlayerView -->
59405940
<string name="VoiceNotePlayerView__dot_s">· %1$s</string>
@@ -7761,7 +7761,7 @@
77617761
<!-- Button of a megaphone shown at the bottom of the chat list to prompt the user to enable message backups that will simply dismiss the megaphone -->
77627762
<string name="TurnOnSignalBackups__not_now">İndi yox</string>
77637763
<!-- Text for a "toast" that pops up at the bottom of the user\'s screen after they respond "not now" to a prompt asking them to enable backups -->
7764-
<string name="TurnOnSignalBackups__toast_not_now">You can enable backups in \"Settings\"</string>
7764+
<string name="TurnOnSignalBackups__toast_not_now">Ehtiyat nüsxələrini \"Parametrlər\"də aktivləşdirə bilərsiniz</string>
77657765

77667766
<!-- Title of a megaphone shown to prompt the user to verify their recovery key -->
77677767
<string name="VerifyBackupKey__title">Bərpa şifrənizi yoxlayın</string>

app/src/main/res/values-be/strings.xml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1211,7 +1211,7 @@
12111211
<string name="ExpiredBuildReminder_update_now">Абнавіць зараз</string>
12121212

12131213
<!-- A message in a banner shown at the top of the screen indicating that the user must upgrade their device to use signal. -->
1214-
<string name="DeprecatedSdkBanner_body">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.</string>
1214+
<string name="DeprecatedSdkBanner_body">Signal ужо не працуе на гэтай прыладзе. Каб зноў выкарыстоўваць Signal, трэба абнавіць прыладу да больш новай версіі Android або перайсці на больш новую прыладу.</string>
12151215

12161216
<!-- Title of notification telling users to update Signal -->
12171217
<string name="DeprecatedNotificationJob_update_signal">Абнавіць Molly</string>
@@ -6210,11 +6210,11 @@
62106210
<!-- Hint text that shows in the recipient search bar when no text is entered yet. -->
62116211
<string name="RecipientSearchBar__search_name_or_number">Імя, імя карыстальніка або нумар</string>
62126212
<!-- Accessibility label for the button to switch to the numeric keyboard type. -->
6213-
<string name="RecipientSearchBar_accessibility_switch_to_numeric_keyboard">Switch to numeric keyboard</string>
6213+
<string name="RecipientSearchBar_accessibility_switch_to_numeric_keyboard">Пераключыцца на лічбавую клавіятуру</string>
62146214
<!-- Accessibility label for the button to switch to the alphanumeric keyboard type. -->
6215-
<string name="RecipientSearchBar_accessibility_switch_to_alphanumeric_keyboard">Switch to alphanumeric keyboard</string>
6215+
<string name="RecipientSearchBar_accessibility_switch_to_alphanumeric_keyboard">Пераключыцца на клавіятуру з літарамі і лічбамі</string>
62166216
<!-- Accessibility label for the button to clear the search filter. -->
6217-
<string name="RecipientSearchBar_accessibility_clear_search">Reset search filter</string>
6217+
<string name="RecipientSearchBar_accessibility_clear_search">Скінуць фільтр пошуку</string>
62186218

62196219
<!-- VoiceNotePlayerView -->
62206220
<string name="VoiceNotePlayerView__dot_s">· %1$s</string>
@@ -8105,7 +8105,7 @@
81058105
<!-- Button of a megaphone shown at the bottom of the chat list to prompt the user to enable message backups that will simply dismiss the megaphone -->
81068106
<string name="TurnOnSignalBackups__not_now">Не зараз</string>
81078107
<!-- Text for a "toast" that pops up at the bottom of the user\'s screen after they respond "not now" to a prompt asking them to enable backups -->
8108-
<string name="TurnOnSignalBackups__toast_not_now">You can enable backups in \"Settings\"</string>
8108+
<string name="TurnOnSignalBackups__toast_not_now">Вы можаце ўключыць рэзервовае капіраванне ў «Наладах»</string>
81098109

81108110
<!-- Title of a megaphone shown to prompt the user to verify their recovery key -->
81118111
<string name="VerifyBackupKey__title">Праверце свой ключ для аднаўлення</string>

0 commit comments

Comments
 (0)