Fix issue with tracking registration state.

This commit is contained in:
Greyson Parrelli
2020-07-13 18:52:30 -04:00
parent 6515a6188b
commit 4b9277629c
7 changed files with 22 additions and 9 deletions

View File

@@ -1,5 +1,9 @@
package org.thoughtcrime.securesms.registration;
import android.content.Context;
import androidx.annotation.NonNull;
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
import org.thoughtcrime.securesms.jobs.DirectoryRefreshJob;
import org.thoughtcrime.securesms.jobs.StorageSyncJob;
@@ -7,6 +11,7 @@ import org.thoughtcrime.securesms.keyvalue.SignalStore;
import org.thoughtcrime.securesms.logging.Log;
import org.thoughtcrime.securesms.recipients.Recipient;
import org.thoughtcrime.securesms.storage.StorageSyncHelper;
import org.thoughtcrime.securesms.util.TextSecurePreferences;
import org.whispersystems.signalservice.internal.storage.protos.SignalStorage;
public final class RegistrationUtil {
@@ -20,8 +25,12 @@ public final class RegistrationUtil {
* path a user has taken. This will only truly mark registration as complete if all of the
* requirements are met.
*/
public static void markRegistrationPossiblyComplete() {
if (!SignalStore.registrationValues().isRegistrationComplete() && SignalStore.kbsValues().hasPin() && !Recipient.self().getProfileName().isEmpty()) {
public static void markRegistrationPossiblyComplete(@NonNull Context context) {
if (!SignalStore.registrationValues().isRegistrationComplete() &&
TextSecurePreferences.isPushRegistered(context) &&
!Recipient.self().getProfileName().isEmpty() &&
(SignalStore.kbsValues().hasPin() || SignalStore.kbsValues().hasOptedOut()))
{
Log.i(TAG, "Marking registration completed.", new Throwable());
SignalStore.registrationValues().setRegistrationComplete();
ApplicationDependencies.getJobManager().startChain(new StorageSyncJob())