Showing
6 changed files
with
61 additions
and
15 deletions
... | @@ -2,7 +2,7 @@ apply plugin: 'com.android.library' | ... | @@ -2,7 +2,7 @@ apply plugin: 'com.android.library' |
2 | 2 | ||
3 | ext { | 3 | ext { |
4 | PUBLISH_GROUP_ID = 'ly.warp' | 4 | PUBLISH_GROUP_ID = 'ly.warp' |
5 | - PUBLISH_VERSION = '4.5.5.4r37' | 5 | + PUBLISH_VERSION = '4.5.5.4r38' |
6 | PUBLISH_ARTIFACT_ID = 'warply-android-sdk' | 6 | PUBLISH_ARTIFACT_ID = 'warply-android-sdk' |
7 | } | 7 | } |
8 | 8 | ... | ... |
... | @@ -11,6 +11,7 @@ import android.widget.LinearLayout; | ... | @@ -11,6 +11,7 @@ import android.widget.LinearLayout; |
11 | import android.widget.RelativeLayout; | 11 | import android.widget.RelativeLayout; |
12 | import android.widget.TextView; | 12 | import android.widget.TextView; |
13 | 13 | ||
14 | +import androidx.appcompat.app.AlertDialog; | ||
14 | import androidx.constraintlayout.widget.ConstraintLayout; | 15 | import androidx.constraintlayout.widget.ConstraintLayout; |
15 | import androidx.recyclerview.widget.LinearLayoutManager; | 16 | import androidx.recyclerview.widget.LinearLayoutManager; |
16 | import androidx.recyclerview.widget.RecyclerView; | 17 | import androidx.recyclerview.widget.RecyclerView; |
... | @@ -63,6 +64,7 @@ public class ActiveUnifiedCouponsActivity extends Activity implements View.OnCli | ... | @@ -63,6 +64,7 @@ public class ActiveUnifiedCouponsActivity extends Activity implements View.OnCli |
63 | private ActiveCouponAdapter mAdapterCoupons; | 64 | private ActiveCouponAdapter mAdapterCoupons; |
64 | private Set<Coupon> mSelectedItems = new HashSet<>(); | 65 | private Set<Coupon> mSelectedItems = new HashSet<>(); |
65 | private LinearLayout mLlActivateunified; | 66 | private LinearLayout mLlActivateunified; |
67 | + private AlertDialog mAlertDialog; | ||
66 | 68 | ||
67 | // =========================================================== | 69 | // =========================================================== |
68 | // Methods for/from SuperClass/Interfaces | 70 | // Methods for/from SuperClass/Interfaces |
... | @@ -258,8 +260,7 @@ public class ActiveUnifiedCouponsActivity extends Activity implements View.OnCli | ... | @@ -258,8 +260,7 @@ public class ActiveUnifiedCouponsActivity extends Activity implements View.OnCli |
258 | Intent intent = new Intent(ActiveUnifiedCouponsActivity.this, CouponInfoActivity.class); | 260 | Intent intent = new Intent(ActiveUnifiedCouponsActivity.this, CouponInfoActivity.class); |
259 | intent.putExtra("coupon", coupon.getCoupon()); | 261 | intent.putExtra("coupon", coupon.getCoupon()); |
260 | intent.putExtra("isFromWallet", true); | 262 | intent.putExtra("isFromWallet", true); |
261 | -// intent.putExtra("isUnified", true); | 263 | + intent.putExtra("isActiveUnified", true); |
262 | -// intent.putExtra("unifiedCoupon", coupon.getBarcode()); | ||
263 | startActivity(intent); | 264 | startActivity(intent); |
264 | } | 265 | } |
265 | }) | 266 | }) |
... | @@ -321,11 +322,29 @@ public class ActiveUnifiedCouponsActivity extends Activity implements View.OnCli | ... | @@ -321,11 +322,29 @@ public class ActiveUnifiedCouponsActivity extends Activity implements View.OnCli |
321 | mIvChooseAll.setBackgroundResource(R.drawable.ic_circle_gray); | 322 | mIvChooseAll.setBackgroundResource(R.drawable.ic_circle_gray); |
322 | mLlActivateunified.setBackgroundResource(R.drawable.selector_button_grey_dark); | 323 | mLlActivateunified.setBackgroundResource(R.drawable.selector_button_grey_dark); |
323 | mSelectedItems.clear(); | 324 | mSelectedItems.clear(); |
325 | + | ||
326 | + if (!isFinishing()) { | ||
327 | + mAlertDialog = new AlertDialog.Builder(ActiveUnifiedCouponsActivity.this) | ||
328 | + .setTitle(R.string.cos_dlg_success_unified_title) | ||
329 | + .setMessage(R.string.cos_dlg_success_unified_subtitle) | ||
330 | + .setPositiveButton(R.string.cos_dlg_positive_button2, (dialogPositive, whichPositive) -> { | ||
331 | + dialogPositive.dismiss(); | ||
332 | + }) | ||
333 | + .show(); | ||
334 | + } | ||
324 | } | 335 | } |
325 | 336 | ||
326 | @Override | 337 | @Override |
327 | public void onFailure(int errorCode) { | 338 | public void onFailure(int errorCode) { |
328 | - | 339 | + if (!isFinishing()) { |
340 | + mAlertDialog = new AlertDialog.Builder(ActiveUnifiedCouponsActivity.this) | ||
341 | + .setTitle(R.string.cos_dlg_error_unified_title) | ||
342 | + .setMessage(R.string.cos_dlg_error_subtitle) | ||
343 | + .setPositiveButton(R.string.cos_dlg_positive_button2, (dialogPositive, whichPositive) -> { | ||
344 | + dialogPositive.dismiss(); | ||
345 | + }) | ||
346 | + .show(); | ||
347 | + } | ||
329 | } | 348 | } |
330 | }; | 349 | }; |
331 | } | 350 | } | ... | ... |
... | @@ -56,7 +56,8 @@ public class CouponInfoActivity extends Activity implements View.OnClickListener | ... | @@ -56,7 +56,8 @@ public class CouponInfoActivity extends Activity implements View.OnClickListener |
56 | private LinearLayout mLlGiftIt, mLlShops, mLlBarcodeShown, mLlBarcodeContainer, mLlTerms, mLlWebsite; | 56 | private LinearLayout mLlGiftIt, mLlShops, mLlBarcodeShown, mLlBarcodeContainer, mLlTerms, mLlWebsite; |
57 | private Coupon mCoupon; | 57 | private Coupon mCoupon; |
58 | private boolean mIsBarcodeShown = false, mIsTermsShown = false, mIsFromWallet = false, | 58 | private boolean mIsBarcodeShown = false, mIsTermsShown = false, mIsFromWallet = false, |
59 | - mShopsPressed = false, mGiftPressed = false, mEshopPressed = false, mIsUnified = false; | 59 | + mShopsPressed = false, mGiftPressed = false, mEshopPressed = false, mIsUnified = false, |
60 | + mIsActiveUnified = false; | ||
60 | 61 | ||
61 | // =========================================================== | 62 | // =========================================================== |
62 | // Methods for/from SuperClass/Interfaces | 63 | // Methods for/from SuperClass/Interfaces |
... | @@ -70,6 +71,7 @@ public class CouponInfoActivity extends Activity implements View.OnClickListener | ... | @@ -70,6 +71,7 @@ public class CouponInfoActivity extends Activity implements View.OnClickListener |
70 | String couponCode = getIntent().getStringExtra("coupon"); | 71 | String couponCode = getIntent().getStringExtra("coupon"); |
71 | mIsFromWallet = getIntent().getBooleanExtra("isFromWallet", false); | 72 | mIsFromWallet = getIntent().getBooleanExtra("isFromWallet", false); |
72 | mIsUnified = getIntent().getBooleanExtra("isUnified", false); | 73 | mIsUnified = getIntent().getBooleanExtra("isUnified", false); |
74 | + mIsActiveUnified = getIntent().getBooleanExtra("isActiveUnified", false); | ||
73 | 75 | ||
74 | if (mIsUnified) { | 76 | if (mIsUnified) { |
75 | String couponUnifiedCode = getIntent().getStringExtra("unifiedCoupon"); | 77 | String couponUnifiedCode = getIntent().getStringExtra("unifiedCoupon"); |
... | @@ -85,10 +87,19 @@ public class CouponInfoActivity extends Activity implements View.OnClickListener | ... | @@ -85,10 +87,19 @@ public class CouponInfoActivity extends Activity implements View.OnClickListener |
85 | } | 87 | } |
86 | } | 88 | } |
87 | } else { | 89 | } else { |
88 | - for (Coupon cpn : WarplyManagerHelper.getCouponList()) { | 90 | + if (mIsActiveUnified) { |
89 | - if (cpn.getCoupon().equals(couponCode)) { | 91 | + for (Coupon cpn : WarplyManagerHelper.getSmCouponsList()) { |
90 | - mCoupon = cpn; | 92 | + if (cpn.getCoupon().equals(couponCode)) { |
91 | - break; | 93 | + mCoupon = cpn; |
94 | + break; | ||
95 | + } | ||
96 | + } | ||
97 | + } else { | ||
98 | + for (Coupon cpn : WarplyManagerHelper.getCouponList()) { | ||
99 | + if (cpn.getCoupon().equals(couponCode)) { | ||
100 | + mCoupon = cpn; | ||
101 | + break; | ||
102 | + } | ||
92 | } | 103 | } |
93 | } | 104 | } |
94 | } | 105 | } | ... | ... |
... | @@ -1369,7 +1369,7 @@ public class WarplyManagerHelper { | ... | @@ -1369,7 +1369,7 @@ public class WarplyManagerHelper { |
1369 | mCouponRedeemedList.addAll(couponRedeemedList); | 1369 | mCouponRedeemedList.addAll(couponRedeemedList); |
1370 | } | 1370 | } |
1371 | 1371 | ||
1372 | - public static void setSmCouponsList(CouponList couponRedeemedList) { | 1372 | + public static void setSmCouponsList(ArrayList<Coupon> couponRedeemedList) { |
1373 | mSmCouponsList.clear(); | 1373 | mSmCouponsList.clear(); |
1374 | mSmCouponsList.addAll(couponRedeemedList); | 1374 | mSmCouponsList.addAll(couponRedeemedList); |
1375 | } | 1375 | } | ... | ... |
... | @@ -56,6 +56,8 @@ import java.text.SimpleDateFormat; | ... | @@ -56,6 +56,8 @@ import java.text.SimpleDateFormat; |
56 | import java.util.ArrayList; | 56 | import java.util.ArrayList; |
57 | import java.util.Collections; | 57 | import java.util.Collections; |
58 | import java.util.Date; | 58 | import java.util.Date; |
59 | +import java.util.HashSet; | ||
60 | +import java.util.Iterator; | ||
59 | import java.util.LinkedHashSet; | 61 | import java.util.LinkedHashSet; |
60 | import java.util.List; | 62 | import java.util.List; |
61 | import java.util.Locale; | 63 | import java.util.Locale; |
... | @@ -3264,14 +3266,25 @@ public class WarplyManager { | ... | @@ -3264,14 +3266,25 @@ public class WarplyManager { |
3264 | Futures.addCallback(mergedResultFuture, new FutureCallback<CouponList>() { | 3266 | Futures.addCallback(mergedResultFuture, new FutureCallback<CouponList>() { |
3265 | @Override | 3267 | @Override |
3266 | public void onSuccess(CouponList mergedResult) { | 3268 | public void onSuccess(CouponList mergedResult) { |
3267 | - CouponList mfinalActiveSMCoupons = new CouponList(); | 3269 | + HashSet<String> commonIds = new HashSet<>(); |
3268 | - for (Coupon mergedItem : mergedResult) { | 3270 | + for (Coupon c1 : mergedResult) { |
3269 | - for (Coupon tempItem : mTempActiveSMCoupons) { | 3271 | + for (Coupon c2 : mTempActiveSMCoupons) { |
3270 | - if (!mergedItem.getCoupon().equals(tempItem.getCoupon())) { | 3272 | + if (c1.getCoupon().equals(c2.getCoupon())) { |
3271 | - mfinalActiveSMCoupons.add(mergedItem); | 3273 | + commonIds.add(c1.getCoupon()); |
3272 | } | 3274 | } |
3273 | } | 3275 | } |
3274 | } | 3276 | } |
3277 | + HashSet<Coupon> allItems = new HashSet<>(mergedResult); | ||
3278 | + allItems.addAll(mTempActiveSMCoupons); | ||
3279 | + Iterator<Coupon> iterator = allItems.iterator(); | ||
3280 | + while (iterator.hasNext()) { | ||
3281 | + Coupon coupon = iterator.next(); | ||
3282 | + if (commonIds.contains(coupon.getCoupon())) { | ||
3283 | + iterator.remove(); // Remove items with common 'id' | ||
3284 | + } | ||
3285 | + } | ||
3286 | + ArrayList<Coupon> mfinalActiveSMCoupons = new ArrayList<>(allItems); | ||
3287 | + | ||
3275 | WarplyManagerHelper.setSmCouponsList(mfinalActiveSMCoupons); | 3288 | WarplyManagerHelper.setSmCouponsList(mfinalActiveSMCoupons); |
3276 | executorService.shutdownNow(); | 3289 | executorService.shutdownNow(); |
3277 | } | 3290 | } | ... | ... |
... | @@ -46,6 +46,9 @@ | ... | @@ -46,6 +46,9 @@ |
46 | <string name="cos_redeem_coupon2">Απόκτησέ το δωρεάν</string> | 46 | <string name="cos_redeem_coupon2">Απόκτησέ το δωρεάν</string> |
47 | <string name="cos_dlg_success_subtitle">Το κουπόνι εξαργυρώθηκε με επιτυχία</string> | 47 | <string name="cos_dlg_success_subtitle">Το κουπόνι εξαργυρώθηκε με επιτυχία</string> |
48 | <string name="cos_dlg_error_title">Αποτυχία</string> | 48 | <string name="cos_dlg_error_title">Αποτυχία</string> |
49 | + <string name="cos_dlg_error_unified_title">Αποτυχία Δημιουργίας Κουπονιού</string> | ||
50 | + <string name="cos_dlg_success_unified_title">Δημιουργία Κουπονιού</string> | ||
51 | + <string name="cos_dlg_success_unified_subtitle">Το ενιαίο κουπόνι σου δημιουργήθηκε επιτυχώς.</string> | ||
49 | <string name="cos_dlg_error_title2">Αποτυχία αποστολής</string> | 52 | <string name="cos_dlg_error_title2">Αποτυχία αποστολής</string> |
50 | <string name="cos_dlg_return_title">Επιστροφή δώρου</string> | 53 | <string name="cos_dlg_return_title">Επιστροφή δώρου</string> |
51 | <string name="cos_dlg_error_subtitle">Κάτι πήγε στραβά</string> | 54 | <string name="cos_dlg_error_subtitle">Κάτι πήγε στραβά</string> | ... | ... |
-
Please register or login to post a comment