kopia lustrzana https://github.com/ryukoposting/Signal-Android
Upload PIN to KBS on successful register.
rodzic
e4cc7f5181
commit
aa9a530e59
|
@ -97,7 +97,12 @@ public final class RegistrationRepository {
|
|||
{
|
||||
return Single.<ServiceResponse<VerifyResponse>>fromCallable(() -> {
|
||||
try {
|
||||
registerAccountInternal(registrationData, response.getVerifyAccountResponse(), response.getPin(), response.getKbsData());
|
||||
String pin = response.getPin();
|
||||
registerAccountInternal(registrationData, response.getVerifyAccountResponse(), pin, response.getKbsData());
|
||||
|
||||
if (pin != null && !pin.isEmpty()) {
|
||||
PinState.onPinChangedOrCreated(context, pin, SignalStore.pinValues().getKeyboardType());
|
||||
}
|
||||
|
||||
JobManager jobManager = ApplicationDependencies.getJobManager();
|
||||
jobManager.add(new DirectoryRefreshJob(false));
|
||||
|
|
|
@ -75,10 +75,6 @@ class VerifyAccountRepository(private val context: Application) {
|
|||
}.subscribeOn(Schedulers.io())
|
||||
}
|
||||
|
||||
fun verifyAccountWithReregistrationData(registrationData: RegistrationData, kbsPinDataProducer: KbsPinDataProducer): Single<ServiceResponse<VerifyResponse>> {
|
||||
return verifyAccountWithPin(registrationData, "", kbsPinDataProducer)
|
||||
}
|
||||
|
||||
fun verifyAccountWithPin(registrationData: RegistrationData, pin: String, kbsPinDataProducer: KbsPinDataProducer): Single<ServiceResponse<VerifyResponse>> {
|
||||
val universalUnidentifiedAccess: Boolean = TextSecurePreferences.isUniversalUnidentifiedAccess(context)
|
||||
val unidentifiedAccessKey: ByteArray = UnidentifiedAccess.deriveAccessKeyFrom(registrationData.profileKey)
|
||||
|
|
|
@ -6,6 +6,7 @@ import androidx.lifecycle.LiveData;
|
|||
import androidx.lifecycle.SavedStateHandle;
|
||||
import androidx.lifecycle.ViewModel;
|
||||
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||
import org.thoughtcrime.securesms.pin.KbsRepository;
|
||||
import org.thoughtcrime.securesms.pin.TokenData;
|
||||
import org.thoughtcrime.securesms.registration.RequestVerificationCodeResponseProcessor;
|
||||
|
|
|
@ -111,11 +111,12 @@ public final class RegistrationViewModel extends BaseRegistrationViewModel {
|
|||
return verifyAccountRepository.verifyAccount(getRegistrationData())
|
||||
.flatMap(verifyAccountWithoutKbsResponse -> {
|
||||
VerifyResponseProcessor processor = new VerifyResponseWithoutKbs(verifyAccountWithoutKbsResponse);
|
||||
String pin = SignalStore.kbsValues().getPin();
|
||||
|
||||
if (processor.registrationLock() && SignalStore.kbsValues().getRegistrationLockToken() != null) {
|
||||
if (processor.registrationLock() && SignalStore.kbsValues().getRegistrationLockToken() != null && pin != null) {
|
||||
KbsPinData pinData = new KbsPinData(SignalStore.kbsValues().getOrCreateMasterKey(), SignalStore.kbsValues().getRegistrationLockTokenResponse());
|
||||
|
||||
return verifyAccountRepository.verifyAccountWithReregistrationData(getRegistrationData(), () -> pinData)
|
||||
return verifyAccountRepository.verifyAccountWithPin(getRegistrationData(), pin, () -> pinData)
|
||||
.map(verifyAccountWithPinResponse -> {
|
||||
if (verifyAccountWithPinResponse.getResult().isPresent() && verifyAccountWithPinResponse.getResult().get().getKbsData() != null) {
|
||||
return verifyAccountWithPinResponse;
|
||||
|
|
Ładowanie…
Reference in New Issue