Skip to content

Commit

Permalink
Show profile creation before PIN creation.
Browse files Browse the repository at this point in the history
  • Loading branch information
greyson-signal committed Feb 7, 2020
1 parent f2b3acb commit cbd7160
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -175,10 +175,10 @@ private int getApplicationState(boolean locked) {
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;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
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;

Expand Down Expand Up @@ -106,6 +107,7 @@ private void updateSaveAnimation(@NonNull ConfirmKbsPinViewModel.SaveAnimation a
public void onAnimationEnd(Animator animation) {
requireActivity().setResult(Activity.RESULT_OK);
closeNavGraphBranch();
SignalStore.registrationValues().setRegistrationComplete();
}
});
break;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
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;

Expand All @@ -15,4 +16,8 @@ private 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);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
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;
Expand Down Expand Up @@ -323,7 +324,9 @@ private void handleUpload() {
}
}

SignalStore.registrationValues().setRegistrationComplete();
if (!PinUtil.shouldShowPinCreationDuringRegistration(requireContext())) {
SignalStore.registrationValues().setRegistrationComplete();
}

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) handleFinishedLollipop();
else handleFinishedLegacy();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,16 +36,16 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat


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));
}
}

Expand Down

0 comments on commit cbd7160

Please sign in to comment.