Show profile creation before PIN creation.

This commit is contained in:
Greyson Parrelli 2020-02-07 00:47:52 -05:00
parent f2b3acb0c9
commit cbd7160e23
5 changed files with 20 additions and 10 deletions

View File

@ -175,10 +175,10 @@ public abstract class PassphraseRequiredActionBarActivity extends BaseActionBarA
return STATE_WELCOME_PUSH_SCREEN;
} else if (ExperienceUpgradeActivity.isUpdate(this)) {
return STATE_EXPERIENCE_UPGRADE;
} else if (userMustSetKbsPin()) {
return STATE_CREATE_KBS_PIN;
} else if (userMustSetProfileName()) {
return STATE_CREATE_PROFILE_NAME;
} else if (userMustSetKbsPin()) {
return STATE_CREATE_KBS_PIN;
} else {
return STATE_NORMAL;
}

View File

@ -19,6 +19,7 @@ import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.animation.AnimationCompleteListener;
import org.thoughtcrime.securesms.animation.AnimationRepeatListener;
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
import org.thoughtcrime.securesms.keyvalue.SignalStore;
import org.thoughtcrime.securesms.megaphone.Megaphones;
import org.thoughtcrime.securesms.util.SpanUtil;
@ -106,6 +107,7 @@ public class ConfirmKbsPinFragment extends BaseKbsPinFragment<ConfirmKbsPinViewM
public void onAnimationEnd(Animator animation) {
requireActivity().setResult(Activity.RESULT_OK);
closeNavGraphBranch();
SignalStore.registrationValues().setRegistrationComplete();
}
});
break;

View File

@ -5,6 +5,7 @@ import android.content.Context;
import androidx.annotation.NonNull;
import org.thoughtcrime.securesms.keyvalue.SignalStore;
import org.thoughtcrime.securesms.util.CensorshipUtil;
import org.thoughtcrime.securesms.util.FeatureFlags;
import org.thoughtcrime.securesms.util.TextSecurePreferences;
@ -15,4 +16,8 @@ public final class PinUtil {
public static boolean userHasPin(@NonNull Context context) {
return TextSecurePreferences.isV1RegistrationLockEnabled(context) || SignalStore.kbsValues().isV2RegistrationLockEnabled();
}
public static boolean shouldShowPinCreationDuringRegistration(@NonNull Context context) {
return FeatureFlags.pinsForAll() && !PinUtil.userHasPin(context) && !CensorshipUtil.isCensored(context);
}
}

View File

@ -36,6 +36,7 @@ import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.avatar.AvatarSelection;
import org.thoughtcrime.securesms.contacts.avatars.ResourceContactPhoto;
import org.thoughtcrime.securesms.keyvalue.SignalStore;
import org.thoughtcrime.securesms.lock.v2.PinUtil;
import org.thoughtcrime.securesms.logging.Log;
import org.thoughtcrime.securesms.mms.GlideApp;
import org.thoughtcrime.securesms.permissions.Permissions;
@ -323,7 +324,9 @@ public class EditProfileFragment extends Fragment {
}
}
SignalStore.registrationValues().setRegistrationComplete();
if (!PinUtil.shouldShowPinCreationDuringRegistration(requireContext())) {
SignalStore.registrationValues().setRegistrationComplete();
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) handleFinishedLollipop();
else handleFinishedLegacy();

View File

@ -36,16 +36,16 @@ public final class RegistrationCompleteFragment extends BaseRegistrationFragment
if (!isReregister()) {
final Intent main = new Intent(activity, MainActivity.class);
final Intent next = chainIntents(new Intent(activity, EditProfileActivity.class), main);
final Intent main = new Intent(activity, MainActivity.class);
final Intent profile = new Intent(activity, EditProfileActivity.class);
next.putExtra(EditProfileActivity.SHOW_TOOLBAR, false);
profile.putExtra(EditProfileActivity.SHOW_TOOLBAR, false);
Context context = requireContext();
if (FeatureFlags.pinsForAll() && !PinUtil.userHasPin(context) && !CensorshipUtil.isCensored(requireContext())) {
activity.startActivity(chainIntents(CreateKbsPinActivity.getIntentForPinCreate(context), next));
if (PinUtil.shouldShowPinCreationDuringRegistration(requireContext())) {
Intent kbs = CreateKbsPinActivity.getIntentForPinCreate(requireContext());
activity.startActivity(chainIntents(chainIntents(profile, kbs), main));
} else {
activity.startActivity(next);
activity.startActivity(chainIntents(profile, main));
}
}