Preyea Regmi
5 years ago
12 changed files with 295 additions and 11 deletions
-
1SpinnerDatePickerLib-release/build/.transforms/774c93c496d6cb6e95c13a774fcb3df0.bin
-
BINSpinnerDatePickerLib-release/build/.transforms/774c93c496d6cb6e95c13a774fcb3df0/classes/classes.dex
-
54app/src/main/java/com/gmeremit/online/gmeremittance_native/couponV2/adapter/CouponListAdapter.java
-
13app/src/main/java/com/gmeremit/online/gmeremittance_native/couponV2/view/CouponListRvViewholder.java
-
60app/src/main/java/com/gmeremit/online/gmeremittance_native/couponV2/view/CouponListingFragment.java
-
89app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/SelectedRedBorderWithTickDecoration.java
-
2app/src/main/java/com/gmeremit/online/gmeremittance_native/exrate/view/ExchangeRateActivity.java
-
19app/src/main/java/com/gmeremit/online/gmeremittance_native/exrate/view/SelectedRedBorderDecoration.java
-
2app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/view/payoutmode/PayoutModeSendMoneyFragment.java
-
2app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/view/SplashScreen.java
-
57app/src/main/res/layout/coupon_list_item.xml
-
7app/src/main/res/layout/fragment_coupon_list.xml
@ -0,0 +1 @@ |
|||
o/classes |
@ -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(); |
|||
} |
|||
} |
@ -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); |
|||
} |
|||
} |
@ -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() { |
|||
|
|||
|
|||
} |
|||
|
|||
} |
@ -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(); |
|||
} |
|||
} |
@ -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> |
@ -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> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue