Browse Source

ui changes

new_design
Mohan Shiwakoti 1 year ago
parent
commit
5d15050b68
  1. 1
      app/src/main/java/com/remit/jmecustomer/features/exrate/presenter/ExchangeRatePresenter.java
  2. 75
      app/src/main/java/com/remit/jmecustomer/features/homeV3/view/HomeActivityV3.kt
  3. 10
      app/src/main/java/com/remit/jmecustomer/features/homeV3/view/HomeFragmentV3.kt
  4. 5
      app/src/main/java/com/remit/jmecustomer/features/kyc/newCustomer/view/choose/ChooseKycFragment.kt
  5. 13
      app/src/main/java/com/remit/jmecustomer/features/kyc/newCustomer/view/documents/KYCIDTypeFragment.java
  6. 43
      app/src/main/java/com/remit/jmecustomer/features/kyc/newCustomer/view/personal/CustomerDetailFragment.java
  7. 2
      app/src/main/java/com/remit/jmecustomer/utils/Constants.java
  8. 2
      app/src/main/res/drawable/circle_black_bullet.xml
  9. 25
      app/src/main/res/layout/custom_tab_layout2.xml
  10. 11
      app/src/main/res/layout/fragment_home_new.xml
  11. 9
      app/src/main/res/layout/fragment_kyc_customer_detail.xml
  12. 8
      app/src/main/res/layout/item_indicator.xml
  13. 1
      app/src/main/res/values/styles.xml

1
app/src/main/java/com/remit/jmecustomer/features/exrate/presenter/ExchangeRatePresenter.java

@ -134,7 +134,6 @@ public class ExchangeRatePresenter extends BasePresenter implements ExchangeRate
@Override
public void calcExrate() {
Constants.ENTERED_SENDING_AMOUNT = Utils.removeCommaFromAmount(cAmount);
view.hideKeyBoard();
if (selectedCountryPaymentService == null)
return;

75
app/src/main/java/com/remit/jmecustomer/features/homeV3/view/HomeActivityV3.kt

@ -7,6 +7,7 @@ import android.os.Handler
import android.text.Html
import android.view.View
import android.view.ViewGroupOverlay
import android.widget.ImageView
import android.widget.TextView
import androidx.annotation.LayoutRes
import androidx.appcompat.app.AppCompatActivity
@ -74,6 +75,8 @@ import com.remit.jmecustomer.features.trustdock.view.TrustDockActivity
import com.remit.jmecustomer.features.userprofile.view.ProfileFragment
import com.remit.jmecustomer.features.walletstatement.view.WalletStatementV2Activity
import com.remit.jmecustomer.features.withdraw.view.WithdrawActivity
import com.remit.jmecustomer.utils.Constants
import com.remit.jmecustomer.utils.Utils
class HomeActivityV3 : BaseActivity(), HomeParentViewContractV2,
@ -141,14 +144,36 @@ class HomeActivityV3 : BaseActivity(), HomeParentViewContractV2,
binding.vpDashboard.adapter = pagerAdapter
// Add tabs with icons
val tab1: TabLayout.Tab =
binding.tabLayout.newTab().setIcon(R.drawable.ic_home_selected).setText(getString(R.string.home_text))
binding.tabLayout.newTab().setCustomView(R.layout.custom_tab_layout2)
val tab2: TabLayout.Tab =
binding.tabLayout.newTab().setIcon(R.drawable.ic_transfers_unselected)
.setText(getString(R.string.receiver_text))
binding.tabLayout.newTab().setCustomView(R.layout.custom_tab_layout2)
val tab3: TabLayout.Tab =
binding.tabLayout.newTab().setIcon(R.drawable.profile_unselected).setText(getString(R.string.profile_text))
binding.tabLayout.newTab().setCustomView(R.layout.custom_tab_layout2)
// Set icons for each tab
tab1.customView?.findViewById<ImageView>(R.id.tab_icon)
?.setImageResource(R.drawable.ic_home_selected)
tab2.customView?.findViewById<ImageView>(R.id.tab_icon)
?.setImageResource(R.drawable.ic_transfers_unselected)
tab3.customView?.findViewById<ImageView>(R.id.tab_icon)
?.setImageResource(R.drawable.profile_unselected)
// Set texts for each tab
tab1.customView?.findViewById<TextView>(R.id.tab_text)?.text = getString(R.string.home_text)
tab2.customView?.findViewById<TextView>(R.id.tab_text)?.text =
getString(R.string.receiver_text)
tab3.customView?.findViewById<TextView>(R.id.tab_text)?.text =
getString(R.string.profile_text)
tab1.customView?.findViewById<TextView>(R.id.tab_text)
?.setTextColor(getColor(R.color.light_blue))
tab2.customView?.findViewById<TextView>(R.id.tab_text)
?.setTextColor(getColor(R.color.black_opacity_87))
tab3.customView?.findViewById<TextView>(R.id.tab_text)
?.setTextColor(getColor(R.color.black_opacity_87))
// Add tabs to the TabLayout
@ -158,7 +183,10 @@ class HomeActivityV3 : BaseActivity(), HomeParentViewContractV2,
if (isTransactionComplete) {
resetTabs()
binding.tabLayout.getTabAt(1)?.setIcon(R.drawable.ic_transfers_selected)
tab2.customView?.findViewById<ImageView>(R.id.tab_icon)
?.setImageResource(R.drawable.ic_transfers_selected)
tab2.customView?.findViewById<TextView>(R.id.tab_text)
?.setTextColor(getColor(R.color.light_blue))
binding.vpDashboard.currentItem = 1
binding.tabLayout.selectTab(binding.tabLayout.getTabAt(1))
}
@ -172,6 +200,9 @@ class HomeActivityV3 : BaseActivity(), HomeParentViewContractV2,
}
override fun onPageSelected(position: Int) {
if (position == 0) {
Constants.ENTERED_SENDING_AMOUNT = ""
}
if (viewModel?.notificationViewActive == true) {
if (position == 1) {
return
@ -207,17 +238,26 @@ class HomeActivityV3 : BaseActivity(), HomeParentViewContractV2,
when (tab.position) {
0 -> {
resetTabs()
tab.setIcon(R.drawable.ic_home_selected)
tab.customView?.findViewById<ImageView>(R.id.tab_icon)
?.setImageResource(R.drawable.ic_home_selected)
tab.customView?.findViewById<TextView>(R.id.tab_text)
?.setTextColor(getColor(R.color.light_blue))
binding.vpDashboard.currentItem = 0
}
1 -> {
resetTabs()
tab.setIcon(R.drawable.ic_transfers_selected)
tab.customView?.findViewById<ImageView>(R.id.tab_icon)
?.setImageResource(R.drawable.ic_transfers_selected)
tab.customView?.findViewById<TextView>(R.id.tab_text)
?.setTextColor(getColor(R.color.light_blue))
binding.vpDashboard.currentItem = 1
}
2 -> {
resetTabs()
tab.setIcon(R.drawable.profile_selected)
tab.customView?.findViewById<ImageView>(R.id.tab_icon)
?.setImageResource(R.drawable.profile_selected)
tab.customView?.findViewById<TextView>(R.id.tab_text)
?.setTextColor(getColor(R.color.light_blue))
binding.vpDashboard.currentItem = 2
}
@ -247,10 +287,19 @@ 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.profile_unselected)
binding.tabLayout.getTabAt(3)?.setIcon(R.drawable.ic_msg)
binding.tabLayout.getTabAt(0)?.customView?.findViewById<ImageView>(R.id.tab_icon)
?.setImageResource(R.drawable.ic_home_unselected)
binding.tabLayout.getTabAt(1)?.customView?.findViewById<ImageView>(R.id.tab_icon)
?.setImageResource(R.drawable.ic_transfers_unselected)
binding.tabLayout.getTabAt(2)?.customView?.findViewById<ImageView>(R.id.tab_icon)
?.setImageResource(R.drawable.profile_unselected)
binding.tabLayout.getTabAt(0)?.customView?.findViewById<TextView>(R.id.tab_text)
?.setTextColor(getColor(R.color.black_opacity_87))
binding.tabLayout.getTabAt(1)?.customView?.findViewById<TextView>(R.id.tab_text)
?.setTextColor(getColor(R.color.black_opacity_87))
binding.tabLayout.getTabAt(2)?.customView?.findViewById<TextView>(R.id.tab_text)
?.setTextColor(getColor(R.color.black_opacity_87))
}
override fun getContext(): AppCompatActivity {

10
app/src/main/java/com/remit/jmecustomer/features/homeV3/view/HomeFragmentV3.kt

@ -186,6 +186,7 @@ class HomeFragmentV3 : BaseFragment(), View.OnClickListener,
if (timer != null) {
}
Constants.ENTERED_SENDING_AMOUNT = ""
homeViewModel?.getRequiredData()
}
@ -285,6 +286,9 @@ class HomeFragmentV3 : BaseFragment(), View.OnClickListener,
sendMoneyEditText?.text.toString().trim()
)
)
Constants.ENTERED_SENDING_AMOUNT = Utils.removeCommaFromAmount(
sendMoneyEditText?.text.toString().trim()
)
}
R.id.countrySelectionSpinner, R.id.recepientCurrencyTextView, R.id.iv_currency_2, R.id.cl_country -> showCountryListinDialog()
R.id.exRateCalculateButton -> presenter.calcExrate()
@ -436,11 +440,6 @@ class HomeFragmentV3 : BaseFragment(), View.OnClickListener,
} catch (exception: java.lang.Exception) {
exception.printStackTrace()
}
Handler().postDelayed(Runnable {
Constants.ENTERED_SENDING_AMOUNT =
Utils.removeCommaFromAmount(binding.sendAmountEdTxt.text.toString())
}, 500)
}
override fun showExrateView(task: Runnable?) {
@ -548,7 +547,6 @@ class HomeFragmentV3 : BaseFragment(), View.OnClickListener,
override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {}
override fun afterTextChanged(s: Editable) {
super.afterTextChanged(s)
Constants.ENTERED_SENDING_AMOUNT = Utils.removeCommaFromAmount(s.toString())
presenter.setCalcByPayoutAmount(false)
presenter.setCAmount(s.toString())
}

5
app/src/main/java/com/remit/jmecustomer/features/kyc/newCustomer/view/choose/ChooseKycFragment.kt

@ -40,12 +40,15 @@ class ChooseKycFragment(private var options: List<Option>? = null) : BaseFragmen
adapter.setOnItemClickListener(object : KycTypeAdapter.ItemClickListener {
override fun onItemClicked(option: Option) {
kycv3ViewModel?.setSelectedOption(option)
kycv3ViewModel?.saveKycSetting(option.type, option.code)
}
})
binding.btnSubmit1.setOnClickListener {
kycv3ViewModel?.saveKycSetting(
kycv3ViewModel?.kycSelectedOption?.type,
kycv3ViewModel?.kycSelectedOption?.code
)
kycv3ViewModel?.redirectToInformation()
}

13
app/src/main/java/com/remit/jmecustomer/features/kyc/newCustomer/view/documents/KYCIDTypeFragment.java

@ -188,7 +188,7 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterInt
@BindView(R.id.additionalIdProgressView)
ProgressBar additionalIdProgressView;
@BindView(R.id.additionalIdTypeLabelTxtView)
@BindView(R.id.additionalIdTypeLabelTxtView1)
TextView additionalIdTypeLabelTxtView;
@BindView(R.id.additionalIdTypeHintTxtView)
@ -829,6 +829,7 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterInt
ekycView.setVisibility(View.VISIBLE);
trustDockInit();
}
additionalIdTypeLabelTxtView.setText(kycv3ViewModel.getKycSelectedOption().getName());
}
@Override
@ -868,11 +869,11 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterInt
}
};
TrustdockVerificationSDK.Companion.registerListener((TrustdockVerificationSDK.Listener) listener);
String selectedNationality = RemitApplication.getStorage().getString(PrefKeys.SELECTED_NATIONALITY, "");
if (selectedNationality.equalsIgnoreCase(FOREIGNER_TYPE))
additionalIdTypeLabelTxtView.setText(R.string.scan_residence_card_text);
else
additionalIdTypeLabelTxtView.setText(R.string.scan_driver_license_text);
// String selectedNationality = RemitApplication.getStorage().getString(PrefKeys.SELECTED_NATIONALITY, "");
// if (selectedNationality.equalsIgnoreCase(FOREIGNER_TYPE))
// additionalIdTypeLabelTxtView.setText(R.string.scan_residence_card_text);
// else
// additionalIdTypeLabelTxtView.setText(R.string.scan_driver_license_text);
}
@OnClick(R.id.additionalIdSampleTextView)

43
app/src/main/java/com/remit/jmecustomer/features/kyc/newCustomer/view/personal/CustomerDetailFragment.java

@ -50,6 +50,9 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
@BindView(R.id.form1)
LinearLayout form1;
@BindView(R.id.lin_id_information)
LinearLayout linIdInformation;
@BindView(R.id.scrollView)
NestedScrollView scrollView;
@ -182,22 +185,19 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
customerDetailViewBinding = new CustomerDetailViewLiveData.CustomerDetailViewBinding(
RxTextView.textChanges(ed_employerName),
occupationSelectSubject ,
occupationSelectSubject,
RxTextView.textChanges(ed_monthlyIncome).skipInitialValue(),
RxTextView.textChanges(ed_mobileNumber).skipInitialValue(),
businessTypeSelectSubject,
RxTextView.textChanges(ed_address).skipInitialValue(),
idTypeSelectSubject ,
additionalIdTypeSelectSubject ,
idTypeSelectSubject,
additionalIdTypeSelectSubject,
purposeOfRegistrationSubject
);
}
private void performDefaultAction() {
CustomerDetailViewLiveData customerDetailViewLiveData = kycv3ViewModel.getCustomerRelatedViewEvents(customerDetailViewBinding);
@ -222,7 +222,7 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
ed_occupation.setText(data.getData().getText());
occupationSelectSubject.onNext(data.getData());
}
}else{
} else {
occupationSelectionWrapper.setErrorEnabled(true);
occupationSelectionWrapper.setError(getString(R.string.invalid_select_occupation_text));
focusOnView(occupationSelectionWrapper);
@ -237,7 +237,7 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
if (data.hasData()) {
ed_employerName.setText(data.getData());
}
} else{
} else {
employerNameWrapper.setErrorEnabled(true);
employerNameWrapper.setError(data.getErrorMessage());
focusOnView(employerNameWrapper);
@ -255,7 +255,7 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
}
} else
monthlyIncomeSelectionWrapper.setErrorEnabled(true);
monthlyIncomeSelectionWrapper.setError(data.getErrorMessage());
monthlyIncomeSelectionWrapper.setError(data.getErrorMessage());
focusOnView(monthlyIncomeSelectionWrapper);
}
@ -266,7 +266,7 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
if (data.hasData()) {
ed_mobileNumber.setText(data.getData());
}
} else{
} else {
mobileNumberWrapper.setErrorEnabled(true);
mobileNumberWrapper.setError(data.getErrorMessage());
focusOnView(mobileNumberWrapper);
@ -282,7 +282,7 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
ed_idType.setText(data.getData().getText());
idTypeSelectSubject.onNext(data.getData());
}
}else{
} else {
idTypeSelectionWrapper.setErrorEnabled(true);
idTypeSelectionWrapper.setError(getString(R.string.invalidIdType_text));
focusOnView(idTypeSelectionWrapper);
@ -298,7 +298,7 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
ed_businesstype.setText(data.getData().getText());
businessTypeSelectSubject.onNext(data.getData());
}
}else{
} else {
businessTypeSelectionWrapper.setErrorEnabled(true);
businessTypeSelectionWrapper.setError(getString(R.string.invalidBusinessType_text));
focusOnView(businessTypeSelectionWrapper);
@ -330,7 +330,7 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
ed_address.setText(data.getData());
}
} else{
} else {
addressWrapper.setErrorEnabled(true);
addressWrapper.setError(data.getErrorMessage());
focusOnView(addressWrapper);
@ -348,7 +348,7 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
kycv3ViewModel.setBackAdditionalRequired(data.getData().getBackRequired());
additionalIdTypeSelectSubject.onNext(data.getData());
}
}else{
} else {
additionalIdTypeSelectionWrapper.setErrorEnabled(true);
additionalIdTypeSelectionWrapper.setError(getString(R.string.invalid_additional_id_type_text));
focusOnView(additionalIdTypeSelectionWrapper);
@ -549,16 +549,21 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
@Override
public void onFragmentedSelected() {
if (kycv3ViewModel.getKycSelectedOption().getType().equals("MKYC")) {
linIdInformation.setVisibility(View.VISIBLE);
} else {
linIdInformation.setVisibility(View.GONE);
}
}
private void focusOnView(View view){
boolean isVisible=isViewVisible(view);
if(!isVisible){
scrollView.post(() -> scrollView.setScrollY(view.getTop()+25));
private void focusOnView(View view) {
boolean isVisible = isViewVisible(view);
if (!isVisible) {
scrollView.post(() -> scrollView.setScrollY(view.getTop() + 25));
}
}
public boolean isViewVisible( View view) {
public boolean isViewVisible(View view) {
Rect scrollBounds = new Rect();
scrollView.getDrawingRect(scrollBounds);

2
app/src/main/java/com/remit/jmecustomer/utils/Constants.java

@ -128,7 +128,7 @@ public class Constants {
public static String CURRENT_COUNTRY_ID = "151";
public static String ENTERED_SENDING_AMOUNT = "100000";
public static String ENTERED_SENDING_AMOUNT = "";
public static int UPDATE_DELETE_CODE = 2008;
}

2
app/src/main/res/drawable/circle_black_bullet.xml

@ -2,7 +2,7 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="oval">
<solid android:color="@color/black"/>
<solid android:color="@color/light_blue"/>
</shape>
</item>
</selector>

25
app/src/main/res/layout/custom_tab_layout2.xml

@ -0,0 +1,25 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="@dimen/_2sdp"
android:orientation="vertical">
<ImageView
android:layout_marginTop="@dimen/_3sdp"
android:id="@+id/tab_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" />
<TextView
android:layout_marginTop="@dimen/_2sdp"
android:maxLines="1"
android:ellipsize="end"
style="@style/TextStyle.VolteSemiBold12"
android:textSize="@dimen/_9sdp"
android:id="@+id/tab_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" />
</LinearLayout>

11
app/src/main/res/layout/fragment_home_new.xml

@ -41,7 +41,7 @@
android:background="@drawable/card_bottom_rounded_white"
android:elevation="@dimen/_3sdp"
android:paddingStart="@dimen/_20sdp"
android:paddingVertical="@dimen/_15sdp"
android:paddingVertical="@dimen/_5sdp"
app:layout_constraintTop_toTopOf="parent">
<TextView
@ -455,9 +455,9 @@
android:id="@+id/agreeButton"
style="@style/newButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_10sdp"
android:layout_height="@dimen/_40sdp"
android:gravity="center"
android:layout_marginTop="@dimen/_10sdp"
app:layout_constraintTop_toBottomOf="@id/rewardsPointsContainer">
<TextView
@ -471,8 +471,9 @@
android:textColor="@color/white" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:layout_width="@dimen/_40sdp"
android:layout_height="@dimen/_40sdp"
android:layout_marginStart="@dimen/_10sdp"
android:layout_marginTop="@dimen/_2sdp"
android:layout_toRightOf="@+id/btn_text"

9
app/src/main/res/layout/fragment_kyc_customer_detail.xml

@ -173,6 +173,12 @@
</com.remit.jmecustomer.common.view.MTextInputLayout>
<LinearLayout
android:id="@+id/lin_id_information"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.remit.jmecustomer.common.customwidgets.JmeTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -219,6 +225,9 @@
android:inputType="textNoSuggestions" />
</com.remit.jmecustomer.common.view.MTextInputLayout>
</LinearLayout>
<com.remit.jmecustomer.common.customwidgets.JmeTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"

8
app/src/main/res/layout/item_indicator.xml

@ -2,13 +2,13 @@
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_marginHorizontal="@dimen/_5sdp"
android:layout_width="8dp"
android:layout_height="8dp">
android:layout_width="5dp"
android:layout_height="5dp">
<RelativeLayout
android:gravity="center"
android:id="@+id/viewIndicator"
android:layout_width="8dp"
android:layout_height="8dp"
android:layout_width="5dp"
android:layout_height="5dp"
android:background="@drawable/grey_border_dark_indicator" />
</LinearLayout>

1
app/src/main/res/values/styles.xml

@ -365,6 +365,7 @@
<style name="homeNavigationTextStyle" parent="TextAppearance.Design.Tab">
<item name="android:textSize">@dimen/_9ssp</item>
<item name="android:layout_marginTop">14dp</item>
<item name="android:fontFamily">@font/lato_regular</item>
<item name="android:textAllCaps">false</item>
<item name="textAllCaps">false</item>

Loading…
Cancel
Save