Browse Source
if OTP not verified beneficiary selected proceed to terms and conditions before OTP
new_design
if OTP not verified beneficiary selected proceed to terms and conditions before OTP
new_design
Santosh Bhandary
3 years ago
18 changed files with 612 additions and 78 deletions
-
18app/src/main/AndroidManifest.xml
-
40app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/gateway/recepientTermsConditions/RecipientTermsGateway.java
-
17app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/gateway/recepientTermsConditions/RecipientTermsGatewayInterface.java
-
13app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/presenter/recepientTermsConditions/RecipientPresenterTermsInterface.java
-
162app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/presenter/recepientTermsConditions/RecipientTermsViewModel.java
-
1app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/presenter/recipientlistingV3/RecipientListingV3PresenterInterface.java
-
32app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/view/RecipientTermsViewModelFactory.java
-
107app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/view/recepientTermsConditions/BeneficiaryAddEditV3TermsActivity.java
-
9app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/view/recepientTermsConditions/RecipientTermsContractInterface.java
-
1app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/view/recipientaddeditV3/BeneficiaryAddEditV3Fragment.java
-
9app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/view/recipientaddeditV3/BeneficiaryAddEditV3TermsFragment.java
-
17app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/view/recipientlistingV3/RecipientListingV3Activity.java
-
41app/src/main/java/com/swifttech/remit/jmecustomer/features/sendmoney/view/SendMoneyV2Activity.java
-
5app/src/main/java/com/swifttech/remit/jmecustomer/features/sendmoney/view/verification/TermsAndConditionV2BrowserActivity.java
-
100app/src/main/java/com/swifttech/remit/jmecustomer/features/webbrowser/WebBrowserV2Activity.java
-
107app/src/main/res/layout/activity_web_browser_v2.xml
-
9app/src/main/res/layout/beneficiary_add_edit_v3_terms_activity.xml
-
2app/src/main/res/values/strings.xml
@ -0,0 +1,40 @@ |
|||||
|
package com.swifttech.remit.jmecustomer.features.recipientmanagement.gateway.recepientTermsConditions; |
||||
|
|
||||
|
import com.google.gson.JsonObject; |
||||
|
import com.swifttech.remit.jmecustomer.base.PrivilegedGateway; |
||||
|
import com.swifttech.remit.jmecustomer.utils.Constants; |
||||
|
import com.swifttech.remit.jmecustomer.utils.https.HttpClientV2; |
||||
|
|
||||
|
import io.reactivex.Observable; |
||||
|
import okhttp3.ResponseBody; |
||||
|
|
||||
|
public class RecipientTermsGateway extends PrivilegedGateway implements RecipientTermsGatewayInterface { |
||||
|
@Override |
||||
|
public Observable<ResponseBody> verifyEmailCode(String auth, |
||||
|
String userId, |
||||
|
String OTP, |
||||
|
String requestFor, |
||||
|
String receiverId) { |
||||
|
JsonObject jsonObject = new JsonObject(); |
||||
|
jsonObject.addProperty(Constants.USER_ID_KEY, userId); |
||||
|
jsonObject.addProperty(Constants.OTP_KEY, OTP); |
||||
|
jsonObject.addProperty(Constants.REQUEST_FOR_KEY, requestFor); |
||||
|
jsonObject.addProperty(Constants.RECEIVER_ID_KEY, receiverId); |
||||
|
return HttpClientV2.getInstance().verifyEmailCode(auth,jsonObject); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Observable<ResponseBody> requestForOtp(String auth, |
||||
|
String userId, |
||||
|
String OTP, |
||||
|
String requestFor, |
||||
|
String receiverId |
||||
|
) { |
||||
|
JsonObject jsonObject = new JsonObject(); |
||||
|
jsonObject.addProperty(Constants.USER_ID_KEY, userId); |
||||
|
jsonObject.addProperty(Constants.OTP_KEY, OTP); |
||||
|
jsonObject.addProperty(Constants.REQUEST_FOR_KEY, requestFor); |
||||
|
jsonObject.addProperty(Constants.RECEIVER_ID_KEY, receiverId); |
||||
|
return HttpClientV2.getInstance().requestForOtp(auth, jsonObject); |
||||
|
} |
||||
|
} |
@ -0,0 +1,17 @@ |
|||||
|
package com.swifttech.remit.jmecustomer.features.recipientmanagement.gateway.recepientTermsConditions; |
||||
|
|
||||
|
import com.swifttech.remit.jmecustomer.base.PrivilegedGatewayInterface; |
||||
|
|
||||
|
import io.reactivex.Observable; |
||||
|
import okhttp3.ResponseBody; |
||||
|
|
||||
|
public interface RecipientTermsGatewayInterface extends PrivilegedGatewayInterface { |
||||
|
Observable<ResponseBody> verifyEmailCode(String auth, |
||||
|
String userId, |
||||
|
String OTP, |
||||
|
String requestFor, |
||||
|
String receiverId); |
||||
|
|
||||
|
Observable<ResponseBody> requestForOtp(String auth, String userId, String OTP, String requestFor, String receiverId); |
||||
|
|
||||
|
} |
@ -0,0 +1,13 @@ |
|||||
|
package com.swifttech.remit.jmecustomer.features.recipientmanagement.presenter.recepientTermsConditions; |
||||
|
|
||||
|
import com.swifttech.remit.jmecustomer.base.BasePresenterInterface; |
||||
|
|
||||
|
public interface RecipientPresenterTermsInterface extends BasePresenterInterface { |
||||
|
|
||||
|
void verifyEmailCode(String emailCode); |
||||
|
|
||||
|
void requestForOtp(); |
||||
|
|
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,162 @@ |
|||||
|
package com.swifttech.remit.jmecustomer.features.recipientmanagement.presenter.recepientTermsConditions; |
||||
|
|
||||
|
import com.swifttech.remit.jmecustomer.R; |
||||
|
import com.swifttech.remit.jmecustomer.base.BaseViewModel; |
||||
|
import com.swifttech.remit.jmecustomer.common.customwidgets.CustomAlertDialog; |
||||
|
import com.swifttech.remit.jmecustomer.features.recipientmanagement.gateway.recepientTermsConditions.RecipientTermsGatewayInterface; |
||||
|
import com.swifttech.remit.jmecustomer.features.recipientmanagement.model.recipientlistingV3.ReceiverInfoV3Model; |
||||
|
import com.swifttech.remit.jmecustomer.features.recipientmanagement.view.recepientTermsConditions.RecipientTermsContractInterface; |
||||
|
import com.swifttech.remit.jmecustomer.utils.Constants; |
||||
|
import com.swifttech.remit.jmecustomer.utils.https.GenericApiObserverResponseV2; |
||||
|
import com.swifttech.remit.jmecustomer.utils.https.GenericResponseDataModel; |
||||
|
import com.swifttech.remit.jmecustomer.utils.https.MessageResponseDataModel; |
||||
|
|
||||
|
import io.reactivex.android.schedulers.AndroidSchedulers; |
||||
|
import io.reactivex.disposables.CompositeDisposable; |
||||
|
import io.reactivex.schedulers.Schedulers; |
||||
|
|
||||
|
import static com.swifttech.remit.jmecustomer.utils.Constants.REQUEST_FOR_REC_VALUE; |
||||
|
|
||||
|
public class RecipientTermsViewModel extends BaseViewModel implements RecipientPresenterTermsInterface { |
||||
|
private final CompositeDisposable compositeDisposable; |
||||
|
RecipientTermsGatewayInterface gateway; |
||||
|
ReceiverInfoV3Model receiverInfoV3Model; |
||||
|
RecipientTermsContractInterface view; |
||||
|
|
||||
|
public RecipientTermsViewModel( |
||||
|
RecipientTermsGatewayInterface gateway, |
||||
|
RecipientTermsContractInterface view, |
||||
|
ReceiverInfoV3Model receiverInfoV3Model |
||||
|
) { |
||||
|
this.compositeDisposable = new CompositeDisposable(); |
||||
|
this.gateway = gateway; |
||||
|
this.receiverInfoV3Model = receiverInfoV3Model; |
||||
|
this.view = view; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void verifyEmailCode(String emailCode) { |
||||
|
compositeDisposable.add( |
||||
|
this.gateway.verifyEmailCode( |
||||
|
gateway.getAuth(), |
||||
|
gateway.getUserID(), |
||||
|
emailCode, |
||||
|
Constants.REQUEST_FOR_REC_VALUE, |
||||
|
receiverInfoV3Model.getReceiverId()) |
||||
|
.doOnSubscribe(subs -> view.showProgressBar(true, "")) |
||||
|
.subscribeOn(Schedulers.io()) |
||||
|
.observeOn(AndroidSchedulers.mainThread()) |
||||
|
.doFinally(() -> view.showProgressBar(false, "")) |
||||
|
.subscribeWith(new UploadEmailCodeObserver(view::onEmailVerifySuccess))); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void requestForOtp() { |
||||
|
compositeDisposable.add( |
||||
|
gateway.requestForOtp( |
||||
|
gateway.getAuth(), |
||||
|
gateway.getUserID(), |
||||
|
"", |
||||
|
REQUEST_FOR_REC_VALUE, |
||||
|
receiverInfoV3Model.getReceiverId()) |
||||
|
.subscribeOn(Schedulers.io()) |
||||
|
.observeOn(AndroidSchedulers.mainThread()) |
||||
|
.doOnSubscribe(disposable -> view.showProgressBar(true, getStringfromStringId(R.string.processing_request_for_otp_text))) |
||||
|
.doFinally(() -> view.showProgressBar(false, "")) |
||||
|
.subscribeWith(new RequestEmailCodeObserver(view::showEmailCodePromptDialog)) |
||||
|
); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void onViewReady() { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void onViewNotReady() { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public class UploadEmailCodeObserver extends GenericApiObserverResponseV2<MessageResponseDataModel> { |
||||
|
|
||||
|
Runnable task; |
||||
|
|
||||
|
public UploadEmailCodeObserver(Runnable task) { |
||||
|
this.task = task; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected void onSuccess(GenericResponseDataModel<MessageResponseDataModel> t) { |
||||
|
|
||||
|
if (t.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) { |
||||
|
if (task != null) |
||||
|
task.run(); |
||||
|
|
||||
|
|
||||
|
} else { |
||||
|
if (t.getErrorCode().equalsIgnoreCase(Constants.OPT_EXPIRED_CODE_V2)) { |
||||
|
view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.FAILED, alertType -> requestForOtp()); |
||||
|
} else { |
||||
|
view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.FAILED, null); |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void onFailed(String message) { |
||||
|
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, null); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected void onConnectionNotEstablished(String message) { |
||||
|
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, null); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected void unauthorizedAccess(String message) { |
||||
|
gateway.clearAllUserData(); |
||||
|
view.showPopUpMessage(message, CustomAlertDialog.AlertType.ALERT, alertType -> view.logout()); |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
private class RequestEmailCodeObserver extends GenericApiObserverResponseV2<MessageResponseDataModel> { |
||||
|
|
||||
|
Runnable task; |
||||
|
|
||||
|
public RequestEmailCodeObserver(Runnable task) { |
||||
|
this.task = task; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected void onSuccess(GenericResponseDataModel<MessageResponseDataModel> t) { |
||||
|
|
||||
|
if (t.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) { |
||||
|
if (task != null) |
||||
|
task.run(); |
||||
|
|
||||
|
|
||||
|
} else { |
||||
|
view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.FAILED, null); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void onFailed(String message) { |
||||
|
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, null); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected void onConnectionNotEstablished(String message) { |
||||
|
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, null); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected void unauthorizedAccess(String message) { |
||||
|
gateway.clearAllUserData(); |
||||
|
view.showPopUpMessage(message, CustomAlertDialog.AlertType.ALERT, alertType -> view.logout()); |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,32 @@ |
|||||
|
package com.swifttech.remit.jmecustomer.features.recipientmanagement.view; |
||||
|
|
||||
|
import androidx.annotation.NonNull; |
||||
|
import androidx.lifecycle.ViewModel; |
||||
|
import androidx.lifecycle.ViewModelProvider; |
||||
|
|
||||
|
import com.swifttech.remit.jmecustomer.features.recipientmanagement.gateway.recepientTermsConditions.RecipientTermsGateway; |
||||
|
import com.swifttech.remit.jmecustomer.features.recipientmanagement.model.recipientlistingV3.ReceiverInfoV3Model; |
||||
|
import com.swifttech.remit.jmecustomer.features.recipientmanagement.presenter.recepientTermsConditions.RecipientTermsViewModel; |
||||
|
import com.swifttech.remit.jmecustomer.features.recipientmanagement.view.recepientTermsConditions.RecipientTermsContractInterface; |
||||
|
|
||||
|
public class RecipientTermsViewModelFactory implements ViewModelProvider.Factory { |
||||
|
private RecipientTermsContractInterface view; |
||||
|
private ReceiverInfoV3Model receiverInfoV3Model; |
||||
|
|
||||
|
|
||||
|
public RecipientTermsViewModelFactory( |
||||
|
RecipientTermsContractInterface view, |
||||
|
ReceiverInfoV3Model receiverInfoV3Model |
||||
|
) { |
||||
|
this.view = view; |
||||
|
this.receiverInfoV3Model = receiverInfoV3Model; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
@SuppressWarnings("unchecked") |
||||
|
@NonNull |
||||
|
@Override |
||||
|
public <T extends ViewModel> T create(@NonNull Class<T> modelClass) { |
||||
|
return (T) new RecipientTermsViewModel(new RecipientTermsGateway(), view, receiverInfoV3Model); |
||||
|
} |
||||
|
} |
@ -0,0 +1,107 @@ |
|||||
|
package com.swifttech.remit.jmecustomer.features.recipientmanagement.view.recepientTermsConditions; |
||||
|
|
||||
|
import android.content.Intent; |
||||
|
import android.os.Bundle; |
||||
|
import android.util.Log; |
||||
|
import android.webkit.WebView; |
||||
|
|
||||
|
import androidx.lifecycle.ViewModelProvider; |
||||
|
|
||||
|
import com.swifttech.remit.jmecustomer.R; |
||||
|
import com.swifttech.remit.jmecustomer.common.customwidgets.common.GenericEditTextPromptDialog; |
||||
|
import com.swifttech.remit.jmecustomer.features.recipientmanagement.model.recipientlistingV3.ReceiverInfoV3Model; |
||||
|
import com.swifttech.remit.jmecustomer.features.recipientmanagement.presenter.recepientTermsConditions.RecipientTermsViewModel; |
||||
|
import com.swifttech.remit.jmecustomer.features.recipientmanagement.view.RecipientTermsViewModelFactory; |
||||
|
import com.swifttech.remit.jmecustomer.features.sendmoney.model.SendMoneyRequiredDataV3; |
||||
|
import com.swifttech.remit.jmecustomer.features.sendmoney.view.SendMoneyRequestSummaryActivity; |
||||
|
import com.swifttech.remit.jmecustomer.features.sendmoney.view.SendMoneyV2Activity; |
||||
|
import com.swifttech.remit.jmecustomer.features.webbrowser.WebBrowserV2Activity; |
||||
|
import com.swifttech.remit.jmecustomer.features.webbrowser.model.WebRequestModel; |
||||
|
|
||||
|
import static com.swifttech.remit.jmecustomer.features.recipientmanagement.view.recipientaddeditV3.RecipientAddEditV3Activity.RECIPIENT_INFO_BUNDLE_KEY_v3; |
||||
|
import static com.swifttech.remit.jmecustomer.utils.Constants.JME_BENEFICIARY_TERMS; |
||||
|
|
||||
|
public class BeneficiaryAddEditV3TermsActivity extends WebBrowserV2Activity implements GenericEditTextPromptDialog.GenericEditTextPromptListener, RecipientTermsContractInterface { |
||||
|
public static final int RECIPIENT_ACTION_TERMS_REQUEST_CODE_v3 = 21346; |
||||
|
public static String RECIPIENT_TERMS_BUNDLE_KEY_v3 = "recipientInfoKeyV3"; |
||||
|
private static String TAG = BeneficiaryAddEditV3TermsActivity.class.getSimpleName(); |
||||
|
private String currentLoadedUrl = ""; |
||||
|
private ReceiverInfoV3Model selectedBeneficiary; |
||||
|
private RecipientTermsViewModel viewModel; |
||||
|
|
||||
|
|
||||
|
|
||||
|
@Override |
||||
|
protected void doTask(WebRequestModel webRequestModel, WebView webView) { |
||||
|
if (webRequestModel != null && !currentLoadedUrl.equalsIgnoreCase(webRequestModel.getUrl())) { |
||||
|
this.currentLoadedUrl = webRequestModel.getUrl(); |
||||
|
updateTitleInBrowser(webRequestModel.getWebTitle() != null && webRequestModel.getWebTitle().length() > 0 ? webRequestModel.getWebTitle() : ""); |
||||
|
webView.loadUrl(webRequestModel.getUrl()); |
||||
|
Log.d(TAG, currentLoadedUrl); |
||||
|
triggerWebViewEvent(webView); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
private void triggerWebViewEvent(WebView webView) { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected void proceedButtonClicked() { |
||||
|
viewModel.requestForOtp(); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected void onStart() { |
||||
|
super.onStart(); |
||||
|
ivBack.setOnClickListener(this); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected void onStop() { |
||||
|
super.onStop(); |
||||
|
ivBack.setOnClickListener(null); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected void onCreate(Bundle savedInstanceState) { |
||||
|
super.onCreate(savedInstanceState); |
||||
|
selectedBeneficiary = getIntent().getParcelableExtra(RECIPIENT_TERMS_BUNDLE_KEY_v3); |
||||
|
RecipientTermsViewModelFactory recipientTermsViewModelFactory = new RecipientTermsViewModelFactory((RecipientTermsContractInterface) this, selectedBeneficiary); |
||||
|
viewModel = new ViewModelProvider(this, recipientTermsViewModelFactory).get(RecipientTermsViewModel.class); |
||||
|
showAcceptOption(true); |
||||
|
WebRequestModel webRequestModel = new WebRequestModel(getResources().getString(R.string.terms_and_condition_title_text), JME_BENEFICIARY_TERMS, null); |
||||
|
setWebRequestData(webRequestModel); |
||||
|
loadWebView(); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void onEmailCodeNegativeButtonPressed() { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void onEmailCodePositiveBtnPressed(String emailCode) { |
||||
|
viewModel.verifyEmailCode(emailCode); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void showEmailCodePromptDialog() { |
||||
|
GenericEditTextPromptDialog genericPromptDialog = new GenericEditTextPromptDialog(); |
||||
|
genericPromptDialog.setTitleMessage(getString(R.string.enterCodeFromEmail_text)); |
||||
|
genericPromptDialog.setCancellable(false); |
||||
|
genericPromptDialog.setListener(this); |
||||
|
if (!genericPromptDialog.isAdded()) |
||||
|
genericPromptDialog.show(getSupportFragmentManager(), "PROMPTEDITTEXT"); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void onEmailVerifySuccess() { |
||||
|
Intent intent = new Intent(this, SendMoneyV2Activity.class); |
||||
|
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); |
||||
|
intent.putExtra(RECIPIENT_INFO_BUNDLE_KEY_v3, new SendMoneyRequiredDataV3(selectedBeneficiary)); |
||||
|
startActivity(intent); |
||||
|
finish(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,9 @@ |
|||||
|
package com.swifttech.remit.jmecustomer.features.recipientmanagement.view.recepientTermsConditions; |
||||
|
|
||||
|
import com.swifttech.remit.jmecustomer.base.BaseContractInterface; |
||||
|
|
||||
|
public interface RecipientTermsContractInterface extends BaseContractInterface { |
||||
|
void showEmailCodePromptDialog(); |
||||
|
|
||||
|
void onEmailVerifySuccess(); |
||||
|
} |
@ -1,75 +1,120 @@ |
|||||
<?xml version="1.0" encoding="utf-8"?> |
<?xml version="1.0" encoding="utf-8"?> |
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" |
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" |
||||
|
xmlns:app="http://schemas.android.com/apk/res-auto" |
||||
android:layout_width="match_parent" |
android:layout_width="match_parent" |
||||
android:layout_height="match_parent" |
android:layout_height="match_parent" |
||||
xmlns:app="http://schemas.android.com/apk/res-auto" |
|
||||
android:background="@color/background_gray" |
android:background="@color/background_gray" |
||||
android:orientation="vertical"> |
android:orientation="vertical"> |
||||
|
|
||||
|
|
||||
|
|
||||
<LinearLayout |
<LinearLayout |
||||
android:id="@+id/include" |
android:id="@+id/include" |
||||
|
android:layout_width="match_parent" |
||||
|
android:layout_height="?actionBarSize" |
||||
android:background="@color/white" |
android:background="@color/white" |
||||
|
android:orientation="horizontal" |
||||
app:layout_constraintEnd_toEndOf="parent" |
app:layout_constraintEnd_toEndOf="parent" |
||||
app:layout_constraintStart_toStartOf="parent" |
app:layout_constraintStart_toStartOf="parent" |
||||
app:layout_constraintTop_toTopOf="parent" |
|
||||
android:layout_width="match_parent" |
|
||||
android:layout_height="?actionBarSize" |
|
||||
android:orientation="horizontal"> |
|
||||
|
app:layout_constraintTop_toTopOf="parent"> |
||||
|
|
||||
<ImageView |
<ImageView |
||||
android:id="@+id/iv_back" |
android:id="@+id/iv_back" |
||||
android:layout_width="wrap_content" |
android:layout_width="wrap_content" |
||||
android:layout_height="match_parent" |
android:layout_height="match_parent" |
||||
android:padding="10dp" |
|
||||
android:layout_marginEnd="8dp" |
android:layout_marginEnd="8dp" |
||||
|
android:padding="10dp" |
||||
app:srcCompat="@drawable/icv_back" /> |
app:srcCompat="@drawable/icv_back" /> |
||||
|
|
||||
<com.swifttech.remit.jmecustomer.common.customwidgets.GmeTextView |
<com.swifttech.remit.jmecustomer.common.customwidgets.GmeTextView |
||||
android:id="@+id/toolbar_title" |
android:id="@+id/toolbar_title" |
||||
android:layout_width="0dp" |
android:layout_width="0dp" |
||||
android:layout_weight="1" |
|
||||
android:layout_marginEnd="5dp" |
|
||||
android:layout_height="match_parent" |
android:layout_height="match_parent" |
||||
android:textColor="@color/black" |
|
||||
android:textSize="17sp" |
|
||||
|
android:layout_marginEnd="5dp" |
||||
|
android:layout_weight="1" |
||||
|
android:gravity="center_vertical" |
||||
android:maxLines="1" |
android:maxLines="1" |
||||
android:gravity="center_vertical" /> |
|
||||
|
android:textColor="@color/black" |
||||
|
android:textSize="17sp" /> |
||||
|
|
||||
<ProgressBar |
<ProgressBar |
||||
android:layout_gravity="center" |
|
||||
android:id="@+id/progressBar" |
android:id="@+id/progressBar" |
||||
android:visibility="invisible" |
|
||||
android:layout_width="30dp" |
android:layout_width="30dp" |
||||
android:layout_height="30dp" |
android:layout_height="30dp" |
||||
|
android:layout_gravity="center" |
||||
android:layout_marginStart="8dp" |
android:layout_marginStart="8dp" |
||||
android:layout_marginTop="8dp" |
android:layout_marginTop="8dp" |
||||
android:layout_marginEnd="15dp" |
android:layout_marginEnd="15dp" |
||||
android:layout_marginBottom="8dp" |
android:layout_marginBottom="8dp" |
||||
/> |
|
||||
|
android:visibility="invisible" /> |
||||
</LinearLayout> |
</LinearLayout> |
||||
|
|
||||
<WebView |
|
||||
android:id="@+id/webView" |
|
||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" |
||||
android:layout_width="match_parent" |
android:layout_width="match_parent" |
||||
android:layout_height="0dp" |
android:layout_height="0dp" |
||||
android:layout_weight="1" |
|
||||
|
android:layout_margin="0dp" |
||||
|
android:background="@color/m_layout_bg_color" |
||||
|
android:orientation="vertical" |
||||
|
android:padding="0dp" |
||||
app:layout_constraintBottom_toBottomOf="parent" |
app:layout_constraintBottom_toBottomOf="parent" |
||||
app:layout_constraintEnd_toEndOf="parent" |
app:layout_constraintEnd_toEndOf="parent" |
||||
app:layout_constraintStart_toStartOf="parent" |
app:layout_constraintStart_toStartOf="parent" |
||||
app:layout_constraintTop_toBottomOf="@+id/include" /> |
|
||||
|
app:layout_constraintTop_toBottomOf="@+id/include"> |
||||
|
|
||||
|
|
||||
|
<RelativeLayout |
||||
|
android:layout_width="match_parent" |
||||
|
android:layout_height="match_parent"> |
||||
|
|
||||
<!--<ProgressBar--> |
|
||||
<!--jmecustomer:id="@+id/progressBar"--> |
|
||||
<!--jmecustomer:layout_width="wrap_content"--> |
|
||||
<!--jmecustomer:layout_height="wrap_content"--> |
|
||||
<!--jmecustomer:layout_marginStart="8dp"--> |
|
||||
<!--jmecustomer:layout_marginTop="8dp"--> |
|
||||
<!--jmecustomer:layout_marginEnd="8dp"--> |
|
||||
<!--jmecustomer:layout_marginBottom="8dp"--> |
|
||||
<!--app:layout_constraintBottom_toBottomOf="parent"--> |
|
||||
<!--app:layout_constraintEnd_toEndOf="@+id/include"--> |
|
||||
<!--app:layout_constraintStart_toStartOf="parent"--> |
|
||||
<!--app:layout_constraintTop_toTopOf="@+id/webView" />--> |
|
||||
|
<androidx.core.widget.NestedScrollView |
||||
|
android:id="@+id/nestedScrollView" |
||||
|
android:layout_width="match_parent" |
||||
|
android:layout_height="match_parent" |
||||
|
android:layout_above="@+id/llBottom" |
||||
|
android:fillViewport="true" |
||||
|
android:scrollbars="none"> |
||||
|
|
||||
|
<LinearLayout |
||||
|
android:layout_width="match_parent" |
||||
|
android:layout_height="match_parent" |
||||
|
android:orientation="vertical"> |
||||
|
|
||||
|
<WebView |
||||
|
android:id="@+id/webView" |
||||
|
android:layout_width="match_parent" |
||||
|
android:layout_height="wrap_content" |
||||
|
android:nestedScrollingEnabled="false" /> |
||||
|
</LinearLayout> |
||||
|
|
||||
|
</androidx.core.widget.NestedScrollView> |
||||
|
|
||||
|
<LinearLayout |
||||
|
android:id="@+id/llBottom" |
||||
|
android:layout_width="match_parent" |
||||
|
android:layout_height="wrap_content" |
||||
|
android:layout_alignParentBottom="true" |
||||
|
android:layout_marginTop="@dimen/commonMargin" |
||||
|
android:orientation="vertical" |
||||
|
android:visibility="gone"> |
||||
|
|
||||
|
<androidx.appcompat.widget.AppCompatCheckBox |
||||
|
android:id="@+id/checkBoxAgreeConsent" |
||||
|
android:layout_width="wrap_content" |
||||
|
android:layout_height="wrap_content" |
||||
|
android:layout_above="@+id/btnSendMoney" |
||||
|
android:layout_marginLeft="@dimen/commonMargin" |
||||
|
android:layout_marginRight="@dimen/commonMargin" |
||||
|
android:fontFamily="@font/lato_regular" |
||||
|
android:text="@string/i_have_read_to_text_consent" /> |
||||
|
|
||||
|
<com.swifttech.remit.jmecustomer.common.customwidgets.GmeButton |
||||
|
android:id="@+id/btnProceed" |
||||
|
style="@style/MButton" |
||||
|
android:layout_alignParentBottom="true" |
||||
|
android:layout_gravity="center" |
||||
|
android:layout_margin="@dimen/commonMargin" |
||||
|
android:layout_marginTop="@dimen/_15sdp" |
||||
|
android:text="@string/proceed_text" /> |
||||
|
</LinearLayout> |
||||
|
</RelativeLayout> |
||||
|
</LinearLayout> |
||||
</androidx.constraintlayout.widget.ConstraintLayout> |
</androidx.constraintlayout.widget.ConstraintLayout> |
@ -0,0 +1,9 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" |
||||
|
xmlns:app="http://schemas.android.com/apk/res-auto" |
||||
|
xmlns:tools="http://schemas.android.com/tools" |
||||
|
android:layout_width="match_parent" |
||||
|
android:layout_height="match_parent" |
||||
|
tools:context=".features.recipientmanagement.view.recepientTermsConditions.BeneficiaryAddEditV3TermsActivity"> |
||||
|
|
||||
|
</androidx.constraintlayout.widget.ConstraintLayout> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue