From 312e483949056e65cae7b49015aa7b3ba5575105 Mon Sep 17 00:00:00 2001 From: Krocks Date: Thu, 20 Jul 2017 17:03:00 +0300 Subject: [PATCH 1/2] fixed issues #85 and #79 --- .../ui/fragments/signin/CodeInputFragment.java | 15 ++++++++++++++- .../mobile/communicator/utils/KeyBoardUtils.java | 12 ++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 app/src/main/java/com/ninja/mobile/communicator/utils/KeyBoardUtils.java diff --git a/app/src/main/java/com/ninja/mobile/communicator/ui/fragments/signin/CodeInputFragment.java b/app/src/main/java/com/ninja/mobile/communicator/ui/fragments/signin/CodeInputFragment.java index 642e6d752c..168092720b 100644 --- a/app/src/main/java/com/ninja/mobile/communicator/ui/fragments/signin/CodeInputFragment.java +++ b/app/src/main/java/com/ninja/mobile/communicator/ui/fragments/signin/CodeInputFragment.java @@ -10,17 +10,24 @@ import android.widget.TextView; import android.widget.Toast; import com.arellomobile.mvp.presenter.InjectPresenter; +import com.jakewharton.rxbinding2.widget.RxTextView; import com.ninja.mobile.communicator.R; import com.ninja.mobile.communicator.mvp.presenters.CodeInputPresenter; import com.ninja.mobile.communicator.mvp.view.CodeInputView; import com.ninja.mobile.communicator.ui.base.BaseFragment; import com.ninja.mobile.communicator.ui.views.HintEditText; +import com.ninja.mobile.communicator.utils.KeyBoardUtils; import com.ninja.mobile.communicator.utils.PhoneWatcher; import com.ninja.mobile.communicator.utils.SpannableUtils; import com.ninja.mobile.communicator.utils.StringUtils; +import com.ninja.mobile.communicator.utils.ValidationUtils; import butterknife.BindView; import butterknife.OnClick; +import io.reactivex.annotations.NonNull; +import io.reactivex.functions.Consumer; +import io.reactivex.functions.Function; +import io.reactivex.functions.Predicate; /** * Created by Max Chervatiuk on 23.06.17. @@ -56,7 +63,8 @@ public class CodeInputFragment extends BaseFragment implements CodeInputView { super.onViewCreated(view, savedInstanceState); setupUI(); initSpannableResend(); -// startTimer(); + mCodeText.requestFocus(); + KeyBoardUtils.show(getActivity()); } private void setupUI() { @@ -66,6 +74,11 @@ public class CodeInputFragment extends BaseFragment implements CodeInputView { } mCodeText.addTextChangedListener(new PhoneWatcher(mCodeText)); mCodeText.setHintText(HINT_TEXT); + + RxTextView.textChanges(mCodeText) + .map(CharSequence::toString) + .filter(ValidationUtils::isCodeValid) + .subscribe(s -> mPresenter.onConfirmClick(StringUtils.getText(mPhoneNumber), StringUtils.getText(mCodeText))); } private void initSpannableResend() { diff --git a/app/src/main/java/com/ninja/mobile/communicator/utils/KeyBoardUtils.java b/app/src/main/java/com/ninja/mobile/communicator/utils/KeyBoardUtils.java new file mode 100644 index 0000000000..d7b612ce80 --- /dev/null +++ b/app/src/main/java/com/ninja/mobile/communicator/utils/KeyBoardUtils.java @@ -0,0 +1,12 @@ +package com.ninja.mobile.communicator.utils; + +import android.content.Context; +import android.view.inputmethod.InputMethodManager; + +public class KeyBoardUtils { + + public static void show(Context context){ + InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); + imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0); + } +} -- GitLab From c9a8f99ea71047d24890cbe7f42053cf69fa079b Mon Sep 17 00:00:00 2001 From: Krocks Date: Thu, 20 Jul 2017 18:11:00 +0300 Subject: [PATCH 2/2] fixed disapearing keyboard on login --- .../ui/views/EdittextAlwaysKeyboard.java | 25 +++++++++++++++++++ .../ui/views/HintEditTextAlwaysKeyboard.java | 2 +- .../main/res/layout/fragment_input_phone.xml | 2 +- 3 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 app/src/main/java/com/ninja/mobile/communicator/ui/views/EdittextAlwaysKeyboard.java diff --git a/app/src/main/java/com/ninja/mobile/communicator/ui/views/EdittextAlwaysKeyboard.java b/app/src/main/java/com/ninja/mobile/communicator/ui/views/EdittextAlwaysKeyboard.java new file mode 100644 index 0000000000..f514e1be91 --- /dev/null +++ b/app/src/main/java/com/ninja/mobile/communicator/ui/views/EdittextAlwaysKeyboard.java @@ -0,0 +1,25 @@ +package com.ninja.mobile.communicator.ui.views; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.KeyEvent; +import android.widget.EditText; + +public class EdittextAlwaysKeyboard extends EditText { + + public EdittextAlwaysKeyboard(Context context) { + super(context); + } + + public EdittextAlwaysKeyboard(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public EdittextAlwaysKeyboard(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } + + @Override public boolean onKeyPreIme(int keyCode, KeyEvent event) { + return true; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/ninja/mobile/communicator/ui/views/HintEditTextAlwaysKeyboard.java b/app/src/main/java/com/ninja/mobile/communicator/ui/views/HintEditTextAlwaysKeyboard.java index 50db6e3738..7ca4cd9ac0 100644 --- a/app/src/main/java/com/ninja/mobile/communicator/ui/views/HintEditTextAlwaysKeyboard.java +++ b/app/src/main/java/com/ninja/mobile/communicator/ui/views/HintEditTextAlwaysKeyboard.java @@ -3,6 +3,7 @@ package com.ninja.mobile.communicator.ui.views; import android.content.Context; import android.util.AttributeSet; import android.view.KeyEvent; +import android.widget.EditText; public class HintEditTextAlwaysKeyboard extends HintEditText { public HintEditTextAlwaysKeyboard(Context context) { @@ -19,7 +20,6 @@ public class HintEditTextAlwaysKeyboard extends HintEditText { @Override public boolean onKeyPreIme(int keyCode, KeyEvent event) { -// if (keyCode == KeyEvent.KEYCODE_BACK) return true; } } diff --git a/app/src/main/res/layout/fragment_input_phone.xml b/app/src/main/res/layout/fragment_input_phone.xml index 6cc052d542..f40670ee69 100644 --- a/app/src/main/res/layout/fragment_input_phone.xml +++ b/app/src/main/res/layout/fragment_input_phone.xml @@ -101,7 +101,7 @@ app:layout_constraintVertical_bias="0.51" tools:ignore="HardcodedText"/> -