mirror of
https://github.com/oxen-io/session-android.git
synced 2025-06-09 14:28:34 +00:00
Various PIN bug fixes.
This commit is contained in:
parent
0a883dc234
commit
dc689d325b
@ -999,6 +999,7 @@ public class ConversationFragment extends Fragment
|
|||||||
|
|
||||||
if (messageRecord.isSecure() &&
|
if (messageRecord.isSecure() &&
|
||||||
!messageRecord.isUpdate() &&
|
!messageRecord.isUpdate() &&
|
||||||
|
!recipient.get().isBlocked() &&
|
||||||
((ConversationAdapter) list.getAdapter()).getSelectedItems().isEmpty())
|
((ConversationAdapter) list.getAdapter()).getSelectedItems().isEmpty())
|
||||||
{
|
{
|
||||||
isReacting = true;
|
isReacting = true;
|
||||||
|
@ -2,8 +2,10 @@ package org.thoughtcrime.securesms.lock.v2;
|
|||||||
|
|
||||||
import android.animation.Animator;
|
import android.animation.Animator;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
import android.view.inputmethod.InputMethodManager;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.RawRes;
|
import androidx.annotation.RawRes;
|
||||||
@ -75,6 +77,7 @@ public class ConfirmKbsPinFragment extends BaseKbsPinFragment<ConfirmKbsPinViewM
|
|||||||
break;
|
break;
|
||||||
case CREATING_PIN:
|
case CREATING_PIN:
|
||||||
getLabel().setText(R.string.ConfirmKbsPinFragment__creating_pin);
|
getLabel().setText(R.string.ConfirmKbsPinFragment__creating_pin);
|
||||||
|
getInput().setEnabled(false);
|
||||||
break;
|
break;
|
||||||
case RE_ENTER_PIN:
|
case RE_ENTER_PIN:
|
||||||
getLabel().setText(R.string.ConfirmKbsPinFragment__re_enter_pin);
|
getLabel().setText(R.string.ConfirmKbsPinFragment__re_enter_pin);
|
||||||
|
@ -127,7 +127,7 @@ public final class EnterCodeFragment extends BaseRegistrationFragment {
|
|||||||
@Override
|
@Override
|
||||||
public void onSuccess(Boolean r) {
|
public void onSuccess(Boolean r) {
|
||||||
Navigation.findNavController(requireView())
|
Navigation.findNavController(requireView())
|
||||||
.navigate(EnterCodeFragmentDirections.actionRequireKbsLockPin(timeRemaining));
|
.navigate(EnterCodeFragmentDirections.actionRequireKbsLockPin(timeRemaining, true));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -141,7 +141,7 @@ public final class EnterCodeFragment extends BaseRegistrationFragment {
|
|||||||
@Override
|
@Override
|
||||||
public void onSuccess(Boolean r) {
|
public void onSuccess(Boolean r) {
|
||||||
Navigation.findNavController(requireView())
|
Navigation.findNavController(requireView())
|
||||||
.navigate(EnterCodeFragmentDirections.actionRequireKbsLockPin(timeRemaining));
|
.navigate(EnterCodeFragmentDirections.actionRequireKbsLockPin(timeRemaining, false));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -63,7 +63,13 @@ public final class RegistrationLockFragment extends BaseRegistrationFragment {
|
|||||||
keyboardToggle = view.findViewById(R.id.kbs_lock_keyboard_toggle);
|
keyboardToggle = view.findViewById(R.id.kbs_lock_keyboard_toggle);
|
||||||
forgotPin = view.findViewById(R.id.kbs_lock_forgot_pin);
|
forgotPin = view.findViewById(R.id.kbs_lock_forgot_pin);
|
||||||
|
|
||||||
timeRemaining = RegistrationLockFragmentArgs.fromBundle(requireArguments()).getTimeRemaining();
|
RegistrationLockFragmentArgs args = RegistrationLockFragmentArgs.fromBundle(requireArguments());
|
||||||
|
|
||||||
|
timeRemaining = args.getTimeRemaining();
|
||||||
|
|
||||||
|
if (args.getIsV1RegistrationLock()) {
|
||||||
|
keyboardToggle.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
|
||||||
forgotPin.setVisibility(View.GONE);
|
forgotPin.setVisibility(View.GONE);
|
||||||
forgotPin.setOnClickListener(v -> handleForgottenPin(timeRemaining));
|
forgotPin.setOnClickListener(v -> handleForgottenPin(timeRemaining));
|
||||||
@ -78,10 +84,7 @@ public final class RegistrationLockFragment extends BaseRegistrationFragment {
|
|||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
pinEntry.setFocusable(true);
|
enableAndFocusPinEntry();
|
||||||
if (pinEntry.requestFocus()) {
|
|
||||||
ServiceUtil.getInputMethodManager(pinEntry.getContext()).showSoftInput(pinEntry, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
pinButton.setOnClickListener((v) -> {
|
pinButton.setOnClickListener((v) -> {
|
||||||
hideKeyboard(requireContext(), pinEntry);
|
hideKeyboard(requireContext(), pinEntry);
|
||||||
@ -136,6 +139,8 @@ public final class RegistrationLockFragment extends BaseRegistrationFragment {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void handlePinEntry() {
|
private void handlePinEntry() {
|
||||||
|
pinEntry.setEnabled(false);
|
||||||
|
|
||||||
final String pin = pinEntry.getText().toString();
|
final String pin = pinEntry.getText().toString();
|
||||||
|
|
||||||
int trimmedLength = pin.replace(" ", "").length();
|
int trimmedLength = pin.replace(" ", "").length();
|
||||||
@ -179,6 +184,7 @@ public final class RegistrationLockFragment extends BaseRegistrationFragment {
|
|||||||
|
|
||||||
cancelSpinning(pinButton);
|
cancelSpinning(pinButton);
|
||||||
pinEntry.getText().clear();
|
pinEntry.getText().clear();
|
||||||
|
enableAndFocusPinEntry();
|
||||||
|
|
||||||
errorLabel.setText(R.string.RegistrationLockFragment__incorrect_pin);
|
errorLabel.setText(R.string.RegistrationLockFragment__incorrect_pin);
|
||||||
}
|
}
|
||||||
@ -192,6 +198,7 @@ public final class RegistrationLockFragment extends BaseRegistrationFragment {
|
|||||||
public void onIncorrectKbsRegistrationLockPin(@NonNull TokenResponse tokenResponse) {
|
public void onIncorrectKbsRegistrationLockPin(@NonNull TokenResponse tokenResponse) {
|
||||||
cancelSpinning(pinButton);
|
cancelSpinning(pinButton);
|
||||||
pinEntry.getText().clear();
|
pinEntry.getText().clear();
|
||||||
|
enableAndFocusPinEntry();
|
||||||
|
|
||||||
model.setKeyBackupCurrentToken(tokenResponse);
|
model.setKeyBackupCurrentToken(tokenResponse);
|
||||||
|
|
||||||
@ -224,6 +231,7 @@ public final class RegistrationLockFragment extends BaseRegistrationFragment {
|
|||||||
@Override
|
@Override
|
||||||
public void onRateLimited() {
|
public void onRateLimited() {
|
||||||
cancelSpinning(pinButton);
|
cancelSpinning(pinButton);
|
||||||
|
enableAndFocusPinEntry();
|
||||||
|
|
||||||
new AlertDialog.Builder(requireContext())
|
new AlertDialog.Builder(requireContext())
|
||||||
.setTitle(R.string.RegistrationActivity_too_many_attempts)
|
.setTitle(R.string.RegistrationActivity_too_many_attempts)
|
||||||
@ -244,6 +252,7 @@ public final class RegistrationLockFragment extends BaseRegistrationFragment {
|
|||||||
@Override
|
@Override
|
||||||
public void onError() {
|
public void onError() {
|
||||||
cancelSpinning(pinButton);
|
cancelSpinning(pinButton);
|
||||||
|
enableAndFocusPinEntry();
|
||||||
|
|
||||||
Toast.makeText(requireContext(), R.string.RegistrationActivity_error_connecting_to_service, Toast.LENGTH_LONG).show();
|
Toast.makeText(requireContext(), R.string.RegistrationActivity_error_connecting_to_service, Toast.LENGTH_LONG).show();
|
||||||
}
|
}
|
||||||
@ -283,4 +292,13 @@ public final class RegistrationLockFragment extends BaseRegistrationFragment {
|
|||||||
return R.string.RegistrationLockFragment__enter_numeric_pin;
|
return R.string.RegistrationLockFragment__enter_numeric_pin;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void enableAndFocusPinEntry() {
|
||||||
|
pinEntry.setEnabled(true);
|
||||||
|
pinEntry.setFocusable(true);
|
||||||
|
|
||||||
|
if (pinEntry.requestFocus()) {
|
||||||
|
ServiceUtil.getInputMethodManager(pinEntry.getContext()).showSoftInput(pinEntry, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -151,6 +151,10 @@
|
|||||||
android:name="timeRemaining"
|
android:name="timeRemaining"
|
||||||
app:argType="long" />
|
app:argType="long" />
|
||||||
|
|
||||||
|
<argument
|
||||||
|
android:name="isV1RegistrationLock"
|
||||||
|
app:argType="boolean" />
|
||||||
|
|
||||||
</fragment>
|
</fragment>
|
||||||
|
|
||||||
<fragment
|
<fragment
|
||||||
|
Loading…
x
Reference in New Issue
Block a user