Browse Source

Coupon ui started

master
Preyea Regmi 5 years ago
parent
commit
d6970c7a44
  1. 1
      SpinnerDatePickerLib-release/build/.transforms/774c93c496d6cb6e95c13a774fcb3df0.bin
  2. BIN
      SpinnerDatePickerLib-release/build/.transforms/774c93c496d6cb6e95c13a774fcb3df0/classes/classes.dex
  3. 54
      app/src/main/java/com/gmeremit/online/gmeremittance_native/couponV2/adapter/CouponListAdapter.java
  4. 13
      app/src/main/java/com/gmeremit/online/gmeremittance_native/couponV2/view/CouponListRvViewholder.java
  5. 60
      app/src/main/java/com/gmeremit/online/gmeremittance_native/couponV2/view/CouponListingFragment.java
  6. 89
      app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/SelectedRedBorderWithTickDecoration.java
  7. 2
      app/src/main/java/com/gmeremit/online/gmeremittance_native/exrate/view/ExchangeRateActivity.java
  8. 19
      app/src/main/java/com/gmeremit/online/gmeremittance_native/exrate/view/SelectedRedBorderDecoration.java
  9. 2
      app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/view/payoutmode/PayoutModeSendMoneyFragment.java
  10. 2
      app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/view/SplashScreen.java
  11. 57
      app/src/main/res/layout/coupon_list_item.xml
  12. 7
      app/src/main/res/layout/fragment_coupon_list.xml

1
SpinnerDatePickerLib-release/build/.transforms/774c93c496d6cb6e95c13a774fcb3df0.bin

@ -0,0 +1 @@
o/classes

BIN
SpinnerDatePickerLib-release/build/.transforms/774c93c496d6cb6e95c13a774fcb3df0/classes/classes.dex

54
app/src/main/java/com/gmeremit/online/gmeremittance_native/couponV2/adapter/CouponListAdapter.java

@ -0,0 +1,54 @@
package com.gmeremit.online.gmeremittance_native.couponV2.adapter;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.couponV2.view.CouponListRvViewholder;
import com.gmeremit.online.gmeremittance_native.rewardV2.adapter.rewardlisting.RewardListingRvAdapter;
import java.util.ArrayList;
import java.util.List;
public class CouponListAdapter extends RecyclerView.Adapter<CouponListRvViewholder> {
private final CouponOnClickListener listener;
private List<Object> data;
public CouponListAdapter(CouponOnClickListener listener) {
this.listener = listener;
this.data = new ArrayList<>();
}
@NonNull
@Override
public CouponListRvViewholder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return new CouponListRvViewholder(LayoutInflater.from(parent.getContext()).inflate(R.layout.coupon_list_item, parent, false));
}
@Override
public void onBindViewHolder(@NonNull CouponListRvViewholder holder, int position) {
}
public void updateDataList(List<Object> data) {
if (data != null && data.size() > 0) {
this.data.clear();
this.data.addAll(data);
notifyDataSetChanged();
}
}
@Override
public int getItemCount() {
return data.size();
}
public interface CouponOnClickListener {
void onCouponClicked();
}
}

13
app/src/main/java/com/gmeremit/online/gmeremittance_native/couponV2/view/CouponListRvViewholder.java

@ -0,0 +1,13 @@
package com.gmeremit.online.gmeremittance_native.couponV2.view;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
public class CouponListRvViewholder extends RecyclerView.ViewHolder {
public CouponListRvViewholder(@NonNull View itemView) {
super(itemView);
}
}

60
app/src/main/java/com/gmeremit/online/gmeremittance_native/couponV2/view/CouponListingFragment.java

@ -0,0 +1,60 @@
package com.gmeremit.online.gmeremittance_native.couponV2.view;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.DefaultItemAnimator;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.base.BaseFragment;
import com.gmeremit.online.gmeremittance_native.rewardV2.adapter.rewardlisting.RewardListingRvAdapter;
import com.gmeremit.online.gmeremittance_native.rewardV2.view.RewardParentActionListener;
import com.gmeremit.online.gmeremittance_native.rewardV2.view.rewardlisting.RewardListFragment;
import com.gmeremit.online.gmeremittance_native.utils.Utils;
import butterknife.BindView;
import butterknife.ButterKnife;
import io.reactivex.disposables.CompositeDisposable;
public class CouponListingFragment extends BaseFragment {
@BindView(R.id.couponListRv)
RecyclerView couponListRv;
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_coupon_list, container, false);
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
ButterKnife.bind(this, view);
initialize();
performDefaultAction(savedInstanceState);
}
private void performDefaultAction(Bundle savedInstanceState) {
if (savedInstanceState == null) {
}
}
private void initialize() {
setupRv();
}
private void setupRv() {
}
}

89
app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/SelectedRedBorderWithTickDecoration.java

@ -0,0 +1,89 @@
package com.gmeremit.online.gmeremittance_native.customwidgets;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.RectF;
import android.os.Build;
import androidx.recyclerview.widget.RecyclerView;
import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.utils.Utils;
public class SelectedRedBorderWithTickDecoration extends RecyclerView.ItemDecoration {
private float mRectWidth;
private float mCornerRadius;
private Paint mTickStampPaint;
private Paint mBorderPaint;
private float multi;
private Paint mTickColorPaint;
private RectF rectF;
public SelectedRedBorderWithTickDecoration(Context context) {
init(context);
}
private void init(Context context) {
multi = context.getResources().getDisplayMetrics().density;
mRectWidth = multi * 1;
mCornerRadius = multi * 12;
mBorderPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mBorderPaint.setStyle(Paint.Style.STROKE);
mBorderPaint.setStrokeWidth(mRectWidth);
mBorderPaint.setStrokeCap(Paint.Cap.ROUND);
mTickStampPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mTickStampPaint.setStyle(Paint.Style.FILL);
mTickColorPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mTickColorPaint.setStyle(Paint.Style.STROKE);
mTickColorPaint.setStrokeWidth(mRectWidth);
mTickColorPaint.setStrokeCap(Paint.Cap.ROUND);
rectF = new RectF();
if (Utils.getCurrentAPILevel() < Build.VERSION_CODES.M) {
mBorderPaint.setColor(context.getResources().getColor(R.color.colorPrimary));
mTickStampPaint.setColor(context.getResources().getColor(R.color.colorPrimary));
mTickColorPaint.setColor(context.getResources().getColor(R.color.white));
} else {
mBorderPaint.setColor(context.getResources().getColor(R.color.colorPrimary, null));
mTickStampPaint.setColor(context.getResources().getColor(R.color.colorPrimary, null));
mTickColorPaint.setColor(context.getResources().getColor(R.color.white, null));
}
}
@Override
public void onDrawOver(Canvas c, RecyclerView parent, RecyclerView.State state) {
int selectedPosition = ((RedItemWithTickSelectionListener) parent.getAdapter()).getSelectedRedItemPosition();
for (int i = 0; i < parent.getChildCount(); i++) {
int childViewAdapterPosition = parent.getChildAdapterPosition(parent.getChildAt(i));
if (childViewAdapterPosition == selectedPosition) {
//
rectF.left = parent.getChildAt(i).getLeft() + (1 * multi);
rectF.top = parent.getChildAt(i).getTop() + (1 * multi);
rectF.right = parent.getChildAt(i).getRight() - (1 * multi);
rectF.bottom = parent.getChildAt(i).getBottom() - (1 * multi);
c.drawRoundRect(rectF, mCornerRadius, mCornerRadius, mBorderPaint);
drawTickStamp(c, parent.getChildAt(i).getRight() - (20 * multi), parent.getChildAt(i).getTop() +parent.getChildAt(i).getHeight()/2);
}
}
}
private void drawTickStamp(Canvas c, float x, float y) {
c.drawCircle(x, y, 13 * multi, mTickStampPaint);
c.drawLine(x - (4 * multi), y, x, y + (3 * multi), mTickColorPaint);
c.drawLine(x, y + (3 * multi), x + (6.5f * multi), y - (4 * multi), mTickColorPaint);
}
public interface RedItemWithTickSelectionListener {
int getSelectedRedItemPosition();
}
}

2
app/src/main/java/com/gmeremit/online/gmeremittance_native/exrate/view/ExchangeRateActivity.java

@ -136,7 +136,7 @@ public class ExchangeRateActivity extends BaseActivity implements ExchangeRatePr
private void initPayoutModeRV() {
paymentModeRvAdapter = new PaymentModeRvAdapter(this);
paymentModeRv.setAdapter(paymentModeRvAdapter);
paymentModeRv.addItemDecoration(new SelectedRedBorderDecoration(this));
paymentModeRv.addItemDecoration(new SelectedRedBorderDecoration(this,false));
paymentModeRv.setItemAnimator(new DefaultItemAnimator());
}

19
app/src/main/java/com/gmeremit/online/gmeremittance_native/exrate/view/SelectedRedBorderDecoration.java

@ -5,13 +5,15 @@ import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.RectF;
import android.os.Build;
import androidx.recyclerview.widget.RecyclerView;
import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.utils.Utils;
public class SelectedRedBorderDecoration extends RecyclerView.ItemDecoration{
public class SelectedRedBorderDecoration extends RecyclerView.ItemDecoration {
private final boolean shouldDisplayTick;
private float mRectWidth;
private float mCornerRadius;
private Paint mTickStampPaint;
@ -21,7 +23,8 @@ public class SelectedRedBorderDecoration extends RecyclerView.ItemDecoration{
private RectF rectF;
public SelectedRedBorderDecoration(Context context) {
public SelectedRedBorderDecoration(Context context, boolean shouldDisplayTick) {
this.shouldDisplayTick = shouldDisplayTick;
init(context);
}
@ -61,15 +64,15 @@ public class SelectedRedBorderDecoration extends RecyclerView.ItemDecoration{
if (childViewAdapterPosition == selectedPosition) {
//
rectF.left = parent.getChildAt(i).getLeft()+(1*multi);
rectF.top = parent.getChildAt(i).getTop()+(1*multi) ;
rectF.right = parent.getChildAt(i).getRight()-(1*multi) ;
rectF.bottom = parent.getChildAt(i).getBottom()-(1*multi) ;
rectF.left = parent.getChildAt(i).getLeft() + (1 * multi);
rectF.top = parent.getChildAt(i).getTop() + (1 * multi);
rectF.right = parent.getChildAt(i).getRight() - (1 * multi);
rectF.bottom = parent.getChildAt(i).getBottom() - (1 * multi);
c.drawRoundRect(rectF, mCornerRadius, mCornerRadius, mBorderPaint);
// drawTickStamp(c, parent.getChildAt(i).getRight() - (9 * multi), parent.getChildAt(i).getTop() + (1 * multi));
if (shouldDisplayTick)
drawTickStamp(c, parent.getChildAt(i).getRight() - (9 * multi), parent.getChildAt(i).getTop() + (1 * multi));
}
}

2
app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/view/payoutmode/PayoutModeSendMoneyFragment.java

@ -123,7 +123,7 @@ public class PayoutModeSendMoneyFragment extends BaseFragment implements SendMon
}
private void setupRecyclerView() {
paymentModeRv.addItemDecoration(new SelectedRedBorderDecoration(getActivity()));
paymentModeRv.addItemDecoration(new SelectedRedBorderDecoration(getActivity(),false));
paymentModeRv.setItemAnimator(new DefaultItemAnimator());
paymentModeRvAdapter = new SendMoneyPayoutModeRvAdapter(this);
paymentModeRv.setAdapter(paymentModeRvAdapter);

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

@ -213,7 +213,7 @@ public class SplashScreen extends BaseActivity implements View.OnClickListener,
}
private void initPayoutModeRV() {
SelectedRedBorderDecoration selectedRedBorderDecoration = new SelectedRedBorderDecoration(this);
SelectedRedBorderDecoration selectedRedBorderDecoration = new SelectedRedBorderDecoration(this,false);
paymentModeRV.addItemDecoration(selectedRedBorderDecoration);
paymentModeRV.setLayoutManager(new StaggeredGridLayoutManager(3, StaggeredGridLayoutManager.VERTICAL));
payoutModeSelectionRVAdapter = new PayoutModeSelectionRVAdapter(this);

57
app/src/main/res/layout/coupon_list_item.xml

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/_4sdp">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:id="@+id/tv_coupon_name"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="start"
android:textColor="@color/darkgray"
android:textSize="@dimen/_10ssp"
app:layout_constraintBottom_toTopOf="@+id/tv_coupon_type"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:txtfontName="@string/semibold"
android:layout_marginEnd="@dimen/_32sdp"
tools:text="Coupon Name" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:id="@+id/tv_coupon_type"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="start"
android:textColor="@color/darkgray"
android:textSize="@dimen/_13ssp"
app:layout_constraintBottom_toTopOf="@+id/tv_coupon_date"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_coupon_name"
app:txtfontName="@string/bold"
android:layout_marginEnd="@dimen/_32sdp"
tools:text="Coupon Type" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:id="@+id/tv_coupon_date"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="start"
android:textColor="@color/darkgray"
android:textSize="@dimen/_10ssp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_coupon_type"
app:txtfontName="@string/regular"
android:layout_marginEnd="@dimen/_32sdp"
tools:text="Date" />
</androidx.constraintlayout.widget.ConstraintLayout>

7
app/src/main/res/layout/fragment_coupon_list.xml

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/couponListRv"
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent">
</androidx.recyclerview.widget.RecyclerView>
Loading…
Cancel
Save