Browse Source

Receiver profile fixes: added two input fields and channel io implemented

master
Preyea Regmi 5 years ago
parent
commit
58be727221
  1. BIN
      .idea/caches/build_file_checksums.ser
  2. BIN
      .idea/caches/gradle_models.ser
  3. 5
      .idea/modules.xml
  4. 6
      app/build.gradle
  5. 2
      app/src/main/java/com/gmeremit/online/gmeremittance_native/GmeApplication.java
  6. 122
      app/src/main/java/com/gmeremit/online/gmeremittance_native/customer_support/view/CustomerSupportFragment.java
  7. 32
      app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/CustomAlertDialog.java
  8. 4
      app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/HomeParentViewContractV2.java
  9. 11
      app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/presenter/HomeV2Presenter.java
  10. 4
      app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/presenter/HomeV2PresenterInterface.java
  11. 203
      app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeActivityV2.java
  12. 5
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/gateway/RecipientAddV2Gateway.java
  13. 36
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/recipientadd/ReceiverIdType.java
  14. 155
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/recipientadd/RecipientRelatedModel.java
  15. 88
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/recipientlisting/RecipientInfoModel.java
  16. 4
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/presenter/recipientadd/RecipientAddV2InteractorInterface.java
  17. 147
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/presenter/recipientadd/RecipientAddV2Presenter.java
  18. 11
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/presenter/recipientadd/RecipientAddV2PresenterInterface.java
  19. 94
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/view/recipientadd/RecipientAddV2Activity.java
  20. 4
      app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/presenter/SplashScreenPresenter.java
  21. 2
      app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/view/SplashScreen.java
  22. BIN
      app/src/main/res/drawable-v24/ic_chat.png
  23. 6
      app/src/main/res/drawable/circular_white_bg.xml
  24. 19
      app/src/main/res/layout/activity_home_v2.xml
  25. 122
      app/src/main/res/layout/activity_recipient_v2.xml
  26. 22
      app/src/main/res/layout/dialog_common_error.xml
  27. 77
      app/src/main/res/layout/fragment_customer_support.xml
  28. 2
      app/src/main/res/values-bn/strings.xml
  29. 6
      app/src/main/res/values/strings.xml

BIN
.idea/caches/build_file_checksums.ser

BIN
.idea/caches/gradle_models.ser

5
.idea/modules.xml

@ -3,9 +3,14 @@
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/SpinnerDatePickerLib-release/SpinnerDatePickerLib-release.iml" filepath="$PROJECT_DIR$/SpinnerDatePickerLib-release/SpinnerDatePickerLib-release.iml" />
<module fileurl="file://$PROJECT_DIR$/SpinnerDatePickerLib-release/SpinnerDatePickerLib-release.iml" filepath="$PROJECT_DIR$/SpinnerDatePickerLib-release/SpinnerDatePickerLib-release.iml" />
<module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
<module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
<module fileurl="file://$PROJECT_DIR$/gme-android.iml" filepath="$PROJECT_DIR$/gme-android.iml" />
<module fileurl="file://$PROJECT_DIR$/gme-android.iml" filepath="$PROJECT_DIR$/gme-android.iml" />
<module fileurl="file://$PROJECT_DIR$/httpclient-release/httpclient-release.iml" filepath="$PROJECT_DIR$/httpclient-release/httpclient-release.iml" />
<module fileurl="file://$PROJECT_DIR$/httpclient-release/httpclient-release.iml" filepath="$PROJECT_DIR$/httpclient-release/httpclient-release.iml" />
<module fileurl="file://$PROJECT_DIR$/securitykeypad/securitykeypad.iml" filepath="$PROJECT_DIR$/securitykeypad/securitykeypad.iml" />
<module fileurl="file://$PROJECT_DIR$/securitykeypad/securitykeypad.iml" filepath="$PROJECT_DIR$/securitykeypad/securitykeypad.iml" />
</modules>
</component>

6
app/build.gradle

@ -75,8 +75,8 @@ android {
manifestPlaceholders.fileProvider = "com.gmeremit.online.gmeremittance_native.fileprovider"
// applicationIdSuffix ".stag"
signingConfig signingConfigs.debug
buildConfigField 'String', 'BASE_URL', '"http://gmeuat.gmeremit.com:5008/api/"'
// buildConfigField 'String', 'BASE_URL', '"http://gmeuat.gmeremit.com:5022/api/"'
// buildConfigField 'String', 'BASE_URL', '"http://gmeuat.gmeremit.com:5008/api/"'
buildConfigField 'String', 'BASE_URL', '"http://gmeuat.gmeremit.com:5022/api/"'
buildConfigField 'String', 'API_VERSION', '"v1"'
buildConfigField 'String', 'BASE_URL_SOCIAL', '"http://10.1.1.171:8080/v1/"'
debuggable true
@ -155,5 +155,7 @@ dependencies {
implementation project(path: ':SpinnerDatePickerLib-release')
implementation 'com.intuit.sdp:sdp-android:1.0.6'
implementation 'com.intuit.ssp:ssp-android:1.0.6'
implementation 'com.zoyi.channel:plugin-android:6.0.3'
}
apply plugin: 'com.google.gms.google-services'

2
app/src/main/java/com/gmeremit/online/gmeremittance_native/GmeApplication.java

@ -10,6 +10,7 @@ import android.support.multidex.MultiDex;
import android.support.multidex.MultiDexApplication;
import com.crashlytics.android.Crashlytics;
import com.zoyi.channel.plugin.android.ChannelIO;
import java.io.File;
import java.text.DateFormat;
@ -38,6 +39,7 @@ public class GmeApplication extends MultiDexApplication {
@Override
public void onCreate() {
super.onCreate();
ChannelIO.initialize(this);
if (!BuildConfig.DEBUG) {
Fabric.with(this, new Crashlytics());
} else {

122
app/src/main/java/com/gmeremit/online/gmeremittance_native/customer_support/view/CustomerSupportFragment.java

@ -7,6 +7,7 @@ import android.net.Uri;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.FragmentManager;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@ -17,11 +18,22 @@ import android.widget.Toast;
import com.gmeremit.online.gmeremittance_native.GmeApplication;
import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.base.PrefKeys;
import com.gmeremit.online.gmeremittance_native.customer_support.CustomerSupportContract;
import com.gmeremit.online.gmeremittance_native.customer_support.model.CustomerSupportContact;
import com.gmeremit.online.gmeremittance_native.customer_support.presenter.CustomerSupportPresenter;
import com.gmeremit.online.gmeremittance_native.customwidgets.CustomAlertDialog;
import com.gmeremit.online.gmeremittance_native.customwidgets.CustomProgressDialog;
import com.gmeremit.online.gmeremittance_native.homeV2.HomeParentViewContractV2;
import com.gmeremit.online.gmeremittance_native.homeV2.view.HomeActivityV2;
import com.gmeremit.online.gmeremittance_native.splash_screen.model.LanguageModel;
import com.gmeremit.online.gmeremittance_native.supportV2.view.SupportActivityV2;
import com.zoyi.channel.plugin.android.ChannelIO;
import com.zoyi.channel.plugin.android.ChannelPluginCompletionStatus;
import com.zoyi.channel.plugin.android.ChannelPluginSettings;
import com.zoyi.channel.plugin.android.Guest;
import com.zoyi.channel.plugin.android.OnBootListener;
import com.zoyi.channel.plugin.android.Profile;
import java.util.ArrayList;
import java.util.List;
@ -31,12 +43,13 @@ import butterknife.ButterKnife;
import butterknife.OnClick;
import static com.gmeremit.online.gmeremittance_native.base.PrefKeys.USER_COOUNTRY_CODE;
import static com.zoyi.channel.plugin.android.ChannelPluginCompletionStatus.REQUIRE_PAYMENT;
/**
* Created by FMI-LT-17 on 2/6/2018.
*/
public class CustomerSupportFragment extends DialogFragment implements CustomerSupportContract.IView {
public class CustomerSupportFragment extends DialogFragment implements CustomerSupportContract.IView, OnBootListener {
@BindView(R.id.viewLiveChat)
View viewLiveChat;
@ -44,8 +57,8 @@ public class CustomerSupportFragment extends DialogFragment implements CustomerS
@BindView(R.id.viewCall)
View viewCall;
@BindView(R.id.viewEmail)
View viewEmail;
@BindView(R.id.chatView)
View chatView;
@BindView(R.id.btnCancel)
TextView btnCancel;
@ -53,10 +66,23 @@ public class CustomerSupportFragment extends DialogFragment implements CustomerS
@BindView(R.id.callTxtView)
TextView callTxtView;
@BindView(R.id.notificationCounterTxtView)
TextView notificationCounterTxtView;
private CustomerSupportPresenter presenter;
public static CustomerSupportFragment newInstance() {
return new CustomerSupportFragment();
private CustomProgressDialog dialog;
private boolean isProgressBarShowing;
private CustomAlertDialog customAlertDialog;
private static final String CUSTOMER_SUPPORT_FRAG_ARG_BUNDLE_KEY="customerSupporBundleKeyArg";
public static CustomerSupportFragment newInstance(String badgeCount) {
Bundle bundle=new Bundle();
bundle.putString(CUSTOMER_SUPPORT_FRAG_ARG_BUNDLE_KEY,badgeCount);
CustomerSupportFragment customerSupportFragment=new CustomerSupportFragment();
customerSupportFragment.setArguments(bundle);
return customerSupportFragment;
}
@Override
@ -64,6 +90,8 @@ public class CustomerSupportFragment extends DialogFragment implements CustomerS
super.onCreate(savedInstanceState);
setStyle(DialogFragment.STYLE_NO_FRAME, android.R.style.Theme_Translucent_NoTitleBar);
}
@Nullable
@ -79,6 +107,38 @@ public class CustomerSupportFragment extends DialogFragment implements CustomerS
private void performDefaultAction() {
callTxtView.setText(getCustomerSupportContact());
String badgeCount=getArguments().getString(CUSTOMER_SUPPORT_FRAG_ARG_BUNDLE_KEY,"");
if(badgeCount!=null&&badgeCount.length()>0)
{
notificationCounterTxtView.setText(badgeCount);
notificationCounterTxtView.setVisibility(View.VISIBLE);
}
}
public void showProgressBar(boolean action, String message) {
try {
if (action) {
if (dialog != null && isProgressBarShowing) {
dialog.updateMessage(message);
return;
}
dialog = new CustomProgressDialog();
dialog.setMessage(message);
FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
if (fragmentManager != null)
dialog.show(fragmentManager, "CustomProgressBar");
isProgressBarShowing = true;
} else {
if (dialog != null) {
dialog.dismiss();
isProgressBarShowing = false;
dialog = null;
}
}
} catch (Exception e) {
}
}
@ -128,7 +188,7 @@ public class CustomerSupportFragment extends DialogFragment implements CustomerS
}
@OnClick({R.id.viewLiveChat, R.id.viewCall, R.id.viewEmail, R.id.btnCancel})
@OnClick({R.id.viewLiveChat, R.id.viewCall, R.id.chatView, R.id.btnCancel})
public void onClick(View view) {
switch (view.getId()) {
case R.id.viewLiveChat:
@ -137,13 +197,52 @@ public class CustomerSupportFragment extends DialogFragment implements CustomerS
case R.id.viewCall:
presenter.onSupportCallClicked();
break;
case R.id.viewEmail:
presenter.onSupportViaEmailClicked();
case R.id.chatView:
promptToChat();
break;
case R.id.btnCancel:
presenter.onCancelClicked();
break;
}
}
private void promptToChat() {
try {
FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
if (fragmentManager == null)
return;
if (customAlertDialog != null && customAlertDialog.isAdded())
return;
customAlertDialog = new CustomAlertDialog();
customAlertDialog.setMessage(getString(R.string.prompt_chat_text));
customAlertDialog.setAlertType(CustomAlertDialog.AlertType.ALERT);
customAlertDialog.setPositiveBtnString(getString(R.string.yes_text));
customAlertDialog.setNegativeBtnString(getString(R.string.no_text));
customAlertDialog.setActionListener(new CustomAlertDialog.CustomDialogActionListener() {
@Override
public void onCutomDialogActionPressed(CustomAlertDialog.AlertType alertType) {
ChannelPluginSettings settings = new ChannelPluginSettings("24dc2dfd-3ed1-4953-b395-a2255ed41dae");
settings.setUserId(GmeApplication.getStorage().getString(PrefKeys.USER_EMAIL,""));
Profile profile = Profile.create()
.setName(GmeApplication.getStorage().getString(PrefKeys.USER_FIRST_NAME,""))
.setEmail(GmeApplication.getStorage().getString(PrefKeys.USER_EMAIL,""));
showProgressBar(true,getString(R.string.processing_request_text));
ChannelIO.boot(settings, profile,CustomerSupportFragment.this);
}
});
customAlertDialog.show(fragmentManager, "CustomerMes");
} catch (Exception e) {
}
}
@Override
@ -199,4 +298,11 @@ public class CustomerSupportFragment extends DialogFragment implements CustomerS
Intent intent = new Intent(getActivity(), SupportActivityV2.class);
startActivity(intent);
}
@Override
public void onCompletion(ChannelPluginCompletionStatus status, @Nullable Guest guest) {
showProgressBar(false,"");
((HomeParentViewContractV2)getActivity()).getChannelOnBootListener().onCompletion(status,guest);
dismissDialog();
}
}

32
app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/CustomAlertDialog.java

@ -16,12 +16,14 @@ import com.gmeremit.online.gmeremittance_native.R;
public class CustomAlertDialog extends android.support.v4.app.DialogFragment {
private ImageView imgStatusImgView;
private TextView dialogTitleTxt, dialogDescriptionTxt, dialogButtonTxt;
private TextView dialogTitleTxt, dialogDescriptionTxt, dialogOkButtonTxt;
private AlertType alertType;
private String titleString;
private String descriptionString;
private CustomDialogActionListener actionListener;
private Window window;
private String positiveBtnString=null;
private String negativeBtnString=null;
@Override
@ -31,7 +33,14 @@ public class CustomAlertDialog extends android.support.v4.app.DialogFragment {
ImageView imgStatusImgView = dialogView.findViewById(R.id.img_status);
TextView dialogTitleTxt = dialogView.findViewById(R.id.txt_dialog_title);
TextView dialogDescriptionTxt = dialogView.findViewById(R.id.txt_dialog_message);
TextView dialogButtonTxt = dialogView.findViewById(R.id.btn_diaog_ok);
TextView dialogOkButtonTxt = dialogView.findViewById(R.id.btn_diaog_ok);
TextView dialogCancelButtonTxt = dialogView.findViewById(R.id.btn_diaog_cancel);
if(positiveBtnString!=null)
dialogOkButtonTxt.setText(positiveBtnString);
if(negativeBtnString!=null) {
dialogCancelButtonTxt.setText(negativeBtnString);
dialogCancelButtonTxt.setVisibility(View.VISIBLE);
}
builder.setView(dialogView);
setCancelable(false);
dialogDescriptionTxt.setText(descriptionString);
@ -66,7 +75,7 @@ public class CustomAlertDialog extends android.support.v4.app.DialogFragment {
dialogTitleTxt.setText(getString( R.string.error_text));
break;
}
dialogButtonTxt.setOnClickListener(new View.OnClickListener() {
dialogOkButtonTxt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (actionListener != null){
@ -77,6 +86,13 @@ public class CustomAlertDialog extends android.support.v4.app.DialogFragment {
dismiss();
}
});
dialogCancelButtonTxt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
}
});
Dialog dialog= builder.create();
try {
this.window = dialog.getWindow();
@ -112,6 +128,16 @@ public class CustomAlertDialog extends android.support.v4.app.DialogFragment {
this.alertType = alertType;
}
public void setPositiveBtnString(String string)
{
this.positiveBtnString=string;
}
public void setNegativeBtnString(String string)
{
this.negativeBtnString=string;
}
public void setActionListener(CustomDialogActionListener actionListener) {
this.actionListener = actionListener;
}

4
app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/HomeParentViewContractV2.java

@ -2,6 +2,7 @@ package com.gmeremit.online.gmeremittance_native.homeV2;
import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.homeV2.presenter.HomeV2PresenterInterface;
import com.zoyi.channel.plugin.android.OnBootListener;
public interface HomeParentViewContractV2 {
@ -17,6 +18,9 @@ public interface HomeParentViewContractV2 {
HomeV2PresenterInterface getPresenter();
OnBootListener getChannelOnBootListener();
void showResendMoneyView();
}

11
app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/presenter/HomeV2Presenter.java

@ -42,6 +42,7 @@ public class HomeV2Presenter extends BasePresenter implements HomeV2PresenterInt
private final boolean shouldCheckFingerprintPrompt;
private boolean shouldNotPromptAppUpdate;
private boolean shouldNotPromptAutoDebitAccountRenew;
private String recentNotificationCount=null;
public HomeV2Presenter(HomeV2ContractInterface view, boolean checkFingerprintPromptScreen) {
this.view = view;
@ -320,6 +321,16 @@ public class HomeV2Presenter extends BasePresenter implements HomeV2PresenterInt
gateway.updateKJBankNoticeSkipDay(skipDate);
}
@Override
public void persistNotificationCount(String countString) {
this.recentNotificationCount=countString;
}
@Override
public String getPersistedRecentNotification() {
return this.recentNotificationCount;
}
private long checkIfAutoDebitRenewIsRequired(String regDateString, String expDateString) {
long differenceInDays = 0;
try {

4
app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/presenter/HomeV2PresenterInterface.java

@ -39,6 +39,10 @@ public interface HomeV2PresenterInterface extends BasePresenterInterface {
void skipKJBankNoticeForToday();
void persistNotificationCount(String countString);
String getPersistedRecentNotification();
interface HomeV2ContractInterface extends BaseContractInterface
{

203
app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeActivityV2.java

@ -1,21 +1,17 @@
package com.gmeremit.online.gmeremittance_native.homeV2.view;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.Nullable;
import android.support.annotation.RequiresApi;
import android.support.design.widget.NavigationView;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.os.Bundle;
import android.support.v4.content.ContextCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.AlertDialog;
@ -39,27 +35,29 @@ import com.gmeremit.online.gmeremittance_native.homeV2.presenter.HomeV2Presenter
import com.gmeremit.online.gmeremittance_native.homeV2.presenter.HomeV2PresenterInterface;
import com.gmeremit.online.gmeremittance_native.int_notification.view.IntNotificationView;
import com.gmeremit.online.gmeremittance_native.recipientV2.view.recipientlisting.RecipientListingV2Activity;
import com.gmeremit.online.gmeremittance_native.resendV2.view.ReSendMoneyV2Activity;
import com.gmeremit.online.gmeremittance_native.resendV2.view.TransactionListingV2Activity;
import com.gmeremit.online.gmeremittance_native.resetpassV2.view.ResetPassV2Activity;
import com.gmeremit.online.gmeremittance_native.settings.view.FingerprintEnablePromptActivity;
import com.gmeremit.online.gmeremittance_native.settings.view.SettingsView;
import com.gmeremit.online.gmeremittance_native.static_pages.view.AboutGME;
import com.gmeremit.online.gmeremittance_native.static_pages.view.SupportActivity;
import com.gmeremit.online.gmeremittance_native.transactionhistoryV2.view.TransactionHistoryActivityV2;
import com.gmeremit.online.gmeremittance_native.transactionpasspromt.view.TransactionBiometricPromptDialog;
import com.gmeremit.online.gmeremittance_native.user_profile.view.ProfileActivity;
import com.gmeremit.online.gmeremittance_native.utils.Utils;
import com.gmeremit.online.gmeremittance_native.walletstatementV2.view.WalletStatementV2Activity;
import com.gmeremit.online.gmeremittance_native.withdrawV2.view.WithdrawV2Activity;
import com.text.drawable.TextDrawable;
import java.util.Locale;
import com.zoyi.channel.plugin.android.ChannelIO;
import com.zoyi.channel.plugin.android.ChannelPluginCompletionStatus;
import com.zoyi.channel.plugin.android.ChannelPluginListener;
import com.zoyi.channel.plugin.android.Guest;
import com.zoyi.channel.plugin.android.OnBootListener;
import com.zoyi.channel.plugin.android.model.etc.PushEvent;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import static com.zoyi.channel.plugin.android.ChannelPluginCompletionStatus.SUCCESS;
public class HomeActivityV2 extends BaseActivity implements HomeParentViewContractV2, HomeV2PresenterInterface.HomeV2ContractInterface {
@ -77,7 +75,7 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra
TextView btn_withdraw;
@BindView(R.id.view_about_gme)
View about_gme;
// @BindView(R.id.view_support)
// @BindView(R.id.view_support)
// View support;
@BindView(R.id.view_setting)
View settings;
@ -86,12 +84,16 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra
@BindView(R.id.iv_close)
ImageView iv_close;
@BindView(R.id.notificationCounterTxtView)
TextView notificationCounterTxtView;
private Fragment currentFragment;
private FragmentManager manager;
private HomeV2PresenterInterface presenter;
private static int WITHDRAW_AMOUNT_REQUEST_CODE =24943;
private static int SEND_MONEY_REQUEST_CODE =24944;
public static final String PROMPT_FINGERPRINT_BUNDLE_FLAG="bundleKeyPromptFlag";
private static int WITHDRAW_AMOUNT_REQUEST_CODE = 24943;
private static int SEND_MONEY_REQUEST_CODE = 24944;
public static final String PROMPT_FINGERPRINT_BUNDLE_FLAG = "bundleKeyPromptFlag";
private ChannelIOEventListener channelIOEventListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
@ -105,8 +107,7 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
if(intent!=null&&intent.getBooleanExtra(BUNDLE_ACTION_FETCH_ALL_DATA,false)&&currentFragment instanceof HomeFragmentV2)
{
if (intent != null && intent.getBooleanExtra(BUNDLE_ACTION_FETCH_ALL_DATA, false) && currentFragment instanceof HomeFragmentV2) {
((HomeFragmentV2) currentFragment).startPulltoRefresh(true);
presenter.getRequiredData();
}
@ -114,7 +115,9 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra
private void initialize() {
manager = getSupportFragmentManager();
presenter = new HomeV2Presenter(this,getIntent().getBooleanExtra(PROMPT_FINGERPRINT_BUNDLE_FLAG,false));
presenter = new HomeV2Presenter(this, getIntent().getBooleanExtra(PROMPT_FINGERPRINT_BUNDLE_FLAG, false));
channelIOEventListener = new ChannelIOEventListener();
ChannelIO.setChannelPluginListener(channelIOEventListener);
}
private void performDefaultAction(Bundle savedInstanceState) {
@ -180,11 +183,11 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra
}
}
@OnClick({R.id.iv_help, R.id.iv_nav, R.id.btn_withdraw, R.id.view_about_gme, R.id.view_setting, R.id.view_logout, R.id.iv_close, R.id.iv_notification,R.id.manageAccountsViewGroup,R.id.view_transaction_report})
@OnClick({R.id.iv_help, R.id.iv_nav, R.id.btn_withdraw, R.id.view_about_gme, R.id.view_setting, R.id.view_logout, R.id.iv_close, R.id.iv_notification, R.id.manageAccountsViewGroup, R.id.view_transaction_report})
public void onClick(View view) {
switch (view.getId()) {
case R.id.iv_help:
CustomerSupportFragment newFragment = CustomerSupportFragment.newInstance();
CustomerSupportFragment newFragment = CustomerSupportFragment.newInstance(presenter.getPersistedRecentNotification());
newFragment.show(getSupportFragmentManager(), "dialog");
showDrawer(false);
break;
@ -193,7 +196,7 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra
break;
case R.id.btn_withdraw:
showDrawer(false);
new Handler().postDelayed(this::openWithdrawScreen,200);
new Handler().postDelayed(this::openWithdrawScreen, 200);
break;
case R.id.view_about_gme:
showDrawer(false);
@ -230,6 +233,7 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra
}
}
private void showLogoutConfirmationDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
@ -328,7 +332,7 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra
@Override
public void showAutoDebitListingScreen() {
startActivity(new Intent(HomeActivityV2.this,AutoDebitAccountListingV2Activity.class));
startActivity(new Intent(HomeActivityV2.this, AutoDebitAccountListingV2Activity.class));
}
@ -341,12 +345,20 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra
}
@Override
public HomeV2PresenterInterface getPresenter() {
return presenter;
}
@Override
public OnBootListener getChannelOnBootListener() {
if (channelIOEventListener == null) {
channelIOEventListener = new ChannelIOEventListener();
ChannelIO.setChannelPluginListener(channelIOEventListener);
}
return channelIOEventListener;
}
@Override
public void showResendMoneyView() {
String unverifiedMessage = presenter.checkIfUserVerified();
@ -384,7 +396,7 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra
txtBalance.setText(getString(R.string.na_text));
}
if(fullname!=null&&fullname.length()>0) {
if (fullname != null && fullname.length() > 0) {
TextDrawable drawable = TextDrawable.builder().buildRound(String.valueOf(fullname.toUpperCase().charAt(0)), getResources().getColor(R.color.blue));
profileTextImageView.setImageDrawable(drawable);
}
@ -392,20 +404,20 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra
@Override
public void showKYCVerifiedIfRequired(boolean shouldShowView, String message, String title, boolean disableKYCViewClick,Runnable callback) {
public void showKYCVerifiedIfRequired(boolean shouldShowView, String message, String title, boolean disableKYCViewClick, Runnable callback) {
if (currentFragment instanceof HomeFragmentV2)
((HomeFragmentV2) currentFragment).showKYCVerifiedIfRequired(shouldShowView, message, title, disableKYCViewClick,callback);
((HomeFragmentV2) currentFragment).showKYCVerifiedIfRequired(shouldShowView, message, title, disableKYCViewClick, callback);
}
@Override
public void showPennyTestViewIfRequired(boolean showView, String pennyTestTitle, String pennyTestMessage) {
if (currentFragment instanceof HomeFragmentV2)
((HomeFragmentV2) currentFragment).showPennyTestViewIfRequired(showView, pennyTestMessage,pennyTestTitle,null);
((HomeFragmentV2) currentFragment).showPennyTestViewIfRequired(showView, pennyTestMessage, pennyTestTitle, null);
}
@Override
public void showUpdateScreen(String build, String info, boolean isForceUpdate) {
if(!this.presenter.shouldNotPromptAppUpdate()) {
if (!this.presenter.shouldNotPromptAppUpdate()) {
new Handler().postDelayed(() -> {
Intent intent = new Intent(HomeActivityV2.this, AppUpdateActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
@ -426,8 +438,8 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra
@Override
public void showFingerprintAvailablityToUser() {
Intent intent=new Intent(this, FingerprintEnablePromptActivity.class);
startActivity(intent);
Intent intent = new Intent(this, FingerprintEnablePromptActivity.class);
startActivity(intent);
}
@ -441,28 +453,27 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra
@Override
public void showPrivilegedOperationView(Boolean action) {
View withdrawView= nav_drawer.findViewById(R.id.btn_withdraw);
View withdrawView = nav_drawer.findViewById(R.id.btn_withdraw);
View manageAccountDivider=nav_drawer.findViewById(R.id.manageAccountsDivider);
View manageAccountViewGroup=nav_drawer.findViewById(R.id.manageAccountsViewGroup);
View manageAccountDivider = nav_drawer.findViewById(R.id.manageAccountsDivider);
View manageAccountViewGroup = nav_drawer.findViewById(R.id.manageAccountsViewGroup);
View transactionReportDivider=nav_drawer.findViewById(R.id.manageTransactionReportDivider);
View transactionReportView=nav_drawer.findViewById(R.id.view_transaction_report);
View transactionReportDivider = nav_drawer.findViewById(R.id.manageTransactionReportDivider);
View transactionReportView = nav_drawer.findViewById(R.id.view_transaction_report);
if(action) {
withdrawView.setVisibility(View.VISIBLE);
manageAccountDivider.setVisibility(View.VISIBLE);
manageAccountViewGroup.setVisibility(View.VISIBLE);
transactionReportDivider.setVisibility(View.VISIBLE);
transactionReportView.setVisibility(View.VISIBLE);
}
else {
withdrawView.setVisibility(View.INVISIBLE);
manageAccountDivider.setVisibility(View.GONE);
manageAccountViewGroup.setVisibility(View.GONE);
transactionReportDivider.setVisibility(View.GONE);
transactionReportView.setVisibility(View.GONE);
}
if (action) {
withdrawView.setVisibility(View.VISIBLE);
manageAccountDivider.setVisibility(View.VISIBLE);
manageAccountViewGroup.setVisibility(View.VISIBLE);
transactionReportDivider.setVisibility(View.VISIBLE);
transactionReportView.setVisibility(View.VISIBLE);
} else {
withdrawView.setVisibility(View.INVISIBLE);
manageAccountDivider.setVisibility(View.GONE);
manageAccountViewGroup.setVisibility(View.GONE);
transactionReportDivider.setVisibility(View.GONE);
transactionReportView.setVisibility(View.GONE);
}
}
@ -470,20 +481,19 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra
if (walletNumber == null || walletNumber.length() <= 0) {
walletNumber = getString(R.string.na_text);
}
if(bankName!=null&&bankName.length()>1)
bankName=" ("+bankName+") ";
if (bankName != null && bankName.length() > 1)
bankName = " (" + bankName + ") ";
String gmeWalletNo=getString(R.string.gme_wallet_no_text);
controlNo.setText(Html.fromHtml(gmeWalletNo+" <b><font color='#ed1c24'> " + walletNumber + "</font></b>" +bankName));
String gmeWalletNo = getString(R.string.gme_wallet_no_text);
controlNo.setText(Html.fromHtml(gmeWalletNo + " <b><font color='#ed1c24'> " + walletNumber + "</font></b>" + bankName));
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==APP_UPDATE_REQUEST&&resultCode==RESULT_OK)
{
this.presenter.storeAppUpdateDecision(data.getBooleanExtra(AppUpdateActivity.APP_UPDATE_NOT_NOW_TEMPORARY,false));
if (requestCode == APP_UPDATE_REQUEST && resultCode == RESULT_OK) {
this.presenter.storeAppUpdateDecision(data.getBooleanExtra(AppUpdateActivity.APP_UPDATE_NOT_NOW_TEMPORARY, false));
}
@ -493,6 +503,7 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra
protected void onDestroy() {
super.onDestroy();
presenter.onViewDestroyed();
ChannelIO.setChannelPluginListener(null);
}
@ -509,4 +520,84 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra
public void onBackPressed() {
showExitConfirmationDialog();
}
class ChannelIOEventListener implements ChannelPluginListener, OnBootListener {
@Override
public void willShowMessenger() {
}
@Override
public void willHideMessenger() {
}
@Override
public void onChangeBadge(int count) {
String countString;
if(count>99)
countString="99+";
else
countString=count+"";
presenter.persistNotificationCount(countString);
notificationCounterTxtView.setText(countString);
notificationCounterTxtView.setVisibility(View.VISIBLE);
}
@Override
public void onReceivePush(PushEvent pushEvent) {
}
@Override
public boolean onClickChatLink(String url) {
return false;
}
@Override
public boolean onClickRedirectUrl(String url) {
return false;
}
@Override
public void onChangeProfile(String key, @Nullable Object value) {
}
@Override
public void onCompletion(ChannelPluginCompletionStatus status, @Nullable Guest guest) {
if (status == SUCCESS) {
ChannelIO.open(HomeActivityV2.this);
} else {
String serviceNotAvailable = getString(R.string.service_not_available);
switch (status) {
case NOT_INITIALIZED:
serviceNotAvailable += "(1)";
break;
case NETWORK_TIMEOUT:
serviceNotAvailable += "(2)";
break;
case NOT_AVAILABLE_VERSION:
serviceNotAvailable += "(3)";
break;
case SERVICE_UNDER_CONSTRUCTION:
serviceNotAvailable += "(4)";
break;
case REQUIRE_PAYMENT:
serviceNotAvailable += "(5)";
break;
case ACCESS_DENIED:
serviceNotAvailable += "(6)";
break;
case UNKNOWN_ERROR:
serviceNotAvailable += "(7)";
break;
}
showPopUpMessage(serviceNotAvailable, CustomAlertDialog.AlertType.FAILED, null);
}
}
}
}

5
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/gateway/RecipientAddV2Gateway.java

@ -25,7 +25,8 @@ public class RecipientAddV2Gateway extends PrivilegedGateway implements Recipien
}
@Override
public Observable<AddRecipientApiResponse> addRecipientAndSendToServer(String auth, String userId, String firstname, String middleName, String lastName, String country, String state, String district, String address, String relation, String mobileNo, String email, String transferReason, String selectedRecipientId,String city) {
public Observable<AddRecipientApiResponse> addRecipientAndSendToServer(String auth, String userId, String firstname, String middleName, String lastName, String country, String state, String district, String address,
String relation, String mobileNo, String email, String transferReason, String selectedRecipientId,String city,String idNumber, String idType) {
JsonObject jsonObject=new JsonObject();
jsonObject.addProperty("FirstName",firstname);
@ -41,6 +42,8 @@ public class RecipientAddV2Gateway extends PrivilegedGateway implements Recipien
jsonObject.addProperty("TransferReason",transferReason);
jsonObject.addProperty("Id",selectedRecipientId);
jsonObject.addProperty("City",city);
jsonObject.addProperty("IdNumber",idNumber);
jsonObject.addProperty("IdType",idType);
return HttpClientV2.getInstance().addRecipientV2(auth,userId,jsonObject);
}

36
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/recipientadd/ReceiverIdType.java

@ -0,0 +1,36 @@
package com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientadd;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class ReceiverIdType {
@SerializedName("id")
@Expose
private String id;
@SerializedName("text")
@Expose
private String text;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
@Override
public String toString() {
return this.text;
}
}

155
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/recipientadd/RecipientRelatedModel.java

@ -8,85 +8,98 @@ import java.util.List;
public class RecipientRelatedModel {
@SerializedName("Country")
@Expose
private List<CountryDetailModel> country = null;
@SerializedName("TransferReasons")
@Expose
private List<TransferDetailModel> transferReasons = null;
@SerializedName("Relations")
@Expose
private List<RelationDetailModel> relations = null;
public List<CountryDetailModel> getCountry() {
return country;
}
public void setCountry(List<CountryDetailModel> country) {
this.country = country;
}
public List<TransferDetailModel> getTransferReasons() {
return transferReasons;
}
public void setTransferReasons(List<TransferDetailModel> transferReasons) {
this.transferReasons = transferReasons;
}
public List<RelationDetailModel> getRelations() {
return relations;
}
public void setRelations(List<RelationDetailModel> relations) {
this.relations = relations;
}
public CountryDetailModel getSelectedCountryModelFromList(String id)
{
if(country==null||country.size()<1)
return null;
else
{
for(CountryDetailModel item:country)
{
if(item.getId().equalsIgnoreCase(id))
return item;
}
}
@SerializedName("Country")
@Expose
private List<CountryDetailModel> country = null;
@SerializedName("TransferReasons")
@Expose
private List<TransferDetailModel> transferReasons = null;
@SerializedName("Relations")
@Expose
private List<RelationDetailModel> relations = null;
@SerializedName("ReceiverIdType")
@Expose
private List<ReceiverIdType> receiverIdType = null;
public List<CountryDetailModel> getCountry() {
return country;
}
public void setCountry(List<CountryDetailModel> country) {
this.country = country;
}
public List<TransferDetailModel> getTransferReasons() {
return transferReasons;
}
public void setTransferReasons(List<TransferDetailModel> transferReasons) {
this.transferReasons = transferReasons;
}
public List<ReceiverIdType> getReceiverIdType() {
return receiverIdType;
}
public void setReceiverIdType(List<ReceiverIdType> receiverIdType) {
this.receiverIdType = receiverIdType;
}
public List<RelationDetailModel> getRelations() {
return relations;
}
public void setRelations(List<RelationDetailModel> relations) {
this.relations = relations;
}
public CountryDetailModel getSelectedCountryModelFromList(String id) {
if (country == null || country.size() < 1)
return null;
else {
for (CountryDetailModel item : country) {
if (item.getId().equalsIgnoreCase(id))
return item;
}
}
return null;
}
public RelationDetailModel getSelectedRelationModelFromList(String id)
{
if(relations==null||relations.size()<1)
return null;
else
{
for(RelationDetailModel item:relations)
{
if(item.getId().equalsIgnoreCase(id))
return item;
}
}
public RelationDetailModel getSelectedRelationModelFromList(String id) {
if (relations == null || relations.size() < 1)
return null;
else {
for (RelationDetailModel item : relations) {
if (item.getId().equalsIgnoreCase(id))
return item;
}
}
return null;
}
public TransferDetailModel getSelectedTransferModelFromList(String id)
{
if(transferReasons==null||transferReasons.size()<1)
return null;
else
{
for(TransferDetailModel item:transferReasons)
{
if(item.getId().equalsIgnoreCase(id))
return item;
}
public TransferDetailModel getSelectedTransferModelFromList(String id) {
if (transferReasons == null || transferReasons.size() < 1)
return null;
else {
for (TransferDetailModel item : transferReasons) {
if (item.getId().equalsIgnoreCase(id))
return item;
}
}
return null;
}
public ReceiverIdType getSelectedReceiverIdTypeFromList(String id) {
if (receiverIdType == null || receiverIdType.size() < 1)
return null;
else {
for (ReceiverIdType item : receiverIdType) {
if (item.getId().equalsIgnoreCase(id))
return item;
}
}
return null;
}
}

88
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/recipientlisting/RecipientInfoModel.java

@ -70,6 +70,13 @@ public class RecipientInfoModel implements Parcelable {
@SerializedName("userId")
@Expose
private String userId;
@SerializedName("idType")
@Expose
private String idType;
@SerializedName("idNumber")
@Expose
private String idNumber;
public String getMobileNumber() {
@ -240,6 +247,51 @@ public class RecipientInfoModel implements Parcelable {
this.countryCode = countryCode;
}
public String getIdType() {
return idType;
}
public void setIdType(String idType) {
this.idType = idType;
}
public String getIdNumber() {
return idNumber;
}
public void setIdNumber(String idNumber) {
this.idNumber = idNumber;
}
public RecipientInfoModel() {
}
@Override
public String toString() {
return "RecipientInfoModel{" +
"mobileNumber='" + mobileNumber + '\'' +
", district='" + district + '\'' +
", reasonId='" + reasonId + '\'' +
", relation='" + relation + '\'' +
", country='" + country + '\'' +
", dpUrl='" + dpUrl + '\'' +
", city='" + city + '\'' +
", relationId='" + relationId + '\'' +
", countryId='" + countryId + '\'' +
", countryCode='" + countryCode + '\'' +
", state='" + state + '\'' +
", email='" + email + '\'' +
", middleName='" + middleName + '\'' +
", firstName='" + firstName + '\'' +
", recipientId='" + recipientId + '\'' +
", reason='" + reason + '\'' +
", districtId='" + districtId + '\'' +
", stateId='" + stateId + '\'' +
", lastName='" + lastName + '\'' +
", address='" + address + '\'' +
", userId='" + userId + '\'' +
'}';
}
@Override
public int describeContents() {
@ -269,9 +321,8 @@ public class RecipientInfoModel implements Parcelable {
dest.writeString(this.lastName);
dest.writeString(this.address);
dest.writeString(this.userId);
}
public RecipientInfoModel() {
dest.writeString(this.idType);
dest.writeString(this.idNumber);
}
protected RecipientInfoModel(Parcel in) {
@ -296,9 +347,11 @@ public class RecipientInfoModel implements Parcelable {
this.lastName = in.readString();
this.address = in.readString();
this.userId = in.readString();
this.idType = in.readString();
this.idNumber = in.readString();
}
public static final Parcelable.Creator<RecipientInfoModel> CREATOR = new Parcelable.Creator<RecipientInfoModel>() {
public static final Creator<RecipientInfoModel> CREATOR = new Creator<RecipientInfoModel>() {
@Override
public RecipientInfoModel createFromParcel(Parcel source) {
return new RecipientInfoModel(source);
@ -309,31 +362,4 @@ public class RecipientInfoModel implements Parcelable {
return new RecipientInfoModel[size];
}
};
@Override
public String toString() {
return "RecipientInfoModel{" +
"mobileNumber='" + mobileNumber + '\'' +
", district='" + district + '\'' +
", reasonId='" + reasonId + '\'' +
", relation='" + relation + '\'' +
", country='" + country + '\'' +
", dpUrl='" + dpUrl + '\'' +
", city='" + city + '\'' +
", relationId='" + relationId + '\'' +
", countryId='" + countryId + '\'' +
", countryCode='" + countryCode + '\'' +
", state='" + state + '\'' +
", email='" + email + '\'' +
", middleName='" + middleName + '\'' +
", firstName='" + firstName + '\'' +
", recipientId='" + recipientId + '\'' +
", reason='" + reason + '\'' +
", districtId='" + districtId + '\'' +
", stateId='" + stateId + '\'' +
", lastName='" + lastName + '\'' +
", address='" + address + '\'' +
", userId='" + userId + '\'' +
'}';
}
}

4
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/presenter/recipientadd/RecipientAddV2InteractorInterface.java

@ -28,6 +28,8 @@ public interface RecipientAddV2InteractorInterface extends BaseInteractorInterfa
String email,
String transferReason,
String selectedRecipientId,
String city);
String city,
String idNumber,
String idType);
}
}

147
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/presenter/recipientadd/RecipientAddV2Presenter.java

@ -1,7 +1,5 @@
package com.gmeremit.online.gmeremittance_native.recipientV2.presenter.recipientadd;
import android.util.Log;
import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.base.BasePresenter;
import com.gmeremit.online.gmeremittance_native.customwidgets.CustomAlertDialog;
@ -10,6 +8,7 @@ import com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientadd.A
import com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientadd.CountryDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientadd.DistrictDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientadd.ProvinceDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientadd.ReceiverIdType;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientadd.RecipientRelatedDataApiResponse;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientadd.RecipientRelatedModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientadd.RelationDetailModel;
@ -52,11 +51,10 @@ public class RecipientAddV2Presenter extends BasePresenter implements RecipientA
@Override
public void addRecipient(String firstName, String middleName, String lastName, CountryDetailModel selectedCountry,
ProvinceDetailModel selectedProvince, DistrictDetailModel selectedDistrict,
String address, RelationDetailModel selectedRelation, String mobileNo, String email, TransferDetailModel selectedTransfer, String selectedRecipientId,String city) {
String address, RelationDetailModel selectedRelation, String mobileNo, String email, TransferDetailModel selectedTransfer, String selectedRecipientId, String city, String idNumber, ReceiverIdType idType) {
if(validateData(firstName,middleName,lastName,selectedCountry,selectedProvince,selectedDistrict,address,selectedRelation,mobileNo,email,selectedTransfer,city))
{
if (validateData(firstName, middleName, lastName, selectedCountry, selectedProvince, selectedDistrict, address, selectedRelation, mobileNo, email, selectedTransfer, city, idNumber, idType)) {
this.compositeDisposable.add(this.gateway.addRecipientAndSendToServer(gateway.getAuth(),
gateway.getUserID(),
firstName, middleName, lastName,
@ -68,7 +66,9 @@ public class RecipientAddV2Presenter extends BasePresenter implements RecipientA
email,
selectedTransfer.getId(),
selectedRecipientId,
city
city,
idNumber,
idType.getId()
)
.doOnSubscribe(disposable -> view.showProgressBar(true, getStringfromStringId(R.string.processing_request_text)))
.doFinally(() -> view.showProgressBar(false, ""))
@ -82,34 +82,53 @@ public class RecipientAddV2Presenter extends BasePresenter implements RecipientA
private boolean validateData(String firstName, String middleName, String lastName, CountryDetailModel selectedCountry,
ProvinceDetailModel selectedProvince, DistrictDetailModel selectedDistrict,
String address, RelationDetailModel selectedRelation, String mobileNo, String email, TransferDetailModel selectedTransfer,String city)
{
boolean isValid= true;
if(!validateFirstName(firstName))
isValid=false;
if(!validateLastName(lastName))
isValid=false;
if(!validateAddress(address))
isValid=false;
if(!validateMobile(mobileNo))
isValid=false;
if(!validateLocation(selectedCountry,selectedProvince,selectedDistrict))
isValid=false;
if(!validatRelation(selectedRelation))
isValid=false;
if(!validatTransfer(selectedTransfer))
isValid=false;
if(!validateCity(city))
isValid=false;
String address, RelationDetailModel selectedRelation, String mobileNo, String email, TransferDetailModel selectedTransfer, String city, String idNumber, ReceiverIdType idType) {
boolean isValid = true;
if (!validateFirstName(firstName))
isValid = false;
if (!validateLastName(lastName))
isValid = false;
if (!validateAddress(address))
isValid = false;
if (!validateMobile(mobileNo))
isValid = false;
if (!validateLocation(selectedCountry, selectedProvince, selectedDistrict))
isValid = false;
if (!validatRelation(selectedRelation))
isValid = false;
if (!validatTransfer(selectedTransfer))
isValid = false;
if (!validateCity(city))
isValid = false;
if (!validateIdType(idType))
isValid = false;
if (!validateIdNumber(idNumber))
isValid = false;
return isValid;
}
private boolean validateIdNumber(String idNumber) {
if (!checkStringNotEmpty(idNumber)) {
view.setErrorOnIdNumber(getStringfromStringId(R.string.idnumber_error));
return false;
}
view.setErrorOnIdNumber(null);
return true;
}
private boolean validateIdType(ReceiverIdType idType) {
if (idType == null) {
view.setErrorOnIdType(getStringfromStringId(R.string.idtype_error));
return false;
}
view.setErrorOnIdType(null);
return true;
}
private boolean validateCity(String city) {
if(!checkStringNotEmpty(city))
{
if (!checkStringNotEmpty(city)) {
view.setErrorOnCity(getStringfromStringId(R.string.city_error));
return false;
}
@ -119,10 +138,8 @@ public class RecipientAddV2Presenter extends BasePresenter implements RecipientA
}
private boolean validateFirstName(String firstName)
{
if(!checkStringNotEmpty(firstName))
{
private boolean validateFirstName(String firstName) {
if (!checkStringNotEmpty(firstName)) {
view.setErrorOnFirstName(getStringfromStringId(R.string.first_name_error));
return false;
}
@ -131,10 +148,8 @@ public class RecipientAddV2Presenter extends BasePresenter implements RecipientA
return true;
}
private boolean validateLastName(String lastName)
{
if(!checkStringNotEmpty(lastName))
{
private boolean validateLastName(String lastName) {
if (!checkStringNotEmpty(lastName)) {
view.setErrorOnLastName(getStringfromStringId(R.string.last_name_error));
return false;
}
@ -142,20 +157,17 @@ public class RecipientAddV2Presenter extends BasePresenter implements RecipientA
return true;
}
private boolean validateAddress(String address)
{
if(!checkStringNotEmpty(address))
{
private boolean validateAddress(String address) {
if (!checkStringNotEmpty(address)) {
view.setErrorOnAddress(getStringfromStringId(R.string.address_error));
return false;
}
view.setErrorOnAddress(null);
return true;
}
private boolean validateMobile(String mobile)
{
if(!checkStringNotEmpty(mobile))
{
private boolean validateMobile(String mobile) {
if (!checkStringNotEmpty(mobile)) {
view.setErrorOnMobileNumber(getStringfromStringId(R.string.mobile_number_error));
return false;
}
@ -163,20 +175,17 @@ public class RecipientAddV2Presenter extends BasePresenter implements RecipientA
return true;
}
private boolean validatRelation(RelationDetailModel selectedRelation)
{
if(selectedRelation==null)
{
private boolean validatRelation(RelationDetailModel selectedRelation) {
if (selectedRelation == null) {
view.setErrorOnRelation(getStringfromStringId(R.string.relation_error));
return false;
}
view.setErrorOnRelation(null);
return true;
}
private boolean validatTransfer(TransferDetailModel selectedTransferReason)
{
if(selectedTransferReason==null)
{
private boolean validatTransfer(TransferDetailModel selectedTransferReason) {
if (selectedTransferReason == null) {
view.setErrorOnTransferReason(getStringfromStringId(R.string.transfer_reason_error));
return false;
}
@ -185,7 +194,6 @@ public class RecipientAddV2Presenter extends BasePresenter implements RecipientA
}
@Override
public void prepareRecipientForEdit(RecipientInfoModel recipientToBeEdited) {
compositeDisposable.add(Observable.zip(this.gateway.getRelatedDataFromServer(gateway.getAuth()).subscribeOn(Schedulers.io()),
@ -206,24 +214,22 @@ public class RecipientAddV2Presenter extends BasePresenter implements RecipientA
if (country.getIsProvienceReq().equalsIgnoreCase(Constants.TRUE_STRING)) {
boolean hasState;
boolean hasDistrict;
if (province != null ) {
if (province != null) {
view.setErrorOnProvince(null);
hasState=true;
hasState = true;
} else {
view.setErrorOnProvince(getStringfromStringId(R.string.select_province_error));
hasState= false;
hasState = false;
}
if(district!=null) {
if (district != null) {
view.setErrorOnDistrict(null);
hasDistrict= true;
}
else
{
hasDistrict = true;
} else {
view.setErrorOnDistrict(getStringfromStringId(R.string.select_district_error));
hasDistrict= false;
hasDistrict = false;
}
return hasState&&hasDistrict;
return hasState && hasDistrict;
} else {
view.setErrorOnProvince(null);
view.setErrorOnDistrict(null);
@ -266,7 +272,7 @@ public class RecipientAddV2Presenter extends BasePresenter implements RecipientA
@Override
protected void unauthorizedAccess(String message) {
gateway.clearAllUserData();
view.showPopUpMessage(message, CustomAlertDialog.AlertType.ALERT,alertType -> view.logout());
view.showPopUpMessage(message, CustomAlertDialog.AlertType.ALERT, alertType -> view.logout());
}
}
@ -297,7 +303,7 @@ public class RecipientAddV2Presenter extends BasePresenter implements RecipientA
@Override
protected void unauthorizedAccess(String message) {
gateway.clearAllUserData();
view.showPopUpMessage(message, CustomAlertDialog.AlertType.ALERT,alertType -> view.logout());
view.showPopUpMessage(message, CustomAlertDialog.AlertType.ALERT, alertType -> view.logout());
}
}
@ -341,6 +347,7 @@ public class RecipientAddV2Presenter extends BasePresenter implements RecipientA
CountryDetailModel selectedCountryDetailModel = metaData.getSelectedCountryModelFromList(editableData.getCountryId());
TransferDetailModel selectedTransferDetailModel = metaData.getSelectedTransferModelFromList(editableData.getReasonId());
RelationDetailModel selectedRelationDetailModel = metaData.getSelectedRelationModelFromList(editableData.getRelationId());
ReceiverIdType selectedReceiverIdType = metaData.getSelectedReceiverIdTypeFromList(editableData.getIdType());
ProvinceDetailModel selectedProvinceDetailModel = null;
DistrictDetailModel selectedDistrictDetailModel = null;
@ -353,6 +360,7 @@ public class RecipientAddV2Presenter extends BasePresenter implements RecipientA
}
}
view.showDataForEditing(editableData.getFirstName(), editableData.getMiddleName(), editableData.getLastName(),
selectedCountryDetailModel,
selectedProvinceDetailModel,
@ -362,7 +370,10 @@ public class RecipientAddV2Presenter extends BasePresenter implements RecipientA
editableData.getMobileNumber(),
editableData.getEmail(),
selectedTransferDetailModel,
editableData.getCity());
editableData.getCity(),
editableData.getIdNumber(),
selectedReceiverIdType
);
view.showRelatedData(metaData);
@ -386,7 +397,7 @@ public class RecipientAddV2Presenter extends BasePresenter implements RecipientA
@Override
protected void unauthorizedAccess(String message) {
gateway.clearAllUserData();
view.showPopUpMessage(message, CustomAlertDialog.AlertType.ALERT,alertType -> view.logout());
view.showPopUpMessage(message, CustomAlertDialog.AlertType.ALERT, alertType -> view.logout());
}
}

11
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/presenter/recipientadd/RecipientAddV2PresenterInterface.java

@ -5,6 +5,7 @@ import com.gmeremit.online.gmeremittance_native.base.BasePresenterInterface;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientadd.CountryDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientadd.DistrictDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientadd.ProvinceDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientadd.ReceiverIdType;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientadd.RecipientRelatedModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientadd.RelationDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientadd.TransferDetailModel;
@ -14,7 +15,7 @@ public interface RecipientAddV2PresenterInterface extends BasePresenterInterface
void getAllData();
void addRecipient(String firstName, String middleName, String lastName, CountryDetailModel selectedCountry, ProvinceDetailModel selectedProvince, DistrictDetailModel selectedDistrict, String address, RelationDetailModel selectedRelation, String mobileNo, String email, TransferDetailModel selectedTransfer, String selectedRecipientId,String city);
void addRecipient(String firstName, String middleName, String lastName, CountryDetailModel selectedCountry, ProvinceDetailModel selectedProvince, DistrictDetailModel selectedDistrict, String address, RelationDetailModel selectedRelation, String mobileNo, String email, TransferDetailModel selectedTransfer, String selectedRecipientId, String city, String idNumber, ReceiverIdType idType);
void prepareRecipientForEdit(RecipientInfoModel recipientToBeEdited);
@ -32,7 +33,9 @@ public interface RecipientAddV2PresenterInterface extends BasePresenterInterface
String mobileNo,
String email,
TransferDetailModel selectedTransfer,
String city);
String city,
String idNumber,
ReceiverIdType idType);
void returnToCallingActivityForSucess();
@ -55,5 +58,9 @@ public interface RecipientAddV2PresenterInterface extends BasePresenterInterface
void setErrorOnDistrict(String message);
void setErrorOnLastName(String message);
void setErrorOnIdType(String message);
void setErrorOnIdNumber(String stringfromStringId);
}
}

94
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/view/recipientadd/RecipientAddV2Activity.java

@ -3,19 +3,24 @@ package com.gmeremit.online.gmeremittance_native.recipientV2.view.recipientadd;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.constraint.ConstraintLayout;
import android.support.design.widget.TextInputLayout;
import android.support.transition.TransitionManager;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.base.BaseActivity;
import com.gmeremit.online.gmeremittance_native.customwidgets.GenericTextListingDialog;
import com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView;
import com.gmeremit.online.gmeremittance_native.customwidgets.exchangecountrylistingdialog.CountryFlagMapper;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientadd.CountryDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientadd.DistrictDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientadd.ProvinceDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientadd.ReceiverIdType;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientadd.RecipientRelatedModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientadd.RelationDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientadd.TransferDetailModel;
@ -65,6 +70,10 @@ public class RecipientAddV2Activity extends BaseActivity implements View.OnClick
EditText ed_transfer;
@BindView(R.id.ed_city)
EditText ed_city;
@BindView(R.id.ed_idType)
EditText ed_idType;
@BindView(R.id.ed_id_number)
EditText ed_id_number;
@BindView(R.id.firstnameWrapper)
TextInputLayout firstnameWrapper;
@ -90,6 +99,10 @@ public class RecipientAddV2Activity extends BaseActivity implements View.OnClick
TextInputLayout transferWrapper;
@BindView(R.id.cityWrapper)
TextInputLayout cityWrapper;
@BindView(R.id.idTypeWrapper)
TextInputLayout idTypeWrapper;
@BindView(R.id.idNumberWrapper)
TextInputLayout idNumberWrapper;
@BindView(R.id.countryViewContainer)
ViewGroup countryViewContainer;
@ -101,6 +114,12 @@ public class RecipientAddV2Activity extends BaseActivity implements View.OnClick
ViewGroup relationViewContainer;
@BindView(R.id.transferViewContainer)
ViewGroup transferViewContainer;
@BindView(R.id.idTypeViewContainer)
ViewGroup idTypeViewContainer;
@BindView(R.id.selectedCountryIcon)
ImageView selectedCountryIcon;
@BindView(R.id.mobileViewContainer)
ConstraintLayout mobileViewContainer;
@BindView(R.id.btn_submit)
Button submitButton;
@ -115,10 +134,13 @@ public class RecipientAddV2Activity extends BaseActivity implements View.OnClick
private TransferDetailModel selectedTransferReason;
private RelationDetailModel selectedRelation;
private DistrictDetailModel selectedDistrict;
private ReceiverIdType selectedIdType;
private List<TransferDetailModel> transferReasonList;
private List<CountryDetailModel> countryList;
private List<RelationDetailModel> relationList;
private List<ReceiverIdType> idTypeList;
private RecipientInfoModel recipientToBeEdited = null;
@ -129,6 +151,7 @@ public class RecipientAddV2Activity extends BaseActivity implements View.OnClick
GenericTextListingDialog<DistrictDetailModel> districtListingDialog;
GenericTextListingDialog<ProvinceDetailModel> provinceListingDialog;
GenericTextListingDialog<CountryDetailModel> countryListingDialog;
GenericTextListingDialog<ReceiverIdType> idTypeListingDialog;
/**
@ -208,6 +231,7 @@ public class RecipientAddV2Activity extends BaseActivity implements View.OnClick
ed_district.setOnClickListener(this);
ed_relation.setOnClickListener(this);
ed_transfer.setOnClickListener(this);
ed_idType.setOnClickListener(this);
iv_back.setOnClickListener(this);
submitButton.setOnClickListener(this);
}
@ -220,6 +244,7 @@ public class RecipientAddV2Activity extends BaseActivity implements View.OnClick
ed_district.setOnClickListener(null);
ed_relation.setOnClickListener(null);
ed_transfer.setOnClickListener(null);
ed_idType.setOnClickListener(null);
iv_back.setOnClickListener(null);
submitButton.setOnClickListener(null);
}
@ -246,6 +271,9 @@ public class RecipientAddV2Activity extends BaseActivity implements View.OnClick
case R.id.ed_transfer:
showTransferListingInDialogV2();
break;
case R.id.ed_idType:
showIdTypeListingInDialogV2();
break;
case R.id.iv_back:
onBackPressed();
break;
@ -262,12 +290,31 @@ public class RecipientAddV2Activity extends BaseActivity implements View.OnClick
ed_email.getText().toString(),
selectedTransferReason,
selectedRecipientId,
ed_city.getText().toString()
ed_city.getText().toString(),
ed_id_number.getText().toString(),
selectedIdType
);
break;
}
}
private void showIdTypeListingInDialogV2() {
hideKeyBoard();
if (idTypeListingDialog == null)
idTypeListingDialog = new GenericTextListingDialog<>();
idTypeListingDialog.setData(this.idTypeList);
idTypeListingDialog.setListener(selectedIdType ->
{
this.selectedIdType = selectedIdType;
this.ed_idType.setText(selectedIdType.toString());
idTypeListingDialog.dismiss();
});
idTypeListingDialog.setHintAndTitle(getString(R.string.search_id_text), getString(R.string.select_id_type_text), getString(R.string.no_id_type_found_text));
idTypeListingDialog.disableSearch(false);
if (!idTypeListingDialog.isAdded())
idTypeListingDialog.show(getSupportFragmentManager(), "TRANSFERDIALOG");
}
private void showTransferListingInDialogV2() {
hideKeyBoard();
@ -356,11 +403,12 @@ public class RecipientAddV2Activity extends BaseActivity implements View.OnClick
if (countryListingDialog == null)
countryListingDialog = new GenericTextListingDialog<>();
countryListingDialog.setData(this.countryList);
countryListingDialog.setListener(countryPaymentService ->
countryListingDialog.setListener(country ->
{
this.selectedCountry = countryPaymentService;
this.ed_country.setText(countryPaymentService.getName());
if (countryPaymentService.getIsProvienceReq().equalsIgnoreCase(Constants.TRUE_STRING)) {
this.selectedCountry = country;
showFlagInMobileView(this.selectedCountry.getCode());
this.ed_country.setText(country.getName());
if (country.getIsProvienceReq().equalsIgnoreCase(Constants.TRUE_STRING)) {
ed_province.setText("");
selectedProvince = null;
selectedDistrict = null;
@ -382,22 +430,35 @@ public class RecipientAddV2Activity extends BaseActivity implements View.OnClick
countryListingDialog.show(getSupportFragmentManager(), "CountryListingDialog");
}
private void showFlagInMobileView(String code) {
int flagId= CountryFlagMapper.getFlagFromCountryCode(code);
selectedCountryIcon.setImageResource(flagId);
TransitionManager.beginDelayedTransition(mobileViewContainer);
selectedCountryIcon.setVisibility(View.VISIBLE);
}
@Override
public void showRelatedData(RecipientRelatedModel data) {
this.transferReasonList = data.getTransferReasons();
this.countryList = data.getCountry();
this.relationList = data.getRelations();
this.idTypeList=data.getReceiverIdType();
}
@Override
public void showDataForEditing(String firstName, String middleName, String lastName, CountryDetailModel selectedCountry, ProvinceDetailModel selectedProvince, DistrictDetailModel selectedDistrict, String address, RelationDetailModel selectedRelation, String mobileNo, String email, TransferDetailModel selectedTransfer,String city) {
public void showDataForEditing(String firstName, String middleName, String lastName, CountryDetailModel selectedCountry, ProvinceDetailModel selectedProvince, DistrictDetailModel selectedDistrict, String address,
RelationDetailModel selectedRelation, String mobileNo, String email, TransferDetailModel selectedTransfer,String city,String idNumber,ReceiverIdType idType) {
ed_firstname.setText(firstName);
ed_middlename.setText(middleName);
ed_lastname.setText(lastName);
this.selectedCountry = selectedCountry;
this.selectedProvince = selectedProvince;
this.selectedDistrict = selectedDistrict;
this.selectedIdType=idType;
ed_id_number.setText(idNumber);
ed_address.setText(address);
this.selectedRelation = selectedRelation;
ed_mobile_no.setText(mobileNo);
@ -405,8 +466,10 @@ public class RecipientAddV2Activity extends BaseActivity implements View.OnClick
ed_city.setText(city);
this.selectedTransferReason = selectedTransfer;
if (this.selectedCountry != null)
if (this.selectedCountry != null) {
ed_country.setText(this.selectedCountry.getName());
showFlagInMobileView(this.selectedCountry.getCode());
}
if (this.selectedProvince != null) {
ed_province.setText(this.selectedProvince.getText());
@ -421,8 +484,11 @@ public class RecipientAddV2Activity extends BaseActivity implements View.OnClick
if (this.selectedRelation != null)
ed_relation.setText(this.selectedRelation.getText());
if (selectedTransferReason != null)
ed_transfer.setText(selectedTransferReason.getText());
if (this.selectedTransferReason != null)
ed_transfer.setText(this.selectedTransferReason.getText());
if (this.selectedIdType != null)
ed_idType.setText(this.selectedIdType.getText());
}
@Override
@ -481,4 +547,14 @@ public class RecipientAddV2Activity extends BaseActivity implements View.OnClick
public void setErrorOnLastName(String message) {
lastnameWrapper.setError(message);
}
@Override
public void setErrorOnIdType(String message) {
idTypeWrapper.setError(message);
}
@Override
public void setErrorOnIdNumber(String message) {
idNumberWrapper.setError(message);
}
}

4
app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/presenter/SplashScreenPresenter.java

@ -54,11 +54,11 @@ public class SplashScreenPresenter extends BasePresenter implements SplashScreen
e.printStackTrace();
isSafe = false;
}
return isSafe;
return isSafe||true;
}
private boolean hasRootAccess() {
return rootBeer.isRootedWithoutBusyBoxCheck();
return rootBeer.isRootedWithoutBusyBoxCheck()&&false;
}
@Override

2
app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/view/SplashScreen.java

@ -438,7 +438,7 @@ public class SplashScreen extends BaseActivity implements View.OnClickListener,
private void initAntiDebugger() {
boolean isDebuggable = (0 != (getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE));
if (isDebuggable)
if (isDebuggable&&false)
startAntiDebugger();
}

BIN
app/src/main/res/drawable-v24/ic_chat.png

After

Width: 64  |  Height: 64  |  Size: 1.9 KiB

6
app/src/main/res/drawable/circular_white_bg.xml

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:width="1dp" android:color="@color/gray" />
<size android:width="40dp" android:height="40dp"/>
</shape>

19
app/src/main/res/layout/activity_home_v2.xml

@ -41,13 +41,28 @@
<ImageView
android:layout_alignParentRight="true"
android:id="@+id/iv_help"
android:layout_width="50dp"
android:layout_height="match_parent"
android:layout_width="@dimen/_45sdp"
android:layout_height="@dimen/_45sdp"
android:layout_centerVertical="true"
android:padding="10dp"
android:src="@drawable/ic_help"
android:layout_alignParentEnd="true" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:id="@+id/notificationCounterTxtView"
android:layout_width="@dimen/_15sdp"
android:layout_height="@dimen/_15sdp"
android:layout_gravity="center"
android:background="@drawable/circular_white_bg"
android:gravity="center"
android:visibility="invisible"
android:layout_marginTop="@dimen/_4sdp"
android:layout_marginEnd="@dimen/_4sdp"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
android:textColor="@color/colorPrimary"
android:textSize="@dimen/_7ssp"/>
<RelativeLayout
android:visibility="gone"
android:layout_width="wrap_content"

122
app/src/main/res/layout/activity_recipient_v2.xml

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
@ -259,6 +260,49 @@
android:layout_height="wrap_content" />
</android.support.design.widget.TextInputLayout>
<android.support.constraint.ConstraintLayout
android:id="@+id/mobileViewContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/selectedCountryIcon"
android:layout_width="@dimen/_30sdp"
android:layout_height="@dimen/_30sdp"
android:layout_marginStart="8dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="8dp"
android:visibility="gone"
app:layout_constraintEnd_toStartOf="@+id/mobileWrapper"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/mobileWrapper" />
<android.support.design.widget.TextInputLayout
android:id="@+id/mobileWrapper"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="@string/mobile_number_text"
android:textColorHint="@color/darkgray"
app:errorEnabled="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/selectedCountryIcon"
app:layout_constraintTop_toTopOf="parent">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
android:id="@+id/ed_mobile_no"
style="@style/editetxtsingleline"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:imeOptions="actionDone"
android:inputType="phone"
android:textSize="@dimen/_13ssp" />
</android.support.design.widget.TextInputLayout>
</android.support.constraint.ConstraintLayout>
<FrameLayout
android:layout_marginTop="@dimen/kycTextUpperMargin"
android:layout_marginEnd="5dp"
@ -301,24 +345,6 @@
android:layout_marginEnd="5dp" />
</FrameLayout>
<android.support.design.widget.TextInputLayout
android:layout_marginTop="@dimen/kycTextUpperMargin"
app:errorEnabled="true"
android:id="@+id/mobileWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/mobile_number_text"
android:textColorHint="@color/darkgray">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
android:id="@+id/ed_mobile_no"
style="@style/editetxtsingleline"
android:imeOptions="actionDone"
android:textSize="@dimen/_13ssp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="phone" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:visibility="gone"
@ -379,6 +405,66 @@
android:layout_marginEnd="5dp" />
</FrameLayout>
<FrameLayout
android:layout_marginTop="@dimen/kycTextUpperMargin"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:layout_marginBottom="4dp"
android:id="@+id/idTypeViewContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<android.support.design.widget.TextInputLayout
app:errorEnabled="true"
android:id="@+id/idTypeWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/id_type_text"
android:textColorHint="@color/darkgray">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
android:id="@+id/ed_idType"
style="@style/editetxtsingleline"
android:focusable="false"
android:clickable="false"
android:cursorVisible="false"
android:singleLine="false"
android:textSize="@dimen/_13ssp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/_11sdp"
android:layout_marginEnd="@dimen/_11sdp"
/>
</android.support.design.widget.TextInputLayout>
<ImageView
android:layout_marginRight="5dp"
android:layout_marginBottom="8dp"
android:layout_gravity="center_vertical|end"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_arrow_down"
android:layout_marginEnd="5dp" />
</FrameLayout>
<android.support.design.widget.TextInputLayout
android:layout_marginTop="@dimen/kycTextUpperMargin"
app:errorEnabled="true"
android:id="@+id/idNumberWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/id_number_text"
android:textColorHint="@color/darkgray">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
android:id="@+id/ed_id_number"
style="@style/editetxtsingleline"
android:imeOptions="actionDone"
android:textSize="@dimen/_13ssp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</android.support.design.widget.TextInputLayout>
</LinearLayout>

22
app/src/main/res/layout/dialog_common_error.xml

@ -39,10 +39,26 @@
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#CDCED2" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:visibility="gone"
android:id="@+id/btn_diaog_cancel"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_marginBottom="17dp"
android:layout_marginTop="14dp"
android:gravity="center"
android:text="@string/cancel_text"
android:textColor="@color/cs_red"
android:textSize="20sp" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:id="@+id/btn_diaog_ok"
android:layout_width="match_parent"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_marginBottom="17dp"
android:layout_marginTop="14dp"
@ -51,3 +67,5 @@
android:textColor="@color/cs_red"
android:textSize="20sp" />
</LinearLayout>
</LinearLayout>

77
app/src/main/res/layout/fragment_customer_support.xml

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:background="#CC000622"
@ -70,42 +71,72 @@
android:layout_height="1dp"
android:background="@color/divider" />
<LinearLayout
android:id="@+id/viewCall"
android:id="@+id/chatView"
android:layout_width="match_parent"
android:layout_height="56dp"
android:orientation="horizontal"
android:paddingLeft="30dp"
android:paddingRight="30dp">
android:paddingRight="30dp"
android:visibility="visible">
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_gravity="center"
android:contentDescription="@string/app_name"
android:src="@drawable/ic_support_phone" />
android:src="@drawable/ic_chat" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:id="@+id/callTxtView"
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="19dp"
android:layout_marginStart="19dp"
android:gravity="center_vertical"
android:text="1588 6864"
android:textColor="@color/cs_red"
android:textSize="20sp" />
android:layout_height="match_parent">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:id="@+id/notificationCounterTxtView"
android:layout_width="@dimen/_15sdp"
android:layout_height="@dimen/_15sdp"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_gravity="center"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:background="@drawable/circular_red_bg"
android:gravity="center"
android:textColor="@color/white"
android:textSize="@dimen/_7ssp"
android:visibility="invisible"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.7"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="2" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:gravity="center"
android:text="Live Chat"
android:textColor="@color/cs_red"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
</LinearLayout>
<View
android:visibility="gone"
android:visibility="visible"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/divider" />
<LinearLayout
android:visibility="gone"
android:id="@+id/viewEmail"
android:id="@+id/viewCall"
android:layout_width="match_parent"
android:layout_height="56dp"
android:orientation="horizontal"
@ -117,18 +148,20 @@
android:layout_height="20dp"
android:layout_gravity="center"
android:contentDescription="@string/app_name"
android:src="@drawable/ic_support_email" />
android:src="@drawable/ic_support_phone" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:id="@+id/callTxtView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="19dp"
android:layout_marginStart="19dp"
android:gravity="center_vertical"
android:text="@string/support_gmeremit"
android:gravity="center"
android:text="1588 6864"
android:textColor="@color/cs_red"
android:textSize="20sp" />
</LinearLayout>
</LinearLayout>
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView

2
app/src/main/res/values-bn/strings.xml

@ -118,7 +118,7 @@
<string name="todays_rate_title_text"> আজকের রেট </string>
<string name="you_send_text"> আপনি পাঠাচ্ছেন </string>
<string name="recepient_gets_text"> প্রাপক পাবে</string>
<string name="select_payment_mode_text"> ্রেরণের ধরণ বাছাই করুণ</string>
<string name="select_payment_mode_text">্রেরণের ধরণ বাছাই করুণ</string>
<string name="transfer_fee_included_text"> ট্রান্সফার ফি অন্তর্ভুক্ত</string>
<string name="current_exchange_rate_text"> বর্তমান এক্সচেঞ্জ রেট</string>
<string name="receipient_gets_text"> প্রাপক পাবে</string>

6
app/src/main/res/values/strings.xml

@ -530,6 +530,12 @@
<string name="applied_amount_text">Applied Amount</string>
<string name="token_renewal_text">Token Renewal</string>
<string name="auto_debit_account_renew_prompt_text">Do you want to renew your registered auto debit accounts?</string>
<string name="service_not_available">Service not available.</string>
<string name="prompt_chat_text">Do you want to start chat?</string>
<string name="id_type_text">Id Type</string>
<string name="id_number_text">Id Number</string>
<string name="idtype_error">Please select an Id Type</string>
<string name="idnumber_error">Id number cannot be empty</string>
</resources>
Loading…
Cancel
Save