From 93287e24ebdfbd371cb5265e0e190caaffb55fad Mon Sep 17 00:00:00 2001 From: Dmitro Boiko Date: Thu, 20 Jul 2017 22:46:17 +0300 Subject: [PATCH] add validation for sim card for telesign --- .../ui/fragments/signin/LoginFragment.java | 33 +++++++++++++++---- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/ninja/mobile/communicator/ui/fragments/signin/LoginFragment.java b/app/src/main/java/com/ninja/mobile/communicator/ui/fragments/signin/LoginFragment.java index a42c2ed151..dd247f16ec 100644 --- a/app/src/main/java/com/ninja/mobile/communicator/ui/fragments/signin/LoginFragment.java +++ b/app/src/main/java/com/ninja/mobile/communicator/ui/fragments/signin/LoginFragment.java @@ -1,11 +1,15 @@ package com.ninja.mobile.communicator.ui.fragments.signin; import android.Manifest; +import android.content.Context; import android.content.pm.PackageManager; import android.os.Bundle; import android.os.Handler; import android.support.annotation.Nullable; import android.support.v4.content.ContextCompat; +import android.telephony.SubscriptionInfo; +import android.telephony.SubscriptionManager; +import android.telephony.TelephonyManager; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; @@ -40,6 +44,7 @@ import butterknife.BindView; import butterknife.OnClick; import butterknife.OnTouch; import io.reactivex.android.schedulers.AndroidSchedulers; +import timber.log.Timber; /** * Date: 23.06.17 @@ -84,7 +89,6 @@ public class LoginFragment extends BaseFragment implements LoginView { mWheelView.setOnWheelItemSelectedListener((parent, itemDrawable, position) -> mAlphabetView.setSelectedChar(mWheelView.getAdapter().getText(position).toUpperCase().charAt(0))); - mAlphabetView.setOnLetterChangeListener(new AlphabetView.OnAlphabetCharChangeListener() { @Override public void onAlphabetCharChanged(char currentLetter, char previousLetter) { mPresenter.onAlphabetCharSelected(currentLetter); @@ -232,14 +236,29 @@ public class LoginFragment extends BaseFragment implements LoginView { } public LoginPresenter.LoginType getAuthType() { - if (ContextCompat.checkSelfPermission(getContext(), Manifest.permission.CALL_PHONE) - == PackageManager.PERMISSION_GRANTED) { - return LoginPresenter.LoginType.TeleSignVoice; - } else if (ContextCompat.checkSelfPermission(getContext(), Manifest.permission.RECEIVE_SMS) - == PackageManager.PERMISSION_GRANTED) { - return LoginPresenter.LoginType.TeleSignSMS; + if (isSimCardEnable()) { + if (ContextCompat.checkSelfPermission(getContext(), Manifest.permission.CALL_PHONE) + == PackageManager.PERMISSION_GRANTED) { + return LoginPresenter.LoginType.TeleSignVoice; + } else if (ContextCompat.checkSelfPermission(getContext(), Manifest.permission.RECEIVE_SMS) + == PackageManager.PERMISSION_GRANTED) { + return LoginPresenter.LoginType.TeleSignSMS; + } else { + return LoginPresenter.LoginType.Sms; + } } else { return LoginPresenter.LoginType.Sms; } } + + private boolean isSimCardEnable() { + boolean isSimCardEnable = false; + try { + TelephonyManager tm = (TelephonyManager) getContext().getSystemService(Context.TELEPHONY_SERVICE); + isSimCardEnable = !(tm.getSimState() == TelephonyManager.SIM_STATE_ABSENT); + } catch (Exception e) { + Timber.e(e); + } + return isSimCardEnable; + } } -- GitLab