mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-05-04 15:35:38 +01:00
Replace usages of old getEncryptedUsernameFromLinkServerId for libsignal's lookUpUsernameLink.
This commit is contained in:
committed by
Cody Henthorne
parent
caf2e555dd
commit
402f49edd9
+18
-17
@@ -14,6 +14,8 @@ import org.signal.core.util.toByteArray
|
||||
import org.signal.libsignal.net.RequestResult
|
||||
import org.signal.libsignal.usernames.BaseUsernameException
|
||||
import org.signal.libsignal.usernames.Username
|
||||
import org.signal.libsignal.usernames.UsernameLinkInvalidEntropyDataLength
|
||||
import org.signal.libsignal.usernames.UsernameLinkInvalidLinkData
|
||||
import org.thoughtcrime.securesms.components.settings.app.usernamelinks.main.UsernameLinkResetResult
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase
|
||||
import org.thoughtcrime.securesms.dependencies.AppDependencies
|
||||
@@ -234,25 +236,24 @@ object UsernameRepository {
|
||||
|
||||
return Single
|
||||
.fromCallable {
|
||||
val encryptedUsername = when (val result = SignalNetwork.username.getEncryptedUsernameFromLinkServerId(components.serverId)) {
|
||||
is NetworkResult.Success -> result.result
|
||||
is NetworkResult.StatusCodeError -> {
|
||||
return@fromCallable when (result.code) {
|
||||
404 -> UsernameLinkConversionResult.NotFound(null)
|
||||
422 -> UsernameLinkConversionResult.Invalid
|
||||
else -> UsernameLinkConversionResult.NetworkError
|
||||
val username = when (val result = SignalNetwork.username.getDecryptedUsernameFromLinkServerIdAndEntropy(components.serverId, components.entropy)) {
|
||||
is RequestResult.Success ->
|
||||
result.result ?: return@fromCallable UsernameLinkConversionResult.NotFound(null)
|
||||
is RequestResult.NonSuccess -> {
|
||||
when (result.error) {
|
||||
is UsernameLinkInvalidEntropyDataLength,
|
||||
is UsernameLinkInvalidLinkData -> {
|
||||
Log.w(TAG, "[convertLinkToUsername] Bad username conversion. ${result.error}")
|
||||
return@fromCallable UsernameLinkConversionResult.Invalid
|
||||
}
|
||||
}
|
||||
}
|
||||
is NetworkResult.NetworkError -> return@fromCallable UsernameLinkConversionResult.NetworkError
|
||||
is NetworkResult.ApplicationError -> throw result.throwable
|
||||
}
|
||||
|
||||
val link = Username.UsernameLink(components.entropy, encryptedUsername)
|
||||
val username: Username = try {
|
||||
Username.fromLink(link)
|
||||
} catch (e: BaseUsernameException) {
|
||||
Log.w(TAG, "[convertLinkToUsername] Bad username conversion.", e)
|
||||
return@fromCallable UsernameLinkConversionResult.Invalid
|
||||
is RequestResult.RetryableNetworkError -> {
|
||||
return@fromCallable UsernameLinkConversionResult.NetworkError
|
||||
}
|
||||
is RequestResult.ApplicationError -> {
|
||||
throw result.cause
|
||||
}
|
||||
}
|
||||
|
||||
when (val result = SignalNetwork.username.getAciByUsername(username)) {
|
||||
|
||||
Reference in New Issue
Block a user