Browse Source

Resend basic structure made

master
preyearegmi 6 years ago
parent
commit
8885bbf1fa
  1. BIN
      .idea/caches/build_file_checksums.ser
  2. BIN
      .idea/caches/gradle_models.ser
  3. 29
      .idea/codeStyles/Project.xml
  4. 6
      .idea/encodings.xml
  5. 15
      .idea/gradle.xml
  6. 39
      .idea/misc.xml
  7. 12
      .idea/modules.xml
  8. 6
      .idea/vcs.xml
  9. 4
      app/build.gradle
  10. 24
      app/src/main/AndroidManifest.xml
  11. 1
      app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/HomeParentViewContractV2.java
  12. 17
      app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeActivityV2.java
  13. 4
      app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeFragmentV2.java
  14. 21
      app/src/main/java/com/gmeremit/online/gmeremittance_native/resendV2/ReSendMoneyActionListener.java
  15. 28
      app/src/main/java/com/gmeremit/online/gmeremittance_native/resendV2/ReSendMoneyScreenManager.java
  16. 102
      app/src/main/java/com/gmeremit/online/gmeremittance_native/resendV2/gateway/ReSendMoneyV2Gateway.java
  17. 52
      app/src/main/java/com/gmeremit/online/gmeremittance_native/resendV2/presenter/ReSendMoneyV2InteractorInterface.java
  18. 272
      app/src/main/java/com/gmeremit/online/gmeremittance_native/resendV2/presenter/ReSendMoneyV2Presenter.java
  19. 48
      app/src/main/java/com/gmeremit/online/gmeremittance_native/resendV2/presenter/ReSendMoneyV2PresenterInterface.java
  20. 175
      app/src/main/java/com/gmeremit/online/gmeremittance_native/resendV2/view/ReSendMoneyV2Activity.java
  21. 519
      app/src/main/java/com/gmeremit/online/gmeremittance_native/resendV2/view/amountdetail/ResendMoneyAmountDetailFragment.java
  22. 195
      app/src/main/java/com/gmeremit/online/gmeremittance_native/resendV2/view/verification/ResendVerificationDetailFragment.java
  23. BIN
      app/src/main/res/drawable-xxhdpi/ic_menu_resendmoney.png
  24. 22
      app/src/main/res/layout/activity_re_send_money_v2.xml
  25. 238
      app/src/main/res/layout/fragment_amount_detail_resend_money_v2.xml
  26. 393
      app/src/main/res/layout/fragment_verification_resend_money_v2.xml
  27. 31
      app/src/main/res/layout/nav_drawer_fragment.xml
  28. 354
      app/src/main/res/values/strings.xml

BIN
.idea/caches/build_file_checksums.ser

BIN
.idea/caches/gradle_models.ser

29
.idea/codeStyles/Project.xml

@ -0,0 +1,29 @@
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<Objective-C-extensions>
<file>
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Import" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Macro" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Typedef" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Enum" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Constant" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Global" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Struct" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="FunctionPredecl" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Function" />
</file>
<class>
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Property" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Synthesize" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InitMethod" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="StaticMethod" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InstanceMethod" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="DeallocMethod" />
</class>
<extensions>
<pair source="cpp" header="h" fileNamingConvention="NONE" />
<pair source="c" header="h" fileNamingConvention="NONE" />
</extensions>
</Objective-C-extensions>
</code_scheme>
</component>

6
.idea/encodings.xml

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="PROJECT" charset="UTF-8" />
</component>
</project>

15
.idea/gradle.xml

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<compositeConfiguration>
<compositeBuild compositeDefinitionSource="SCRIPT" />
</compositeConfiguration>
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="resolveModulePerSourceSet" value="false" />
</GradleProjectSettings>
</option>
</component>
</project>

39
.idea/misc.xml

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="NullableNotNullManager">
<option name="myDefaultNullable" value="android.support.annotation.Nullable" />
<option name="myDefaultNotNull" value="android.support.annotation.NonNull" />
<option name="myNullables">
<value>
<list size="10">
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
<item index="2" class="java.lang.String" itemvalue="javax.annotation.CheckForNull" />
<item index="3" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" />
<item index="4" class="java.lang.String" itemvalue="android.support.annotation.Nullable" />
<item index="5" class="java.lang.String" itemvalue="androidx.annotation.Nullable" />
<item index="6" class="java.lang.String" itemvalue="androidx.annotation.RecentlyNullable" />
<item index="7" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.qual.Nullable" />
<item index="8" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableDecl" />
<item index="9" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableType" />
</list>
</value>
</option>
<option name="myNotNulls">
<value>
<list size="9">
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
<item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
<item index="3" class="java.lang.String" itemvalue="android.support.annotation.NonNull" />
<item index="4" class="java.lang.String" itemvalue="androidx.annotation.NonNull" />
<item index="5" class="java.lang.String" itemvalue="androidx.annotation.RecentlyNonNull" />
<item index="6" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.qual.NonNull" />
<item index="7" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullDecl" />
<item index="8" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullType" />
</list>
</value>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
</project>

12
.idea/modules.xml

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<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$/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$/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" />
</modules>
</component>
</project>

6
.idea/vcs.xml

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

4
app/build.gradle

@ -30,7 +30,7 @@ android {
setProperty("archivesBaseName", "GME_" + dateTime + "_v" + versionCode + "(" + versionName + ")") setProperty("archivesBaseName", "GME_" + dateTime + "_v" + versionCode + "(" + versionName + ")")
ndk { ndk {
abiFilters "armeabi-v7a", "x86"
abiFilters "armeabi-v7a", "x86"
} }
} }
@ -94,7 +94,7 @@ android {
applicationIdSuffix ".uat" applicationIdSuffix ".uat"
signingConfig signingConfigs.debug signingConfig signingConfigs.debug
// buildConfigField 'String', 'BASE_URL', '"http://gmeuat.gmeremit.com:5012/api/"' // buildConfigField 'String', 'BASE_URL', '"http://gmeuat.gmeremit.com:5012/api/"'
buildConfigField 'String', 'BASE_URL', '"http://gmeuat.gmeremit.com:5029/api/"'
buildConfigField 'String', 'BASE_URL', '"http://gmeuat.gmeremit.com:5029/api/"'
buildConfigField 'String', 'BASE_URL_SOCIAL', '"http://10.1.1.171:8080/v1/"' buildConfigField 'String', 'BASE_URL_SOCIAL', '"http://10.1.1.171:8080/v1/"'
debuggable true debuggable true
minifyEnabled false minifyEnabled false

24
app/src/main/AndroidManifest.xml

@ -23,6 +23,11 @@
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/AppTheme" android:theme="@style/AppTheme"
tools:replace="android:allowBackup"> tools:replace="android:allowBackup">
<activity android:name=".resendV2.view.ReSendMoneyV2Activity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar"
android:windowSoftInputMode="stateAlwaysHidden"></activity>
<provider <provider
android:name="android.support.v4.content.FileProvider" android:name="android.support.v4.content.FileProvider"
android:authorities="${fileProvider}" android:authorities="${fileProvider}"
@ -51,24 +56,17 @@
<category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter> </intent-filter>
</activity>
<!-- <meta-data -->
</activity> <!-- <meta-data -->
<!-- android:name="com.facebook.sdk.ApplicationId" --> <!-- android:name="com.facebook.sdk.ApplicationId" -->
<!-- android:value="@string/facebook_app_id" /> --> <!-- android:value="@string/facebook_app_id" /> -->
<!-- <activity --> <!-- <activity -->
<!-- android:name="com.facebook.FacebookActivity" --> <!-- android:name="com.facebook.FacebookActivity" -->
<!-- android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" --> <!-- android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" -->
<!-- android:label="@string/app_name" /> --> <!-- android:label="@string/app_name" /> -->
<!-- <provider --> <!-- <provider -->
<!-- android:name="com.facebook.FacebookContentProvider" --> <!-- android:name="com.facebook.FacebookContentProvider" -->
<!-- android:authorities="com.facebook.app.FacebookContentProvider331163960743784" --> <!-- android:authorities="com.facebook.app.FacebookContentProvider331163960743784" -->
<!-- android:exported="true" /> --> <!-- android:exported="true" /> -->
<activity <activity
android:name=".socials.view.CommentsActivity" android:name=".socials.view.CommentsActivity"
android:theme="@style/AppTheme.NoActionBar" android:theme="@style/AppTheme.NoActionBar"
@ -78,8 +76,7 @@
<intent-filter> <intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" /> <action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter> </intent-filter>
</service>
<!-- [END firebase_service] -->
</service> <!-- [END firebase_service] -->
<!-- [START firebase_iid_service] --> <!-- [START firebase_iid_service] -->
<service android:name=".push_notifications.MyFirebaseInstanceIDService"> <service android:name=".push_notifications.MyFirebaseInstanceIDService">
<intent-filter> <intent-filter>
@ -186,8 +183,7 @@
android:name=".settings.view.SettingsView" android:name=".settings.view.SettingsView"
android:screenOrientation="portrait" android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar" android:theme="@style/AppTheme.NoActionBar"
android:windowSoftInputMode="stateHidden" />
<!-- <activity -->
android:windowSoftInputMode="stateHidden" /> <!-- <activity -->
<!-- android:name="com.yalantis.ucrop.UCropActivity" --> <!-- android:name="com.yalantis.ucrop.UCropActivity" -->
<!-- android:screenOrientation="portrait" --> <!-- android:screenOrientation="portrait" -->
<!-- android:theme="@style/Theme.AppCompat.Light.NoActionBar" /> --> <!-- android:theme="@style/Theme.AppCompat.Light.NoActionBar" /> -->
@ -284,10 +280,10 @@
android:windowSoftInputMode="stateAlwaysHidden" /> android:windowSoftInputMode="stateAlwaysHidden" />
<activity <activity
android:name=".homeV2.view.HomeActivityV2" android:name=".homeV2.view.HomeActivityV2"
android:configChanges="locale"
android:screenOrientation="portrait" android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar" android:theme="@style/AppTheme.NoActionBar"
android:windowSoftInputMode="stateAlwaysHidden"
android:configChanges="locale"/>
android:windowSoftInputMode="stateAlwaysHidden" />
<activity <activity
android:name=".transactionhistoryV2.view.TransactionHistoryActivityV2" android:name=".transactionhistoryV2.view.TransactionHistoryActivityV2"
android:screenOrientation="portrait" android:screenOrientation="portrait"

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

@ -16,4 +16,5 @@ public interface HomeParentViewContractV2 {
HomeV2PresenterInterface getPresenter(); HomeV2PresenterInterface getPresenter();
void showResendMoneyView();
} }

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

@ -41,6 +41,8 @@ import com.gmeremit.online.gmeremittance_native.homeV2.presenter.HomeV2Presenter
import com.gmeremit.online.gmeremittance_native.homeV2.presenter.HomeV2PresenterInterface; 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.int_notification.view.IntNotificationView;
import com.gmeremit.online.gmeremittance_native.recipientV2.view.recipientlisting.RecipientListingV2Activity; 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.resetpassV2.view.ResetPassV2Activity;
import com.gmeremit.online.gmeremittance_native.settings.view.SettingsView; import com.gmeremit.online.gmeremittance_native.settings.view.SettingsView;
import com.gmeremit.online.gmeremittance_native.splash_screen.view.SplashScreen; import com.gmeremit.online.gmeremittance_native.splash_screen.view.SplashScreen;
import com.gmeremit.online.gmeremittance_native.static_pages.view.AboutGME; import com.gmeremit.online.gmeremittance_native.static_pages.view.AboutGME;
@ -166,7 +168,7 @@ 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_support, R.id.view_setting, R.id.view_logout, R.id.iv_close, R.id.iv_notification,R.id.manageAccountsViewGroup})
@OnClick({R.id.iv_help, R.id.iv_nav, R.id.btn_withdraw, R.id.view_about_gme, R.id.view_support, 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) { public void onClick(View view) {
switch (view.getId()) { switch (view.getId()) {
case R.id.iv_help: case R.id.iv_help:
@ -208,6 +210,10 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra
startActivity(new Intent(HomeActivityV2.this,AutoDebitAccountListingV2Activity.class)); startActivity(new Intent(HomeActivityV2.this,AutoDebitAccountListingV2Activity.class));
break; break;
case R.id.view_transaction_report:
showTransactionStatementView();
break;
} }
} }
@ -324,6 +330,15 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra
return presenter; return presenter;
} }
@Override
public void showResendMoneyView() {
String unverifiedMessage = presenter.checkIfUserVerified();
if (unverifiedMessage == null)
startActivity(new Intent(getApplicationContext(), ReSendMoneyV2Activity.class));
else
showPopUpMessage(unverifiedMessage, CustomAlertDialog.AlertType.ALERT, null);
}
@Override @Override
public void showInfoInDrawer(String fullname, String email, String balance, String walletNumber, String bankName, String contact) { public void showInfoInDrawer(String fullname, String email, String balance, String walletNumber, String bankName, String contact) {

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

@ -142,7 +142,7 @@ public class HomeFragmentV2 extends BaseFragment implements HomeMenuRvAdapterV2.
menuList.add(new MenuItem(getString(R.string.send_money_text), R.drawable.ic_menu_sendmoney, 1)); menuList.add(new MenuItem(getString(R.string.send_money_text), R.drawable.ic_menu_sendmoney, 1));
// menuList.add(new MenuItem("Mobile Recharge", R.drawable.ic_menu_recharge, 2)); // menuList.add(new MenuItem("Mobile Recharge", R.drawable.ic_menu_recharge, 2));
menuList.add(new MenuItem(getString(R.string.todays_rate_text), R.drawable.ic_menu_exchange_rate, 3)); menuList.add(new MenuItem(getString(R.string.todays_rate_text), R.drawable.ic_menu_exchange_rate, 3));
menuList.add(new MenuItem(getString(R.string.transaction_report_text), R.drawable.ic_menu_statement, 5));
menuList.add(new MenuItem(getString(R.string.resend_money_text), R.drawable.ic_menu_resendmoney, 5));
menuList.add(new MenuItem(getString(R.string.gme_wallet_statement_text) , R.drawable.ic_menu_trackloc, 4)); menuList.add(new MenuItem(getString(R.string.gme_wallet_statement_text) , R.drawable.ic_menu_trackloc, 4));
// menuList.add(new MenuItem("Wallet to Wallet Transfer", R.drawable.ic_menu_wallet, 6)); // menuList.add(new MenuItem("Wallet to Wallet Transfer", R.drawable.ic_menu_wallet, 6));
return menuList; return menuList;
@ -175,7 +175,7 @@ public class HomeFragmentV2 extends BaseFragment implements HomeMenuRvAdapterV2.
parentViewContractV2.showWalletStatment(); parentViewContractV2.showWalletStatment();
break; break;
case 5: case 5:
parentViewContractV2.showTransactionStatementView();
parentViewContractV2.showResendMoneyView();
break; break;
case 6: case 6:
parentViewContractV2.showWalletToWalletView(); parentViewContractV2.showWalletToWalletView();

21
app/src/main/java/com/gmeremit/online/gmeremittance_native/resendV2/ReSendMoneyActionListener.java

@ -0,0 +1,21 @@
package com.gmeremit.online.gmeremittance_native.resendV2;
import com.gmeremit.online.gmeremittance_native.resendV2.presenter.ReSendMoneyV2PresenterInterface;
/**
* Created by Preyea
* Interface to bind send money indivisual transaction view with the contained activity.
*/
public interface ReSendMoneyActionListener {
void showTransactionReviewPage();
ReSendMoneyV2PresenterInterface getPresenter();
}

28
app/src/main/java/com/gmeremit/online/gmeremittance_native/resendV2/ReSendMoneyScreenManager.java

@ -0,0 +1,28 @@
package com.gmeremit.online.gmeremittance_native.resendV2;
import android.support.annotation.LayoutRes;
import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.base.BaseFragment;
import com.gmeremit.online.gmeremittance_native.resendV2.view.amountdetail.ResendMoneyAmountDetailFragment;
import com.gmeremit.online.gmeremittance_native.resendV2.view.verification.ResendVerificationDetailFragment;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.view.amountdetail.AmountDetailSendMoneyFragment;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.view.payoutmode.PayoutModeSendMoneyFragment;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.view.verification.VerificationSendMoneyFragment;
public class ReSendMoneyScreenManager
{
public static BaseFragment getReSendMoneyScreenFromId(@LayoutRes int layoutID )
{
switch(layoutID)
{
case R.layout.fragment_amount_detail_resend_money_v2:
return new ResendMoneyAmountDetailFragment();
case R.layout.fragment_verification_resend_money_v2:
return new ResendVerificationDetailFragment();
default:
return null;
}
}
}

102
app/src/main/java/com/gmeremit/online/gmeremittance_native/resendV2/gateway/ReSendMoneyV2Gateway.java

@ -0,0 +1,102 @@
package com.gmeremit.online.gmeremittance_native.resendV2.gateway;
import android.content.SharedPreferences;
import com.gmeremit.online.gmeremittance_native.GmeApplication;
import com.gmeremit.online.gmeremittance_native.agentsV2.model.AgentsListApiResponse;
import com.gmeremit.online.gmeremittance_native.agentsV2.presenter.AgentListV2InteractorInterface;
import com.gmeremit.online.gmeremittance_native.base.PrefKeys;
import com.gmeremit.online.gmeremittance_native.base.PrivilegedGateway;
import com.gmeremit.online.gmeremittance_native.exchange_rate.model.datav2.ExchangeCalculationApiResponse;
import com.gmeremit.online.gmeremittance_native.resendV2.presenter.ReSendMoneyV2InteractorInterface;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.SendMoneyAPIRequestBody;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.SendMoneyTransactionResponseBody;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.amountdetail.BranchListApiResponse;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.payoutmode.AccountValidationApiResponse;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.payoutmode.PayoutModeApiResponse;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.presenter.SendMoneyV2InteractorInterface;
import com.gmeremit.online.gmeremittance_native.utils.https.HttpClientV2;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonObject;
import io.reactivex.Observable;
public class ReSendMoneyV2Gateway extends PrivilegedGateway implements ReSendMoneyV2InteractorInterface.ReSendMoneyV2GatewayInterface {
private final ReSendMoneyV2InteractorInterface interactor;
public ReSendMoneyV2Gateway(ReSendMoneyV2InteractorInterface sendMoneyV2InteractorInterface) {
this.interactor=sendMoneyV2InteractorInterface;
}
@Override
public Observable<ExchangeCalculationApiResponse> sendDataForForexCalculation(String auth, String senderCountryId, String senderCurrency, String recieverCurrency,
String senderAmount, String recieverAmount, String paymentMethodId,
String calculationPreference, String recipientCountryName, String recieverCountryId,
String bankId,String payoutPartnerId,String userID,String paymentType) {
JsonObject jsonObject=new JsonObject();
jsonObject.addProperty("sCountry",senderCountryId);
jsonObject.addProperty("sCurrency",senderCurrency);
jsonObject.addProperty("pCurrency",recieverCurrency);
jsonObject.addProperty("calcBy",calculationPreference);
jsonObject.addProperty("cAmount",senderAmount);
jsonObject.addProperty("pAmount",recieverAmount);
jsonObject.addProperty("serviceType",paymentMethodId);
jsonObject.addProperty("pCountry",recieverCountryId);
jsonObject.addProperty("pCountryName",recipientCountryName);
jsonObject.addProperty("pAgent",bankId);
jsonObject.addProperty("paymentType",paymentType);
jsonObject.addProperty("payOutPartner",payoutPartnerId);
jsonObject.addProperty("userId",userID);
return HttpClientV2.getInstance().calculateForSendMoneyExchangeRateV2(auth,jsonObject);
}
@Override
public Observable<BranchListApiResponse> getBranchListFromNetwork(String auth, String countryCode, String bankId, String searchKeyword) {
return HttpClientV2.getInstance().getBranchListV2(auth,countryCode,bankId,searchKeyword);
}
@Override
public Observable<AccountValidationApiResponse> validateAccountFromServer(String auth, String idType, String idNumber, String customerFirstName,
String customerLastName, String receiverFirstName, String receiverLastName,
String country, String accountType, String issuerCode, String accountNo,
String amount, String bankCode, String payoutPartner, String processId) {
JsonObject jsonObject=new JsonObject();
jsonObject.addProperty("idType",idType);
jsonObject.addProperty("idNumber",idNumber);
jsonObject.addProperty("customerFirstName",customerFirstName);
jsonObject.addProperty("customerLastName",customerLastName);
jsonObject.addProperty("receiverFirstName",receiverFirstName);
jsonObject.addProperty("receiverLastName",receiverLastName);
jsonObject.addProperty("country",country);
jsonObject.addProperty("accountType",accountType);
jsonObject.addProperty("issuerCode",issuerCode);
jsonObject.addProperty("accountNo",accountNo);
jsonObject.addProperty("amount",amount);
jsonObject.addProperty("bankCode",bankCode);
jsonObject.addProperty("payoutPartner",payoutPartner);
jsonObject.addProperty("processId",processId);
return HttpClientV2.getInstance().accountValidationV2(auth,jsonObject);
}
@Override
public Observable<SendMoneyTransactionResponseBody> performSendMoneyTransaction(String auth, SendMoneyAPIRequestBody requestBody) {
return HttpClientV2.getInstance().performSendMoneyTransactionV2(auth,requestBody);
}
@Override
public Observable<PayoutModeApiResponse> getAgentInfoListFromNetwork(String auth, String recipientCountryId, String recipientId) {
return HttpClientV2.getInstance().getPayoutModeForSendMoneyV2(auth,recipientCountryId,recipientId);
}
}

52
app/src/main/java/com/gmeremit/online/gmeremittance_native/resendV2/presenter/ReSendMoneyV2InteractorInterface.java

@ -0,0 +1,52 @@
package com.gmeremit.online.gmeremittance_native.resendV2.presenter;
import com.gmeremit.online.gmeremittance_native.agentsV2.model.AgentsListApiResponse;
import com.gmeremit.online.gmeremittance_native.base.BaseInteractorInterface;
import com.gmeremit.online.gmeremittance_native.base.PrivilegedGatewayInterface;
import com.gmeremit.online.gmeremittance_native.exchange_rate.model.datav2.ExchangeCalculationApiResponse;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.SendMoneyAPIRequestBody;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.SendMoneyTransactionResponseBody;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.amountdetail.BranchListApiResponse;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.payoutmode.AccountValidationApiResponse;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.payoutmode.PayoutModeApiResponse;
import io.reactivex.Observable;
public interface ReSendMoneyV2InteractorInterface extends BaseInteractorInterface {
interface ReSendMoneyV2GatewayInterface extends PrivilegedGatewayInterface
{
Observable<PayoutModeApiResponse> getAgentInfoListFromNetwork(String auth,String recipientCountryId, String recipientId);
Observable<ExchangeCalculationApiResponse> sendDataForForexCalculation(String auth, String senderCountryId, String senderCurrency, String recieverCurrency,
String senderAmount, String recieverAmount, String paymentMethodId,
String calculationPreference, String recipientCountryName, String recieverCountryId,
String bankId,String payoutPartnerId,String userID,String paymentType);
Observable<BranchListApiResponse> getBranchListFromNetwork(String auth, String countryCode, String bankId,String searchKeyword);
Observable<AccountValidationApiResponse> validateAccountFromServer(String auth,
String idType,
String idNumber,
String customerFirstName,
String customerLastName,
String receiverFirstName,
String receiverLastName,
String country,
String accountType,
String issuerCode,
String accountNo,
String amount,
String bankCode,
String payoutPartner,
String processId);
Observable<SendMoneyTransactionResponseBody> performSendMoneyTransaction(String auth, SendMoneyAPIRequestBody requestBody);
}
}

272
app/src/main/java/com/gmeremit/online/gmeremittance_native/resendV2/presenter/ReSendMoneyV2Presenter.java

@ -0,0 +1,272 @@
package com.gmeremit.online.gmeremittance_native.resendV2.presenter;
import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.autodebitV2.model.autodebitaccountlisting.AutoDebitAccount;
import com.gmeremit.online.gmeremittance_native.autodebitV2.model.autodebitaccountlisting.WebRequestModel;
import com.gmeremit.online.gmeremittance_native.base.BasePresenter;
import com.gmeremit.online.gmeremittance_native.customwidgets.CustomAlertDialog;
import com.gmeremit.online.gmeremittance_native.exchange_rate.model.datav2.ExchangeCalculationApiResponse;
import com.gmeremit.online.gmeremittance_native.homeV2.model.UserInfoModelV2;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientlisting.RecipientInfoModel;
import com.gmeremit.online.gmeremittance_native.resendV2.gateway.ReSendMoneyV2Gateway;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.gateway.SendMoneyV2Gateway;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.SendMoneyAPIRequestBody;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.SendMoneyRequiredData;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.SendMoneyTransactionResponseBody;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.amountdetail.AmountDetailRelatedDataModel;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.amountdetail.BranchListApiResponse;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.amountdetail.RecipientCurrencyModel;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.payoutmode.AccountValidationApiResponse;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.payoutmode.BankList;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.payoutmode.BranchList;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.payoutmode.PayoutMode;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.payoutmode.PayoutModeApiResponse;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.verification.VerificationViewModel;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.presenter.SendMoneyV2InteractorInterface;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.presenter.SendMoneyV2PresenterInterface;
import com.gmeremit.online.gmeremittance_native.transactionpasspromt.PasswordPromptListener;
import com.gmeremit.online.gmeremittance_native.utils.Constants;
import com.gmeremit.online.gmeremittance_native.utils.Utils;
import com.gmeremit.online.gmeremittance_native.utils.https.GenericApiObserverResponse;
import java.util.ArrayList;
import java.util.List;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.CompositeDisposable;
import io.reactivex.schedulers.Schedulers;
public class ReSendMoneyV2Presenter extends BasePresenter implements ReSendMoneyV2PresenterInterface, ReSendMoneyV2InteractorInterface {
private final CompositeDisposable compositeObservable;
ReSendMoneyV2ContractInterface view;
ReSendMoneyV2GatewayInterface gateway;
public ReSendMoneyV2Presenter(ReSendMoneyV2ContractInterface view) {
this.view = view;
this.gateway = new ReSendMoneyV2Gateway(this);
this.compositeObservable = new CompositeDisposable();
}
@Override
public void clearPaymentData() {
}
@Override
public VerificationViewModel getVerificationRelatedData() {
// String fullName = this.selectedRecipient.getFirstName() + " " + this.selectedRecipient.getMiddleName() + " " + this.selectedRecipient.getLastName();
// String address = this.selectedRecipient.getAddress();
// String country = this.selectedRecipient.getCountry();
// String mobile = this.selectedRecipient.getMobileNumber();
// String pCountry = this.selectedRecipient.getCountry();
// String pMode = this.selectedPaymentModeData.getMode();
// String pAmount = this.selectedRecievingAmount + " " + selectedSendingCurrency;
// String exRate = this.selectedExRate;
// String serviceCharge = Utils.formatCurrency(this.selectedTransferFee) + " KRW";
//
// String pAgent = null;
// if (selectedBranchData != null)
// pAgent = selectedBranchData.getName();
// else if (selectedBankData != null)
// pAgent = selectedBankData.getName();
// return new VerificationViewModel(fullName, address, country, mobile, pCountry, pMode, pAmount, exRate, serviceCharge, pAgent, this.selectedAccountNo);
return null;
}
@Override
public void setSendingAmount(String sendingAmount, String recipientCurrencyCode, String selectedExRate, String recievingAmount, String transferFee,
boolean shouldCalcByRecipient, String forexId, String transferAmount) {
// this.selectedSendingAmount = sendingAmount;
// this.selectedSendingCurrency = recipientCurrencyCode;
// this.selectedExRate = selectedExRate;
// this.selectedRecievingAmount = recievingAmount;
// this.selectedTransferFee = transferFee;
// this.selectedCalcBy = shouldCalcByRecipient ? Constants.CALC_BY_RECIPEINT : Constants.CALC_BY_SENDER;
// this.selectedForexId = forexId;
// this.selectedTransferAmount = transferAmount;
}
@Override
public void clearExRateData() {
// selectedSendingAmount = null;
// selectedExRate = null;
// selectedSendingCurrency = null;
// selectedRecievingAmount = null;
// selectedTransferAmount = null;
}
@Override
public void promptPinAndPerformTransaction() {
view.promptPassword(new PasswordPromptListener() {
@Override
public void onPasswordSubmit(String password) {
performSendMoneyTransaction(password);
}
@Override
public void onCancelled() {
}
});
}
@Override
public WebRequestModel getWebRequestDataForTermsAndCondition() {
return new WebRequestModel(getStringfromStringId(R.string.terms_and_condition_title_text), "https://online.gmeremit.com/Terms", null);
}
@Override
public String getPaymentType() {
return null;
}
public void performSendMoneyTransaction(String password) {
SendMoneyAPIRequestBody sendMoneyAPIRequestBody = new SendMoneyAPIRequestBody();
// sendMoneyAPIRequestBody.setUser(gateway.getUserID());
// sendMoneyAPIRequestBody.setSenderId(gateway.getUserIDNumber());
//
// sendMoneyAPIRequestBody.setReceiverId(selectedRecipient.getRecipientId());
//
// sendMoneyAPIRequestBody.setDeliveryMethodId(selectedPaymentModeData.getId());
//
// sendMoneyAPIRequestBody.setpAgent((selectedBankData != null) ? selectedBankData.getId() : "");
// sendMoneyAPIRequestBody.setpBranch((selectedBankData != null &&
// selectedBankData.getBranchRequired().equalsIgnoreCase(Constants.TRUE_STRING)
// && selectedBranchData != null)
// ? selectedBranchData.getBranchId() : "");
// sendMoneyAPIRequestBody.setPayOutPartner(selectedPaymentModeData.getPayoutPartner());
// sendMoneyAPIRequestBody.setPaymentType(selectedPaymentType.getType());
//
//
// sendMoneyAPIRequestBody.setReceiverAccountNo(selectedAccountNo != null ? selectedAccountNo : "");
//
// sendMoneyAPIRequestBody.setpCurr(selectedSendingCurrency);
// sendMoneyAPIRequestBody.setCollAmt(Utils.removeSpecialCharacterAndDecimalFromCurrency(selectedSendingAmount));
// sendMoneyAPIRequestBody.setCollCurr("KRW");
// sendMoneyAPIRequestBody.setPayoutAmt(selectedRecievingAmount);
// sendMoneyAPIRequestBody.setTransferAmt(selectedTransferAmount);
// sendMoneyAPIRequestBody.setServiceCharge(selectedTransferFee);
// sendMoneyAPIRequestBody.setDiscount("");
// sendMoneyAPIRequestBody.setExRate(selectedExRate);
// sendMoneyAPIRequestBody.setCalBy(selectedCalcBy);
// sendMoneyAPIRequestBody.setTpExRate(selectedExRate);
// sendMoneyAPIRequestBody.setTpPCurr(selectedSendingCurrency);
// sendMoneyAPIRequestBody.setForeXSESSIONID(selectedForexId);
//
// sendMoneyAPIRequestBody.setPurposeOfRemittance(selectedRecipient.getReasonId());
// sendMoneyAPIRequestBody.setSourceOfFund("128");
// sendMoneyAPIRequestBody.setRelWithSender(selectedRecipient.getRelationId());
// sendMoneyAPIRequestBody.setOccupation("");
// sendMoneyAPIRequestBody.setIpAddress("");
// sendMoneyAPIRequestBody.setrState(selectedRecipient.getState());
// sendMoneyAPIRequestBody.setrLocation(selectedRecipient.getDistrictId());
// sendMoneyAPIRequestBody.setIsAgreed(Constants.TRUE_STRING);
//
// //KFTC Related Params
// sendMoneyAPIRequestBody.setKftcAccountId(selectedPaymentType.getKftcAccountId());
//
// sendMoneyAPIRequestBody.setTxnPassword(password);
compositeObservable.add(
gateway.performSendMoneyTransaction(gateway.getAuth(), sendMoneyAPIRequestBody)
.subscribeOn(Schedulers.io())
.doOnSubscribe(d -> view.showProgressBar(true, getStringfromStringId(R.string.processing_request_text)))
.doFinally(() -> view.showProgressBar(false, ""))
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(new SendMoneyTransactionObserver())
);
}
@Override
public void onViewDestroyed() {
super.onViewDestroyed();
if (compositeObservable != null && !compositeObservable.isDisposed()) {
compositeObservable.dispose();
}
}
@Override
public Observable<ExchangeCalculationApiResponse> getForex(String recieveAmount, String senderAmount, boolean shouldCaulatedByRecipient, String recieverCurrency) {
// String senderCountryId = gateway.getUserCountryId();
// String senderCurrency = gateway.getUserPreferredCurrency();
// String paymentMethodId = selectedPaymentModeData.getId();
// String calculationPreference = shouldCaulatedByRecipient ? Constants.CALC_BY_RECIPEINT : Constants.CALC_BY_SENDER;
// String recipientCountryName = selectedRecipient.getCountry();
// String recipientCountryID = selectedRecipient.getCountryId();
// String bankId = (selectedBankData == null) ? "" : selectedBankData.getId();
// String paymentPartnerId = selectedPaymentModeData.getPayoutPartner();
//
//
// return gateway.sendDataForForexCalculation(gateway.getAuth(), senderCountryId,
// senderCurrency, recieverCurrency, senderAmount,
// recieveAmount, paymentMethodId, calculationPreference, recipientCountryName,
// recipientCountryID, bankId, paymentPartnerId, gateway.getUserID(), selectedPaymentType.getType())
// .subscribeOn(Schedulers.io())
// .observeOn(AndroidSchedulers.mainThread());
return null;
}
public class SendMoneyTransactionObserver extends GenericApiObserverResponse<SendMoneyTransactionResponseBody> {
@Override
protected void onSuccess(SendMoneyTransactionResponseBody sendMoneyResponse) {
if (sendMoneyResponse.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) {
UserInfoModelV2 userInfoModelV2 = new UserInfoModelV2();
userInfoModelV2.setAvailableBalance(sendMoneyResponse.getExtra());
userInfoModelV2.setYearlyLimit(sendMoneyResponse.getExtra2());
gateway.updateUserInfoInBatch(userInfoModelV2);
view.showPopUpMessage(sendMoneyResponse.getMsg(), CustomAlertDialog.AlertType.SUCCESS, new CustomAlertDialog.CustomDialogActionListener() {
@Override
public void onCutomDialogActionPressed(CustomAlertDialog.AlertType alertType) {
view.showReceiptOnTransactionComplete(sendMoneyResponse.getId());
}
});
} else {
view.showPopUpMessage(sendMoneyResponse.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.NO_INTERNET, null);
}
@Override
protected void unauthorizedAccess(String message) {
gateway.clearAllUserData();
view.showPopUpMessage(message, CustomAlertDialog.AlertType.ALERT,alertType -> view.logout());
}
}
}

48
app/src/main/java/com/gmeremit/online/gmeremittance_native/resendV2/presenter/ReSendMoneyV2PresenterInterface.java

@ -0,0 +1,48 @@
package com.gmeremit.online.gmeremittance_native.resendV2.presenter;
import com.gmeremit.online.gmeremittance_native.autodebitV2.model.autodebitaccountlisting.WebRequestModel;
import com.gmeremit.online.gmeremittance_native.base.BaseContractInterface;
import com.gmeremit.online.gmeremittance_native.base.BasePresenterInterface;
import com.gmeremit.online.gmeremittance_native.exchange_rate.model.datav2.ExchangeCalculationApiResponse;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.amountdetail.AmountDetailRelatedDataModel;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.amountdetail.BranchListApiResponse;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.payoutmode.AccountValidationApiResponse;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.payoutmode.BankList;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.payoutmode.BranchList;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.payoutmode.PayoutMode;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.payoutmode.PayoutModeApiResponse;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.verification.VerificationViewModel;
import com.gmeremit.online.gmeremittance_native.transactionpasspromt.PasswordPromptListener;
import io.reactivex.Observable;
public interface ReSendMoneyV2PresenterInterface extends BasePresenterInterface {
Observable<ExchangeCalculationApiResponse> getForex(String recieveAmount, String sendMoneyEditTextText, boolean shouldCaulatedByRecipient,String recieverCurrency);
void clearPaymentData();
VerificationViewModel getVerificationRelatedData();
void setSendingAmount(String sendingAmount, String recipientCurrencyCode, String selectedExRate, String recievingAmount, String transferFee, boolean calcBy, String forexId,String transferAmount);
void clearExRateData();
void promptPinAndPerformTransaction();
WebRequestModel getWebRequestDataForTermsAndCondition();
String getPaymentType();
interface ReSendMoneyV2ContractInterface extends BaseContractInterface
{
void promptPassword(PasswordPromptListener listener);
void showReceiptOnTransactionComplete(String transactionId);
}
}

175
app/src/main/java/com/gmeremit/online/gmeremittance_native/resendV2/view/ReSendMoneyV2Activity.java

@ -0,0 +1,175 @@
package com.gmeremit.online.gmeremittance_native.resendV2.view;
import android.content.Intent;
import android.support.annotation.LayoutRes;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.base.BaseActivity;
import com.gmeremit.online.gmeremittance_native.base.BaseFragment;
import com.gmeremit.online.gmeremittance_native.resendV2.ReSendMoneyActionListener;
import com.gmeremit.online.gmeremittance_native.resendV2.ReSendMoneyScreenManager;
import com.gmeremit.online.gmeremittance_native.resendV2.presenter.ReSendMoneyV2Presenter;
import com.gmeremit.online.gmeremittance_native.resendV2.presenter.ReSendMoneyV2PresenterInterface;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.view.SendMoneyScreenManager;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.view.SendMoneyV2TransactionCompleteActivity;
import com.gmeremit.online.gmeremittance_native.transactionpasspromt.PasswordPromptListener;
import com.gmeremit.online.gmeremittance_native.transactionpasspromt.TransactionPasswordPromptActivity;
import butterknife.BindView;
import butterknife.ButterKnife;
import static com.gmeremit.online.gmeremittance_native.transactionpasspromt.TransactionPasswordPromptActivity.PAYMENT_TYPE_BUNDLE_KEY;
public class ReSendMoneyV2Activity extends BaseActivity implements ReSendMoneyV2PresenterInterface.ReSendMoneyV2ContractInterface, ReSendMoneyActionListener, View.OnClickListener {
private static final int PASSWORD_PROMPT_REQUEST = 43278;
public static String RESEND_DATA = "resendData";
private Object reSendMoneyRequiredData;
private android.support.v4.app.FragmentManager fragmentManager;
private ReSendMoneyV2PresenterInterface presenter;
private PasswordPromptListener passwordPromptListener;
@BindView(R.id.toolbar_title)
TextView toolbar_title;
@BindView(R.id.iv_back)
View iv_back;
@BindView(R.id.iv_cancel)
View iv_cancel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_re_send_money_v2);
ButterKnife.bind(this);
fragmentManager = getSupportFragmentManager();
initialize();
performDefaultAction(savedInstanceState);
}
private void performDefaultAction(Bundle savedInstanceState) {
if (savedInstanceState == null) {
try {
reSendMoneyRequiredData = getIntent().getExtras().getParcelable("SOME KEY NAME");
} catch (Exception e) {
reSendMoneyRequiredData = null;
}
} else {
reSendMoneyRequiredData = savedInstanceState.getParcelable(RESEND_DATA);
}
addScreenToSendMoneyOnly(R.layout.fragment_amount_detail_resend_money_v2, false);
}
public boolean addScreenToSendMoney(@LayoutRes int layoutID, boolean addTransitionEffect) {
BaseFragment baseFragment = ReSendMoneyScreenManager.getReSendMoneyScreenFromId(layoutID);
if (baseFragment != null) {
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
if (addTransitionEffect)
fragmentTransaction.setCustomAnimations(R.anim.enter_from_right, R.anim.exit_to_left, R.anim.enter_from_right, R.anim
.exit_to_left);
fragmentTransaction.add(R.id.sendMoneyViewContainer, baseFragment, baseFragment.toString());
fragmentTransaction.addToBackStack(layoutID + "");
fragmentTransaction.commit();
return true;
} else
return false;
}
public boolean addScreenToSendMoneyOnly(@LayoutRes int layoutID, boolean addTransitionEffect) {
BaseFragment baseFragment = ReSendMoneyScreenManager.getReSendMoneyScreenFromId(layoutID);
if (baseFragment != null) {
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
if (addTransitionEffect)
fragmentTransaction.setCustomAnimations(R.anim.enter_from_right, R.anim.exit_to_left, R.anim.enter_from_right, R.anim
.exit_to_left);
fragmentTransaction.add(R.id.sendMoneyViewContainer, baseFragment, baseFragment.toString());
fragmentTransaction.commit();
return true;
} else
return false;
}
private void initialize() {
toolbar_title.setText(getString(R.string.resend_money_text));
}
@Override
protected void onStart() {
super.onStart();
iv_back.setOnClickListener(this);
iv_cancel.setOnClickListener(this);
}
@Override
protected void onStop() {
super.onStop();
iv_back.setOnClickListener(null);
iv_cancel.setOnClickListener(null);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.iv_back:
onBackPressed();
break;
case R.id.iv_cancel:
finish();
break;
}
}
@Override
public void onBackPressed() {
hideKeyBoard();
super.onBackPressed();
}
@Override
public void showTransactionReviewPage() {
addScreenToSendMoney(R.layout.fragment_verification_resend_money_v2, true);
}
@Override
public ReSendMoneyV2PresenterInterface getPresenter() {
if (this.presenter == null)
this.presenter = new ReSendMoneyV2Presenter(this);
return this.presenter;
}
@Override
public void promptPassword(PasswordPromptListener listener) {
String paymentType=presenter.getPaymentType();
this.passwordPromptListener=listener;
Intent passwordRequestIntent=new Intent(this, TransactionPasswordPromptActivity.class);
passwordRequestIntent.putExtra(PAYMENT_TYPE_BUNDLE_KEY,"");
startActivityForResult(passwordRequestIntent,PASSWORD_PROMPT_REQUEST);
}
@Override
public void showReceiptOnTransactionComplete(String transactionId) {
Intent startReceiptActivity = new Intent(this, SendMoneyV2TransactionCompleteActivity.class);
startReceiptActivity.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startReceiptActivity.putExtra(SendMoneyV2TransactionCompleteActivity.SEND_MONEY_TID_BUNDLE_KEY, transactionId);
startReceiptActivity.putExtra(SendMoneyV2TransactionCompleteActivity.IS_TRANSACTION_DETAIL_REQUEST_FROM_SEND_MONEY_BUNDLE_KEY, true);
startReceiptActivity.putExtra(SendMoneyV2TransactionCompleteActivity.SHOULD_UPDATE_BALANCE_UPON_RETURN, true);
startActivity(startReceiptActivity);
}
}

519
app/src/main/java/com/gmeremit/online/gmeremittance_native/resendV2/view/amountdetail/ResendMoneyAmountDetailFragment.java

@ -0,0 +1,519 @@
package com.gmeremit.online.gmeremittance_native.resendV2.view.amountdetail;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.Nullable;
import android.support.v4.view.ViewCompat;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.AccelerateDecelerateInterpolator;
import android.view.animation.Interpolator;
import android.view.inputmethod.EditorInfo;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import com.gmeremit.online.gmeremittance_native.GmeApplication;
import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.base.BaseFragment;
import com.gmeremit.online.gmeremittance_native.customwidgets.CurrencyFormatterTextWatcher;
import com.gmeremit.online.gmeremittance_native.customwidgets.CustomAlertDialog;
import com.gmeremit.online.gmeremittance_native.customwidgets.exchangecountrylistingdialog.CountryFlagMapper;
import com.gmeremit.online.gmeremittance_native.exchange_rate.model.datav2.ExchangeCalculationApiResponse;
import com.gmeremit.online.gmeremittance_native.exchange_rate.model.datav2.ExchangeCalculationModel;
import com.gmeremit.online.gmeremittance_native.resendV2.ReSendMoneyActionListener;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.amountdetail.AmountDetailRelatedDataModel;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.amountdetail.RecipientCurrencyModel;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.view.SendMoneyActionListener;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.view.amountdetail.AmountDetailExRateCountryListingDialog;
import com.gmeremit.online.gmeremittance_native.utils.Constants;
import com.gmeremit.online.gmeremittance_native.utils.Utils;
import com.gmeremit.online.gmeremittance_native.utils.https.GenericApiObserverResponse;
import butterknife.BindView;
import butterknife.ButterKnife;
import io.reactivex.disposables.CompositeDisposable;
public class ResendMoneyAmountDetailFragment extends BaseFragment implements View.OnClickListener, TextView.OnEditorActionListener {
@BindView(R.id.amountDetailContinueButton)
Button continueBtn;
@BindView(R.id.sendAmountEdTxt)
EditText sendMoneyEditText;
@BindView(R.id.receiveAmountEdTxt)
EditText recieveMoneyEditText;
@BindView(R.id.transferFeeTxtView)
TextView transferFeeTxtView;
@BindView(R.id.exchangeRateTxtView)
TextView exchangeRateTxtView;
@BindView(R.id.recepientCurrencyTextView)
TextView recepientCurrencyTextView;
@BindView(R.id.countrySelectionSpinner)
ViewGroup countrySelectionSpinner;
@BindView(R.id.recepientFlagImageView)
ImageView recepientFlagImageView;
@BindView(R.id.rootView)
ViewGroup rootView;
private boolean shouldCaulatedByRecipient;
private boolean shouldCalculateExRate = true;
CompositeDisposable compositeDisposable = null;
private Interpolator interpolator;
private AmountDetailRelatedDataModel amountDetailRelatedData;
private String selectedTransferFeeAmount;
private String selectedExRate;
private String selectedRecipientAmount;
private String selectedSendAmount;
private String selectedsendingCurrency;
private SendAmountTextWatcher sendAmountTextWatcher;
private RecipientAmountTextWatcher recepientAmountTextWatcher;
private CurrencyFormatterTextWatcher sendCurrencyFormatterTextWatcher;
private CurrencyFormatterTextWatcher recepientCurrencyFormatterTextWatcher;
private String selectedExRateId;
private String selectedExRateWithoutTrunc;
private String selectedTransferAmount;
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_amount_detail_resend_money_v2, container, false);
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
ButterKnife.bind(this, view);
init();
performDefaultAction(savedInstanceState);
}
private void init() {
this.sendAmountTextWatcher = new SendAmountTextWatcher();
this.recepientAmountTextWatcher = new RecipientAmountTextWatcher();
compositeDisposable = new CompositeDisposable();
interpolator = new AccelerateDecelerateInterpolator();
registerTextWatchers(true);
}
@Override
public void onStart() {
super.onStart();
continueBtn.setOnClickListener(this);
recieveMoneyEditText.setOnEditorActionListener(this);
sendMoneyEditText.setOnEditorActionListener(this);
countrySelectionSpinner.setOnClickListener(this);
// rootView.setOnTouchListener((v, event) -> focusOutAndHideKeyboard());
}
@Override
public void onStop() {
super.onStop();
continueBtn.setOnClickListener(null);
recieveMoneyEditText.setOnEditorActionListener(null);
sendMoneyEditText.setOnEditorActionListener(null);
countrySelectionSpinner.setOnClickListener(null);
// rootView.setOnTouchListener(null);
}
// @Override
// public void onAttach(Context context) {
// super.onAttach(context);
// ((ReSendMoneyActionListener) context).updateCurrentIndexFrom(R.layout.fragment_amount_detail_send_money_v2);
// }
//
// @Override
// public void onAttach(Activity activity) {
// super.onAttach(activity);
// ((ReSendMoneyActionListener) activity).updateCurrentIndexFrom(R.layout.fragment_amount_detail_send_money_v2);
//
// }
//
// @Override
// public void onDetach() {
// super.onDetach();
// ((ReSendMoneyActionListener) getActivity()).updateCurrentScreenByLayoutId(R.layout.fragment_amount_detail_send_money_v2);
//
// }
@Override
public void onDestroy() {
((ReSendMoneyActionListener) getActivity()).getPresenter().clearExRateData();
registerTextWatchers(false);
super.onDestroy();
if (compositeDisposable != null && !compositeDisposable.isDisposed())
compositeDisposable.dispose();
}
private void performDefaultAction(Bundle savedInstance) {
shouldCaulatedByRecipient = false;
}
private boolean focusOutAndHideKeyboard() {
if(sendMoneyEditText.hasFocus()||recieveMoneyEditText.hasFocus())
{
View currentViewWithFocus=rootView.getFocusedChild();
if(currentViewWithFocus!=null)
currentViewWithFocus.clearFocus();
hideKeyBoard();
return true;
}
return false;
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.amountDetailContinueButton:
if (shouldCalculateExRate) {
getForex();
} else {
if (validateAll()) {
sendMoneyEditText.clearFocus();
recieveMoneyEditText.clearFocus();
hideKeyBoard();
((ReSendMoneyActionListener) getActivity()).getPresenter().setSendingAmount(sendMoneyEditText.getText().toString(), amountDetailRelatedData.getDefaultSelectedCurrency().getCurrencyCode(), selectedExRateWithoutTrunc, selectedRecipientAmount, selectedTransferFeeAmount, shouldCaulatedByRecipient, selectedExRateId,selectedTransferAmount);
((ReSendMoneyActionListener) getActivity()).showTransactionReviewPage();
}
}
break;
}
}
private void getForex() {
if (shouldCaulatedByRecipient && !validateAmountIsNotEmpty(recieveMoneyEditText.getText().toString())) {
showToastMessage(getString(R.string.sending_amount_error));
return;
}
if (!shouldCaulatedByRecipient && !validateAmountIsNotEmpty(sendMoneyEditText.getText().toString())) {
showToastMessage(getString(R.string.receiving_amount_error));
return;
}
compositeDisposable.add(
((ReSendMoneyActionListener) getActivity()).getPresenter().getForex(
recieveMoneyEditText.getText().toString(), sendMoneyEditText.getText().toString(), shouldCaulatedByRecipient, amountDetailRelatedData.getDefaultSelectedCurrency().getCurrencyCode()
).doOnSubscribe(d -> showProgressBar(true, getString(R.string.processing_request_text)))
.subscribeWith(new ExchangeRateCalcObserver())
);
}
private void showSelectedCurrency(String selectedCountryCode, String selectedCountryCurrency) {
int flagResId = -1;
if (selectedCountryCode != null)
flagResId = CountryFlagMapper.getFlagFromCountryCode(selectedCountryCode);
if (flagResId != -1)
this.recepientFlagImageView.setBackgroundResource(flagResId);
else
this.recepientFlagImageView.setBackgroundResource(0);
if (selectedCountryCurrency != null)
this.recepientCurrencyTextView.setText(selectedCountryCurrency);
}
private void showTransferfeeAndExRate(boolean action, String transferDisplay, String exRateDisplay) {
if (action) {
if (this.exchangeRateTxtView.getVisibility() == View.VISIBLE)
this.exchangeRateTxtView.setVisibility(View.INVISIBLE);
this.exchangeRateTxtView.setText(exRateDisplay);
this.exchangeRateTxtView.setTranslationY(this.exchangeRateTxtView.getHeight());
this.exchangeRateTxtView.setVisibility(View.VISIBLE);
ViewCompat.animate(this.exchangeRateTxtView).translationY(0).setDuration(550).setInterpolator(this.interpolator).start();
if (this.transferFeeTxtView.getVisibility() == View.VISIBLE)
this.transferFeeTxtView.setVisibility(View.INVISIBLE);
this.transferFeeTxtView.setText(transferDisplay);
this.transferFeeTxtView.setTranslationY(this.transferFeeTxtView.getHeight());
this.transferFeeTxtView.setVisibility(View.VISIBLE);
ViewCompat.animate(this.transferFeeTxtView).translationY(0).setDuration(550).setInterpolator(this.interpolator).start();
} else {
if (exchangeRateTxtView.getVisibility() == View.VISIBLE)
this.exchangeRateTxtView.setVisibility(View.INVISIBLE);
if (transferFeeTxtView.getVisibility() == View.VISIBLE) {
this.transferFeeTxtView.setVisibility(View.INVISIBLE);
}
}
}
private void showSendAndRecieveAmount(String sendAmount, String recieveAmount) {
updateSendAmount(sendAmount);
updateRecievingAmount(recieveAmount);
}
private boolean validateAmountIsNotEmpty(String amount) {
return amount != null && amount.length() > 0;
}
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
switch (v.getId()) {
case R.id.sendAmountEdTxt:
if (actionId == EditorInfo.IME_ACTION_DONE) {
hideKeyBoard();
getForex();
}
return true;
case R.id.receiveAmountEdTxt:
if (actionId == EditorInfo.IME_ACTION_DONE) {
hideKeyBoard();
getForex();
}
return true;
}
return false;
}
public class ExchangeRateCalcObserver extends GenericApiObserverResponse<ExchangeCalculationApiResponse> {
@Override
protected void onSuccess(ExchangeCalculationApiResponse exchangeCalculationApiResponse) {
if (isUIReady()) {
showProgressBar(false, "");
if (exchangeCalculationApiResponse.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) {
ExchangeCalculationModel data = exchangeCalculationApiResponse.getData();
selectedTransferFeeAmount = data.getScCharge();
selectedExRate = data.getExRateDisplay();
selectedExRateWithoutTrunc = data.getExRate();
selectedRecipientAmount = data.getpAmt();
selectedSendAmount = data.getCollAmt();
selectedsendingCurrency = data.getCollCurr();
selectedExRateId = data.getExrateId();
selectedTransferAmount=data.getsAmt();
String transferDisplay = " - " + Utils.formatCurrency(selectedTransferFeeAmount) + " " + selectedsendingCurrency + " ("+getString(R.string.transfer_fee_included_text)+")";
String exRateDisplay = " " + selectedExRate + " ("+getString(R.string.current_exchange_rate_text)+")";
showTransferfeeAndExRate(true, transferDisplay, exRateDisplay);
showSendAndRecieveAmount(selectedSendAmount, selectedRecipientAmount);
updateButtonToCalculate(false);
} else
showPopUpMessage(exchangeCalculationApiResponse.getMsg(), CustomAlertDialog.AlertType.FAILED, null);
}
else
{
scheduleTaskLater(()->{
showProgressBar(false, "");
if (exchangeCalculationApiResponse.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) {
ExchangeCalculationModel data = exchangeCalculationApiResponse.getData();
selectedTransferFeeAmount = data.getScCharge();
selectedExRate = data.getExRateDisplay();
selectedExRateWithoutTrunc = data.getExRate();
selectedRecipientAmount = data.getpAmt();
selectedSendAmount = data.getCollAmt();
selectedsendingCurrency = data.getCollCurr();
selectedExRateId = data.getExrateId();
selectedTransferAmount=data.getsAmt();
String transferDisplay = " - " + Utils.formatCurrency(selectedTransferFeeAmount) + " " + selectedsendingCurrency + " ("+getString(R.string.transfer_fee_included_text)+")";
String exRateDisplay = " " + selectedExRate + " ("+getString(R.string.current_exchange_rate_text)+")";
showTransferfeeAndExRate(true, transferDisplay, exRateDisplay);
showSendAndRecieveAmount(selectedSendAmount, selectedRecipientAmount);
updateButtonToCalculate(false);
} else
showPopUpMessage(exchangeCalculationApiResponse.getMsg(), CustomAlertDialog.AlertType.FAILED, null);
});
}
}
@Override
public void onFailed(String message) {
if(isUIReady()) {
showProgressBar(false, "");
showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, null);
}
else
{
scheduleTaskLater(()->{
showProgressBar(false, "");
showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, null);
});
}
}
@Override
protected void onConnectionNotEstablished(String message) {
if(isUIReady()) {
showProgressBar(false, "");
showPopUpMessage(message, CustomAlertDialog.AlertType.NO_INTERNET, null);
}
else
{
scheduleTaskLater(()->{
showProgressBar(false, "");
showPopUpMessage(message, CustomAlertDialog.AlertType.NO_INTERNET, null);
});
}
}
@Override
protected void unauthorizedAccess(String message) {
GmeApplication.getStorage().edit().clear().commit();
showPopUpMessage(message, CustomAlertDialog.AlertType.ALERT,alertType -> logout());
}
}
private boolean validateAll() {
return validateAmountIsNotEmpty(sendMoneyEditText.getText().toString())&&validateAmountIsNotEmpty(recieveMoneyEditText.getText().toString());
}
private void updateButtonToCalculate(boolean action) {
shouldCalculateExRate = action;
if (action)
continueBtn.setText(getString(R.string.calculate_text));
else
continueBtn.setText(getString(R.string.continue_text));
}
private void updateSendAmount(String amount) {
registerAvailableTextWatchersForEditText(sendMoneyEditText, false);
sendMoneyEditText.setText(Utils.formatCurrency(amount));
registerAvailableTextWatchersForEditText(sendMoneyEditText, true);
}
private void updateRecievingAmount(String amount) {
registerAvailableTextWatchersForEditText(recieveMoneyEditText, false);
recieveMoneyEditText.setText(Utils.formatCurrency(amount));
registerAvailableTextWatchersForEditText(recieveMoneyEditText, true);
}
private void registerTextWatchers(boolean action) {
if (action) {
if (sendAmountTextWatcher == null)
sendAmountTextWatcher = new SendAmountTextWatcher();
if (recepientAmountTextWatcher == null)
recepientAmountTextWatcher = new RecipientAmountTextWatcher();
if (recepientCurrencyFormatterTextWatcher == null)
recepientCurrencyFormatterTextWatcher = new CurrencyFormatterTextWatcher(recieveMoneyEditText);
if (sendCurrencyFormatterTextWatcher == null)
sendCurrencyFormatterTextWatcher = new CurrencyFormatterTextWatcher(sendMoneyEditText);
sendMoneyEditText.addTextChangedListener(sendAmountTextWatcher);
recieveMoneyEditText.addTextChangedListener(recepientAmountTextWatcher);
sendMoneyEditText.addTextChangedListener(sendCurrencyFormatterTextWatcher);
recieveMoneyEditText.addTextChangedListener(recepientCurrencyFormatterTextWatcher);
} else {
sendMoneyEditText.removeTextChangedListener(sendAmountTextWatcher);
recieveMoneyEditText.removeTextChangedListener(recepientAmountTextWatcher);
sendMoneyEditText.removeTextChangedListener(sendCurrencyFormatterTextWatcher);
recieveMoneyEditText.removeTextChangedListener(recepientCurrencyFormatterTextWatcher);
}
}
private void registerAvailableTextWatchersForEditText(EditText editText, boolean action) {
switch (editText.getId()) {
case R.id.sendAmountEdTxt:
if (action)
sendMoneyEditText.addTextChangedListener(sendAmountTextWatcher);
else
sendMoneyEditText.removeTextChangedListener(sendAmountTextWatcher);
break;
case R.id.receiveAmountEdTxt:
if (action)
recieveMoneyEditText.addTextChangedListener(recepientAmountTextWatcher);
else
recieveMoneyEditText.removeTextChangedListener(recepientAmountTextWatcher);
break;
}
}
private class SendAmountTextWatcher implements TextWatcher {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
shouldCaulatedByRecipient = false;
updateRecievingAmount("");
updateButtonToCalculate(true);
showTransferfeeAndExRate(false, "", "");
}
}
private class RecipientAmountTextWatcher implements TextWatcher {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
shouldCaulatedByRecipient = true;
updateSendAmount("");
updateButtonToCalculate(true);
showTransferfeeAndExRate(false, "", "");
}
}
}

195
app/src/main/java/com/gmeremit/online/gmeremittance_native/resendV2/view/verification/ResendVerificationDetailFragment.java

@ -0,0 +1,195 @@
package com.gmeremit.online.gmeremittance_native.resendV2.view.verification;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.autodebitV2.model.autodebitaccountlisting.WebRequestModel;
import com.gmeremit.online.gmeremittance_native.base.BaseFragment;
import com.gmeremit.online.gmeremittance_native.resendV2.ReSendMoneyActionListener;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.verification.VerificationViewModel;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.view.SendMoneyV2Activity;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.view.verification.TermsAndConditionV2BrowserActivity;
import butterknife.BindView;
import butterknife.ButterKnife;
import static com.gmeremit.online.gmeremittance_native.webbrowserV2.WebBrowserV2Activity.WEB_BROWSWER_URL_BUNDLE_KEY;
public class ResendVerificationDetailFragment extends BaseFragment implements View.OnClickListener {
@BindView(R.id.txt_firstName)
TextView txt_firstName;
@BindView(R.id.txt_address)
TextView txt_address;
@BindView(R.id.txt_country)
TextView txt_country ;
@BindView(R.id.txt_mobile)
TextView txt_mobile ;
@BindView(R.id.txt_pcountry)
TextView txt_pcountry ;
@BindView(R.id.txt_pmode)
TextView txt_pmode;
@BindView(R.id.txt_pamount)
TextView txt_pamount ;
@BindView(R.id.txt_exrate)
TextView txt_exrate ;
@BindView(R.id.txt_servicechargeAmount)
TextView txt_servicechargeAmount ;
@BindView(R.id.txt_pagent)
TextView txt_pagent ;
@BindView(R.id.pAgentContainerView)
ViewGroup pAgentContainerView ;
@BindView(R.id.bankAcNoContainer)
View bankAcNoContainer ;
@BindView(R.id.txt_bankAcNo)
TextView txt_bankAcNo ;
@BindView(R.id.txt_user_aggreement)
TextView txt_user_aggreement;
@BindView(R.id.exRateCalculateButton)
Button sendTransactionButton;
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_verification_resend_money_v2, container, false);
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
ButterKnife.bind(this, view);
init();
performDefaultAction(savedInstanceState);
}
private void init() {
setupRecyclerView();
}
private void setupRecyclerView() {
}
// @Override
// public void onAttach(Context context) {
// super.onAttach(context);
// ((SendMoneyActionListener)context).updateCurrentIndexFrom(R.layout.fragment_verification_send_money_v2);
// }
//
// @Override
// public void onAttach(Activity activity) {
// super.onAttach(activity);
// ((SendMoneyActionListener)activity).updateCurrentIndexFrom(R.layout.fragment_verification_send_money_v2);
//
// }
//
// @Override
// public void onDetach() {
// super.onDetach();
// ((SendMoneyActionListener) getActivity()).updateCurrentScreenByLayoutId(R.layout.fragment_verification_send_money_v2);
// }
@Override
public void onStart() {
super.onStart();
sendTransactionButton.setOnClickListener(this);
txt_user_aggreement.setOnClickListener(this);
}
@Override
public void onStop() {
super.onStop();
sendTransactionButton.setOnClickListener(null);
txt_user_aggreement.setOnClickListener(null);
}
@Override
public void onDestroy() {
super.onDestroy();
((SendMoneyV2Activity) getActivity()).updateFinalTranstionToDefault();
}
private void performDefaultAction(Bundle savedInstance) {
VerificationViewModel verificationViewModel= ((ReSendMoneyActionListener)getActivity()).getPresenter().getVerificationRelatedData();
txt_address.setText(" : "+verificationViewModel.getAddress());
txt_country.setText(" : "+verificationViewModel.getCountry());
txt_exrate.setText(" : "+verificationViewModel.getExRate());
txt_firstName.setText(" : "+verificationViewModel.getFirstName());
txt_mobile.setText(" : "+verificationViewModel.getMobile());
txt_pamount.setText(" : "+verificationViewModel.getpAmount());
txt_pcountry.setText(" : "+verificationViewModel.getpCountry());
txt_pmode.setText(" : "+verificationViewModel.getpMode());
txt_servicechargeAmount.setText(" : "+verificationViewModel.getServiceCharge());
if(verificationViewModel.getBankAcNo()!=null&&verificationViewModel.getBankAcNo().length()>1)
{
bankAcNoContainer.setVisibility(View.VISIBLE);
txt_bankAcNo.setText(" : "+verificationViewModel.getBankAcNo());
}
String pAgent=verificationViewModel.getpAgent();
if(pAgent!=null) {
hideAgentLocation(false);
txt_pagent.setText(" : "+verificationViewModel.getpAgent());
}
else
hideAgentLocation(true);
}
private void hideAgentLocation(boolean action) {
if(action)
{
pAgentContainerView.setVisibility(View.GONE);
}
else
{
pAgentContainerView.setVisibility(View.VISIBLE);
}
}
@Override
public void onClick(View v) {
switch(v.getId())
{
case R.id.exRateCalculateButton:
((ReSendMoneyActionListener)getActivity()).getPresenter().promptPinAndPerformTransaction();
break;
case R.id.txt_user_aggreement:
openUserAgreement();
break;
}
}
private void openUserAgreement() {
// String url = "https://online.gmeremit.com/Terms";
// Intent i = new Intent(Intent.ACTION_VIEW);
// i.setData(Uri.parse(url));
// startActivity(i);
WebRequestModel requestModel=((ReSendMoneyActionListener)getActivity()).getPresenter().getWebRequestDataForTermsAndCondition();
Intent intent= new Intent(getActivity(), TermsAndConditionV2BrowserActivity.class);
intent.putExtra(WEB_BROWSWER_URL_BUNDLE_KEY,requestModel);
startActivity(intent);
}
}

BIN
app/src/main/res/drawable-xxhdpi/ic_menu_resendmoney.png

After

Width: 185  |  Height: 185  |  Size: 6.5 KiB

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

@ -0,0 +1,22 @@
<?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"
android:background="@color/background_gray"
android:orientation="vertical"
tools:context=".sendmoneyV2.view.SendMoneyV2Activity">
<include layout="@layout/layout_sendmoney_toolbar" />
<FrameLayout
android:id="@+id/sendMoneyViewContainer"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginEnd="5dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginStart="5dp"
android:layout_weight="1" />
</LinearLayout>

238
app/src/main/res/layout/fragment_amount_detail_resend_money_v2.xml

@ -0,0 +1,238 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.NestedScrollView 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_height="match_parent"
android:clickable="true"
android:scrollbars="none"
android:background="@color/background_gray"
tools:context="com.gmeremit.online.gmeremittance_native.exchange_rate.view.ExchangeMethodV2Activity"
android:layout_width="match_parent">
<LinearLayout
android:layout_marginTop="3dp"
android:background="@drawable/ic_rounded_white"
android:paddingStart="10dp"
android:paddingEnd="10dp"
android:paddingRight="10dp"
android:paddingLeft="10dp"
android:paddingTop="20dp"
android:id="@+id/rootView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_marginTop="10dp"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:background="@drawable/curve_rectangle_grey_bg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<LinearLayout
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:orientation="vertical"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:paddingTop="3dp"
android:paddingStart="3dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/you_send_text"
android:textColor="@color/darkgray"
android:textSize="16sp"
android:paddingLeft="3dp" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
android:id="@+id/sendAmountEdTxt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:backgroundTint="@android:color/transparent"
android:digits="0,1,2,3,4,5,6,7,8,9"
android:gravity="center_vertical"
android:hint="100,000"
android:imeOptions="actionDone"
android:inputType="textMultiLine|number"
android:maxLength="11"
android:textColor="@color/colorPrimary"
android:textSize="30sp"
app:edfontName="@string/semibold" />
</LinearLayout>
<FrameLayout
android:background="@drawable/curve_rectangle_blue_bg"
android:paddingStart="5dp"
android:paddingEnd="5dp"
android:layout_width="wrap_content"
android:layout_height="match_parent">
<LinearLayout
android:layout_gravity="center"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:background="@drawable/flag_korean"
android:layout_gravity="center"
android:layout_width="50dp"
android:layout_height="45dp" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="KRW"
android:paddingStart="5dp"
android:paddingEnd="5dp"
android:paddingRight="5dp"
android:paddingLeft="5dp"
android:textStyle="bold"
android:textColor="@color/white"
android:textSize="15sp"/>
</LinearLayout>
</FrameLayout>
</LinearLayout>
<LinearLayout
android:paddingStart="10dp"
android:paddingRight="10dp"
android:paddingLeft="10dp"
android:paddingEnd="10dp"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.gmeremit.online.gmeremittance_native.customwidgets.CircularIndexView
android:layout_width="wrap_content"
android:paddingStart="3dp"
android:paddingEnd="3dp"
android:layout_height="50dp" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:id="@+id/transferFeeTxtView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="@color/darkgray"
android:gravity="center_vertical"
android:singleLine="false"
android:textSize="14sp"/>
</LinearLayout>
<LinearLayout
android:paddingStart="10dp"
android:paddingRight="10dp"
android:paddingLeft="10dp"
android:paddingEnd="10dp"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.gmeremit.online.gmeremittance_native.customwidgets.CircularIndexView
android:layout_width="wrap_content"
android:paddingStart="3dp"
android:paddingEnd="3dp"
android:layout_height="50dp" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:id="@+id/exchangeRateTxtView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="@color/darkgray"
android:gravity="center_vertical"
android:textSize="14sp"/>
</LinearLayout>
<LinearLayout
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:padding="1.5dp"
android:background="@drawable/curve_rectangle_grey_bg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:orientation="vertical"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="3dp"
android:paddingStart="3dp"
android:text="@string/receipient_gets_text"
android:textColor="@color/darkgray"
android:textSize="16sp"
android:paddingLeft="3dp" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
android:id="@+id/receiveAmountEdTxt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:backgroundTint="@android:color/transparent"
android:digits="0,1,2,3,4,5,6,7,8,9"
android:gravity="center_vertical"
android:hint="100,000"
android:imeOptions="actionDone"
android:inputType="textMultiLine|number"
android:maxLength="11"
android:textColor="@color/colorPrimary"
android:textSize="30sp"
app:edfontName="@string/semibold" />
</LinearLayout>
<FrameLayout
android:id="@+id/countrySelectionSpinner"
android:background="@drawable/curve_rectangle_blue_bg"
android:paddingStart="5dp"
android:paddingEnd="5dp"
android:layout_width="wrap_content"
android:layout_height="match_parent">
<LinearLayout
android:layout_gravity="center"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/recepientFlagImageView"
android:background="@drawable/flag_korean"
android:layout_gravity="center"
android:layout_width="50dp"
android:layout_height="45dp" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:id="@+id/recepientCurrencyTextView"
android:text="KRW"
android:paddingStart="5dp"
android:paddingEnd="3dp"
android:paddingRight="3dp"
android:paddingLeft="5dp"
android:textStyle="bold"
android:textColor="@color/white"
android:textSize="15sp"/>
</LinearLayout>
</FrameLayout>
</LinearLayout>
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeButton
android:id="@+id/amountDetailContinueButton"
android:layout_marginTop="40dp"
android:layout_marginBottom="20dp"
android:layout_width="200dp"
android:layout_height="50dp"
android:layout_gravity="center"
android:background="@drawable/ic_rounded_background_coloured"
android:text="@string/calculate_text"
android:textAllCaps="false"
android:textColor="@color/white"
android:textSize="18sp" />
</LinearLayout>
</android.support.v4.widget.NestedScrollView>

393
app/src/main/res/layout/fragment_verification_resend_money_v2.xml

@ -0,0 +1,393 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.NestedScrollView 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_height="match_parent"
android:background="@color/background_gray"
android:clickable="true"
android:scrollbars="none"
android:focusable="true">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/ic_rounded_white"
android:layout_marginTop="3dp"
android:paddingEnd="20dp"
android:paddingTop="20dp"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingStart="20dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="10dp">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:text="@string/reciever_details_text"
android:textColor="@color/colorPrimary"
android:textSize="17sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingTop="10dp"
android:text="@string/full_name_text"
android:textColor="@color/dark_gray"
android:textSize="13sp" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:id="@+id/txt_firstName"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:text="Preyea R. Regmi"
android:textColor="@color/black"
android:textSize="13sp"
app:txtfontName="@string/semibold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingTop="10dp"
android:text="@string/address_text"
android:textColor="@color/dark_gray"
android:textSize="13sp" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:id="@+id/txt_address"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:text="Jorpati"
android:textColor="@color/black"
android:textSize="13sp"
app:txtfontName="@string/semibold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingTop="10dp"
android:text="@string/country_text"
android:textColor="@color/dark_gray"
android:textSize="13sp" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:id="@+id/txt_country"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:text="Nepal"
android:textColor="@color/black"
android:textSize="13sp"
app:txtfontName="@string/semibold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingTop="10dp"
android:text="@string/mobile_text"
android:textColor="@color/dark_gray"
android:textSize="13sp" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:id="@+id/txt_mobile"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:textColor="@color/black"
android:textSize="13sp"
app:txtfontName="@string/semibold" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="10dp">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:text="@string/transaction_detail_text"
android:textColor="@color/colorPrimary"
android:textSize="17sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingTop="10dp"
android:text="@string/payout_country_text"
android:textColor="@color/dark_gray"
android:textSize="13sp" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:id="@+id/txt_pcountry"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:text="Nepal"
android:textColor="@color/black"
android:textSize="13sp"
app:txtfontName="@string/semibold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingTop="10dp"
android:text="@string/payout_mode_text"
android:textColor="@color/dark_gray"
android:textSize="13sp" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:id="@+id/txt_pmode"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:text="CASH Payment"
android:textColor="@color/black"
android:textSize="13sp"
app:txtfontName="@string/semibold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingTop="10dp"
android:text="@string/paying_amount_text"
android:textColor="@color/dark_gray"
android:textSize="13sp" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:id="@+id/txt_pamount"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:text="50,000.00 KRW"
android:textColor="@color/black"
android:textSize="13sp"
android:textStyle="bold"
app:txtfontName="@string/semibold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingTop="10dp"
android:text="@string/exchange_rate_text"
android:textColor="@color/dark_gray"
android:textSize="13sp" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:id="@+id/txt_exrate"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:text="0.00977"
android:textColor="@color/black"
android:textSize="13sp"
android:textStyle="bold"
app:txtfontName="@string/semibold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingTop="10dp"
android:text="@string/service_charge_text"
android:textColor="@color/dark_gray"
android:textSize="13sp" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:id="@+id/txt_servicechargeAmount"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:text="5000 KRW"
android:textColor="@color/black"
android:textSize="13sp"
android:textStyle="bold"
app:txtfontName="@string/semibold" />
</LinearLayout>
<LinearLayout
android:id="@+id/pAgentContainerView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="10dp"
android:orientation="horizontal">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="top"
android:text="@string/payout_agent_text"
android:textColor="@color/dark_gray"
android:textSize="13sp" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:id="@+id/txt_pagent"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:text="[Any Where] lasjdkflasjdfklkasdhfksjdfhl"
android:textColor="@color/black"
android:textSize="13sp"
android:textStyle="bold"
android:singleLine="false"
android:inputType="textMultiLine"
app:txtfontName="@string/semibold" />
</LinearLayout>
<LinearLayout
android:visibility="gone"
android:id="@+id/bankAcNoContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingTop="10dp"
android:text="Bank A/C No: "
android:textColor="@color/dark_gray"
android:textSize="13sp" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:id="@+id/txt_bankAcNo"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:textColor="@color/black"
android:textSize="13sp"
android:textStyle="bold"
app:txtfontName="@string/semibold" />
</LinearLayout>
</LinearLayout>
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:singleLine="false"
android:gravity="center"
android:maxLines="2"
android:layout_height="wrap_content"
android:text="@string/i_have_read_to_text"
android:textColor="@color/dark_gray"
android:textSize="13sp" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:layout_marginBottom="20dp"
android:id="@+id/txt_user_aggreement"
android:paddingTop="3dp"
android:paddingBottom="3dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/gme_user_aggreement_text"
android:textColor="@color/colorPrimary"
android:textSize="13sp" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeButton
android:id="@+id/exRateCalculateButton"
android:layout_width="200dp"
android:layout_height="50dp"
android:layout_gravity="center"
android:layout_marginBottom="20dp"
android:layout_marginTop="20dp"
android:background="@drawable/ic_rounded_background_coloured"
android:text="@string/agree_and_send_text"
android:textAllCaps="false"
android:textColor="@color/white"
android:textSize="18sp" />
</LinearLayout>
</android.support.v4.widget.NestedScrollView>

31
app/src/main/res/layout/nav_drawer_fragment.xml

@ -196,11 +196,40 @@
</LinearLayout> </LinearLayout>
<View <View
android:id="@+id/manageAccountsDivider"
android:id="@+id/manageTransactionReportDivider"
android:visibility="gone" android:visibility="gone"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp"
android:background="@color/divider" /> android:background="@color/divider" />
<LinearLayout
android:id="@+id/view_transaction_report"
android:layout_width="match_parent"
android:layout_height="48dp"
android:gravity="center"
android:orientation="horizontal">
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:src="@drawable/sm_about_gme" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="14dp"
android:layout_marginStart="14dp"
android:text="@string/transaction_report_text"
android:textColor="@color/darkgray"
android:textSize="14sp" />
</LinearLayout>
<View
android:id="@+id/manageAccountsDivider"
android:visibility="visible"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/divider" />
<LinearLayout <LinearLayout
android:id="@+id/view_about_gme" android:id="@+id/view_about_gme"
android:layout_width="match_parent" android:layout_width="match_parent"

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

@ -8,7 +8,6 @@
<string name="gme_sharedpreferences_key" translatable="false">GME</string> <string name="gme_sharedpreferences_key" translatable="false">GME</string>
<!--fonts--> <!--fonts-->
<string name="regular">SanFranciscoText-Regular.otf</string> <string name="regular">SanFranciscoText-Regular.otf</string>
<string name="semibold">SanFranciscoText-Semibold.otf</string> <string name="semibold">SanFranciscoText-Semibold.otf</string>
@ -61,7 +60,6 @@
<string name="password_placeholder_text">********</string> <string name="password_placeholder_text">********</string>
<!--For V2 start from here--> <!--For V2 start from here-->
<string name="login_text">Login</string> <string name="login_text">Login</string>
<string name="new_user_text">New User</string> <string name="new_user_text">New User</string>
@ -270,184 +268,184 @@
how robust our operations are as a result of the hard work completed earlier. how robust our operations are as a result of the hard work completed earlier.
We are now ready with a 100% compliant and secured system that guarantees We are now ready with a 100% compliant and secured system that guarantees
your money will arrive safely in right hands every single time.</string> your money will arrive safely in right hands every single time.</string>
<string name="app_version_text">App Version</string>
<string name="follow_us_text">Follow us on</string>
<string name="check_for_update_text">Check for Update</string>
<string name="change_password_title_text">Change Password</string>
<string name="current_password_text">Current Password</string>
<string name="new_password_text">New Password</string>
<string name="current_password_placeholder_text">Enter Your Current Password</string>
<string name="new_password_placeholder_text">Enter Your New Password</string>
<string name="confirm_new_password_placeholder_text">Confirm Your Password</string>
<string name="save_password_text">Save</string>
<string name="password_policy_text">Password should be At least one sumbol, At least one capital letter, At leset one number and be at least 9 characters</string>
<string name="confirm_password_mismatch_error">Confirm password does not match with new password</string>
<string name="success_text">Success</string>
<string name="confirm_passowrd_empty_error">Confirm password cannot be empty</string>
<string name="profile_title_text">Profile</string>
<string name="personal_title_text">Personal</string>
<string name="personal_subtitle_text">Tell us a few things about yourself</string>
<string name="full_name_placeholder_text">Enter Your Full Name</string>
<string name="email_address_text">Email Address</string>
<string name="gender_text">Gender</string>
<string name="gender_placeholder_text">Select Gender</string>
<string name="native_country_text">Native Country</string>
<string name="native_country_placeholder_text">Select Native Country</string>
<string name="address_in_korea_text">Address In Korea</string>
<string name="province_text">Province</string>
<string name="province_placeholder_text">Select Province</string>
<string name="occupation_text">Occupation</string>
<string name="occupation_placeholder_text">Select Occupation</string>
<string name="save_and_continue_text">Save And Continue</string>
<string name="mobile_number_placeholder_text">Enter your Mobile No</string>
<string name="security_titile_text">Security</string>
<string name="security_subtitle_text">Let\'s get your bank connected</string>
<string name="primary_bank_text">Primary Bank Name</string>
<string name="primary_bank_placeholder_text">Select Primary Bank</string>
<string name="primary_account_number_text">Primary Account Number</string>
<string name="privary_account_number_placeholder">Enter your Primary Account Number</string>
<string name="verification_id_type_text">Verification Id Type</string>
<string name="verification_id_placeholder_text">Select Verification Id Type</string>
<string name="verification_id_no_text">Verification Id Number</string>
<string name="verification_id_no_placeholder_text">Enter Your Verification Id No.</string>
<string name="source_of_fund_text">Source Of Fund</string>
<string name="source_of_fund_placeholder_text">Select Source Of Fund</string>
<string name="issue_date_title">Issue Date</string>
<string name="expiry_date_title">Expiry Date</string>
<string name="upload_title_text">Upload</string>
<string name="upload_subtitle_text">Upload your documents </string>
<string name="view_sample_text">View Sample</string>
<string name="selfie_with_verification_id_front_text">Selfie with Verification Id Front</string>
<string name="verification_id_front_text">Verification Id front</string>
<string name="verification_id_back_text">Verification Id Back</string>
<string name="passbook_text">Bank Passbook</string>
<string name="passport_text">Passport</string>
<string name="submit_text">Submit</string>
<string name="kyc_document_note_text">Note: Verification Id can be your National ID or Alien Reg ID or Passport Front selected on Security Screen</string>
<string name="kyc_photo_upload_dialog_title">Add a Photo</string>
<string name="camera_text">Camera</string>
<string name="gallery_text">Gallery</string>
<string name="please_provide_all_images_text">Please provide all images</string>
<string name="camera_access_denied_text">Camera access denied. Do you want to change the permission from settings?</string>
<string name="galery_access_denied_text">Gallery access denied. Do you want to change the permission from settings?</string>
<string name="done_text">Done</string>
<string name="kyc_first_name_error">Please enter a valid fullname</string>
<string name="kyc_mobile_invalid_number_error">Please enter a valid korean mobile number</string>
<string name="kyc_mobile_empty_error">Mobile number cannot be empty</string>
<string name="kyc_gender_error">Please select gender</string>
<string name="kyc_native_country_error">Please select native country</string>
<string name="kyc_address_error">Please enter valid address</string>
<string name="kyc_province_error">Please select province</string>
<string name="kyc_occupation_error">Please select occupation</string>
<string name="kyc_bank_name_error">Please select bank</string>
<string name="kyc_account_number_error">Please enter valid account number</string>
<string name="kyc_verification_id_error">Please select valid verification Id type</string>
<string name="kyc_source_of_fund_error">Please select source of fund</string>
<string name="kyc_verification_no_error">Please enter a valid verification id number</string>
<string name="kyc_form_fill_up_number_error">Please fill all the required details</string>
<string name="document_issue_date_error_text">Please select an issue date</string>
<string name="document_expiry_date_error_text">Please select an expiry date</string>
<string name="ok_text">Ok</string>
<string name="invalid_date_range_selected_text">Invalid date range selected</string>
<string name="start_app_manually_text">Please restart app manually</string>
<string name="permission_denied_text">Permission Denied</string>
<string name="no_internet_connection_error">Please check your internet connection</string>
<string name="select_currency_text">Select Currency</string>
<string name="search_currency_text">Search Currency</string>
<string name="no_currency_found_text">No Currency found</string>
<string name="no_country_found_text">No Country found</string>
<string name="select_gender_text">Select Gender</string>
<string name="male_text">Male</string>
<string name="female_text">Female</string>
<string name="other_text">Other</string>
<string name="no_gender_found_text">No Gender found</string>
<string name="enter_your_login_password_text">Enter your login Password</string>
<string name="search_country_text">Search Country</string>
<string name="select_country_text">Select Country</string>
<string name="select_district_text">Select District</string>
<string name="search_district_text">Search District</string>
<string name="no_district_found_text">No district found</string>
<string name="select_province_text">Select Province</string>
<string name="search_province_text">Search Province</string>
<string name="no_province_found_text">No Province found</string>
<string name="select_relation_text">Select Relation</string>
<string name="search_relation_text">Search Relation</string>
<string name="no_relation_found_text">No relation found</string>
<string name="select_transfer_reason_text">Select Transfer Reason</string>
<string name="search_transfer_reason_text">Search Transfer Reason</string>
<string name="no_transfer_reason_found_text">No transfer reason found</string>
<string name="select_occupation_text">Select Occupation</string>
<string name="search_occupation_text">Search Occupation</string>
<string name="no_occupation_found_text">No Occupation found</string>
<string name="select_id_type_text">Select Id Type</string>
<string name="no_id_type_found_text">No Id Type found</string>
<string name="search_id_text">Search Id Type</string>
<string name="select_primary_bank_text">Select Primary Bank</string>
<string name="no_primary_bank_found_text">No primary bank found</string>
<string name="search_primary_bank_text">Search Primary Bank</string>
<string name="select_source_of_fund_text">Select Source Of Fund</string>
<string name="no_source_of_found_text">No Source of Fund found</string>
<string name="search_source_of_fund">Search Source of Fund</string>
<string name="select_dob_text">Select dob</string>
<string name="select_issue_date_text">Select issue date</string>
<string name="select_expiry_date_text">Select expiry date</string>
<string name="search_language_text">Search Language</string>
<string name="select_language_text">Select Language</string>
<string name="no_language_found_text">No Language found</string>
<string name="search_bank_text">Search Bank</string>
<string name="no_bank_found_text">No Bank found</string>
<string name="search_branch_text">Search Branch</string>
<string name="no_branch_found_text">No Branch found</string>
<string name="app_version_text">App Version</string>
<string name="follow_us_text">Follow us on</string>
<string name="check_for_update_text">Check for Update</string>
<string name="change_password_title_text">Change Password</string>
<string name="current_password_text">Current Password</string>
<string name="new_password_text">New Password</string>
<string name="current_password_placeholder_text">Enter Your Current Password</string>
<string name="new_password_placeholder_text">Enter Your New Password</string>
<string name="confirm_new_password_placeholder_text">Confirm Your Password</string>
<string name="save_password_text">Save</string>
<string name="password_policy_text">Password should be At least one sumbol, At least one capital letter, At leset one number and be at least 9 characters</string>
<string name="confirm_password_mismatch_error">Confirm password does not match with new password</string>
<string name="success_text">Success</string>
<string name="confirm_passowrd_empty_error">Confirm password cannot be empty</string>
<string name="profile_title_text">Profile</string>
<string name="personal_title_text">Personal</string>
<string name="personal_subtitle_text">Tell us a few things about yourself</string>
<string name="full_name_placeholder_text">Enter Your Full Name</string>
<string name="email_address_text">Email Address</string>
<string name="gender_text">Gender</string>
<string name="gender_placeholder_text">Select Gender</string>
<string name="native_country_text">Native Country</string>
<string name="native_country_placeholder_text">Select Native Country</string>
<string name="address_in_korea_text">Address In Korea</string>
<string name="province_text">Province</string>
<string name="province_placeholder_text">Select Province</string>
<string name="occupation_text">Occupation</string>
<string name="occupation_placeholder_text">Select Occupation</string>
<string name="save_and_continue_text">Save And Continue</string>
<string name="mobile_number_placeholder_text">Enter your Mobile No</string>
<string name="security_titile_text">Security</string>
<string name="security_subtitle_text">Let\'s get your bank connected</string>
<string name="primary_bank_text">Primary Bank Name</string>
<string name="primary_bank_placeholder_text">Select Primary Bank</string>
<string name="primary_account_number_text">Primary Account Number</string>
<string name="privary_account_number_placeholder">Enter your Primary Account Number</string>
<string name="verification_id_type_text">Verification Id Type</string>
<string name="verification_id_placeholder_text">Select Verification Id Type</string>
<string name="verification_id_no_text">Verification Id Number</string>
<string name="verification_id_no_placeholder_text">Enter Your Verification Id No.</string>
<string name="source_of_fund_text">Source Of Fund</string>
<string name="source_of_fund_placeholder_text">Select Source Of Fund</string>
<string name="issue_date_title">Issue Date</string>
<string name="expiry_date_title">Expiry Date</string>
<string name="upload_title_text">Upload</string>
<string name="upload_subtitle_text">Upload your documents </string>
<string name="view_sample_text">View Sample</string>
<string name="selfie_with_verification_id_front_text">Selfie with Verification Id Front</string>
<string name="verification_id_front_text">Verification Id front</string>
<string name="verification_id_back_text">Verification Id Back</string>
<string name="passbook_text">Bank Passbook</string>
<string name="passport_text">Passport</string>
<string name="submit_text">Submit</string>
<string name="kyc_document_note_text">Note: Verification Id can be your National ID or Alien Reg ID or Passport Front selected on Security Screen</string>
<string name="kyc_photo_upload_dialog_title">Add a Photo</string>
<string name="camera_text">Camera</string>
<string name="gallery_text">Gallery</string>
<string name="please_provide_all_images_text">Please provide all images</string>
<string name="camera_access_denied_text">Camera access denied. Do you want to change the permission from settings?</string>
<string name="galery_access_denied_text">Gallery access denied. Do you want to change the permission from settings?</string>
<string name="done_text">Done</string>
<string name="kyc_first_name_error">Please enter a valid fullname</string>
<string name="kyc_mobile_invalid_number_error">Please enter a valid korean mobile number</string>
<string name="kyc_mobile_empty_error">Mobile number cannot be empty</string>
<string name="kyc_gender_error">Please select gender</string>
<string name="kyc_native_country_error">Please select native country</string>
<string name="kyc_address_error">Please enter valid address</string>
<string name="kyc_province_error">Please select province</string>
<string name="kyc_occupation_error">Please select occupation</string>
<string name="kyc_bank_name_error">Please select bank</string>
<string name="kyc_account_number_error">Please enter valid account number</string>
<string name="kyc_verification_id_error">Please select valid verification Id type</string>
<string name="kyc_source_of_fund_error">Please select source of fund</string>
<string name="kyc_verification_no_error">Please enter a valid verification id number</string>
<string name="kyc_form_fill_up_number_error">Please fill all the required details</string>
<string name="document_issue_date_error_text">Please select an issue date</string>
<string name="document_expiry_date_error_text">Please select an expiry date</string>
<string name="ok_text">Ok</string>
<string name="invalid_date_range_selected_text">Invalid date range selected</string>
<string name="start_app_manually_text">Please restart app manually</string>
<string name="permission_denied_text">Permission Denied</string>
<string name="no_internet_connection_error">Please check your internet connection</string>
<string name="select_currency_text">Select Currency</string>
<string name="search_currency_text">Search Currency</string>
<string name="no_currency_found_text">No Currency found</string>
<string name="no_country_found_text">No Country found</string>
<string name="select_gender_text">Select Gender</string>
<string name="male_text">Male</string>
<string name="female_text">Female</string>
<string name="other_text">Other</string>
<string name="no_gender_found_text">No Gender found</string>
<string name="enter_your_login_password_text">Enter your login Password</string>
<string name="search_country_text">Search Country</string>
<string name="select_country_text">Select Country</string>
<string name="select_district_text">Select District</string>
<string name="search_district_text">Search District</string>
<string name="no_district_found_text">No district found</string>
<string name="select_province_text">Select Province</string>
<string name="search_province_text">Search Province</string>
<string name="no_province_found_text">No Province found</string>
<string name="select_relation_text">Select Relation</string>
<string name="search_relation_text">Search Relation</string>
<string name="no_relation_found_text">No relation found</string>
<string name="select_transfer_reason_text">Select Transfer Reason</string>
<string name="search_transfer_reason_text">Search Transfer Reason</string>
<string name="no_transfer_reason_found_text">No transfer reason found</string>
<string name="select_occupation_text">Select Occupation</string>
<string name="search_occupation_text">Search Occupation</string>
<string name="no_occupation_found_text">No Occupation found</string>
<string name="select_id_type_text">Select Id Type</string>
<string name="no_id_type_found_text">No Id Type found</string>
<string name="search_id_text">Search Id Type</string>
<string name="select_primary_bank_text">Select Primary Bank</string>
<string name="no_primary_bank_found_text">No primary bank found</string>
<string name="search_primary_bank_text">Search Primary Bank</string>
<string name="select_source_of_fund_text">Select Source Of Fund</string>
<string name="no_source_of_found_text">No Source of Fund found</string>
<string name="search_source_of_fund">Search Source of Fund</string>
<string name="select_dob_text">Select dob</string>
<string name="select_issue_date_text">Select issue date</string>
<string name="select_expiry_date_text">Select expiry date</string>
<string name="search_language_text">Search Language</string>
<string name="select_language_text">Select Language</string>
<string name="no_language_found_text">No Language found</string>
<string name="search_bank_text">Search Bank</string>
<string name="no_bank_found_text">No Bank found</string>
<string name="search_branch_text">Search Branch</string>
<string name="no_branch_found_text">No Branch found</string>
<string name="search_branch_hint_text">Type to search branches (Minimum 3 characters) <string name="search_branch_hint_text">Type to search branches (Minimum 3 characters)
</string> </string>
<string name="search_account_text">Search Account</string>
<string name="no_account_found_text">No Account found</string>
<string name="select_account_text">Choose Payment Method</string>
<string name="no_result_found_text">No Result Found</string>
<string name="processing_request_text">Processing request</string>
<string name="important_text">Important</string>
<string name="error_text">Error</string>
<string name="operation_failed_text">Operation Failed</string>
<string name="connection_failed_text">Connection Failed</string>
<string name="auto_refund_title_text">Auto Refund</string>
<string name="how_much_would_you_like_to_refund">How much would you like to refund?</string>
<string name="withdraw_text">Withdraw</string>
<string name="refund_text">Refund</string>
<string name="you_refund_text">You Refund</string>
<string name="per_refund_bank_charge">Per Refund Bank Charge</string>
<string name="penny_test_promt_description_text">Your bank account verification is required inorder to complete the registration. Do you want to verify it now?</string>
<string name="not_now_text">Not now</string>
<string name="deposit_reference_text">Deposit Reference</string>
<string name="resend_request_text">Resend Request</string>
<string name="proceed_text">Proceed</string>
<string name="penny_test_close_text">Close</string>
<string name="penny_test_title_text">Penny Test</string>
<string name="valid_verification_code_error">Please enter the valid verification code</string>
<string name="new_update_is_available_text">New update is available</string>
<string name="update_text">Update</string>
<string name="auto_debit_title_text">Manage Auto Debit Account</string>
<string name="are_you_sure_text">Are you sure?</string>
<string name="auto_debit_delete_confirm_description">You want to delete Auto-Debit Account!</string>
<string name="add_auto_debit_account_text">Add Auto Debit Account</string>
<string name="delete_auto_debit_account_hint_text">Hold to Delete the account</string>
<string name="no_languages_available_text">No Languages Available</string>
<string name="swift_to_delete_account_text">Swipe left to Edit or Delete account.</string>
<string name="language_text">Language</string>
<string name="search_account_text">Search Account</string>
<string name="no_account_found_text">No Account found</string>
<string name="select_account_text">Choose Payment Method</string>
<string name="no_result_found_text">No Result Found</string>
<string name="processing_request_text">Processing request</string>
<string name="important_text">Important</string>
<string name="error_text">Error</string>
<string name="operation_failed_text">Operation Failed</string>
<string name="connection_failed_text">Connection Failed</string>
<string name="auto_refund_title_text">Auto Refund</string>
<string name="how_much_would_you_like_to_refund">How much would you like to refund?</string>
<string name="withdraw_text">Withdraw</string>
<string name="refund_text">Refund</string>
<string name="you_refund_text">You Refund</string>
<string name="per_refund_bank_charge">Per Refund Bank Charge</string>
<string name="penny_test_promt_description_text">Your bank account verification is required inorder to complete the registration. Do you want to verify it now?</string>
<string name="not_now_text">Not now</string>
<string name="deposit_reference_text">Deposit Reference</string>
<string name="resend_request_text">Resend Request</string>
<string name="proceed_text">Proceed</string>
<string name="penny_test_close_text">Close</string>
<string name="penny_test_title_text">Penny Test</string>
<string name="valid_verification_code_error">Please enter the valid verification code</string>
<string name="new_update_is_available_text">New update is available</string>
<string name="update_text">Update</string>
<string name="auto_debit_title_text">Manage Auto Debit Account</string>
<string name="are_you_sure_text">Are you sure?</string>
<string name="auto_debit_delete_confirm_description">You want to delete Auto-Debit Account!</string>
<string name="add_auto_debit_account_text">Add Auto Debit Account</string>
<string name="delete_auto_debit_account_hint_text">Hold to Delete the account</string>
<string name="no_languages_available_text">No Languages Available</string>
<string name="swift_to_delete_account_text">Swipe left to Edit or Delete account.</string>
<string name="language_text">Language</string>
<string name="resend_money_text">Resend</string>
</resources> </resources>
Loading…
Cancel
Save