|
@ -4,11 +4,13 @@ import android.annotation.SuppressLint; |
|
|
import android.content.Context; |
|
|
import android.content.Context; |
|
|
import android.content.Intent; |
|
|
import android.content.Intent; |
|
|
import android.os.Bundle; |
|
|
import android.os.Bundle; |
|
|
|
|
|
import android.widget.ArrayAdapter; |
|
|
import android.widget.Button; |
|
|
import android.widget.Button; |
|
|
import android.widget.ScrollView; |
|
|
import android.widget.ScrollView; |
|
|
import android.widget.TextView; |
|
|
import android.widget.TextView; |
|
|
|
|
|
|
|
|
import androidx.annotation.Nullable; |
|
|
import androidx.annotation.Nullable; |
|
|
|
|
|
import androidx.appcompat.widget.AppCompatAutoCompleteTextView; |
|
|
import androidx.lifecycle.ViewModelProvider; |
|
|
import androidx.lifecycle.ViewModelProvider; |
|
|
|
|
|
|
|
|
import com.gmeremit.online.gmeremittance_native.R; |
|
|
import com.gmeremit.online.gmeremittance_native.R; |
|
@ -29,6 +31,8 @@ import com.google.android.material.textfield.TextInputEditText; |
|
|
import com.google.android.material.textfield.TextInputLayout; |
|
|
import com.google.android.material.textfield.TextInputLayout; |
|
|
import com.jakewharton.rxbinding3.widget.RxTextView; |
|
|
import com.jakewharton.rxbinding3.widget.RxTextView; |
|
|
|
|
|
|
|
|
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
import butterknife.BindView; |
|
|
import butterknife.BindView; |
|
|
import butterknife.ButterKnife; |
|
|
import butterknife.ButterKnife; |
|
|
import butterknife.OnClick; |
|
|
import butterknife.OnClick; |
|
@ -40,9 +44,6 @@ import static com.gmeremit.online.gmeremittance_native.kycV3.view.KYCV3Activity. |
|
|
public class RegisterV2Activity extends BaseActivity implements RegisterV2PresenterInterface.RegisterV2ContractInterface { |
|
|
public class RegisterV2Activity extends BaseActivity implements RegisterV2PresenterInterface.RegisterV2ContractInterface { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@BindView(R.id.usernameId_edTxt) |
|
|
@BindView(R.id.usernameId_edTxt) |
|
|
TextInputEditText usernameId; |
|
|
TextInputEditText usernameId; |
|
|
|
|
|
|
|
@ -56,7 +57,7 @@ public class RegisterV2Activity extends BaseActivity implements RegisterV2Presen |
|
|
TextInputLayout passwordTxtInputLayout; |
|
|
TextInputLayout passwordTxtInputLayout; |
|
|
|
|
|
|
|
|
@BindView(R.id.nativeCountry_edTxt) |
|
|
@BindView(R.id.nativeCountry_edTxt) |
|
|
TextInputEditText nativeCountryEdTxt; |
|
|
|
|
|
|
|
|
AppCompatAutoCompleteTextView nativeCountryEdTxt; |
|
|
|
|
|
|
|
|
@BindView(R.id.nativeCountry_TxtInputLayout) |
|
|
@BindView(R.id.nativeCountry_TxtInputLayout) |
|
|
TextInputLayout nativeCountryTxtInputLayout; |
|
|
TextInputLayout nativeCountryTxtInputLayout; |
|
@ -68,17 +69,14 @@ public class RegisterV2Activity extends BaseActivity implements RegisterV2Presen |
|
|
TextInputLayout mobileTxtInputLayout; |
|
|
TextInputLayout mobileTxtInputLayout; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@BindView(R.id.btn_submit) |
|
|
@BindView(R.id.btn_submit) |
|
|
Button btn_submit; |
|
|
Button btn_submit; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@BindView(R.id.tv_login) |
|
|
@BindView(R.id.tv_login) |
|
|
TextView tv_login; |
|
|
TextView tv_login; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@BindView(R.id.scrollView) |
|
|
@BindView(R.id.scrollView) |
|
|
ScrollView scrollView; |
|
|
ScrollView scrollView; |
|
|
|
|
|
|
|
@ -90,6 +88,7 @@ public class RegisterV2Activity extends BaseActivity implements RegisterV2Presen |
|
|
|
|
|
|
|
|
private Subject<NativeCountry> selectedNativeCountrySubject; |
|
|
private Subject<NativeCountry> selectedNativeCountrySubject; |
|
|
private RegisterViewLiveData registerRelatedViewEvents; |
|
|
private RegisterViewLiveData registerRelatedViewEvents; |
|
|
|
|
|
private List<NativeCountry> nativeCountryList; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
@ -105,75 +104,70 @@ public class RegisterV2Activity extends BaseActivity implements RegisterV2Presen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void initialize() { |
|
|
private void initialize() { |
|
|
selectedNativeCountrySubject= PublishSubject.create(); |
|
|
|
|
|
this.presenter = new ViewModelProvider(this,new RegisterViewModelFactory(this)).get(RegisterV2Presenter.class); |
|
|
|
|
|
|
|
|
selectedNativeCountrySubject = PublishSubject.create(); |
|
|
|
|
|
this.presenter = new ViewModelProvider(this, new RegisterViewModelFactory(this)).get(RegisterV2Presenter.class); |
|
|
|
|
|
|
|
|
registerRelatedViewEvents= this.presenter.getRegisterRelatedViewEvents(new RegisterViewLiveData.RegisterViewBinding( |
|
|
|
|
|
|
|
|
registerRelatedViewEvents = this.presenter.getRegisterRelatedViewEvents(new RegisterViewLiveData.RegisterViewBinding( |
|
|
RxTextView.textChanges(usernameId).skipInitialValue(), |
|
|
RxTextView.textChanges(usernameId).skipInitialValue(), |
|
|
selectedNativeCountrySubject, |
|
|
selectedNativeCountrySubject, |
|
|
RxTextView.textChanges(mobileEdTxt).skipInitialValue(), |
|
|
RxTextView.textChanges(mobileEdTxt).skipInitialValue(), |
|
|
RxTextView.textChanges(passwordEdTxt).skipInitialValue() |
|
|
RxTextView.textChanges(passwordEdTxt).skipInitialValue() |
|
|
)); |
|
|
)); |
|
|
|
|
|
|
|
|
registerRelatedViewEvents.getUserIdInputLiveData().observe(this,this::updateUserId); |
|
|
|
|
|
registerRelatedViewEvents.getPasswordInputLiveData().observe(this,this::updatePassword); |
|
|
|
|
|
registerRelatedViewEvents.getNativeCountryInputLiveData().observe(this,this::updateNativeCountry); |
|
|
|
|
|
registerRelatedViewEvents.getPhoneNumberInputLiveData().observe(this,this::updatePhoneNumber); |
|
|
|
|
|
|
|
|
registerRelatedViewEvents.getUserIdInputLiveData().observe(this, this::updateUserId); |
|
|
|
|
|
registerRelatedViewEvents.getPasswordInputLiveData().observe(this, this::updatePassword); |
|
|
|
|
|
registerRelatedViewEvents.getNativeCountryInputLiveData().observe(this, this::updateNativeCountry); |
|
|
|
|
|
registerRelatedViewEvents.getPhoneNumberInputLiveData().observe(this, this::updatePhoneNumber); |
|
|
|
|
|
|
|
|
|
|
|
presenter.getNativeCountryListLiveData().observe(this, this::updateNativeCountryList); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void updateNativeCountryList(List<NativeCountry> nativeCountries) { |
|
|
|
|
|
// nativeCountryEdTxt.setAdapter(new ArrayAdapter<>(nativeCountryEdTxt.getContext(),R.layout.item_list,nativeCountries)); |
|
|
|
|
|
this.nativeCountryList = nativeCountries; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private void updatePhoneNumber(FormInputStateDTO<String> data) { |
|
|
private void updatePhoneNumber(FormInputStateDTO<String> data) { |
|
|
if(data.isValid()) |
|
|
|
|
|
{ |
|
|
|
|
|
|
|
|
if (data.isValid()) { |
|
|
mobileTxtInputLayout.setError(null); |
|
|
mobileTxtInputLayout.setError(null); |
|
|
if(data.hasData()) |
|
|
|
|
|
{ |
|
|
|
|
|
|
|
|
if (data.hasData()) { |
|
|
mobileEdTxt.setText(data.getData()); |
|
|
mobileEdTxt.setText(data.getData()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
else |
|
|
|
|
|
|
|
|
} else |
|
|
mobileTxtInputLayout.setError(data.getErrorMessage()); |
|
|
mobileTxtInputLayout.setError(data.getErrorMessage()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private void updateNativeCountry(FormInputStateDTO<NativeCountry> data) { |
|
|
private void updateNativeCountry(FormInputStateDTO<NativeCountry> data) { |
|
|
if(data.isValid()) |
|
|
|
|
|
{ |
|
|
|
|
|
|
|
|
if (data.isValid()) { |
|
|
nativeCountryTxtInputLayout.setError(null); |
|
|
nativeCountryTxtInputLayout.setError(null); |
|
|
if(data.hasData()) |
|
|
|
|
|
{ |
|
|
|
|
|
|
|
|
if (data.hasData()) { |
|
|
nativeCountryEdTxt.setText(data.getData().getText()); |
|
|
nativeCountryEdTxt.setText(data.getData().getText()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
else |
|
|
|
|
|
|
|
|
} else |
|
|
nativeCountryTxtInputLayout.setError(data.getErrorMessage()); |
|
|
nativeCountryTxtInputLayout.setError(data.getErrorMessage()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private void updatePassword(FormInputStateDTO<String> data) { |
|
|
private void updatePassword(FormInputStateDTO<String> data) { |
|
|
if(data.isValid()) |
|
|
|
|
|
{ |
|
|
|
|
|
|
|
|
if (data.isValid()) { |
|
|
passwordTxtInputLayout.setError(null); |
|
|
passwordTxtInputLayout.setError(null); |
|
|
if(data.hasData()) |
|
|
|
|
|
{ |
|
|
|
|
|
|
|
|
if (data.hasData()) { |
|
|
passwordEdTxt.setText(data.getData()); |
|
|
passwordEdTxt.setText(data.getData()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
else |
|
|
|
|
|
|
|
|
} else |
|
|
passwordTxtInputLayout.setError(data.getErrorMessage()); |
|
|
passwordTxtInputLayout.setError(data.getErrorMessage()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private void updateUserId(FormInputStateDTO<String> data) { |
|
|
private void updateUserId(FormInputStateDTO<String> data) { |
|
|
if(data.isValid()) |
|
|
|
|
|
{ |
|
|
|
|
|
|
|
|
if (data.isValid()) { |
|
|
usernameIdTxtInputLayout.setError(null); |
|
|
usernameIdTxtInputLayout.setError(null); |
|
|
if(data.hasData()) |
|
|
|
|
|
{ |
|
|
|
|
|
|
|
|
if (data.hasData()) { |
|
|
usernameId.setText(data.getData()); |
|
|
usernameId.setText(data.getData()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
else |
|
|
|
|
|
|
|
|
} else |
|
|
usernameIdTxtInputLayout.setError(data.getErrorMessage()); |
|
|
usernameIdTxtInputLayout.setError(data.getErrorMessage()); |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
@ -197,35 +191,30 @@ public class RegisterV2Activity extends BaseActivity implements RegisterV2Presen |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@OnClick(R.id.nativeCountry_edTxt) |
|
|
|
|
|
public void promptNativeCountrySelection() { |
|
|
|
|
|
hideKeyBoard(); |
|
|
|
|
|
if (nativeCountrylListDialog == null) |
|
|
|
|
|
nativeCountrylListDialog = new GenericTextListingDialog<>(); |
|
|
|
|
|
|
|
|
|
|
|
nativeCountrylListDialog.setData(nativeCountryList); |
|
|
|
|
|
nativeCountrylListDialog.setListener(selectedNativeCountry -> |
|
|
|
|
|
{ |
|
|
|
|
|
selectedNativeCountrySubject.onNext(selectedNativeCountry); |
|
|
|
|
|
nativeCountryEdTxt.setText(selectedNativeCountry.getText()); |
|
|
|
|
|
nativeCountrylListDialog.dismiss(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void promptNativeCountrySelection() { |
|
|
|
|
|
// hideKeyBoard(); |
|
|
|
|
|
// if (nativeCountrylListDialog == null) |
|
|
|
|
|
// nativeCountrylListDialog = new GenericTextListingDialog<>(); |
|
|
|
|
|
// |
|
|
|
|
|
// nativeCountrylListDialog.setData(this.presenter.getNativeCountryList()); |
|
|
|
|
|
// nativeCountrylListDialog.setListener(selectedNativeCountry -> |
|
|
|
|
|
// { |
|
|
|
|
|
// presenter.updateSelectedNativeCountry(selectedNativeCountry); |
|
|
|
|
|
// nativeCountrylListDialog.dismiss(); |
|
|
|
|
|
// |
|
|
|
|
|
// }); |
|
|
|
|
|
// nativeCountrylListDialog.setHintAndTitle(getString(R.string.search_country_text), getString(R.string.select_country_text), getString(R.string.no_country_found_text)); |
|
|
|
|
|
// nativeCountrylListDialog.disableSearch(false); |
|
|
|
|
|
// if (!nativeCountrylListDialog.isAdded()) |
|
|
|
|
|
// nativeCountrylListDialog.show(getSupportFragmentManager(), "NATIVECOUNTRYDIALOG"); |
|
|
|
|
|
|
|
|
}); |
|
|
|
|
|
nativeCountrylListDialog.setHintAndTitle(getString(R.string.search_country_text), getString(R.string.select_country_text), getString(R.string.no_country_found_text)); |
|
|
|
|
|
nativeCountrylListDialog.disableSearch(false); |
|
|
|
|
|
if (!nativeCountrylListDialog.isAdded()) |
|
|
|
|
|
nativeCountrylListDialog.show(getSupportFragmentManager(), "NATIVECOUNTRYDIALOG"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@OnClick(R.id.btn_submit) |
|
|
@OnClick(R.id.btn_submit) |
|
|
public void onRegisterBtnClicked() |
|
|
|
|
|
{ |
|
|
|
|
|
|
|
|
public void onRegisterBtnClicked() { |
|
|
presenter.registerUser(); |
|
|
presenter.registerUser(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -284,7 +273,6 @@ public class RegisterV2Activity extends BaseActivity implements RegisterV2Presen |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public void setUserIdFocus(boolean action) { |
|
|
public void setUserIdFocus(boolean action) { |
|
|
if (action) |
|
|
if (action) |
|
@ -301,17 +289,10 @@ public class RegisterV2Activity extends BaseActivity implements RegisterV2Presen |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public void onBackPressed() { |
|
|
public void onBackPressed() { |
|
|
super.onBackPressed(); |
|
|
super.onBackPressed(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
} |