diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index 41c8de02..3671737a 100644 Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ diff --git a/app/build.gradle b/app/build.gradle index ae25c78f..3e3ba9e7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -114,5 +114,7 @@ dependencies { implementation 'io.reactivex.rxjava2:rxjava:2.1.0' implementation 'org.greenrobot:eventbus:3.1.1' implementation 'com.android.support:percent:27.1.1' + implementation 'com.android.support:cardview-v7:27.1.1' + } apply plugin: 'com.google.gms.google-services' diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/HomeParentViewContractV2.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/HomeParentViewContractV2.java index c15e5ae6..0fa07fcc 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/HomeParentViewContractV2.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/HomeParentViewContractV2.java @@ -1,6 +1,7 @@ package com.gmeremit.online.gmeremittance_native.homeV2; import com.gmeremit.online.gmeremittance_native.R; +import com.gmeremit.online.gmeremittance_native.homeV2.presenter.HomeV2PresenterInterface; public interface HomeParentViewContractV2 { @@ -12,5 +13,7 @@ public interface HomeParentViewContractV2 { void showTransactionStatementView(); void showWalletToWalletView(); + HomeV2PresenterInterface getPresenter(); + } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/adapters/HomeMenuRvAdapterV2.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/adapters/HomeMenuRvAdapterV2.java index 20361410..9f798681 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/adapters/HomeMenuRvAdapterV2.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/adapters/HomeMenuRvAdapterV2.java @@ -25,7 +25,7 @@ public class HomeMenuRvAdapterV2 extends RecyclerView.Adapter getUserRelatedData(String auth) { - return Observable.error(new Throwable("Not api developed")); + return Observable.timer(3, TimeUnit.SECONDS).flatMap(tick->Observable.error(new Throwable("Not api developed"))); } @Override @@ -96,10 +98,13 @@ public class HomeV2Gateway extends PrivilegedGateway implements HomeV2Interactor userInfoModelV2.setEmail(sharedPreferenceEditor.getString(PrefKeys.USER_EMAIL,"")); userInfoModelV2.setFirstName(sharedPreferenceEditor.getString(PrefKeys.USER_FIRST_NAME,"")); userInfoModelV2.setUserId(sharedPreferenceEditor.getString(PrefKeys.USER_ID,"")); + userInfoModelV2.setSenderId(sharedPreferenceEditor.getString(PrefKeys.USER_ID_NUMBER,"")); userInfoModelV2.setIdType(sharedPreferenceEditor.getString(PrefKeys.USER_ID_TYPE,"")); userInfoModelV2.setReferred(sharedPreferenceEditor.getBoolean(PrefKeys.USER_IS_REFERRED,false)); + userInfoModelV2.setKyc(sharedPreferenceEditor.getBoolean(PrefKeys.USER_KYC_VERIFIED,false)); userInfoModelV2.setLastName(sharedPreferenceEditor.getString(PrefKeys.USER_LAST_NAME,"")); userInfoModelV2.setMiddleName(sharedPreferenceEditor.getString(PrefKeys.USER_MIDDLE_NAME,"")); + userInfoModelV2.setMobileNumber(sharedPreferenceEditor.getString(PrefKeys.USER_MSISDN,"")); userInfoModelV2.setNickName(sharedPreferenceEditor.getString(PrefKeys.USER_NICK_NAME,"")); userInfoModelV2.setPrimaryBankName(sharedPreferenceEditor.getString(PrefKeys.USER_PRIMARY_BANK_NAME,"")); userInfoModelV2.setProvince(sharedPreferenceEditor.getString(PrefKeys.USER_PROVINCE,"")); diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/presenter/HomeV2Presenter.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/presenter/HomeV2Presenter.java index 29243f3d..f9091c3f 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/presenter/HomeV2Presenter.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/presenter/HomeV2Presenter.java @@ -76,10 +76,31 @@ public class HomeV2Presenter extends BasePresenter implements HomeV2PresenterInt fullName = userInfoModelV2.getFirstName() + " " + userInfoModelV2.getMiddleName() + " " + userInfoModelV2.getLastName(); else fullName = userInfoModelV2.getFirstName() + " " + userInfoModelV2.getLastName(); - Log.d("DashBoardError","Recieved Data : "+fullName); + Log.d("KYCRELATEDDATA","ISKYC SUBMITTED : "+userInfoModelV2.getKyc()); + Log.d("KYCRELATEDDATA","ISKYC VERIFIED : "+userInfoModelV2.getVerified()); + Log.d("KYCRELATEDDATA","YEARLY LIMIT : "+userInfoModelV2.getYearlyLimit()); view.showInfoInDrawer(fullName, userInfoModelV2.getEmail(), userInfoModelV2.getAvailableBalance(), userInfoModelV2.getWalletNumber(), userInfoModelV2.getPrimaryBankName(), userInfoModelV2.getMobileNumber()); - view.showYearlyLimitAndRewardPoint(userInfoModelV2.getYearlyLimit(),userInfoModelV2.getRewardPoint()); + view.updateUserInfoInChildView(fullName, userInfoModelV2.getYearlyLimit(),userInfoModelV2.getRewardPoint()); + + String message=""; + String title=""; + + boolean disableKYCViewClick=userInfoModelV2.getKyc()&&!userInfoModelV2.getVerified(); + boolean shouldShowKYCView=false; + if(!userInfoModelV2.getKyc()) + { + shouldShowKYCView=true; + title="Fillup KYC form"; + message="KYC form is required to perform Transaction"; + } + else if(!userInfoModelV2.getVerified()) + { + shouldShowKYCView=true; + title="KYC Form Pending"; + message="KYC form is in pending State"; + } + view.showKYCVerifiedIfRequired(shouldShowKYCView,message,title,disableKYCViewClick); } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/presenter/HomeV2PresenterInterface.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/presenter/HomeV2PresenterInterface.java index dbbefe02..f4535baf 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/presenter/HomeV2PresenterInterface.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/presenter/HomeV2PresenterInterface.java @@ -16,6 +16,8 @@ public interface HomeV2PresenterInterface extends BasePresenterInterface { { void showInfoInDrawer(String fullname, String email, String balance, String walletNumber, String bankName, String contact); - void showYearlyLimitAndRewardPoint(String yearlyLimit, String rewardPoint); + void updateUserInfoInChildView(String userName, String yearlyLimit, String rewardPoint); + + void showKYCVerifiedIfRequired(boolean shouldShowView, String message, String title, boolean disableKYCViewClick); } } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeActivityV2.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeActivityV2.java index 174cb55e..cfde260c 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeActivityV2.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeActivityV2.java @@ -275,6 +275,13 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra showFetaureComingSoon(); } + @Override + public HomeV2PresenterInterface getPresenter() { + if(this.presenter==null) + presenter=new HomeV2Presenter(this); + return presenter; + } + @Override public void showInfoInDrawer(String fullname, String email, String balance, String walletNumber, String bankName, String contact) { @@ -307,9 +314,15 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra } @Override - public void showYearlyLimitAndRewardPoint(String yearlyLimit, String rewardPoint) { + public void updateUserInfoInChildView(String userName, String yearlyLimit, String rewardPoint) { if(currentFragment!=null&¤tFragment instanceof HomeFragmentV2) - ((HomeFragmentV2)currentFragment).updateYearlyLimit(yearlyLimit,rewardPoint); + ((HomeFragmentV2)currentFragment).updateInfo(userName,yearlyLimit,rewardPoint); + } + + @Override + public void showKYCVerifiedIfRequired(boolean shouldShowView, String message, String title, boolean disableKYCViewClick) { + if(currentFragment!=null&¤tFragment instanceof HomeFragmentV2) + ((HomeFragmentV2)currentFragment).showKYCVerifiedIfRequired(shouldShowView,message,title,disableKYCViewClick); } public void setWalletNo(TextView textView, String walletNumber, String bankName) { diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeFragmentV2.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeFragmentV2.java index f39cee54..7bd8e9fa 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeFragmentV2.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeFragmentV2.java @@ -3,6 +3,7 @@ package com.gmeremit.online.gmeremittance_native.homeV2.view; import android.content.Intent; import android.os.Bundle; import android.support.annotation.Nullable; +import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; @@ -12,12 +13,11 @@ import android.widget.TextView; import com.gmeremit.online.gmeremittance_native.R; import com.gmeremit.online.gmeremittance_native.base.BaseFragment; -import com.gmeremit.online.gmeremittance_native.home.adapters.MenuAdapter; -import com.gmeremit.online.gmeremittance_native.home.model.Menu; import com.gmeremit.online.gmeremittance_native.homeV2.HomeParentViewContractV2; import com.gmeremit.online.gmeremittance_native.homeV2.adapters.HomeMenuRvAdapterV2; import com.gmeremit.online.gmeremittance_native.homeV2.model.MenuItem; import com.gmeremit.online.gmeremittance_native.kycV2.view.KYCFormV2Activity; +import com.gmeremit.online.gmeremittance_native.utils.Utils; import java.util.ArrayList; import java.util.List; @@ -36,10 +36,26 @@ public class HomeFragmentV2 extends BaseFragment implements HomeMenuRvAdapterV2. @BindView(R.id.tv_rewardpoint) TextView tv_rewardpoint; + @BindView(R.id.tv_namelabel) + TextView tv_namelabel; + + @BindView(R.id.tv_balance) + TextView tv_balance; + + @BindView(R.id.verify_label) + TextView kycTitleLabel; + + @BindView(R.id.verification_text) + TextView kycVerificationBody; + @BindView(R.id.user_status_layout_nonverified) View kyc_notice_view; + @BindView(R.id.swiperefresh) + SwipeRefreshLayout swiperefresh; + HomeMenuRvAdapterV2 homeMenuRvAdapterV2; + private boolean disableKYCViewClick; @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { @@ -55,16 +71,14 @@ public class HomeFragmentV2 extends BaseFragment implements HomeMenuRvAdapterV2. } - - private void init() - { + private void init() { setupMenuRecyclerView(); } private void setupMenuRecyclerView() { menuRecyclerView.setLayoutManager(new GridLayoutManager(getActivity(), 2)); menuRecyclerView.setNestedScrollingEnabled(false); - homeMenuRvAdapterV2=new HomeMenuRvAdapterV2(this); + homeMenuRvAdapterV2 = new HomeMenuRvAdapterV2(this); menuRecyclerView.setAdapter(homeMenuRvAdapterV2); homeMenuRvAdapterV2.setData(getMenuData()); @@ -75,6 +89,11 @@ public class HomeFragmentV2 extends BaseFragment implements HomeMenuRvAdapterV2. public void onStart() { super.onStart(); kyc_notice_view.setOnClickListener(this); + swiperefresh.setOnRefreshListener(()->{ + HomeParentViewContractV2 parentView= ((HomeParentViewContractV2)getActivity()); + if(parentView!=null) + parentView.getPresenter().getRequiredData(); + }); } @Override @@ -86,14 +105,14 @@ public class HomeFragmentV2 extends BaseFragment implements HomeMenuRvAdapterV2. private List getMenuData() { - List menuList = new ArrayList<>(); - menuList.add(new MenuItem("Send Money", R.drawable.ic_menu_sendmoney, 1)); - menuList.add(new MenuItem("Mobile Recharge", R.drawable.ic_menu_recharge, 2)); - menuList.add(new MenuItem("Today’s Rate", R.drawable.ic_menu_exchange_rate, 3)); - menuList.add(new MenuItem("Track Your Transfer", R.drawable.ic_menu_trackloc, 4)); - menuList.add(new MenuItem("Transaction Statement", R.drawable.ic_menu_statement, 5)); - menuList.add(new MenuItem("Wallet to Wallet Transfer", R.drawable.ic_menu_wallet, 6)); - return menuList; + List menuList = new ArrayList<>(); + menuList.add(new MenuItem("Send Money", R.drawable.ic_menu_sendmoney, 1)); +// menuList.add(new MenuItem("Mobile Recharge", R.drawable.ic_menu_recharge, 2)); + menuList.add(new MenuItem("Today’s Rate", R.drawable.ic_menu_exchange_rate, 3)); + menuList.add(new MenuItem("Transaction Report", R.drawable.ic_menu_statement, 5)); + menuList.add(new MenuItem("GME Wallet Statement", R.drawable.ic_menu_trackloc, 4)); +// menuList.add(new MenuItem("Wallet to Wallet Transfer", R.drawable.ic_menu_wallet, 6)); + return menuList; } private void performDefaultAction(Bundle savedInstanceState) { @@ -102,57 +121,108 @@ public class HomeFragmentV2 extends BaseFragment implements HomeMenuRvAdapterV2. @Override public void onMenuItemClicked(MenuItem clickedItem) { - HomeParentViewContractV2 parentViewContractV2= (HomeParentViewContractV2) getActivity(); - if(parentViewContractV2==null) + HomeParentViewContractV2 parentViewContractV2 = (HomeParentViewContractV2) getActivity(); + if (parentViewContractV2 == null) return; - switch (clickedItem.getId()) - { - case 1: - parentViewContractV2.showSendMoneyView(); - break; - case 2: - parentViewContractV2.showMobileRechargeView(); - break; - case 3: - parentViewContractV2.showTodaysRateView(); - break; - case 4: - parentViewContractV2.showTrackYourTransferView(); - break; - case 5: - parentViewContractV2.showTransactionStatementView(); - break; - case 6: - parentViewContractV2.showWalletToWalletView(); - break; + switch (clickedItem.getId()) { + case 1: + parentViewContractV2.showSendMoneyView(); + break; + case 2: + parentViewContractV2.showMobileRechargeView(); + break; + case 3: + parentViewContractV2.showTodaysRateView(); + break; + case 4: + parentViewContractV2.showTrackYourTransferView(); + break; + case 5: + parentViewContractV2.showTransactionStatementView(); + break; + case 6: + parentViewContractV2.showWalletToWalletView(); + break; - } + } } - public void updateYearlyLimit(String yearlyLimit,String rewardPoint) { - if(isUIReady()) - { - tv_currency.setText(yearlyLimit); + public void updateInfo(String userName,String yearlyLimit, String rewardPoint) { + if (isUIReady()) { + swiperefresh.setRefreshing(false); + tv_currency.setVisibility(View.VISIBLE); tv_rewardpoint.setText(rewardPoint); - } - else - { - scheduleTaskLater(()->{ tv_currency.setText(yearlyLimit); + tv_namelabel.setText(userName); + tv_balance.setText(yearlyLimit); + } else { + scheduleTaskLater(() -> { + swiperefresh.setRefreshing(false); + tv_currency.setVisibility(View.VISIBLE); + tv_balance.setText(yearlyLimit); tv_rewardpoint.setText(rewardPoint); + tv_namelabel.setText(userName); }); } } + @Override public void onClick(View v) { - switch(v.getId()) - { + switch (v.getId()) { case R.id.user_status_layout_nonverified: - Intent startKycIntent=new Intent(getActivity(), KYCFormV2Activity.class); + Intent startKycIntent = new Intent(getActivity(), KYCFormV2Activity.class); startActivity(startKycIntent); break; } } + + public void showKYCVerifiedIfRequired(boolean shouldShowView, String message, String title, boolean disableKYCViewClick) { + if(isUIReady()) + { + if(shouldShowView) + { + this.disableKYCViewClick=disableKYCViewClick; + kycVerificationBody.setText(message); + kycVerificationBody.setText(title); + if(kyc_notice_view.getVisibility()!=View.VISIBLE) + Utils.expand(kyc_notice_view,null,200); + } + else + { + + if(kyc_notice_view.getVisibility()!=View.GONE) + Utils.collapse(kyc_notice_view,()->{ +// kycVerificationBody.setText(message); +// kycVerificationBody.setText(title); + },200); + } + } + else + { + scheduleTaskLater(()->{ + + if(shouldShowView) + { + this.disableKYCViewClick=disableKYCViewClick; + kycVerificationBody.setText(message); + kycVerificationBody.setText(title); + if(kyc_notice_view.getVisibility()!=View.VISIBLE) + Utils.expand(kyc_notice_view,null,200); + } + else + { + + if(kyc_notice_view.getVisibility()!=View.GONE) + Utils.collapse(kyc_notice_view,()->{ + kycVerificationBody.setText(message); + kycVerificationBody.setText(title); + },200); + } + + + }); + } + } } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeMenuItemViewHolderV2.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeMenuItemViewHolderV2.java index a9dc2b34..e6c020b0 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeMenuItemViewHolderV2.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeMenuItemViewHolderV2.java @@ -12,8 +12,7 @@ import butterknife.ButterKnife; public class HomeMenuItemViewHolderV2 extends RecyclerView.ViewHolder { - @BindView(R.id.fav) - ImageView fav; + @BindView(R.id.image) ImageView imageView; @BindView(R.id.title) diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/presenter/RegisterV2Presenter.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/presenter/RegisterV2Presenter.java index 0b0c2298..6e44800f 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/presenter/RegisterV2Presenter.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/presenter/RegisterV2Presenter.java @@ -46,7 +46,7 @@ public class RegisterV2Presenter extends BasePresenter implements RegisterV2Pres pwdValidation= false; } if (pwdString.length()>1&&pwdString.length()<9) { - this.view.setPasswordError("Password must be at least 9 characters long"); + this.view.setPasswordError("Password should be greater than 8 character"); pwdValidation= false; } if(pwdString.trim().length()<1) @@ -56,7 +56,7 @@ public class RegisterV2Presenter extends BasePresenter implements RegisterV2Pres } if (!pwdString.equalsIgnoreCase(pwdConfrimString)) { - this.view.setConfirmPasswordError("Confirm password does not match"); + this.view.setConfirmPasswordError("Passwords does not match"); confirmPwdValidation= false; } if(pwdConfrimString==null||pwdConfrimString.trim().length()<1) diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/transactionhistoryV2/view/TransactionHistoryActivityV2.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/transactionhistoryV2/view/TransactionHistoryActivityV2.java index 2ccb811a..5d88b94b 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/transactionhistoryV2/view/TransactionHistoryActivityV2.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/transactionhistoryV2/view/TransactionHistoryActivityV2.java @@ -94,7 +94,7 @@ public class TransactionHistoryActivityV2 extends BaseActivity implements Transa private void initialize() { this.presenter = new TransactionHistoryV2Presenter(this); - toolbarTitle.setText("Transaction History"); + toolbarTitle.setText("Transaction Report"); setupViewPager(); setUpTabLayout(); searchTextChangeListener = new SearchEdittextTextChangeListener(); diff --git a/app/src/main/res/layout/activity_login_v2.xml b/app/src/main/res/layout/activity_login_v2.xml index 156f3192..127f1609 100644 --- a/app/src/main/res/layout/activity_login_v2.xml +++ b/app/src/main/res/layout/activity_login_v2.xml @@ -49,7 +49,7 @@ android:layout_marginLeft="10dp" android:paddingTop="8dp" android:paddingBottom="8dp" - android:text="Login with your email address or mobile number" + android:text="Login with your email address" android:textSize="14sp" app:txtfontName="@string/regular" /> diff --git a/app/src/main/res/layout/activity_register_v2.xml b/app/src/main/res/layout/activity_register_v2.xml index 3231f690..9e308808 100644 --- a/app/src/main/res/layout/activity_register_v2.xml +++ b/app/src/main/res/layout/activity_register_v2.xml @@ -40,7 +40,8 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingTop="10dp" - android:paddingBottom="5dp" android:text="Register to\nGlobal Money Express" + android:paddingBottom="5dp" + android:text="Register to\nGlobal Money Express" android:textColor="@color/colorAccent" android:textSize="24sp" app:txtfontName="@string/bold"/> @@ -63,7 +64,7 @@ android:id="@+id/useridWrapper" android:layout_width="match_parent" android:layout_height="wrap_content" - android:hint="Email/Mobile No." + android:hint="Email" android:textColorHint="@color/darkgray"> @@ -195,7 +198,9 @@ android:id="@+id/user_status_layout" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_margin="6dp" + android:layout_marginBottom="6dp" + android:layout_marginStart="6dp" + android:layout_marginEnd="6dp" android:background="@drawable/ic_rectangle_white_corners" android:padding="6dp"> @@ -228,7 +233,7 @@ android:textSize="24sp" /> + + + + + + + + + +