diff --git a/.idea/assetWizardSettings.xml b/.idea/assetWizardSettings.xml
index 54626a7e..c385b7eb 100644
--- a/.idea/assetWizardSettings.xml
+++ b/.idea/assetWizardSettings.xml
@@ -318,8 +318,8 @@
diff --git a/app/src/main/java/com/remit/jmecustomer/features/beneficiaryDetail/BeneficiaryDetailActivity.kt b/app/src/main/java/com/remit/jmecustomer/features/beneficiaryDetail/BeneficiaryDetailActivity.kt
index 81926d1c..7f701579 100644
--- a/app/src/main/java/com/remit/jmecustomer/features/beneficiaryDetail/BeneficiaryDetailActivity.kt
+++ b/app/src/main/java/com/remit/jmecustomer/features/beneficiaryDetail/BeneficiaryDetailActivity.kt
@@ -48,7 +48,7 @@ class BeneficiaryDetailActivity : BaseActivity() {
override fun onItemClicked(paymentMethodV3Model: PaymentMethodV3Model) {
isPaymentSelected = true
receiverInfoModel?.paymentMethod = paymentMethodV3Model
- receiverInfoModel?.receiverId = paymentMethodV3Model.agent.id
+ receiverInfoModel?.receiverId = paymentMethodV3Model.receiverId
receiverInfoModel?.agent = paymentMethodV3Model.agent
}
diff --git a/app/src/main/java/com/remit/jmecustomer/features/homeV3/view/HomeActivityV3.kt b/app/src/main/java/com/remit/jmecustomer/features/homeV3/view/HomeActivityV3.kt
index 6fa2bc52..ea0922d7 100644
--- a/app/src/main/java/com/remit/jmecustomer/features/homeV3/view/HomeActivityV3.kt
+++ b/app/src/main/java/com/remit/jmecustomer/features/homeV3/view/HomeActivityV3.kt
@@ -132,7 +132,7 @@ class HomeActivityV3 : BaseActivity(), HomeParentViewContractV2,
val tab2: TabLayout.Tab =
binding.tabLayout.newTab().setIcon(R.drawable.ic_transfers_unselected)
val tab3: TabLayout.Tab =
- binding.tabLayout.newTab().setIcon(R.drawable.ic_transfers_unselected)
+ binding.tabLayout.newTab().setIcon(R.drawable.profile_unselected)
// Add tabs to the TabLayout
binding.tabLayout.addTab(tab1)
@@ -148,12 +148,20 @@ class HomeActivityV3 : BaseActivity(), HomeParentViewContractV2,
}
override fun onPageSelected(position: Int) {
+ if (viewModel?.notificationViewActive == true) {
+ if (position == 1) {
+ return
+ }
+ }
if (viewModel?.notificationViewActive == true) {
if (binding.vpDashboard.currentItem == 0) {
homeFragmentV3.showNotification()
+ homeFragmentV3.focusHome(false)
} else {
homeFragmentV3.removeNotification()
}
+ } else {
+ homeFragmentV3.focusHome(true)
}
binding.tabLayout.selectTab(binding.tabLayout.getTabAt(position));
}
@@ -166,6 +174,11 @@ class HomeActivityV3 : BaseActivity(), HomeParentViewContractV2,
binding.tabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener {
override fun onTabSelected(tab: TabLayout.Tab) {
+ if (viewModel?.notificationViewActive == true) {
+ if (tab.position == 1) {
+ return
+ }
+ }
when (tab.position) {
0 -> {
resetTabs()
@@ -179,7 +192,7 @@ class HomeActivityV3 : BaseActivity(), HomeParentViewContractV2,
}
2 -> {
resetTabs()
- tab.setIcon(R.drawable.ic_transfers_selected)
+ tab.setIcon(R.drawable.profile_selected)
binding.vpDashboard.currentItem = 2
}
}
@@ -201,7 +214,7 @@ class HomeActivityV3 : BaseActivity(), HomeParentViewContractV2,
fun resetTabs() {
binding.tabLayout.getTabAt(0)?.setIcon(R.drawable.ic_home_unselected)
binding.tabLayout.getTabAt(1)?.setIcon(R.drawable.ic_transfers_unselected)
- binding.tabLayout.getTabAt(2)?.setIcon(R.drawable.ic_transfers_unselected)
+ binding.tabLayout.getTabAt(2)?.setIcon(R.drawable.profile_unselected)
}
override fun getContext(): AppCompatActivity {
@@ -325,15 +338,15 @@ class HomeActivityV3 : BaseActivity(), HomeParentViewContractV2,
if (!action) {
viewGroupOverlay.clear()
}
- if (binding.vpDashboard.currentItem == 2) {
- viewGroupOverlay.clear()
- }
this.notificationViewBoundry = notificationViewBoundry
isNotificaitonViewActive = action
if (isNotificaitonViewActive()) {
viewModel?.notificationViewActive = true
}
+ if (viewModel?.notificationViewActive == true) {
+ homeFragmentV3.focusHome(false)
+ }
}
override fun showBankDeposit() {
@@ -764,7 +777,7 @@ class HomeActivityV3 : BaseActivity(), HomeParentViewContractV2,
} else false
}
- private fun isNotificaitonViewActive(): Boolean {
+ public fun isNotificaitonViewActive(): Boolean {
return isNotificaitonViewActive && notificationViewBoundry != null
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/remit/jmecustomer/features/homeV3/view/HomeFragmentV3.kt b/app/src/main/java/com/remit/jmecustomer/features/homeV3/view/HomeFragmentV3.kt
index 597749eb..d2f1a92e 100644
--- a/app/src/main/java/com/remit/jmecustomer/features/homeV3/view/HomeFragmentV3.kt
+++ b/app/src/main/java/com/remit/jmecustomer/features/homeV3/view/HomeFragmentV3.kt
@@ -25,6 +25,7 @@ import androidx.transition.AutoTransition
import androidx.transition.Transition
import androidx.transition.TransitionListenerAdapter
import androidx.transition.TransitionManager
+import androidx.transition.Visibility
import com.bumptech.glide.Glide
import com.bumptech.glide.request.RequestOptions
import com.bumptech.glide.signature.ObjectKey
@@ -134,6 +135,9 @@ class HomeFragmentV3 : BaseFragment(), View.OnClickListener,
homeViewModel!!.subscribeToHomeRelatedDataEvent().observe(
viewLifecycleOwner
) { homeViewRelatedDTOV2: HomeViewRelatedDTOV2 ->
+ if (binding.swiperefresh.isRefreshing) {
+ binding.swiperefresh.isRefreshing = false
+ }
Glide.with(context!!)
.load(homeViewRelatedDTOV2.profileImage)
.apply(options.signature(ObjectKey(System.currentTimeMillis())))
@@ -141,12 +145,18 @@ class HomeFragmentV3 : BaseFragment(), View.OnClickListener,
.placeholder(R.drawable.ic_user)
.into((requireActivity() as HomeActivityV3).binding.toolbarHead.ivProfileImage)
setBannerData(homeViewRelatedDTOV2.bannerImages)
+ this.displayUserInfo(
+ homeViewRelatedDTOV2
+ )
if (homeViewRelatedDTOV2.homeNotificationViewDTO != null) {
this.homeViewRelatedDTOV2 = homeViewRelatedDTOV2
showNotificationView(homeViewRelatedDTOV2.homeNotificationViewDTO)
}
homeViewModel?.showChangedNotification(homeViewRelatedDTOV2.notificationCount)
}
+ binding.swiperefresh.setOnRefreshListener {
+ homeViewModel!!.getRequiredData()
+ }
}
fun showNotification() {
@@ -157,8 +167,12 @@ class HomeFragmentV3 : BaseFragment(), View.OnClickListener,
}
}
- fun focusHome(){
-
+ fun focusHome(focus: Boolean) {
+ if (!focus) {
+ binding.overlayLayout.visibility = View.VISIBLE
+ } else {
+ binding.overlayLayout.visibility = View.GONE
+ }
}
private fun setUpData() {
@@ -170,9 +184,9 @@ class HomeFragmentV3 : BaseFragment(), View.OnClickListener,
viewModel!!.subscribeToUserProfileInfoFetchEvent().observe(
this
) { body: UserProfile? ->
- this.displayUserInfo(
- body!!
- )
+// this.displayUserInfo(
+// body!!
+// )
}
}
@@ -198,15 +212,15 @@ class HomeFragmentV3 : BaseFragment(), View.OnClickListener,
gestureDetector = GestureDetectorCompat(requireContext(), myViewGestureDetector)
}
- fun displayUserInfo(body: UserProfile) {
- binding.tvAccNo.text = body.walletNumber
+ fun displayUserInfo(body: HomeViewRelatedDTOV2) {
+ binding.tvAccNo.text = body.referralCode
binding.tvAvlBalance.text = body.availableBalance
(requireActivity() as HomeActivityV3).binding.toolbarHead.tvProfileName.text =
- "Hi " + body.firstName
+ "Hi " + body.userName
binding.ivCopy.setOnClickListener {
val clipboardManager =
requireActivity().getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
- val clipData = ClipData.newPlainText("label", body.walletNumber)
+ val clipData = ClipData.newPlainText("label", body.referralCode)
clipboardManager.setPrimaryClip(clipData)
Toast.makeText(requireContext(), "Copied to clipboard", Toast.LENGTH_SHORT).show()
}
diff --git a/app/src/main/java/com/remit/jmecustomer/features/myTransfers/view/MyTransfersFragment.kt b/app/src/main/java/com/remit/jmecustomer/features/myTransfers/view/MyTransfersFragment.kt
index bd356bc5..9403a4fd 100644
--- a/app/src/main/java/com/remit/jmecustomer/features/myTransfers/view/MyTransfersFragment.kt
+++ b/app/src/main/java/com/remit/jmecustomer/features/myTransfers/view/MyTransfersFragment.kt
@@ -3,6 +3,7 @@ package com.remit.jmecustomer.features.myTransfers.view
import MyBeneficiariesAdapter
import android.content.Intent
import android.os.Bundle
+import android.os.Handler
import android.os.Parcelable
import android.text.Editable
import android.view.LayoutInflater
@@ -21,6 +22,7 @@ import com.remit.jmecustomer.common.customwidgets.common.GenericPromptDialog.Gen
import com.remit.jmecustomer.databinding.FragmentMyTransfersBinding
import com.remit.jmecustomer.features.beneficiaryDetail.BeneficiaryDetailActivity
import com.remit.jmecustomer.features.home.presenter.HomeViewModel
+import com.remit.jmecustomer.features.homeV3.view.HomeActivityV3
import com.remit.jmecustomer.features.myTransfers.adapters.RecentTransactionsAdapter
import com.remit.jmecustomer.features.recipientmanagement.gateway.recipientlistingV3.RecipientListingV3Gateway
import com.remit.jmecustomer.features.recipientmanagement.model.recipientModelV5.Receiver
@@ -67,9 +69,11 @@ class MyTransfersFragment : BaseFragment(),
): View? {
_binding = FragmentMyTransfersBinding.inflate(inflater, container, false)
init()
- if (homeViewModel?.checkIfUserVerified() == null) {
- performDefaultAction("151")
- }
+ Handler().postDelayed({
+ if (!(requireActivity() as HomeActivityV3).isNotificaitonViewActive()) {
+ performDefaultAction("151")
+ }
+ }, 2000)
setUpData()
return binding.root
}
diff --git a/app/src/main/java/com/remit/jmecustomer/features/recipientmanagement/model/recipientlistingV3/PaymentMethodV3Model.java b/app/src/main/java/com/remit/jmecustomer/features/recipientmanagement/model/recipientlistingV3/PaymentMethodV3Model.java
index cd328629..1113deee 100644
--- a/app/src/main/java/com/remit/jmecustomer/features/recipientmanagement/model/recipientlistingV3/PaymentMethodV3Model.java
+++ b/app/src/main/java/com/remit/jmecustomer/features/recipientmanagement/model/recipientlistingV3/PaymentMethodV3Model.java
@@ -11,6 +11,9 @@ import java.util.List;
public class PaymentMethodV3Model implements Parcelable {
+ @SerializedName("receiverId")
+ @Expose
+ private String receiverId;
@SerializedName("id")
@Expose
private String id;
@@ -33,6 +36,14 @@ public class PaymentMethodV3Model implements Parcelable {
boolean selected;
+ public String getReceiverId() {
+ return receiverId;
+ }
+
+ public void setReceiverId(String receiverId) {
+ this.receiverId = receiverId;
+ }
+
public String getId() {
return id;
}
@@ -103,6 +114,7 @@ public class PaymentMethodV3Model implements Parcelable {
@Override
public void writeToParcel(Parcel dest, int flags) {
+ dest.writeString(this.receiverId);
dest.writeString(this.id);
dest.writeString(this.name);
dest.writeString(this.localizedName);
@@ -111,6 +123,7 @@ public class PaymentMethodV3Model implements Parcelable {
}
protected PaymentMethodV3Model(Parcel in) {
+ this.receiverId = in.readString();
this.id = in.readString();
this.name = in.readString();
this.localizedName = in.readString();
diff --git a/app/src/main/java/com/remit/jmecustomer/features/userprofile/view/ProfileFragment.kt b/app/src/main/java/com/remit/jmecustomer/features/userprofile/view/ProfileFragment.kt
index 1040d87d..b6da46a7 100644
--- a/app/src/main/java/com/remit/jmecustomer/features/userprofile/view/ProfileFragment.kt
+++ b/app/src/main/java/com/remit/jmecustomer/features/userprofile/view/ProfileFragment.kt
@@ -32,7 +32,10 @@ import com.remit.jmecustomer.common.customwidgets.common.GenericPromptDialog.Gen
import com.remit.jmecustomer.common.customwidgets.common.GenericPromptDialogSingleButton
import com.remit.jmecustomer.databinding.FragmentProfileBinding
import com.remit.jmecustomer.features.aboutscreen.view.AboutJMERemit
-import com.remit.jmecustomer.features.changepassNPin.view.ChangePassNPinActivity
+import com.remit.jmecustomer.features.aboutscreen.viewModel.AboutUsPresenterInterface.AboutUsContractInterface
+import com.remit.jmecustomer.features.aboutscreen.viewModel.AboutUsViewModel
+import com.remit.jmecustomer.features.aboutscreen.viewModel.AboutUsViewModelFactory
+import com.remit.jmecustomer.features.changepassword.view.UserPasswordChangeV2Activity
import com.remit.jmecustomer.features.changetxnpin.view.ChangeTxnPinActivity
import com.remit.jmecustomer.features.customersupport.view.CustomerSupportFragment
import com.remit.jmecustomer.features.depositinfo.view.DepositInfo
@@ -49,6 +52,7 @@ import com.remit.jmecustomer.features.security.RemitAuthManager1
import com.remit.jmecustomer.features.security.RemitAuthManagerGateway
import com.remit.jmecustomer.features.security.model.RemitAuthFailedResult
import com.remit.jmecustomer.features.security.model.RemitAuthSuccessResult
+import com.remit.jmecustomer.features.sendmoney.view.verification.TermsAndConditionV2BrowserActivity
import com.remit.jmecustomer.features.settings.gateway.LanguageSelectionGateway
import com.remit.jmecustomer.features.settings.gateway.LanguageSelectionGatewayInterface
import com.remit.jmecustomer.features.settings.view.FingerSetUpPasswordFragment
@@ -61,6 +65,8 @@ import com.remit.jmecustomer.features.userprofile.model.UserProfile
import com.remit.jmecustomer.features.userprofile.presenter.UserProfilePresenterInterface
import com.remit.jmecustomer.features.userprofile.presenter.UserProfilePresenterV2
import com.remit.jmecustomer.features.walletstatement.view.WalletStatementV2Activity
+import com.remit.jmecustomer.features.webbrowser.WebBrowserV2Activity
+import com.remit.jmecustomer.features.webbrowser.model.WebRequestModel
import com.remit.jmecustomer.utils.Constants
import com.remit.jmecustomer.utils.FileUtils
import com.remit.jmecustomer.utils.Utils
@@ -72,7 +78,7 @@ import java.io.*
class ProfileFragment : BaseFragment(), View.OnClickListener,
UserProfilePresenterInterface.UserProfileContractInterface, RemitSucessFailureCallBack,
- CompoundButton.OnCheckedChangeListener {
+ CompoundButton.OnCheckedChangeListener, AboutUsContractInterface {
private var TAG: String? = "TAG"
var selectedImagePath: String = ""
var imgReport1: String = ""
@@ -95,6 +101,7 @@ class ProfileFragment : BaseFragment(), View.OnClickListener,
var remitAuthManagerGateway: RemitAuthManagerGateway? = null
val STORAGE_INTENT_REQUEST = 9992
private var homeViewModel: HomeViewModel? = null
+ private var aboutUsViewModel: AboutUsViewModel? = null
override fun onCreateView(
@@ -113,8 +120,13 @@ class ProfileFragment : BaseFragment(), View.OnClickListener,
viewModel = ViewModelProvider(this, UserProfileViewModelFactory(this)).get(
UserProfilePresenterV2::class.java
)
- binding.tvRewardPoint.setText(
- RemitApplication.getStorage().getString(PrefKeys.REWARD_POINTS, "")
+ aboutUsViewModel =
+ ViewModelProvider(this, AboutUsViewModelFactory(this)).get(
+ AboutUsViewModel::class.java
+ )
+ binding.tvRewardPointRefer.setText(
+ RemitApplication.getStorage()
+ .getString(PrefKeys.REWARD_POINTS, "") + " " + "reward points"
)
homeViewModel = ViewModelProvider(requireActivity()).get(HomeViewModel::class.java)
binding.llPaymentLayout.setOnClickListener(this)
@@ -130,6 +142,9 @@ class ProfileFragment : BaseFragment(), View.OnClickListener,
binding.llLoyaltyPoints.setOnClickListener(this)
binding.llRenewId.setOnClickListener(this)
binding.llRewards.setOnClickListener(this)
+ binding.tvPrivacyPolicy.setOnClickListener(this)
+ binding.tvTermAndCondition.setOnClickListener(this)
+ binding.tvFraudGuarantee.setOnClickListener(this)
viewModel!!.subscribeToUserProfileInfoFetchEvent().observe(
this
) { body: UserProfile? ->
@@ -243,7 +258,7 @@ class ProfileFragment : BaseFragment(), View.OnClickListener,
takeUserImageData()
R.id.ll_change_password -> {
- startActivity(Intent(requireActivity(), ChangePassNPinActivity::class.java))
+ startActivity(Intent(requireActivity(), UserPasswordChangeV2Activity::class.java))
}
R.id.ll_refer_earn -> {
@@ -261,6 +276,18 @@ class ProfileFragment : BaseFragment(), View.OnClickListener,
R.id.ll_rewards -> {
// startActivity(Intent(requireActivity(), RewardActivity::class.java))
}
+
+ R.id.tv_term_and_condition -> {
+ aboutUsViewModel?.getWebRequestDataForTermsAndCondition()
+ }
+
+ R.id.tv_privacy_policy -> {
+ aboutUsViewModel?.getWebRequestDataForPrivacyPolicy()
+ }
+
+ R.id.tv_fraud_guarantee -> {
+ aboutUsViewModel?.getFraudGuaranteePolicy()
+ }
}
}
@@ -882,4 +909,31 @@ class ProfileFragment : BaseFragment(), View.OnClickListener,
}
return compressedBitmap
}
+
+ override fun navigateToTermsAndCondition(webRequestModel: WebRequestModel?) {
+ val intent = Intent(requireActivity(), TermsAndConditionV2BrowserActivity::class.java)
+ intent.putExtra(WebBrowserV2Activity.WEB_BROWSWER_URL_BUNDLE_KEY, webRequestModel)
+ startActivity(intent)
+ }
+
+ override fun navigateToPrivacyAndPolicy(webRequestModel: WebRequestModel?) {
+ val intent = Intent(requireActivity(), TermsAndConditionV2BrowserActivity::class.java)
+ intent.putExtra(WebBrowserV2Activity.WEB_BROWSWER_URL_BUNDLE_KEY, webRequestModel)
+ startActivity(intent)
+ }
+
+
+ override fun navigateToFaceBookPage(webRequestModel: WebRequestModel?) {
+ val facebookIntent = Intent(Intent.ACTION_VIEW)
+ val facebookUrl = Utils.getFacebookPageURL(requireActivity())
+ facebookIntent.data = Uri.parse(facebookUrl)
+ startActivity(facebookIntent)
+ }
+
+
+ override fun navigateToFraudGuaranteePolicy(webRequestModel: WebRequestModel?) {
+ val intent = Intent(requireActivity(), TermsAndConditionV2BrowserActivity::class.java)
+ intent.putExtra(WebBrowserV2Activity.WEB_BROWSWER_URL_BUNDLE_KEY, webRequestModel)
+ startActivity(intent)
+ }
}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_loyalty.xml b/app/src/main/res/drawable/ic_loyalty.xml
new file mode 100644
index 00000000..3f3e677b
--- /dev/null
+++ b/app/src/main/res/drawable/ic_loyalty.xml
@@ -0,0 +1,14 @@
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_renew_id.xml b/app/src/main/res/drawable/ic_renew_id.xml
new file mode 100644
index 00000000..b17a5f89
--- /dev/null
+++ b/app/src/main/res/drawable/ic_renew_id.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/profile_selected.xml b/app/src/main/res/drawable/profile_selected.xml
new file mode 100644
index 00000000..200197cf
--- /dev/null
+++ b/app/src/main/res/drawable/profile_selected.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
diff --git a/app/src/main/res/drawable/profile_unselected.xml b/app/src/main/res/drawable/profile_unselected.xml
new file mode 100644
index 00000000..2357744b
--- /dev/null
+++ b/app/src/main/res/drawable/profile_unselected.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_home_v3.xml b/app/src/main/res/layout/activity_home_v3.xml
index 5511e2a8..68840ca2 100644
--- a/app/src/main/res/layout/activity_home_v3.xml
+++ b/app/src/main/res/layout/activity_home_v3.xml
@@ -41,7 +41,7 @@
app:tabPaddingStart="10dp"
app:tabPaddingEnd="10dp"
app:tabIndicatorHeight="2dp"
- app:tabIndicatorColor="@color/colorPrimary"
+ app:tabIndicatorColor="@color/light_blue"
/>
diff --git a/app/src/main/res/layout/fragment_home_new.xml b/app/src/main/res/layout/fragment_home_new.xml
index edb0e9bb..78379971 100644
--- a/app/src/main/res/layout/fragment_home_new.xml
+++ b/app/src/main/res/layout/fragment_home_new.xml
@@ -1,11 +1,17 @@
-
+
+
+
@@ -438,6 +444,19 @@
+
+
-
\ No newline at end of file
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_profile.xml b/app/src/main/res/layout/fragment_profile.xml
index f75084ba..ecca7c33 100644
--- a/app/src/main/res/layout/fragment_profile.xml
+++ b/app/src/main/res/layout/fragment_profile.xml
@@ -231,7 +231,7 @@
android:gravity="center"
android:orientation="horizontal"
android:padding="@dimen/_13sdp"
- android:visibility="visible">
+ android:visibility="gone">
+ app:srcCompat="@drawable/ic_loyalty"
+ />
+
+
+
@@ -435,7 +445,7 @@
android:id="@+id/ic_renew_id"
android:layout_width="@dimen/_20sdp"
android:layout_height="@dimen/_20sdp"
- app:srcCompat="@drawable/round_person_24px" />
+ app:srcCompat="@drawable/ic_renew_id" />
-
-
+
+
+
+
+