Showing
18 changed files
with
997 additions
and
48 deletions
... | @@ -36,7 +36,7 @@ public class SplashActivity extends BaseActivity { | ... | @@ -36,7 +36,7 @@ public class SplashActivity extends BaseActivity { |
36 | public void onWarplyReady() { | 36 | public void onWarplyReady() { |
37 | if (!WarplyDBHelper.getInstance(SplashActivity.this).isTableNotEmpty("auth")) { | 37 | if (!WarplyDBHelper.getInstance(SplashActivity.this).isTableNotEmpty("auth")) { |
38 | WarplyManager.getCosmoteUser(new WarplyCosmoteUserRequest() | 38 | WarplyManager.getCosmoteUser(new WarplyCosmoteUserRequest() |
39 | - .setGuid("6012049139"), //6012049321, 6012049322, 6012049323 | 39 | + .setGuid("6012049321"), //6012049321, 6012049322, 6012049323 |
40 | mLoginReceiver); | 40 | mLoginReceiver); |
41 | } else { | 41 | } else { |
42 | startNextActivity(); | 42 | startNextActivity(); | ... | ... |
... | @@ -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.4-cosbeta44' | 5 | + PUBLISH_VERSION = '4.5.4-cosbeta45' |
6 | PUBLISH_ARTIFACT_ID = 'warply-android-sdk' | 6 | PUBLISH_ARTIFACT_ID = 'warply-android-sdk' |
7 | } | 7 | } |
8 | 8 | ... | ... |
... | @@ -58,7 +58,8 @@ public class CouponShareActivity extends Activity implements View.OnClickListene | ... | @@ -58,7 +58,8 @@ public class CouponShareActivity extends Activity implements View.OnClickListene |
58 | private LinearLayout mLlShareButton; | 58 | private LinearLayout mLlShareButton; |
59 | private String mSender = ""; | 59 | private String mSender = ""; |
60 | private EditText mEdtReceiver; | 60 | private EditText mEdtReceiver; |
61 | - private AlertDialog mAlertDialogSuccessSharing, mAlertDialogErrorSharing, mAlertDialogCouponAskSharing; | 61 | + private AlertDialog mAlertDialogSuccessSharing, mAlertDialogErrorSharing, |
62 | + mAlertDialogCouponAskSharing, mAlertDialogWrongNumberSharing; | ||
62 | 63 | ||
63 | // =========================================================== | 64 | // =========================================================== |
64 | // Methods for/from SuperClass/Interfaces | 65 | // Methods for/from SuperClass/Interfaces |
... | @@ -205,6 +206,16 @@ public class CouponShareActivity extends Activity implements View.OnClickListene | ... | @@ -205,6 +206,16 @@ public class CouponShareActivity extends Activity implements View.OnClickListene |
205 | .show(); | 206 | .show(); |
206 | } | 207 | } |
207 | 208 | ||
209 | + private void wrongNumberDialog(String message) { | ||
210 | + mAlertDialogWrongNumberSharing = new AlertDialog.Builder(this) | ||
211 | + .setTitle(R.string.cos_dlg_error_title) | ||
212 | + .setMessage(message) | ||
213 | + .setPositiveButton(R.string.cos_dlg_positive_button2, (dialogPositive, whichPositive) -> { | ||
214 | + dialogPositive.dismiss(); | ||
215 | + }) | ||
216 | + .show(); | ||
217 | + } | ||
218 | + | ||
208 | private void errorSharingDialog2() { | 219 | private void errorSharingDialog2() { |
209 | mAlertDialogErrorSharing = new AlertDialog.Builder(this) | 220 | mAlertDialogErrorSharing = new AlertDialog.Builder(this) |
210 | .setTitle(R.string.cos_dlg_error_title) | 221 | .setTitle(R.string.cos_dlg_error_title) |
... | @@ -253,9 +264,12 @@ public class CouponShareActivity extends Activity implements View.OnClickListene | ... | @@ -253,9 +264,12 @@ public class CouponShareActivity extends Activity implements View.OnClickListene |
253 | @Override | 264 | @Override |
254 | public void onSuccess(JSONObject result) { | 265 | public void onSuccess(JSONObject result) { |
255 | int status = result.optInt("status", 2); | 266 | int status = result.optInt("status", 2); |
267 | + String message = result.optString("msg", ""); | ||
256 | runOnUiThread(() -> { | 268 | runOnUiThread(() -> { |
257 | if (status == 1) | 269 | if (status == 1) |
258 | acceptSharingDialog(); | 270 | acceptSharingDialog(); |
271 | + else if (status == 4) | ||
272 | + wrongNumberDialog(message); | ||
259 | else | 273 | else |
260 | errorSharingDialog(); | 274 | errorSharingDialog(); |
261 | }); | 275 | }); | ... | ... |
... | @@ -29,11 +29,13 @@ import ly.warp.sdk.io.models.CampaignList; | ... | @@ -29,11 +29,13 @@ import ly.warp.sdk.io.models.CampaignList; |
29 | import ly.warp.sdk.io.models.Coupon; | 29 | import ly.warp.sdk.io.models.Coupon; |
30 | import ly.warp.sdk.io.models.CouponList; | 30 | import ly.warp.sdk.io.models.CouponList; |
31 | import ly.warp.sdk.io.models.Couponset; | 31 | import ly.warp.sdk.io.models.Couponset; |
32 | +import ly.warp.sdk.io.models.LoyaltyContextualOfferModel; | ||
32 | import ly.warp.sdk.io.request.WarplyGetCampaignsRequest; | 33 | import ly.warp.sdk.io.request.WarplyGetCampaignsRequest; |
33 | import ly.warp.sdk.io.request.WarplyRedeemCouponRequest; | 34 | import ly.warp.sdk.io.request.WarplyRedeemCouponRequest; |
34 | import ly.warp.sdk.io.request.WarplyUserCouponsRequest; | 35 | import ly.warp.sdk.io.request.WarplyUserCouponsRequest; |
35 | import ly.warp.sdk.services.EventCampaignService; | 36 | import ly.warp.sdk.services.EventCampaignService; |
36 | import ly.warp.sdk.services.EventService; | 37 | import ly.warp.sdk.services.EventService; |
38 | +import ly.warp.sdk.utils.WarplyManagerHelper; | ||
37 | import ly.warp.sdk.utils.managers.WarplyManager; | 39 | import ly.warp.sdk.utils.managers.WarplyManager; |
38 | 40 | ||
39 | 41 | ||
... | @@ -56,6 +58,7 @@ public class CouponsetInfoActivity extends Activity implements View.OnClickListe | ... | @@ -56,6 +58,7 @@ public class CouponsetInfoActivity extends Activity implements View.OnClickListe |
56 | private boolean mIsTermsPressed = false; | 58 | private boolean mIsTermsPressed = false; |
57 | private AlertDialog mAlertDialogCouponset; | 59 | private AlertDialog mAlertDialogCouponset; |
58 | private Campaign mLoyalty; | 60 | private Campaign mLoyalty; |
61 | + private LoyaltyContextualOfferModel mCcms = null; | ||
59 | 62 | ||
60 | // =========================================================== | 63 | // =========================================================== |
61 | // Methods for/from SuperClass/Interfaces | 64 | // Methods for/from SuperClass/Interfaces |
... | @@ -68,6 +71,7 @@ public class CouponsetInfoActivity extends Activity implements View.OnClickListe | ... | @@ -68,6 +71,7 @@ public class CouponsetInfoActivity extends Activity implements View.OnClickListe |
68 | 71 | ||
69 | mCouponset = (Couponset) getIntent().getSerializableExtra("couponset"); | 72 | mCouponset = (Couponset) getIntent().getSerializableExtra("couponset"); |
70 | mLoyalty = (Campaign) getIntent().getSerializableExtra("loyalty"); | 73 | mLoyalty = (Campaign) getIntent().getSerializableExtra("loyalty"); |
74 | + mCcms = (LoyaltyContextualOfferModel) getIntent().getSerializableExtra("ccms"); | ||
71 | 75 | ||
72 | mIvBack = findViewById(R.id.iv_couponset_info_back); | 76 | mIvBack = findViewById(R.id.iv_couponset_info_back); |
73 | mTvTerms = findViewById(R.id.tv_terms); | 77 | mTvTerms = findViewById(R.id.tv_terms); |
... | @@ -96,9 +100,37 @@ public class CouponsetInfoActivity extends Activity implements View.OnClickListe | ... | @@ -96,9 +100,37 @@ public class CouponsetInfoActivity extends Activity implements View.OnClickListe |
96 | } | 100 | } |
97 | if (view.getId() == R.id.ll_get_gift) { | 101 | if (view.getId() == R.id.ll_get_gift) { |
98 | mPbLoading.setVisibility(View.VISIBLE); | 102 | mPbLoading.setVisibility(View.VISIBLE); |
103 | + if (mCcms == null) { | ||
99 | WarplyManager.redeemCoupon(new WarplyRedeemCouponRequest() | 104 | WarplyManager.redeemCoupon(new WarplyRedeemCouponRequest() |
100 | .setCouponsetUuid(mCouponset.getUuid()) | 105 | .setCouponsetUuid(mCouponset.getUuid()) |
101 | .setCommunicationUuid(mLoyalty.getSessionUUID()), mRedeemCouponCallback); | 106 | .setCommunicationUuid(mLoyalty.getSessionUUID()), mRedeemCouponCallback); |
107 | + } else { | ||
108 | + WarplyManager.redeemCoupon(new WarplyRedeemCouponRequest() | ||
109 | + .setCouponsetUuid(mCouponset.getUuid()) | ||
110 | + .setCommunicationUuid(mLoyalty.getSessionUUID()) | ||
111 | + .setHasContextualOffer(true) | ||
112 | + .setUserMsisdn(WarplyManagerHelper.getConsumer().getMsisdn()) | ||
113 | + .setBusinessService(mCcms.getBusinessService()) | ||
114 | + .setOfferName(mCcms.getOfferName()) | ||
115 | + .setProductType(mCcms.getProductType()) | ||
116 | + .setProvDuration(mCcms.getProvDuration()) | ||
117 | + .setNoOfRecurrance(mCcms.getNoOfRecurrance()) | ||
118 | + .setPrice(mCcms.getPrice()) | ||
119 | + .setDiscount(mCcms.getDiscount()) | ||
120 | + .setVoiceCategory(mCcms.getVoiceCategory()) | ||
121 | + .setDataCategory(mCcms.getDataCategory()) | ||
122 | + .setMinsValue(mCcms.getMinsValue()) | ||
123 | + .setDataValue(mCcms.getDataValue()) | ||
124 | + .setProvStepValueMins(mCcms.getProvStepValueMins()) | ||
125 | + .setOfferAudienceLevel(mCcms.getOfferAudienceLevel()) | ||
126 | + .setUACIOfferTrackingCode(mCcms.getUACIOfferTrackingCode()) | ||
127 | + .setOfferCode1(mCcms.getOfferCode1()) | ||
128 | + .setScore(mCcms.getScore()) | ||
129 | + .setZone(mCcms.getZone()) | ||
130 | + .setWave(mCcms.getWave()) | ||
131 | + .setValidity(mCcms.getValidity()) | ||
132 | + .setTreatmentCode(mCcms.getTreatmentCode()), mRedeemCouponCallback); | ||
133 | + } | ||
102 | return; | 134 | return; |
103 | } | 135 | } |
104 | if (view.getId() == R.id.ll_terms_inner) { | 136 | if (view.getId() == R.id.ll_terms_inner) { | ... | ... |
... | @@ -4,6 +4,7 @@ import android.app.Activity; | ... | @@ -4,6 +4,7 @@ import android.app.Activity; |
4 | import android.content.Context; | 4 | import android.content.Context; |
5 | import android.content.Intent; | 5 | import android.content.Intent; |
6 | import android.os.Bundle; | 6 | import android.os.Bundle; |
7 | +import android.text.TextUtils; | ||
7 | import android.util.Log; | 8 | import android.util.Log; |
8 | import android.view.View; | 9 | import android.view.View; |
9 | import android.widget.ImageView; | 10 | import android.widget.ImageView; |
... | @@ -59,6 +60,7 @@ public class GiftsForYouActivity extends Activity implements View.OnClickListene | ... | @@ -59,6 +60,7 @@ public class GiftsForYouActivity extends Activity implements View.OnClickListene |
59 | // private HashSet<Campaign> mHashSetList = new HashSet<>(); | 60 | // private HashSet<Campaign> mHashSetList = new HashSet<>(); |
60 | private ArrayList<LoyaltyGiftsForYouPackage> mSeasonalList = new ArrayList<>(); | 61 | private ArrayList<LoyaltyGiftsForYouPackage> mSeasonalList = new ArrayList<>(); |
61 | private HashSet<LoyaltyGiftsForYouPackage> mHashSetSeasonalList = new HashSet<>(); | 62 | private HashSet<LoyaltyGiftsForYouPackage> mHashSetSeasonalList = new HashSet<>(); |
63 | + private ArrayList<LoyaltyContextualOfferModel> mContextualList = new ArrayList<>(); | ||
62 | 64 | ||
63 | // =========================================================== | 65 | // =========================================================== |
64 | // Methods for/from SuperClass/Interfaces | 66 | // Methods for/from SuperClass/Interfaces |
... | @@ -83,9 +85,19 @@ public class GiftsForYouActivity extends Activity implements View.OnClickListene | ... | @@ -83,9 +85,19 @@ public class GiftsForYouActivity extends Activity implements View.OnClickListene |
83 | mSeasonalList.addAll(mHashSetSeasonalList); | 85 | mSeasonalList.addAll(mHashSetSeasonalList); |
84 | } | 86 | } |
85 | 87 | ||
88 | + if (WarplyManagerHelper.getCCMSLoyaltyCampaigns() != null && WarplyManagerHelper.getCCMSLoyaltyCampaigns().size() > 0) { | ||
89 | + mContextualList.clear(); | ||
90 | + for (LoyaltyContextualOfferModel ccmsItem : WarplyManagerHelper.getCCMSLoyaltyCampaigns()) { | ||
91 | + if ((TextUtils.isEmpty(ccmsItem.getLoyaltyCampaignId()) || ccmsItem.getLoyaltyCampaignId().equals("NA")) | ||
92 | + && ccmsItem.getZone().equals("COSMOTE_APP_GIFTS4U")) | ||
93 | + mContextualList.add(ccmsItem); | ||
94 | + } | ||
95 | + } | ||
96 | + | ||
86 | mergeDatasets( | 97 | mergeDatasets( |
87 | mValuesList, | 98 | mValuesList, |
88 | - mSeasonalList | 99 | + mSeasonalList, |
100 | + mContextualList | ||
89 | ); | 101 | ); |
90 | 102 | ||
91 | mIvBack = findViewById(R.id.iv_list_close); | 103 | mIvBack = findViewById(R.id.iv_list_close); |
... | @@ -143,9 +155,19 @@ public class GiftsForYouActivity extends Activity implements View.OnClickListene | ... | @@ -143,9 +155,19 @@ public class GiftsForYouActivity extends Activity implements View.OnClickListene |
143 | mSeasonalList.addAll(mHashSetSeasonalList); | 155 | mSeasonalList.addAll(mHashSetSeasonalList); |
144 | } | 156 | } |
145 | 157 | ||
158 | + if (WarplyManagerHelper.getCCMSLoyaltyCampaigns() != null && WarplyManagerHelper.getCCMSLoyaltyCampaigns().size() > 0) { | ||
159 | + mContextualList.clear(); | ||
160 | + for (LoyaltyContextualOfferModel ccmsItem : WarplyManagerHelper.getCCMSLoyaltyCampaigns()) { | ||
161 | + if ((TextUtils.isEmpty(ccmsItem.getLoyaltyCampaignId()) || ccmsItem.getLoyaltyCampaignId().equals("NA")) | ||
162 | + && ccmsItem.getZone().equals("COSMOTE_APP_GIFTS4U")) | ||
163 | + mContextualList.add(ccmsItem); | ||
164 | + } | ||
165 | + } | ||
166 | + | ||
146 | mergeDatasets( | 167 | mergeDatasets( |
147 | mValuesList, | 168 | mValuesList, |
148 | - mSeasonalList | 169 | + mSeasonalList, |
170 | + mContextualList | ||
149 | ); | 171 | ); |
150 | 172 | ||
151 | runOnUiThread(() -> { | 173 | runOnUiThread(() -> { |
... | @@ -159,6 +181,43 @@ public class GiftsForYouActivity extends Activity implements View.OnClickListene | ... | @@ -159,6 +181,43 @@ public class GiftsForYouActivity extends Activity implements View.OnClickListene |
159 | EventBus.getDefault().post(new WarplyEventBusManager(new LoyaltyGiftsForYouOfferClickEvent())); | 181 | EventBus.getDefault().post(new WarplyEventBusManager(new LoyaltyGiftsForYouOfferClickEvent())); |
160 | 182 | ||
161 | if (dataItem.getCampaign().getType().equals("coupon")) { | 183 | if (dataItem.getCampaign().getType().equals("coupon")) { |
184 | + if (WarplyManagerHelper.getCCMSLoyaltyCampaigns() != null && WarplyManagerHelper.getCCMSLoyaltyCampaigns().size() > 0) { | ||
185 | + LoyaltyContextualOfferModel ccmsItem = null; | ||
186 | + for (LoyaltyContextualOfferModel ccms : WarplyManagerHelper.getCCMSLoyaltyCampaigns()) { | ||
187 | + if (ccms.getLoyaltyCampaignId().equals(dataItem.getCampaign().getSessionUUID())) { | ||
188 | + ccmsItem = ccms; | ||
189 | + break; | ||
190 | + } | ||
191 | + } | ||
192 | + | ||
193 | + if (ccmsItem != null) { | ||
194 | + try { | ||
195 | + JSONObject campaignSettings = WarpJSONParser.getJSONFromString(dataItem.getCampaign().getCampaignTypeSettings()); | ||
196 | + if (campaignSettings != null) { | ||
197 | + if (campaignSettings.has("couponset")) { | ||
198 | + String cpnUuid = campaignSettings.optString("couponset"); | ||
199 | + for (Couponset cpns : WarplyManagerHelper.getCouponsets()) { | ||
200 | + if (cpns.getUuid().equals(cpnUuid)) { | ||
201 | + Intent intent = new Intent(GiftsForYouActivity.this, CouponsetInfoActivity.class); | ||
202 | + intent.putExtra("couponset", (Serializable) cpns); | ||
203 | + intent.putExtra("loyalty", (Serializable) dataItem.getCampaign()); | ||
204 | + intent.putExtra("ccms", ccmsItem); | ||
205 | + startActivity(intent); | ||
206 | + break; | ||
207 | + } | ||
208 | + } | ||
209 | + } else { | ||
210 | + startActivity(WarpViewActivity.createIntentFromURL(this, WarplyManagerHelper.constructCampaignUrl(dataItem.getCampaign()))); | ||
211 | + } | ||
212 | + } | ||
213 | + } catch (Exception exception) { | ||
214 | + exception.printStackTrace(); | ||
215 | + } | ||
216 | + | ||
217 | + return; | ||
218 | + } | ||
219 | + } | ||
220 | + | ||
162 | try { | 221 | try { |
163 | JSONObject campaignSettings = WarpJSONParser.getJSONFromString(dataItem.getCampaign().getCampaignTypeSettings()); | 222 | JSONObject campaignSettings = WarpJSONParser.getJSONFromString(dataItem.getCampaign().getCampaignTypeSettings()); |
164 | if (campaignSettings != null) { | 223 | if (campaignSettings != null) { |
... | @@ -220,6 +279,8 @@ public class GiftsForYouActivity extends Activity implements View.OnClickListene | ... | @@ -220,6 +279,8 @@ public class GiftsForYouActivity extends Activity implements View.OnClickListene |
220 | seasonalCLick.setLoyaltyPackageId(dataItem.getSeasonalList().getLoyaltyPackageId()); | 279 | seasonalCLick.setLoyaltyPackageId(dataItem.getSeasonalList().getLoyaltyPackageId()); |
221 | seasonalCLick.setImageUrl(dataItem.getSeasonalList().getImageUrl()); | 280 | seasonalCLick.setImageUrl(dataItem.getSeasonalList().getImageUrl()); |
222 | EventBus.getDefault().post(new WarplyEventBusManager(seasonalCLick)); | 281 | EventBus.getDefault().post(new WarplyEventBusManager(seasonalCLick)); |
282 | + } else if (dataItem.getDataType() == 3) { | ||
283 | + | ||
223 | } | 284 | } |
224 | }) | 285 | }) |
225 | .doOnError(error -> { | 286 | .doOnError(error -> { |
... | @@ -253,6 +314,43 @@ public class GiftsForYouActivity extends Activity implements View.OnClickListene | ... | @@ -253,6 +314,43 @@ public class GiftsForYouActivity extends Activity implements View.OnClickListene |
253 | EventBus.getDefault().post(new WarplyEventBusManager(new LoyaltyGiftsForYouOfferClickEvent())); | 314 | EventBus.getDefault().post(new WarplyEventBusManager(new LoyaltyGiftsForYouOfferClickEvent())); |
254 | 315 | ||
255 | if (dataItem.getCampaign().getType().equals("coupon")) { | 316 | if (dataItem.getCampaign().getType().equals("coupon")) { |
317 | + if (WarplyManagerHelper.getCCMSLoyaltyCampaigns() != null && WarplyManagerHelper.getCCMSLoyaltyCampaigns().size() > 0) { | ||
318 | + LoyaltyContextualOfferModel ccmsItem = null; | ||
319 | + for (LoyaltyContextualOfferModel ccms : WarplyManagerHelper.getCCMSLoyaltyCampaigns()) { | ||
320 | + if (ccms.getLoyaltyCampaignId().equals(dataItem.getCampaign().getSessionUUID())) { | ||
321 | + ccmsItem = ccms; | ||
322 | + break; | ||
323 | + } | ||
324 | + } | ||
325 | + | ||
326 | + if (ccmsItem != null) { | ||
327 | + try { | ||
328 | + JSONObject campaignSettings = WarpJSONParser.getJSONFromString(dataItem.getCampaign().getCampaignTypeSettings()); | ||
329 | + if (campaignSettings != null) { | ||
330 | + if (campaignSettings.has("couponset")) { | ||
331 | + String cpnUuid = campaignSettings.optString("couponset"); | ||
332 | + for (Couponset cpns : WarplyManagerHelper.getCouponsets()) { | ||
333 | + if (cpns.getUuid().equals(cpnUuid)) { | ||
334 | + Intent intent = new Intent(GiftsForYouActivity.this, CouponsetInfoActivity.class); | ||
335 | + intent.putExtra("couponset", (Serializable) cpns); | ||
336 | + intent.putExtra("loyalty", (Serializable) dataItem.getCampaign()); | ||
337 | + intent.putExtra("ccms", ccmsItem); | ||
338 | + startActivity(intent); | ||
339 | + break; | ||
340 | + } | ||
341 | + } | ||
342 | + } else { | ||
343 | + startActivity(WarpViewActivity.createIntentFromURL(this, WarplyManagerHelper.constructCampaignUrl(dataItem.getCampaign()))); | ||
344 | + } | ||
345 | + } | ||
346 | + } catch (Exception exception) { | ||
347 | + exception.printStackTrace(); | ||
348 | + } | ||
349 | + | ||
350 | + return; | ||
351 | + } | ||
352 | + } | ||
353 | + | ||
256 | try { | 354 | try { |
257 | JSONObject campaignSettings = WarpJSONParser.getJSONFromString(dataItem.getCampaign().getCampaignTypeSettings()); | 355 | JSONObject campaignSettings = WarpJSONParser.getJSONFromString(dataItem.getCampaign().getCampaignTypeSettings()); |
258 | if (campaignSettings != null) { | 356 | if (campaignSettings != null) { |
... | @@ -313,6 +411,8 @@ public class GiftsForYouActivity extends Activity implements View.OnClickListene | ... | @@ -313,6 +411,8 @@ public class GiftsForYouActivity extends Activity implements View.OnClickListene |
313 | seasonalCLick.setLoyaltyPackageId(dataItem.getSeasonalList().getLoyaltyPackageId()); | 411 | seasonalCLick.setLoyaltyPackageId(dataItem.getSeasonalList().getLoyaltyPackageId()); |
314 | seasonalCLick.setImageUrl(dataItem.getSeasonalList().getImageUrl()); | 412 | seasonalCLick.setImageUrl(dataItem.getSeasonalList().getImageUrl()); |
315 | EventBus.getDefault().post(new WarplyEventBusManager(seasonalCLick)); | 413 | EventBus.getDefault().post(new WarplyEventBusManager(seasonalCLick)); |
414 | + } else if (dataItem.getDataType() == 3) { | ||
415 | + | ||
316 | } | 416 | } |
317 | }) | 417 | }) |
318 | .doOnError(error -> { | 418 | .doOnError(error -> { |
... | @@ -321,7 +421,9 @@ public class GiftsForYouActivity extends Activity implements View.OnClickListene | ... | @@ -321,7 +421,9 @@ public class GiftsForYouActivity extends Activity implements View.OnClickListene |
321 | } | 421 | } |
322 | } | 422 | } |
323 | 423 | ||
324 | - private void mergeDatasets(ArrayList<Campaign> campaignList, ArrayList<LoyaltyGiftsForYouPackage> seasonalList) { | 424 | + private void mergeDatasets(ArrayList<Campaign> campaignList, |
425 | + ArrayList<LoyaltyGiftsForYouPackage> seasonalList, | ||
426 | + ArrayList<LoyaltyContextualOfferModel> ccmsList) { | ||
325 | mData.clear(); | 427 | mData.clear(); |
326 | if (campaignList != null && campaignList.size() > 0) { | 428 | if (campaignList != null && campaignList.size() > 0) { |
327 | Log.v("GIFTS_FOR_YOU", String.valueOf(campaignList.size())); | 429 | Log.v("GIFTS_FOR_YOU", String.valueOf(campaignList.size())); |
... | @@ -344,6 +446,18 @@ public class GiftsForYouActivity extends Activity implements View.OnClickListene | ... | @@ -344,6 +446,18 @@ public class GiftsForYouActivity extends Activity implements View.OnClickListene |
344 | mData.add(data); | 446 | mData.add(data); |
345 | } | 447 | } |
346 | } | 448 | } |
449 | + | ||
450 | + if (ccmsList != null && ccmsList.size() > 0) { | ||
451 | + Log.v("CCMS", String.valueOf(ccmsList.size())); | ||
452 | + for (LoyaltyContextualOfferModel ccmsItem : ccmsList) { | ||
453 | + MergedGifts data = new MergedGifts(); | ||
454 | + data.setCampaign(null); | ||
455 | + data.setSeasonalList(null); | ||
456 | + data.setCCMS(ccmsItem); | ||
457 | + data.setDataType(3); | ||
458 | + mData.add(data); | ||
459 | + } | ||
460 | + } | ||
347 | } | 461 | } |
348 | 462 | ||
349 | private void filterItems() { | 463 | private void filterItems() { | ... | ... |
... | @@ -5,6 +5,7 @@ import android.content.Context; | ... | @@ -5,6 +5,7 @@ import android.content.Context; |
5 | import android.content.Intent; | 5 | import android.content.Intent; |
6 | import android.os.Bundle; | 6 | import android.os.Bundle; |
7 | import android.os.Parcelable; | 7 | import android.os.Parcelable; |
8 | +import android.text.TextUtils; | ||
8 | import android.util.Log; | 9 | import android.util.Log; |
9 | import android.view.View; | 10 | import android.view.View; |
10 | import android.widget.ImageView; | 11 | import android.widget.ImageView; |
... | @@ -27,11 +28,16 @@ import ly.warp.sdk.R; | ... | @@ -27,11 +28,16 @@ import ly.warp.sdk.R; |
27 | import ly.warp.sdk.io.models.Campaign; | 28 | import ly.warp.sdk.io.models.Campaign; |
28 | import ly.warp.sdk.io.models.CampaignList; | 29 | import ly.warp.sdk.io.models.CampaignList; |
29 | import ly.warp.sdk.io.models.LoyaltyContextualOfferModel; | 30 | import ly.warp.sdk.io.models.LoyaltyContextualOfferModel; |
31 | +import ly.warp.sdk.io.models.LoyaltyGiftsForYouPackage; | ||
30 | import ly.warp.sdk.io.models.LoyaltySDKFirebaseEventModel; | 32 | import ly.warp.sdk.io.models.LoyaltySDKFirebaseEventModel; |
33 | +import ly.warp.sdk.io.models.MergedGifts; | ||
34 | +import ly.warp.sdk.io.models.MergedMore; | ||
31 | import ly.warp.sdk.utils.WarpJSONParser; | 35 | import ly.warp.sdk.utils.WarpJSONParser; |
32 | import ly.warp.sdk.utils.WarpUtils; | 36 | import ly.warp.sdk.utils.WarpUtils; |
33 | import ly.warp.sdk.utils.WarplyManagerHelper; | 37 | import ly.warp.sdk.utils.WarplyManagerHelper; |
34 | import ly.warp.sdk.utils.managers.WarplyEventBusManager; | 38 | import ly.warp.sdk.utils.managers.WarplyEventBusManager; |
39 | +import ly.warp.sdk.views.adapters.MergedGiftsAdapter; | ||
40 | +import ly.warp.sdk.views.adapters.MergedMoreAdapter; | ||
35 | import ly.warp.sdk.views.adapters.MoreCampaignAdapter; | 41 | import ly.warp.sdk.views.adapters.MoreCampaignAdapter; |
36 | 42 | ||
37 | 43 | ||
... | @@ -49,9 +55,12 @@ public class MoreForYouActivity extends Activity implements View.OnClickListener | ... | @@ -49,9 +55,12 @@ public class MoreForYouActivity extends Activity implements View.OnClickListener |
49 | private RecyclerView mRecyclerMore; | 55 | private RecyclerView mRecyclerMore; |
50 | private TextView mTvTitle; | 56 | private TextView mTvTitle; |
51 | private MoreCampaignAdapter mAdapterMore; | 57 | private MoreCampaignAdapter mAdapterMore; |
58 | + private MergedMoreAdapter mAdapterMergedMore; | ||
52 | private LinearLayout mLlMorePopup; | 59 | private LinearLayout mLlMorePopup; |
53 | private ArrayList<Campaign> mValuesList = new ArrayList<>(); | 60 | private ArrayList<Campaign> mValuesList = new ArrayList<>(); |
54 | -// private HashSet<Campaign> mHashSetList = new HashSet<>(); | 61 | + // private HashSet<Campaign> mHashSetList = new HashSet<>(); |
62 | + private ArrayList<LoyaltyContextualOfferModel> mContextualList = new ArrayList<>(); | ||
63 | + private ArrayList<MergedMore> mData = new ArrayList(); | ||
55 | 64 | ||
56 | // =========================================================== | 65 | // =========================================================== |
57 | // Methods for/from SuperClass/Interfaces | 66 | // Methods for/from SuperClass/Interfaces |
... | @@ -77,6 +86,20 @@ public class MoreForYouActivity extends Activity implements View.OnClickListener | ... | @@ -77,6 +86,20 @@ public class MoreForYouActivity extends Activity implements View.OnClickListener |
77 | 86 | ||
78 | filterItems(); | 87 | filterItems(); |
79 | 88 | ||
89 | + if (WarplyManagerHelper.getCCMSLoyaltyCampaigns() != null && WarplyManagerHelper.getCCMSLoyaltyCampaigns().size() > 0) { | ||
90 | + mContextualList.clear(); | ||
91 | + for (LoyaltyContextualOfferModel ccmsItem : WarplyManagerHelper.getCCMSLoyaltyCampaigns()) { | ||
92 | + if ((TextUtils.isEmpty(ccmsItem.getLoyaltyCampaignId()) || ccmsItem.getLoyaltyCampaignId().equals("NA")) | ||
93 | + && ccmsItem.getZone().equals("COSMOTE_APP_MORE4U")) | ||
94 | + mContextualList.add(ccmsItem); | ||
95 | + } | ||
96 | + } | ||
97 | + | ||
98 | + mergeDatasets( | ||
99 | + mValuesList, | ||
100 | + mContextualList | ||
101 | + ); | ||
102 | + | ||
80 | initViews(); | 103 | initViews(); |
81 | } | 104 | } |
82 | 105 | ||
... | @@ -119,25 +142,42 @@ public class MoreForYouActivity extends Activity implements View.OnClickListener | ... | @@ -119,25 +142,42 @@ public class MoreForYouActivity extends Activity implements View.OnClickListener |
119 | if (event.getCcmsAdded() != null || event.getCampaignsAdded() != null) { | 142 | if (event.getCcmsAdded() != null || event.getCampaignsAdded() != null) { |
120 | filterItems(); | 143 | filterItems(); |
121 | 144 | ||
145 | + if (WarplyManagerHelper.getCCMSLoyaltyCampaigns() != null && WarplyManagerHelper.getCCMSLoyaltyCampaigns().size() > 0) { | ||
146 | + mContextualList.clear(); | ||
147 | + for (LoyaltyContextualOfferModel ccmsItem : WarplyManagerHelper.getCCMSLoyaltyCampaigns()) { | ||
148 | + if ((TextUtils.isEmpty(ccmsItem.getLoyaltyCampaignId()) || ccmsItem.getLoyaltyCampaignId().equals("NA")) | ||
149 | + && ccmsItem.getZone().equals("COSMOTE_APP_MORE4U")) | ||
150 | + mContextualList.add(ccmsItem); | ||
151 | + } | ||
152 | + } | ||
153 | + | ||
154 | + mergeDatasets( | ||
155 | + mValuesList, | ||
156 | + mContextualList | ||
157 | + ); | ||
158 | + | ||
122 | runOnUiThread(() -> { | 159 | runOnUiThread(() -> { |
123 | - if (mValuesList != null && mValuesList.size() > 0) { | 160 | +// if (mValuesList != null && mValuesList.size() > 0) { |
124 | - Log.v("MORE_FOR_YOU", String.valueOf(mValuesList.size())); | 161 | + if (mData != null && mData.size() > 0) { |
125 | - mAdapterMore = new MoreCampaignAdapter(this, mValuesList); | 162 | +// mAdapterMore = new MoreCampaignAdapter(this, mValuesList); |
126 | - mRecyclerMore.setAdapter(mAdapterMore); | 163 | + mAdapterMergedMore = new MergedMoreAdapter(MoreForYouActivity.this, mData); |
127 | - mAdapterMore.getPositionClicks() | 164 | +// mRecyclerMore.setAdapter(mAdapterMore); |
128 | - .doOnNext(gift -> { | 165 | + mRecyclerMore.setAdapter(mAdapterMergedMore); |
129 | - WarpUtils.log("MFY_CLICK " + gift.toString()); | 166 | + mAdapterMergedMore.getPositionClicks() |
167 | + .doOnNext(dataItem -> { | ||
168 | + if (dataItem.getDataType() == 1) { | ||
169 | + WarpUtils.log("MFY_CLICK " + dataItem.getCampaign().toString()); | ||
130 | EventBus.getDefault().post(new WarplyEventBusManager(new LoyaltySDKFirebaseEventModel())); | 170 | EventBus.getDefault().post(new WarplyEventBusManager(new LoyaltySDKFirebaseEventModel())); |
131 | 171 | ||
132 | try { | 172 | try { |
133 | - JSONObject extraFields = WarpJSONParser.getJSONFromString(gift.getExtraFields()); | 173 | + JSONObject extraFields = WarpJSONParser.getJSONFromString(dataItem.getCampaign().getExtraFields()); |
134 | if (extraFields != null) { | 174 | if (extraFields != null) { |
135 | if (extraFields.has("type") && extraFields.optString("type").equals("telco")) { | 175 | if (extraFields.has("type") && extraFields.optString("type").equals("telco")) { |
136 | for (LoyaltyContextualOfferModel ccms : WarplyManagerHelper.getCCMSLoyaltyCampaigns()) { | 176 | for (LoyaltyContextualOfferModel ccms : WarplyManagerHelper.getCCMSLoyaltyCampaigns()) { |
137 | - if (ccms.getLoyaltyCampaignId().equals(gift.getSessionUUID())) { | 177 | + if (ccms.getLoyaltyCampaignId().equals(dataItem.getCampaign().getSessionUUID())) { |
138 | Intent intent = new Intent(MoreForYouActivity.this, TelcoActivity.class); | 178 | Intent intent = new Intent(MoreForYouActivity.this, TelcoActivity.class); |
139 | intent.putExtra("ccms", ccms); | 179 | intent.putExtra("ccms", ccms); |
140 | - intent.putExtra("loyalty", (Serializable) gift); | 180 | + intent.putExtra("loyalty", (Serializable) dataItem.getCampaign()); |
141 | startActivity(intent); | 181 | startActivity(intent); |
142 | break; | 182 | break; |
143 | } | 183 | } |
... | @@ -146,24 +186,27 @@ public class MoreForYouActivity extends Activity implements View.OnClickListener | ... | @@ -146,24 +186,27 @@ public class MoreForYouActivity extends Activity implements View.OnClickListener |
146 | } | 186 | } |
147 | if (extraFields.has("ccms_offer") && extraFields.optString("ccms_offer").equals("true")) { | 187 | if (extraFields.has("ccms_offer") && extraFields.optString("ccms_offer").equals("true")) { |
148 | for (LoyaltyContextualOfferModel ccms : WarplyManagerHelper.getCCMSLoyaltyCampaigns()) { | 188 | for (LoyaltyContextualOfferModel ccms : WarplyManagerHelper.getCCMSLoyaltyCampaigns()) { |
149 | - if (ccms.getLoyaltyCampaignId().equals(gift.getSessionUUID())) { | 189 | + if (ccms.getLoyaltyCampaignId().equals(dataItem.getCampaign().getSessionUUID())) { |
150 | WarpUtils.log("CCMS_CLICK " + ccms.toString()); | 190 | WarpUtils.log("CCMS_CLICK " + ccms.toString()); |
151 | - startActivity(WarpViewActivity.createIntentFromURL(this, WarplyManagerHelper.constructCcmsUrl(gift, ccms))); | 191 | + startActivity(WarpViewActivity.createIntentFromURL(this, WarplyManagerHelper.constructCcmsUrl(dataItem.getCampaign(), ccms))); |
152 | break; | 192 | break; |
153 | } | 193 | } |
154 | } | 194 | } |
155 | } else { | 195 | } else { |
156 | - startActivity(WarpViewActivity.createIntentFromURL(this, WarplyManagerHelper.constructCampaignUrl(gift))); | 196 | + startActivity(WarpViewActivity.createIntentFromURL(this, WarplyManagerHelper.constructCampaignUrl(dataItem.getCampaign()))); |
157 | } | 197 | } |
158 | } | 198 | } |
159 | } catch (Exception exception) { | 199 | } catch (Exception exception) { |
160 | - startActivity(WarpViewActivity.createIntentFromURL(this, WarplyManagerHelper.constructCampaignUrl(gift))); | 200 | + startActivity(WarpViewActivity.createIntentFromURL(this, WarplyManagerHelper.constructCampaignUrl(dataItem.getCampaign()))); |
201 | + } | ||
202 | + } else if (dataItem.getDataType() == 2) { | ||
203 | + | ||
161 | } | 204 | } |
162 | }) | 205 | }) |
163 | .doOnError(error -> { | 206 | .doOnError(error -> { |
164 | }) | 207 | }) |
165 | .subscribe(); | 208 | .subscribe(); |
166 | - mAdapterMore.notifyDataSetChanged(); | 209 | + mAdapterMergedMore.notifyDataSetChanged(); |
167 | } else { | 210 | } else { |
168 | mRecyclerMore.setVisibility(View.GONE); | 211 | mRecyclerMore.setVisibility(View.GONE); |
169 | } | 212 | } |
... | @@ -182,24 +225,28 @@ public class MoreForYouActivity extends Activity implements View.OnClickListener | ... | @@ -182,24 +225,28 @@ public class MoreForYouActivity extends Activity implements View.OnClickListener |
182 | // if (WarpUtils.getMorePopup(this)) | 225 | // if (WarpUtils.getMorePopup(this)) |
183 | // mLlMorePopup.setVisibility(View.VISIBLE); | 226 | // mLlMorePopup.setVisibility(View.VISIBLE); |
184 | 227 | ||
185 | - if (mValuesList != null && mValuesList.size() > 0) { | 228 | +// if (mValuesList != null && mValuesList.size() > 0) { |
186 | - Log.v("MORE_FOR_YOU", String.valueOf(mValuesList.size())); | 229 | + if (mData != null && mData.size() > 0) { |
187 | mRecyclerMore.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false)); | 230 | mRecyclerMore.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false)); |
188 | - mAdapterMore = new MoreCampaignAdapter(this, mValuesList); | 231 | +// mAdapterMore = new MoreCampaignAdapter(this, mValuesList); |
189 | - mRecyclerMore.setAdapter(mAdapterMore); | 232 | + mAdapterMergedMore = new MergedMoreAdapter(MoreForYouActivity.this, mData); |
190 | - mAdapterMore.getPositionClicks() | 233 | +// mRecyclerMore.setAdapter(mAdapterMore); |
191 | - .doOnNext(gift -> { | 234 | + mRecyclerMore.setAdapter(mAdapterMergedMore); |
235 | + mAdapterMergedMore.getPositionClicks() | ||
236 | + .doOnNext(dataItem -> { | ||
237 | + if (dataItem.getDataType() == 1) { | ||
238 | + WarpUtils.log("MFY_CLICK " + dataItem.getCampaign().toString()); | ||
192 | EventBus.getDefault().post(new WarplyEventBusManager(new LoyaltySDKFirebaseEventModel())); | 239 | EventBus.getDefault().post(new WarplyEventBusManager(new LoyaltySDKFirebaseEventModel())); |
193 | 240 | ||
194 | try { | 241 | try { |
195 | - JSONObject extraFields = WarpJSONParser.getJSONFromString(gift.getExtraFields()); | 242 | + JSONObject extraFields = WarpJSONParser.getJSONFromString(dataItem.getCampaign().getExtraFields()); |
196 | if (extraFields != null) { | 243 | if (extraFields != null) { |
197 | if (extraFields.has("type") && extraFields.optString("type").equals("telco")) { | 244 | if (extraFields.has("type") && extraFields.optString("type").equals("telco")) { |
198 | for (LoyaltyContextualOfferModel ccms : WarplyManagerHelper.getCCMSLoyaltyCampaigns()) { | 245 | for (LoyaltyContextualOfferModel ccms : WarplyManagerHelper.getCCMSLoyaltyCampaigns()) { |
199 | - if (ccms.getLoyaltyCampaignId().equals(gift.getSessionUUID())) { | 246 | + if (ccms.getLoyaltyCampaignId().equals(dataItem.getCampaign().getSessionUUID())) { |
200 | Intent intent = new Intent(MoreForYouActivity.this, TelcoActivity.class); | 247 | Intent intent = new Intent(MoreForYouActivity.this, TelcoActivity.class); |
201 | intent.putExtra("ccms", ccms); | 248 | intent.putExtra("ccms", ccms); |
202 | - intent.putExtra("loyalty", (Serializable) gift); | 249 | + intent.putExtra("loyalty", (Serializable) dataItem.getCampaign()); |
203 | startActivity(intent); | 250 | startActivity(intent); |
204 | break; | 251 | break; |
205 | } | 252 | } |
... | @@ -208,27 +255,57 @@ public class MoreForYouActivity extends Activity implements View.OnClickListener | ... | @@ -208,27 +255,57 @@ public class MoreForYouActivity extends Activity implements View.OnClickListener |
208 | } | 255 | } |
209 | if (extraFields.has("ccms_offer") && extraFields.optString("ccms_offer").equals("true")) { | 256 | if (extraFields.has("ccms_offer") && extraFields.optString("ccms_offer").equals("true")) { |
210 | for (LoyaltyContextualOfferModel ccms : WarplyManagerHelper.getCCMSLoyaltyCampaigns()) { | 257 | for (LoyaltyContextualOfferModel ccms : WarplyManagerHelper.getCCMSLoyaltyCampaigns()) { |
211 | - if (ccms.getLoyaltyCampaignId().equals(gift.getSessionUUID())) { | 258 | + if (ccms.getLoyaltyCampaignId().equals(dataItem.getCampaign().getSessionUUID())) { |
212 | - startActivity(WarpViewActivity.createIntentFromURL(this, WarplyManagerHelper.constructCcmsUrl(gift, ccms))); | 259 | + WarpUtils.log("CCMS_CLICK " + ccms.toString()); |
260 | + startActivity(WarpViewActivity.createIntentFromURL(this, WarplyManagerHelper.constructCcmsUrl(dataItem.getCampaign(), ccms))); | ||
213 | break; | 261 | break; |
214 | } | 262 | } |
215 | } | 263 | } |
216 | } else { | 264 | } else { |
217 | - startActivity(WarpViewActivity.createIntentFromURL(this, WarplyManagerHelper.constructCampaignUrl(gift))); | 265 | + startActivity(WarpViewActivity.createIntentFromURL(this, WarplyManagerHelper.constructCampaignUrl(dataItem.getCampaign()))); |
218 | } | 266 | } |
219 | } | 267 | } |
220 | } catch (Exception exception) { | 268 | } catch (Exception exception) { |
221 | - startActivity(WarpViewActivity.createIntentFromURL(this, WarplyManagerHelper.constructCampaignUrl(gift))); | 269 | + startActivity(WarpViewActivity.createIntentFromURL(this, WarplyManagerHelper.constructCampaignUrl(dataItem.getCampaign()))); |
270 | + } | ||
271 | + } else if (dataItem.getDataType() == 2) { | ||
272 | + | ||
222 | } | 273 | } |
223 | }) | 274 | }) |
224 | .doOnError(error -> { | 275 | .doOnError(error -> { |
225 | }) | 276 | }) |
226 | .subscribe(); | 277 | .subscribe(); |
278 | + mAdapterMergedMore.notifyDataSetChanged(); | ||
227 | } else { | 279 | } else { |
228 | mRecyclerMore.setVisibility(View.GONE); | 280 | mRecyclerMore.setVisibility(View.GONE); |
229 | } | 281 | } |
230 | } | 282 | } |
231 | 283 | ||
284 | + private void mergeDatasets(ArrayList<Campaign> campaignList, | ||
285 | + ArrayList<LoyaltyContextualOfferModel> ccmsList) { | ||
286 | + mData.clear(); | ||
287 | + if (campaignList != null && campaignList.size() > 0) { | ||
288 | + Log.v("MORE_FOR_YOU", String.valueOf(campaignList.size())); | ||
289 | + for (Campaign campaign : campaignList) { | ||
290 | + MergedMore data = new MergedMore(); | ||
291 | + data.setCampaign(campaign); | ||
292 | + data.setDataType(1); | ||
293 | + mData.add(data); | ||
294 | + } | ||
295 | + } | ||
296 | + | ||
297 | + if (ccmsList != null && ccmsList.size() > 0) { | ||
298 | + Log.v("CCMS", String.valueOf(ccmsList.size())); | ||
299 | + for (LoyaltyContextualOfferModel ccmsItem : ccmsList) { | ||
300 | + MergedMore data = new MergedMore(); | ||
301 | + data.setCampaign(null); | ||
302 | + data.setCCMS(ccmsItem); | ||
303 | + data.setDataType(2); | ||
304 | + mData.add(data); | ||
305 | + } | ||
306 | + } | ||
307 | + } | ||
308 | + | ||
232 | private void filterItems() { | 309 | private void filterItems() { |
233 | mValuesList.clear(); | 310 | mValuesList.clear(); |
234 | ArrayList<Campaign> gfyList = new ArrayList<>(); | 311 | ArrayList<Campaign> gfyList = new ArrayList<>(); | ... | ... |
... | @@ -483,6 +483,138 @@ public class Consumer implements Parcelable, Serializable { | ... | @@ -483,6 +483,138 @@ public class Consumer implements Parcelable, Serializable { |
483 | return sms_segmentation; | 483 | return sms_segmentation; |
484 | } | 484 | } |
485 | 485 | ||
486 | + public void setAckOptin(boolean ackOptin) { | ||
487 | + this.ackOptin = ackOptin; | ||
488 | + } | ||
489 | + | ||
490 | + public void setBillingInfo(JSONObject billingInfo) { | ||
491 | + this.billingInfo = billingInfo; | ||
492 | + } | ||
493 | + | ||
494 | + public void setBirthday(String birthday) { | ||
495 | + this.birthday = birthday; | ||
496 | + } | ||
497 | + | ||
498 | + public void setBurntPoints(double burntPoints) { | ||
499 | + this.burntPoints = burntPoints; | ||
500 | + } | ||
501 | + | ||
502 | + public void setCompanyName(String companyName) { | ||
503 | + this.companyName = companyName; | ||
504 | + } | ||
505 | + | ||
506 | + public void setConsumerMetadata(JSONObject consumerMetadata) { | ||
507 | + this.consumerMetadata = consumerMetadata; | ||
508 | + } | ||
509 | + | ||
510 | + public void setDisplayName(String displayName) { | ||
511 | + this.displayName = displayName; | ||
512 | + } | ||
513 | + | ||
514 | + public void setEmail(String email) { | ||
515 | + this.email = email; | ||
516 | + } | ||
517 | + | ||
518 | + public void setFirstName(String firstName) { | ||
519 | + this.firstName = firstName; | ||
520 | + } | ||
521 | + | ||
522 | + public void setGender(String gender) { | ||
523 | + this.gender = gender; | ||
524 | + } | ||
525 | + | ||
526 | + public void setImageUrl(String imageUrl) { | ||
527 | + this.imageUrl = imageUrl; | ||
528 | + } | ||
529 | + | ||
530 | + public void setLanguage(String language) { | ||
531 | + this.language = language; | ||
532 | + } | ||
533 | + | ||
534 | + public void setLastName(String lastName) { | ||
535 | + this.lastName = lastName; | ||
536 | + } | ||
537 | + | ||
538 | + public void setLoyaltyId(String loyaltyId) { | ||
539 | + this.loyaltyId = loyaltyId; | ||
540 | + } | ||
541 | + | ||
542 | + public void setMsisdn(String msisdn) { | ||
543 | + this.msisdn = msisdn; | ||
544 | + } | ||
545 | + | ||
546 | + public void setNameday(String nameday) { | ||
547 | + this.nameday = nameday; | ||
548 | + } | ||
549 | + | ||
550 | + public void setNickname(String nickname) { | ||
551 | + this.nickname = nickname; | ||
552 | + } | ||
553 | + | ||
554 | + public void setOptin(JSONObject optin) { | ||
555 | + this.optin = optin; | ||
556 | + } | ||
557 | + | ||
558 | + public void setPasswordSet(boolean passwordSet) { | ||
559 | + this.passwordSet = passwordSet; | ||
560 | + } | ||
561 | + | ||
562 | + public void setProfileMetadata(String profileMetadata) { | ||
563 | + this.profileMetadata = profileMetadata; | ||
564 | + } | ||
565 | + | ||
566 | + public void setRedeemedPoints(double redeemedPoints) { | ||
567 | + this.redeemedPoints = redeemedPoints; | ||
568 | + } | ||
569 | + | ||
570 | + public void setRetrievedPoints(double retrievedPoints) { | ||
571 | + this.retrievedPoints = retrievedPoints; | ||
572 | + } | ||
573 | + | ||
574 | + public void setSalutation(String salutation) { | ||
575 | + this.salutation = salutation; | ||
576 | + } | ||
577 | + | ||
578 | + public void setSubscribe(boolean subscribe) { | ||
579 | + this.subscribe = subscribe; | ||
580 | + } | ||
581 | + | ||
582 | + public void setTags(JSONObject tags) { | ||
583 | + this.tags = tags; | ||
584 | + } | ||
585 | + | ||
586 | + public void setTaxId(String taxId) { | ||
587 | + this.taxId = taxId; | ||
588 | + } | ||
589 | + | ||
590 | + public void setUserPoints(double userPoints) { | ||
591 | + this.userPoints = userPoints; | ||
592 | + } | ||
593 | + | ||
594 | + public void setUuid(String uuid) { | ||
595 | + this.uuid = uuid; | ||
596 | + } | ||
597 | + | ||
598 | + public void setVerified(boolean verified) { | ||
599 | + this.verified = verified; | ||
600 | + } | ||
601 | + | ||
602 | + public void setNewsletter(boolean newsletter) { | ||
603 | + this.newsletter = newsletter; | ||
604 | + } | ||
605 | + | ||
606 | + public void setSms(boolean sms) { | ||
607 | + this.sms = sms; | ||
608 | + } | ||
609 | + | ||
610 | + public void setSegmentation(boolean segmentation) { | ||
611 | + this.segmentation = segmentation; | ||
612 | + } | ||
613 | + | ||
614 | + public void setSms_segmentation(boolean sms_segmentation) { | ||
615 | + this.sms_segmentation = sms_segmentation; | ||
616 | + } | ||
617 | + | ||
486 | @Override | 618 | @Override |
487 | public int describeContents() { | 619 | public int describeContents() { |
488 | return 0; | 620 | return 0; | ... | ... |
... | @@ -33,12 +33,12 @@ public class MergedGifts { | ... | @@ -33,12 +33,12 @@ public class MergedGifts { |
33 | private int dataType = 0; | 33 | private int dataType = 0; |
34 | private LoyaltyGiftsForYouPackage seasonalList; | 34 | private LoyaltyGiftsForYouPackage seasonalList; |
35 | private Campaign campaign; | 35 | private Campaign campaign; |
36 | + private LoyaltyContextualOfferModel ccms; | ||
36 | 37 | ||
37 | public void setDataType(int dataType) { | 38 | public void setDataType(int dataType) { |
38 | this.dataType = dataType; | 39 | this.dataType = dataType; |
39 | } | 40 | } |
40 | 41 | ||
41 | - | ||
42 | public void setCampaign(Campaign campaign) { | 42 | public void setCampaign(Campaign campaign) { |
43 | this.campaign = campaign; | 43 | this.campaign = campaign; |
44 | } | 44 | } |
... | @@ -58,4 +58,12 @@ public class MergedGifts { | ... | @@ -58,4 +58,12 @@ public class MergedGifts { |
58 | public Campaign getCampaign() { | 58 | public Campaign getCampaign() { |
59 | return campaign; | 59 | return campaign; |
60 | } | 60 | } |
61 | + | ||
62 | + public void setCCMS(LoyaltyContextualOfferModel ccmsItem) { | ||
63 | + this.ccms = ccmsItem; | ||
64 | + } | ||
65 | + | ||
66 | + public LoyaltyContextualOfferModel getCCMS() { | ||
67 | + return ccms; | ||
68 | + } | ||
61 | } | 69 | } | ... | ... |
1 | +/* | ||
2 | + * Copyright 2010-2013 Warply Ltd. All rights reserved. | ||
3 | + * | ||
4 | + * Redistribution and use in source and binary forms, without modification, are | ||
5 | + * permitted provided that the following conditions are met: | ||
6 | + * | ||
7 | + * 1. Redistributions of source code must retain the above copyright notice, | ||
8 | + * this list of conditions and the following disclaimer. | ||
9 | + * | ||
10 | + * 2. Redistributions in binary form must reproduce the above copyright notice, | ||
11 | + * this list of conditions and the following disclaimer in the documentation | ||
12 | + * and/or other materials provided with the distribution. | ||
13 | + * | ||
14 | + * THIS SOFTWARE IS PROVIDED BY THE WARPLY LTD ``AS IS'' AND ANY EXPRESS OR | ||
15 | + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
16 | + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO | ||
17 | + * EVENT SHALL WARPLY LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
18 | + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
19 | + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, | ||
20 | + * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF | ||
21 | + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | ||
22 | + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | ||
23 | + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
24 | + */ | ||
25 | + | ||
26 | +package ly.warp.sdk.io.models; | ||
27 | + | ||
28 | +/** | ||
29 | + * Created by Panagiotis Triantafyllou on 10-Aug-22. | ||
30 | + */ | ||
31 | + | ||
32 | +public class MergedMore { | ||
33 | + private int dataType = 0; | ||
34 | + private Campaign campaign; | ||
35 | + private LoyaltyContextualOfferModel ccms; | ||
36 | + | ||
37 | + public void setDataType(int dataType) { | ||
38 | + this.dataType = dataType; | ||
39 | + } | ||
40 | + | ||
41 | + public void setCampaign(Campaign campaign) { | ||
42 | + this.campaign = campaign; | ||
43 | + } | ||
44 | + | ||
45 | + public int getDataType() { | ||
46 | + return dataType; | ||
47 | + } | ||
48 | + | ||
49 | + public Campaign getCampaign() { | ||
50 | + return campaign; | ||
51 | + } | ||
52 | + | ||
53 | + public void setCCMS(LoyaltyContextualOfferModel ccmsItem) { | ||
54 | + this.ccms = ccmsItem; | ||
55 | + } | ||
56 | + | ||
57 | + public LoyaltyContextualOfferModel getCCMS() { | ||
58 | + return ccms; | ||
59 | + } | ||
60 | +} |
... | @@ -2,6 +2,7 @@ package ly.warp.sdk.io.request; | ... | @@ -2,6 +2,7 @@ package ly.warp.sdk.io.request; |
2 | 2 | ||
3 | import android.util.Base64; | 3 | import android.util.Base64; |
4 | 4 | ||
5 | +import org.json.JSONArray; | ||
5 | import org.json.JSONException; | 6 | import org.json.JSONException; |
6 | import org.json.JSONObject; | 7 | import org.json.JSONObject; |
7 | 8 | ||
... | @@ -26,6 +27,21 @@ public class WarplyRedeemCouponRequest { | ... | @@ -26,6 +27,21 @@ public class WarplyRedeemCouponRequest { |
26 | private final String KEY_ACTION_VALUE = "retrieve_coupon"; | 27 | private final String KEY_ACTION_VALUE = "retrieve_coupon"; |
27 | private final String KEY_COUPONSET = "coupon_set"; | 28 | private final String KEY_COUPONSET = "coupon_set"; |
28 | private final String KEY_COMMUNICATION_UUID = "communication_uuid"; | 29 | private final String KEY_COMMUNICATION_UUID = "communication_uuid"; |
30 | + private final String KEY_EXTRA_DATA = "extra_data"; | ||
31 | + private final String KEY_USER_MSISDN = "user_msisdn"; | ||
32 | + private final String KEY_BUSINESS_SERVICE = "businessService"; | ||
33 | + private final String KEY_OFFER_NAME = "offerName"; | ||
34 | + private final String KEY_PRODUCT_TYPE = "productType"; | ||
35 | + private final String KEY_PROV_DURATION = "provDuration"; | ||
36 | + private final String KEY_NO_OF_RECURRANCE = "noOfRecurrance"; | ||
37 | + private final String KEY_PRICE = "price"; | ||
38 | + private final String KEY_DISCOUNT = "discount"; | ||
39 | + private final String KEY_VOICE_CATEGORY = "voiceCategory"; | ||
40 | + private final String KEY_DATA_CATEGORY = "dataCategory"; | ||
41 | + private final String KEY_MINS_VALUE = "minsValue"; | ||
42 | + private final String KEY_DATA_VALUE = "dataValue"; | ||
43 | + private final String KEY_PROV_STEP_VALUE_MINS = "provStepValueMins"; | ||
44 | + private final String KEY_PARAMETERS = "parameters"; | ||
29 | 45 | ||
30 | // =========================================================== | 46 | // =========================================================== |
31 | // Fields | 47 | // Fields |
... | @@ -35,6 +51,28 @@ public class WarplyRedeemCouponRequest { | ... | @@ -35,6 +51,28 @@ public class WarplyRedeemCouponRequest { |
35 | private long mCacheUpdateInterval = 0; | 51 | private long mCacheUpdateInterval = 0; |
36 | private String mCouponsetUuid = ""; | 52 | private String mCouponsetUuid = ""; |
37 | private String mCommunicationUuid = ""; | 53 | private String mCommunicationUuid = ""; |
54 | + private boolean mHasContextualOffer = false; | ||
55 | + private String mUserMsisdn = ""; | ||
56 | + private String mBusinessService = ""; | ||
57 | + private String mOfferName = ""; | ||
58 | + private String mProductType = ""; | ||
59 | + private String mProvDuration = ""; | ||
60 | + private String mNoOfRecurrance = ""; | ||
61 | + private String mPrice = ""; | ||
62 | + private String mDiscount = ""; | ||
63 | + private String mVoiceCategory = ""; | ||
64 | + private String mDataCategory = ""; | ||
65 | + private String mMinsValue = ""; | ||
66 | + private String mDataValue = ""; | ||
67 | + private String mProvStepValueMins = ""; | ||
68 | + private String mOfferAudienceLevel = ""; | ||
69 | + private String mUACIOfferTrackingCode = ""; | ||
70 | + private String mOfferCode1 = ""; | ||
71 | + private String mScore = ""; | ||
72 | + private String mZone = ""; | ||
73 | + private String mWave = ""; | ||
74 | + private String mValidity = ""; | ||
75 | + private String mTreatmentCode = ""; | ||
38 | 76 | ||
39 | // =========================================================== | 77 | // =========================================================== |
40 | // Constructor | 78 | // Constructor |
... | @@ -90,6 +128,116 @@ public class WarplyRedeemCouponRequest { | ... | @@ -90,6 +128,116 @@ public class WarplyRedeemCouponRequest { |
90 | return this; | 128 | return this; |
91 | } | 129 | } |
92 | 130 | ||
131 | + public WarplyRedeemCouponRequest setHasContextualOffer(boolean hasContextualOffer) { | ||
132 | + mHasContextualOffer = hasContextualOffer; | ||
133 | + return this; | ||
134 | + } | ||
135 | + | ||
136 | + public WarplyRedeemCouponRequest setUserMsisdn(String userMsisdn) { | ||
137 | + this.mUserMsisdn = userMsisdn; | ||
138 | + return this; | ||
139 | + } | ||
140 | + | ||
141 | + public WarplyRedeemCouponRequest setBusinessService(String businessService) { | ||
142 | + this.mBusinessService = businessService; | ||
143 | + return this; | ||
144 | + } | ||
145 | + | ||
146 | + public WarplyRedeemCouponRequest setOfferName(String offerName) { | ||
147 | + this.mOfferName = offerName; | ||
148 | + return this; | ||
149 | + } | ||
150 | + | ||
151 | + public WarplyRedeemCouponRequest setProductType(String productType) { | ||
152 | + this.mProductType = productType; | ||
153 | + return this; | ||
154 | + } | ||
155 | + | ||
156 | + public WarplyRedeemCouponRequest setProvDuration(String provDuration) { | ||
157 | + this.mProvDuration = provDuration; | ||
158 | + return this; | ||
159 | + } | ||
160 | + | ||
161 | + public WarplyRedeemCouponRequest setNoOfRecurrance(String noOfRecurrance) { | ||
162 | + this.mNoOfRecurrance = noOfRecurrance; | ||
163 | + return this; | ||
164 | + } | ||
165 | + | ||
166 | + public WarplyRedeemCouponRequest setPrice(String price) { | ||
167 | + this.mPrice = price; | ||
168 | + return this; | ||
169 | + } | ||
170 | + | ||
171 | + public WarplyRedeemCouponRequest setDiscount(String discount) { | ||
172 | + this.mDiscount = discount; | ||
173 | + return this; | ||
174 | + } | ||
175 | + | ||
176 | + public WarplyRedeemCouponRequest setVoiceCategory(String voiceCategory) { | ||
177 | + this.mVoiceCategory = voiceCategory; | ||
178 | + return this; | ||
179 | + } | ||
180 | + | ||
181 | + public WarplyRedeemCouponRequest setDataCategory(String dataCategory) { | ||
182 | + this.mDataCategory = dataCategory; | ||
183 | + return this; | ||
184 | + } | ||
185 | + | ||
186 | + public WarplyRedeemCouponRequest setMinsValue(String minsValue) { | ||
187 | + this.mMinsValue = minsValue; | ||
188 | + return this; | ||
189 | + } | ||
190 | + | ||
191 | + public WarplyRedeemCouponRequest setDataValue(String dataValue) { | ||
192 | + this.mDataValue = dataValue; | ||
193 | + return this; | ||
194 | + } | ||
195 | + | ||
196 | + public WarplyRedeemCouponRequest setProvStepValueMins(String provStepValueMins) { | ||
197 | + this.mProvStepValueMins = provStepValueMins; | ||
198 | + return this; | ||
199 | + } | ||
200 | + | ||
201 | + public WarplyRedeemCouponRequest setOfferAudienceLevel(String offerAudienceLevel) { | ||
202 | + this.mOfferAudienceLevel = offerAudienceLevel; | ||
203 | + return this; | ||
204 | + } | ||
205 | + | ||
206 | + public WarplyRedeemCouponRequest setUACIOfferTrackingCode(String uaciOfferTrackingCode) { | ||
207 | + this.mUACIOfferTrackingCode = uaciOfferTrackingCode; | ||
208 | + return this; | ||
209 | + } | ||
210 | + | ||
211 | + public WarplyRedeemCouponRequest setOfferCode1(String offerCode1) { | ||
212 | + this.mOfferCode1 = offerCode1; | ||
213 | + return this; | ||
214 | + } | ||
215 | + | ||
216 | + public WarplyRedeemCouponRequest setScore(String score) { | ||
217 | + this.mScore = score; | ||
218 | + return this; | ||
219 | + } | ||
220 | + | ||
221 | + public WarplyRedeemCouponRequest setZone(String zone) { | ||
222 | + this.mZone = zone; | ||
223 | + return this; | ||
224 | + } | ||
225 | + | ||
226 | + public WarplyRedeemCouponRequest setWave(String wave) { | ||
227 | + this.mWave = wave; | ||
228 | + return this; | ||
229 | + } | ||
230 | + | ||
231 | + public WarplyRedeemCouponRequest setValidity(String validity) { | ||
232 | + this.mValidity = validity; | ||
233 | + return this; | ||
234 | + } | ||
235 | + | ||
236 | + public WarplyRedeemCouponRequest setTreatmentCode(String treatmentCode) { | ||
237 | + this.mTreatmentCode = treatmentCode; | ||
238 | + return this; | ||
239 | + } | ||
240 | + | ||
93 | /** | 241 | /** |
94 | * Call this to get how often the cached data will be updated. | 242 | * Call this to get how often the cached data will be updated. |
95 | * | 243 | * |
... | @@ -153,6 +301,141 @@ public class WarplyRedeemCouponRequest { | ... | @@ -153,6 +301,141 @@ public class WarplyRedeemCouponRequest { |
153 | bodyJsonObject.putOpt(KEY_ACTION, KEY_ACTION_VALUE); | 301 | bodyJsonObject.putOpt(KEY_ACTION, KEY_ACTION_VALUE); |
154 | bodyJsonObject.putOpt(KEY_COUPONSET, mCouponsetUuid); | 302 | bodyJsonObject.putOpt(KEY_COUPONSET, mCouponsetUuid); |
155 | bodyJsonObject.putOpt(KEY_COMMUNICATION_UUID, mCommunicationUuid); | 303 | bodyJsonObject.putOpt(KEY_COMMUNICATION_UUID, mCommunicationUuid); |
304 | + if (mHasContextualOffer) { | ||
305 | + JSONObject extraJson = new JSONObject(); | ||
306 | + extraJson.putOpt(KEY_USER_MSISDN, mUserMsisdn); | ||
307 | + extraJson.putOpt(KEY_BUSINESS_SERVICE, mBusinessService); | ||
308 | + extraJson.putOpt(KEY_OFFER_NAME, mOfferName); | ||
309 | + extraJson.putOpt(KEY_PRODUCT_TYPE, mProductType); | ||
310 | + extraJson.putOpt(KEY_PROV_DURATION, mProvDuration); | ||
311 | + extraJson.putOpt(KEY_NO_OF_RECURRANCE, mNoOfRecurrance); | ||
312 | + extraJson.putOpt(KEY_PRICE, mPrice); | ||
313 | + extraJson.putOpt(KEY_DISCOUNT, mDiscount); | ||
314 | + extraJson.putOpt(KEY_VOICE_CATEGORY, mVoiceCategory); | ||
315 | + extraJson.putOpt(KEY_DATA_CATEGORY, mDataCategory); | ||
316 | + extraJson.putOpt(KEY_MINS_VALUE, mMinsValue); | ||
317 | + extraJson.putOpt(KEY_DATA_VALUE, mDataValue); | ||
318 | + extraJson.putOpt(KEY_PROV_STEP_VALUE_MINS, mProvStepValueMins); | ||
319 | + extraJson.putOpt("InteractiveChannel", "COSMOTE_OMNI"); | ||
320 | + extraJson.putOpt("InteractionPoint", mZone); | ||
321 | + extraJson.putOpt("Session_ID", mCommunicationUuid); | ||
322 | + extraJson.putOpt("OfferAudienceLevel", mOfferAudienceLevel); | ||
323 | + extraJson.putOpt("MSISDN", mOfferAudienceLevel.equals("msisdn") ? mUserMsisdn : ""); | ||
324 | + extraJson.putOpt("GUID", ""); | ||
325 | + | ||
326 | + JSONArray parameters = new JSONArray(); | ||
327 | + JSONObject param1 = new JSONObject(); | ||
328 | + param1.putOpt("Name", "UACIOfferTrackingCode"); | ||
329 | + param1.putOpt("Value", mUACIOfferTrackingCode); | ||
330 | + param1.putOpt("Type", "string"); | ||
331 | + parameters.put(param1); | ||
332 | + | ||
333 | + JSONObject param2 = new JSONObject(); | ||
334 | + param2.putOpt("Name", "UACICustomLoggerTableName"); | ||
335 | + param2.putOpt("Value", "VW_WHITELIST"); | ||
336 | + param2.putOpt("Type", "string"); | ||
337 | + parameters.put(param2); | ||
338 | + | ||
339 | + JSONObject param3 = new JSONObject(); | ||
340 | + param3.putOpt("Name", "MSISDN"); | ||
341 | + param3.putOpt("Value", mUserMsisdn); | ||
342 | + param3.putOpt("Type", "string"); | ||
343 | + parameters.put(param3); | ||
344 | + | ||
345 | + JSONObject param4 = new JSONObject(); | ||
346 | + param4.putOpt("Name", "OFFERCODE1"); | ||
347 | + param4.putOpt("Value", mOfferCode1); | ||
348 | + param4.putOpt("Type", "string"); | ||
349 | + parameters.put(param4); | ||
350 | + | ||
351 | + JSONObject param5 = new JSONObject(); | ||
352 | + param5.putOpt("Name", "SCORE"); | ||
353 | + param5.putOpt("Value", mScore); | ||
354 | + param5.putOpt("Type", "INT"); | ||
355 | + parameters.put(param5); | ||
356 | + | ||
357 | + JSONObject param6 = new JSONObject(); | ||
358 | + param6.putOpt("Name", "PREDICATE"); | ||
359 | + param6.putOpt("Value", "0"); | ||
360 | + param6.putOpt("Type", "string"); | ||
361 | + parameters.put(param6); | ||
362 | + | ||
363 | + JSONObject param7 = new JSONObject(); | ||
364 | + param7.putOpt("Name", "ZONE"); | ||
365 | + param7.putOpt("Value", mZone); | ||
366 | + param7.putOpt("Type", "string"); | ||
367 | + parameters.put(param7); | ||
368 | + | ||
369 | + JSONObject param8 = new JSONObject(); | ||
370 | + param8.putOpt("Name", "APPLICATIONNAME"); | ||
371 | + param8.putOpt("Value", mZone); | ||
372 | + param8.putOpt("Type", "string"); | ||
373 | + parameters.put(param8); | ||
374 | + | ||
375 | + JSONObject param9 = new JSONObject(); | ||
376 | + param9.putOpt("Name", "Session_ID"); | ||
377 | + param9.putOpt("Value", mCommunicationUuid); | ||
378 | + param9.putOpt("Type", "string"); | ||
379 | + parameters.put(param9); | ||
380 | + | ||
381 | + JSONObject param10 = new JSONObject(); | ||
382 | + param10.putOpt("Name", "CAMPAIGN_CODE"); | ||
383 | + param10.putOpt("Value", "MCC_00006"); | ||
384 | + param10.putOpt("Type", "string"); | ||
385 | + parameters.put(param10); | ||
386 | + | ||
387 | + JSONObject param11 = new JSONObject(); | ||
388 | + param11.putOpt("Name", "CAMPAIGN_TYPE"); | ||
389 | + param11.putOpt("Value", "Inbound"); | ||
390 | + param11.putOpt("Type", "string"); | ||
391 | + parameters.put(param11); | ||
392 | + | ||
393 | + JSONObject param12 = new JSONObject(); | ||
394 | + param12.putOpt("Name", "UACIResponseTypeCode"); | ||
395 | + param12.putOpt("Value", "CON"); | ||
396 | + param12.putOpt("Type", "string"); | ||
397 | + parameters.put(param12); | ||
398 | + | ||
399 | + JSONObject param13 = new JSONObject(); | ||
400 | + param13.putOpt("Name", "CHANNEL"); | ||
401 | + param13.putOpt("Value", "ONE_APP"); | ||
402 | + param13.putOpt("Type", "string"); | ||
403 | + parameters.put(param13); | ||
404 | + | ||
405 | + JSONObject param14 = new JSONObject(); | ||
406 | + param14.putOpt("Name", "WAVE"); | ||
407 | + param14.putOpt("Value", mWave); | ||
408 | + param14.putOpt("Type", "string"); | ||
409 | + parameters.put(param14); | ||
410 | + | ||
411 | + JSONObject param15 = new JSONObject(); | ||
412 | + param15.putOpt("Name", "RESPONSECHANNEL"); | ||
413 | + param15.putOpt("Value", "ONE_APP"); | ||
414 | + param15.putOpt("Type", "string"); | ||
415 | + parameters.put(param15); | ||
416 | + | ||
417 | + JSONObject param16 = new JSONObject(); | ||
418 | + param16.putOpt("Name", "VALIDITY"); | ||
419 | + param16.putOpt("Value", mValidity); | ||
420 | + param16.putOpt("Type", "INT"); | ||
421 | + parameters.put(param16); | ||
422 | + | ||
423 | + JSONObject param17 = new JSONObject(); | ||
424 | + param17.putOpt("Name", "TREATMENT_CODE"); | ||
425 | + param17.putOpt("Value", mTreatmentCode); | ||
426 | + param17.putOpt("Type", "string"); | ||
427 | + parameters.put(param17); | ||
428 | + | ||
429 | + JSONObject param18 = new JSONObject(); | ||
430 | + param18.putOpt("Name", "EventName"); | ||
431 | + param18.putOpt("Value", "INTEREST_P"); | ||
432 | + param18.putOpt("Type", "string"); | ||
433 | + parameters.put(param18); | ||
434 | + | ||
435 | + extraJson.putOpt(KEY_PARAMETERS, parameters); | ||
436 | + | ||
437 | + bodyJsonObject.putOpt(KEY_EXTRA_DATA, extraJson); | ||
438 | + } | ||
156 | } catch (JSONException e) { | 439 | } catch (JSONException e) { |
157 | if (WarpConstants.DEBUG) | 440 | if (WarpConstants.DEBUG) |
158 | e.printStackTrace(); | 441 | e.printStackTrace(); | ... | ... |
... | @@ -30,7 +30,7 @@ public class EventQuestionnaireService extends Worker { | ... | @@ -30,7 +30,7 @@ public class EventQuestionnaireService extends Worker { |
30 | WarplyManager.getConsumer(new WarplyConsumerRequest(), new CallbackReceiver<Consumer>() { | 30 | WarplyManager.getConsumer(new WarplyConsumerRequest(), new CallbackReceiver<Consumer>() { |
31 | @Override | 31 | @Override |
32 | public void onSuccess(Consumer result) { | 32 | public void onSuccess(Consumer result) { |
33 | - WarplyManagerHelper.setConsumer(result); | 33 | + WarplyManagerHelper.setConsumerInternal(result); |
34 | 34 | ||
35 | WarplyManager.getCampaigns(new WarplyGetCampaignsRequest().setLanguage("en"), new CallbackReceiver<CampaignList>() { | 35 | WarplyManager.getCampaigns(new WarplyGetCampaignsRequest().setLanguage("en"), new CallbackReceiver<CampaignList>() { |
36 | @Override | 36 | @Override | ... | ... |
... | @@ -45,6 +45,7 @@ import java.util.HashMap; | ... | @@ -45,6 +45,7 @@ import java.util.HashMap; |
45 | import ly.warp.sdk.R; | 45 | import ly.warp.sdk.R; |
46 | import ly.warp.sdk.Warply; | 46 | import ly.warp.sdk.Warply; |
47 | import ly.warp.sdk.activities.CouponsetInfoActivity; | 47 | import ly.warp.sdk.activities.CouponsetInfoActivity; |
48 | +import ly.warp.sdk.activities.GiftsForYouActivity; | ||
48 | import ly.warp.sdk.activities.TelcoActivity; | 49 | import ly.warp.sdk.activities.TelcoActivity; |
49 | import ly.warp.sdk.activities.WarpViewActivity; | 50 | import ly.warp.sdk.activities.WarpViewActivity; |
50 | import ly.warp.sdk.db.WarplyDBHelper; | 51 | import ly.warp.sdk.db.WarplyDBHelper; |
... | @@ -83,6 +84,7 @@ public class WarplyManagerHelper { | ... | @@ -83,6 +84,7 @@ public class WarplyManagerHelper { |
83 | // =========================================================== | 84 | // =========================================================== |
84 | 85 | ||
85 | private static Consumer mConsumer = new Consumer(); | 86 | private static Consumer mConsumer = new Consumer(); |
87 | + private static Consumer mConsumerInternal = new Consumer(); | ||
86 | private static HashMap<String, CampaignList> mUniqueCampaignList = new HashMap<String, CampaignList>(); | 88 | private static HashMap<String, CampaignList> mUniqueCampaignList = new HashMap<String, CampaignList>(); |
87 | private static CouponList mCouponList = new CouponList(); | 89 | private static CouponList mCouponList = new CouponList(); |
88 | private static CouponList mCouponListExpired = new CouponList(); | 90 | private static CouponList mCouponListExpired = new CouponList(); |
... | @@ -94,7 +96,7 @@ public class WarplyManagerHelper { | ... | @@ -94,7 +96,7 @@ public class WarplyManagerHelper { |
94 | private static ArrayList<LoyaltyGiftsForYouPackage> mSeasonalList = new ArrayList<>(); | 96 | private static ArrayList<LoyaltyGiftsForYouPackage> mSeasonalList = new ArrayList<>(); |
95 | private static ArrayList<LoyaltyContextualOfferModel> mCCMSList = new ArrayList<>(); | 97 | private static ArrayList<LoyaltyContextualOfferModel> mCCMSList = new ArrayList<>(); |
96 | private static AlertDialog mAlertDialogSharing, mAlertDialogAcceptSharing, mAlertDialogRejectSharing, | 98 | private static AlertDialog mAlertDialogSharing, mAlertDialogAcceptSharing, mAlertDialogRejectSharing, |
97 | - mAlertDialogReturnSharing, mAlertDialogErrorSharing; | 99 | + mAlertDialogReturnSharing, mAlertDialogErrorSharing, mAlertDialogErrorUsedSharing, mAlertDialogErrorExpiredSharing; |
98 | private static LoyaltyBadgeModel mLoyaltyBadge = new LoyaltyBadgeModel(); | 100 | private static LoyaltyBadgeModel mLoyaltyBadge = new LoyaltyBadgeModel(); |
99 | private static float mDealsSum = 0.0f; | 101 | private static float mDealsSum = 0.0f; |
100 | private static MerchantList mMerchantList = new MerchantList(); | 102 | private static MerchantList mMerchantList = new MerchantList(); |
... | @@ -165,6 +167,10 @@ public class WarplyManagerHelper { | ... | @@ -165,6 +167,10 @@ public class WarplyManagerHelper { |
165 | returnSharingDialog(context, modalText); | 167 | returnSharingDialog(context, modalText); |
166 | } | 168 | } |
167 | } | 169 | } |
170 | + } else if (status == 4) { | ||
171 | + errorExpiredDialog(context); | ||
172 | + } else if (status == 5) { | ||
173 | + errorUsedDialog(context); | ||
168 | } else | 174 | } else |
169 | errorSharingDialog(context); | 175 | errorSharingDialog(context); |
170 | } | 176 | } |
... | @@ -295,6 +301,32 @@ public class WarplyManagerHelper { | ... | @@ -295,6 +301,32 @@ public class WarplyManagerHelper { |
295 | } | 301 | } |
296 | 302 | ||
297 | /** | 303 | /** |
304 | + * Expired dialog | ||
305 | + */ | ||
306 | + private static void errorExpiredDialog(Context context) { | ||
307 | + mAlertDialogErrorExpiredSharing = new AlertDialog.Builder(context) | ||
308 | + .setTitle(R.string.cos_dlg_error_title) | ||
309 | + .setMessage(R.string.cos_dlg_error_expired) | ||
310 | + .setPositiveButton(R.string.cos_dlg_positive_button2, (dialogPositive, whichPositive) -> { | ||
311 | + dialogPositive.dismiss(); | ||
312 | + }) | ||
313 | + .show(); | ||
314 | + } | ||
315 | + | ||
316 | + /** | ||
317 | + * Used dialog | ||
318 | + */ | ||
319 | + private static void errorUsedDialog(Context context) { | ||
320 | + mAlertDialogErrorUsedSharing = new AlertDialog.Builder(context) | ||
321 | + .setTitle(R.string.cos_dlg_error_title) | ||
322 | + .setMessage(R.string.cos_dlg_error_used) | ||
323 | + .setPositiveButton(R.string.cos_dlg_positive_button2, (dialogPositive, whichPositive) -> { | ||
324 | + dialogPositive.dismiss(); | ||
325 | + }) | ||
326 | + .show(); | ||
327 | + } | ||
328 | + | ||
329 | + /** | ||
298 | * Open CCMS campaign | 330 | * Open CCMS campaign |
299 | */ | 331 | */ |
300 | public static String constructCcmsUrl(Campaign item, LoyaltyContextualOfferModel ccmsItem) { | 332 | public static String constructCcmsUrl(Campaign item, LoyaltyContextualOfferModel ccmsItem) { |
... | @@ -606,6 +638,43 @@ public class WarplyManagerHelper { | ... | @@ -606,6 +638,43 @@ public class WarplyManagerHelper { |
606 | public static void handleLoyaltyCampaigns(Context context, Campaign item) { | 638 | public static void handleLoyaltyCampaigns(Context context, Campaign item) { |
607 | if (item != null) { | 639 | if (item != null) { |
608 | if (item.getType().equals("coupon")) { | 640 | if (item.getType().equals("coupon")) { |
641 | + if (WarplyManagerHelper.getCCMSLoyaltyCampaigns() != null && WarplyManagerHelper.getCCMSLoyaltyCampaigns().size() > 0) { | ||
642 | + LoyaltyContextualOfferModel ccmsItem = null; | ||
643 | + for (LoyaltyContextualOfferModel ccms : WarplyManagerHelper.getCCMSLoyaltyCampaigns()) { | ||
644 | + if (ccms.getLoyaltyCampaignId().equals(item.getSessionUUID())) { | ||
645 | + ccmsItem = ccms; | ||
646 | + break; | ||
647 | + } | ||
648 | + } | ||
649 | + | ||
650 | + if (ccmsItem != null) { | ||
651 | + try { | ||
652 | + JSONObject campaignSettings = WarpJSONParser.getJSONFromString(item.getCampaignTypeSettings()); | ||
653 | + if (campaignSettings != null) { | ||
654 | + if (campaignSettings.has("couponset")) { | ||
655 | + String cpnUuid = campaignSettings.optString("couponset"); | ||
656 | + for (Couponset cpns : WarplyManagerHelper.getCouponsets()) { | ||
657 | + if (cpns.getUuid().equals(cpnUuid)) { | ||
658 | + Intent intent = new Intent(context, CouponsetInfoActivity.class); | ||
659 | + intent.putExtra("couponset", (Serializable) cpns); | ||
660 | + intent.putExtra("loyalty", (Serializable) item); | ||
661 | + intent.putExtra("ccms", ccmsItem); | ||
662 | + context.startActivity(intent); | ||
663 | + break; | ||
664 | + } | ||
665 | + } | ||
666 | + } else { | ||
667 | + context.startActivity(WarpViewActivity.createIntentFromURL(context, WarplyManagerHelper.constructCampaignUrl(item))); | ||
668 | + } | ||
669 | + } | ||
670 | + } catch (Exception exception) { | ||
671 | + exception.printStackTrace(); | ||
672 | + } | ||
673 | + | ||
674 | + return; | ||
675 | + } | ||
676 | + } | ||
677 | + | ||
609 | try { | 678 | try { |
610 | JSONObject campaignSettings = WarpJSONParser.getJSONFromString(item.getCampaignTypeSettings()); | 679 | JSONObject campaignSettings = WarpJSONParser.getJSONFromString(item.getCampaignTypeSettings()); |
611 | if (campaignSettings != null) { | 680 | if (campaignSettings != null) { |
... | @@ -790,10 +859,22 @@ public class WarplyManagerHelper { | ... | @@ -790,10 +859,22 @@ public class WarplyManagerHelper { |
790 | return mDfyCoupons; | 859 | return mDfyCoupons; |
791 | } | 860 | } |
792 | 861 | ||
862 | + public static Consumer getConsumerInternal() { | ||
863 | + return mConsumerInternal; | ||
864 | + } | ||
865 | + | ||
866 | + public static void setConsumerInternal(Consumer consumer) { | ||
867 | + mConsumerInternal = consumer; | ||
868 | + } | ||
869 | + | ||
793 | public static Consumer getConsumer() { | 870 | public static Consumer getConsumer() { |
794 | return mConsumer; | 871 | return mConsumer; |
795 | } | 872 | } |
796 | 873 | ||
874 | + public static void setConsumer(Consumer consumer) { | ||
875 | + mConsumer = consumer; | ||
876 | + } | ||
877 | + | ||
797 | public static HashMap<String, CampaignList> getUniqueCampaignList() { | 878 | public static HashMap<String, CampaignList> getUniqueCampaignList() { |
798 | return mUniqueCampaignList; | 879 | return mUniqueCampaignList; |
799 | } | 880 | } |
... | @@ -816,10 +897,6 @@ public class WarplyManagerHelper { | ... | @@ -816,10 +897,6 @@ public class WarplyManagerHelper { |
816 | return mCouponListExpired; | 897 | return mCouponListExpired; |
817 | } | 898 | } |
818 | 899 | ||
819 | - public static void setConsumer(Consumer consumer) { | ||
820 | - mConsumer = consumer; | ||
821 | - } | ||
822 | - | ||
823 | public static void setUniqueCampaignList(CampaignList campaignList) { | 900 | public static void setUniqueCampaignList(CampaignList campaignList) { |
824 | mCampaignList.clear(); | 901 | mCampaignList.clear(); |
825 | mCampaignList.addAll(campaignList); | 902 | mCampaignList.addAll(campaignList); | ... | ... |
... | @@ -802,7 +802,7 @@ public class WarplyManager { | ... | @@ -802,7 +802,7 @@ public class WarplyManager { |
802 | getConsumer(new WarplyConsumerRequest(), new CallbackReceiver<Consumer>() { | 802 | getConsumer(new WarplyConsumerRequest(), new CallbackReceiver<Consumer>() { |
803 | @Override | 803 | @Override |
804 | public void onSuccess(Consumer result) { | 804 | public void onSuccess(Consumer result) { |
805 | - WarplyManagerHelper.setConsumer(result); | 805 | + WarplyManagerHelper.setConsumerInternal(result); |
806 | if (result != null) { | 806 | if (result != null) { |
807 | JSONObject profMetadata = WarpJSONParser.getJSONFromString(result.getProfileMetadata()); | 807 | JSONObject profMetadata = WarpJSONParser.getJSONFromString(result.getProfileMetadata()); |
808 | if (profMetadata != null) { | 808 | if (profMetadata != null) { |
... | @@ -1383,8 +1383,8 @@ public class WarplyManager { | ... | @@ -1383,8 +1383,8 @@ public class WarplyManager { |
1383 | campaignLoyaltyList.clear(); | 1383 | campaignLoyaltyList.clear(); |
1384 | for (Campaign camp : mNewCampaignList) { | 1384 | for (Campaign camp : mNewCampaignList) { |
1385 | if (camp.getOfferCategory().equals("questionnaire")) { | 1385 | if (camp.getOfferCategory().equals("questionnaire")) { |
1386 | - if (WarplyManagerHelper.getConsumer() != null) { | 1386 | + if (WarplyManagerHelper.getConsumerInternal() != null) { |
1387 | - JSONObject profMetadata = WarpJSONParser.getJSONFromString(WarplyManagerHelper.getConsumer().getProfileMetadata()); | 1387 | + JSONObject profMetadata = WarpJSONParser.getJSONFromString(WarplyManagerHelper.getConsumerInternal().getProfileMetadata()); |
1388 | if (profMetadata != null) { | 1388 | if (profMetadata != null) { |
1389 | if (!profMetadata.has("answered")) { | 1389 | if (!profMetadata.has("answered")) { |
1390 | try { | 1390 | try { |
... | @@ -2278,7 +2278,7 @@ public class WarplyManager { | ... | @@ -2278,7 +2278,7 @@ public class WarplyManager { |
2278 | getConsumer(new WarplyConsumerRequest(), new CallbackReceiver<Consumer>() { | 2278 | getConsumer(new WarplyConsumerRequest(), new CallbackReceiver<Consumer>() { |
2279 | @Override | 2279 | @Override |
2280 | public void onSuccess(Consumer result) { | 2280 | public void onSuccess(Consumer result) { |
2281 | - WarplyManagerHelper.setConsumer(result); | 2281 | + WarplyManagerHelper.setConsumerInternal(result); |
2282 | if (result != null) { | 2282 | if (result != null) { |
2283 | JSONObject profMetadata = WarpJSONParser.getJSONFromString(result.getProfileMetadata()); | 2283 | JSONObject profMetadata = WarpJSONParser.getJSONFromString(result.getProfileMetadata()); |
2284 | if (profMetadata != null) { | 2284 | if (profMetadata != null) { | ... | ... |
... | @@ -126,6 +126,23 @@ public class MergedGiftsAdapter extends RecyclerView.Adapter<MergedGiftsAdapter. | ... | @@ -126,6 +126,23 @@ public class MergedGiftsAdapter extends RecyclerView.Adapter<MergedGiftsAdapter. |
126 | // holder.tvCouponDate.setText(String.format(mContext.getString(R.string.cos_coupon_date), simpleDateFormat.format(newDate != null ? newDate : ""))); | 126 | // holder.tvCouponDate.setText(String.format(mContext.getString(R.string.cos_coupon_date), simpleDateFormat.format(newDate != null ? newDate : ""))); |
127 | // | 127 | // |
128 | // holder.tvCouponValue.setText(mergedgiftsItem.getDiscount()); | 128 | // holder.tvCouponValue.setText(mergedgiftsItem.getDiscount()); |
129 | + } else if (mergedgiftsItem != null && mergedgiftsItem.getDataType() == 3) { | ||
130 | + if (!TextUtils.isEmpty(mergedgiftsItem.getCCMS().getImageUrl())) { | ||
131 | + Glide.with(mContext) | ||
132 | +// .setDefaultRequestOptions( | ||
133 | +// RequestOptions | ||
134 | +// .placeholderOf(R.drawable.ic_default_contact_photo) | ||
135 | +// .error(R.drawable.ic_default_contact_photo)) | ||
136 | + .load(mergedgiftsItem.getCCMS().getImageUrl()) | ||
137 | + .diskCacheStrategy(DiskCacheStrategy.DATA) | ||
138 | + .into(holder.ivMergedGiftsLogo); | ||
139 | + } else { | ||
140 | + Glide.with(mContext) | ||
141 | + .load(R.drawable.ic_cosmote_logo_horizontal_grey) | ||
142 | + .into(holder.ivMergedGiftsLogo); | ||
143 | + } | ||
144 | + | ||
145 | + holder.tvMergedGiftsTitle.setText(mergedgiftsItem.getCCMS().getTitle()); | ||
129 | } | 146 | } |
130 | holder.itemView.setOnClickListener(v -> onClickSubject.onNext(mergedgiftsItem)); | 147 | holder.itemView.setOnClickListener(v -> onClickSubject.onNext(mergedgiftsItem)); |
131 | } | 148 | } | ... | ... |
1 | +package ly.warp.sdk.views.adapters; | ||
2 | + | ||
3 | +import android.content.Context; | ||
4 | +import android.text.TextUtils; | ||
5 | +import android.view.LayoutInflater; | ||
6 | +import android.view.View; | ||
7 | +import android.view.ViewGroup; | ||
8 | +import android.widget.ImageView; | ||
9 | +import android.widget.TextView; | ||
10 | + | ||
11 | +import androidx.recyclerview.widget.RecyclerView; | ||
12 | + | ||
13 | +import com.bumptech.glide.Glide; | ||
14 | +import com.bumptech.glide.load.engine.DiskCacheStrategy; | ||
15 | +import com.bumptech.glide.load.resource.bitmap.CenterCrop; | ||
16 | +import com.bumptech.glide.load.resource.bitmap.RoundedCorners; | ||
17 | + | ||
18 | +import java.util.ArrayList; | ||
19 | +import java.util.Date; | ||
20 | +import java.util.concurrent.TimeUnit; | ||
21 | + | ||
22 | +import io.reactivex.Observable; | ||
23 | +import io.reactivex.subjects.PublishSubject; | ||
24 | +import ly.warp.sdk.R; | ||
25 | +import ly.warp.sdk.io.models.MergedMore; | ||
26 | + | ||
27 | +public class MergedMoreAdapter extends RecyclerView.Adapter<MergedMoreAdapter.MergedMoreViewHolder> { | ||
28 | + | ||
29 | + private Context mContext; | ||
30 | + private ArrayList<MergedMore> mMergedMore; | ||
31 | + private final PublishSubject<MergedMore> onClickSubject = PublishSubject.create(); | ||
32 | + | ||
33 | + public MergedMoreAdapter(Context mContext, ArrayList<MergedMore> mergedmore) { | ||
34 | + this.mContext = mContext; | ||
35 | + this.mMergedMore = mergedmore; | ||
36 | + } | ||
37 | + | ||
38 | + public class MergedMoreViewHolder extends RecyclerView.ViewHolder { | ||
39 | + private ImageView ivCampaignTitle, ivIsNew; | ||
40 | + private TextView tvCampaignTitle, tvCampaignSubtitle, tvCampaignMessage; | ||
41 | + | ||
42 | + public MergedMoreViewHolder(View view) { | ||
43 | + super(view); | ||
44 | + ivCampaignTitle = view.findViewById(R.id.iv_campaign_logo); | ||
45 | + tvCampaignTitle = view.findViewById(R.id.tv_campaign_title); | ||
46 | + ivIsNew = view.findViewById(R.id.iv_campaign_new); | ||
47 | + tvCampaignSubtitle = view.findViewById(R.id.tv_campaign_subtitle); | ||
48 | + tvCampaignMessage = view.findViewById(R.id.tv_campaign_message); | ||
49 | + } | ||
50 | + } | ||
51 | + | ||
52 | + @Override | ||
53 | + public int getItemCount() { | ||
54 | + if (mMergedMore == null) | ||
55 | + return 0; | ||
56 | + else | ||
57 | + return mMergedMore.size(); | ||
58 | + } | ||
59 | + | ||
60 | + | ||
61 | + public MergedMore getItem(int id) { | ||
62 | + return mMergedMore.get(id); | ||
63 | + } | ||
64 | + | ||
65 | + public void updateData(ArrayList<MergedMore> mergedmore) { | ||
66 | + mMergedMore.clear(); | ||
67 | + mMergedMore.addAll(mergedmore); | ||
68 | + notifyDataSetChanged(); | ||
69 | + } | ||
70 | + | ||
71 | + | ||
72 | + @Override | ||
73 | + public MergedMoreViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { | ||
74 | + View itemView; | ||
75 | + itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_profile_recycler_vertical, parent, false); | ||
76 | + return new MergedMoreViewHolder(itemView); | ||
77 | + } | ||
78 | + | ||
79 | + @Override | ||
80 | + public void onBindViewHolder(final MergedMoreViewHolder holder, int position) { | ||
81 | + MergedMore mergedmoreItem = mMergedMore.get(position); | ||
82 | + if (mergedmoreItem != null && mergedmoreItem.getDataType() == 1) { | ||
83 | + if (!TextUtils.isEmpty(mergedmoreItem.getCampaign().getLogoUrl())) { | ||
84 | + Glide.with(mContext) | ||
85 | + .load(mergedmoreItem.getCampaign().getLogoUrl()) | ||
86 | + .transform(new CenterCrop(), new RoundedCorners(4)) | ||
87 | + .diskCacheStrategy(DiskCacheStrategy.DATA) | ||
88 | + .into(holder.ivCampaignTitle); | ||
89 | + } else { | ||
90 | + Glide.with(mContext) | ||
91 | + .load(R.drawable.ic_cosmote_logo_horizontal_grey) | ||
92 | + .into(holder.ivCampaignTitle); | ||
93 | + } | ||
94 | + | ||
95 | + holder.tvCampaignTitle.setText(mergedmoreItem.getCampaign().getTitle()); | ||
96 | + holder.tvCampaignSubtitle.setText(mergedmoreItem.getCampaign().getSubtitle()); | ||
97 | + holder.tvCampaignMessage.setText(mergedmoreItem.getCampaign().getMessage()); | ||
98 | + if (mergedmoreItem.getCampaign().getIsNew()) | ||
99 | + holder.ivIsNew.setVisibility(View.VISIBLE); | ||
100 | + else | ||
101 | + holder.ivIsNew.setVisibility(View.GONE); | ||
102 | + } else if (mergedmoreItem != null && mergedmoreItem.getDataType() == 2) { | ||
103 | + if (!TextUtils.isEmpty(mergedmoreItem.getCCMS().getImageUrl())) { | ||
104 | + Glide.with(mContext) | ||
105 | + .load(mergedmoreItem.getCCMS().getImageUrl()) | ||
106 | + .transform(new CenterCrop(), new RoundedCorners(4)) | ||
107 | + .diskCacheStrategy(DiskCacheStrategy.DATA) | ||
108 | + .into(holder.ivCampaignTitle); | ||
109 | + } else { | ||
110 | + Glide.with(mContext) | ||
111 | + .load(R.drawable.ic_cosmote_logo_horizontal_grey) | ||
112 | + .into(holder.ivCampaignTitle); | ||
113 | + } | ||
114 | + | ||
115 | + holder.tvCampaignTitle.setText(mergedmoreItem.getCCMS().getTitle()); | ||
116 | + holder.tvCampaignSubtitle.setText(mergedmoreItem.getCCMS().getSubtitle()); | ||
117 | + holder.tvCampaignMessage.setText(mergedmoreItem.getCCMS().getMessage()); | ||
118 | + holder.ivIsNew.setVisibility(View.GONE); | ||
119 | + } | ||
120 | + holder.itemView.setOnClickListener(v -> onClickSubject.onNext(mergedmoreItem)); | ||
121 | + } | ||
122 | + | ||
123 | + public Observable<MergedMore> getPositionClicks() { | ||
124 | + return onClickSubject.cache(); | ||
125 | + } | ||
126 | + | ||
127 | + private long getDifferenceDays(Date d1, Date d2) { | ||
128 | + long diff = d2.getTime() - d1.getTime(); | ||
129 | + return TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS); | ||
130 | + } | ||
131 | +} |
... | @@ -95,12 +95,12 @@ public class SharedCouponAdapter extends RecyclerView.Adapter<SharedCouponAdapte | ... | @@ -95,12 +95,12 @@ public class SharedCouponAdapter extends RecyclerView.Adapter<SharedCouponAdapte |
95 | if (couponItem.getSharingType().equals("sent")) { | 95 | if (couponItem.getSharingType().equals("sent")) { |
96 | holder.tvCouponLabel.setText(R.string.cos_shared_coupon_receiver); | 96 | holder.tvCouponLabel.setText(R.string.cos_shared_coupon_receiver); |
97 | if (extraFields != null && extraFields.has("receiver_msisdn")) { | 97 | if (extraFields != null && extraFields.has("receiver_msisdn")) { |
98 | - holder.tvCouponLabel.setText(extraFields.optString("receiver_msisdn")); | 98 | + holder.tvCouponPhone.setText(extraFields.optString("receiver_msisdn")); |
99 | } | 99 | } |
100 | } else if (couponItem.getSharingType().equals("received")) { | 100 | } else if (couponItem.getSharingType().equals("received")) { |
101 | holder.tvCouponLabel.setText(R.string.cos_shared_coupon_sender); | 101 | holder.tvCouponLabel.setText(R.string.cos_shared_coupon_sender); |
102 | if (extraFields != null && extraFields.has("sender_msisdn")) { | 102 | if (extraFields != null && extraFields.has("sender_msisdn")) { |
103 | - holder.tvCouponLabel.setText(extraFields.optString("sender_msisdn")); | 103 | + holder.tvCouponPhone.setText(extraFields.optString("sender_msisdn")); |
104 | } | 104 | } |
105 | } | 105 | } |
106 | 106 | ... | ... |
... | @@ -413,6 +413,7 @@ | ... | @@ -413,6 +413,7 @@ |
413 | android:layout_width="match_parent" | 413 | android:layout_width="match_parent" |
414 | android:layout_height="wrap_content" | 414 | android:layout_height="wrap_content" |
415 | android:layout_marginHorizontal="32dp" | 415 | android:layout_marginHorizontal="32dp" |
416 | + android:layout_marginTop="24dp" | ||
416 | android:gravity="center" | 417 | android:gravity="center" |
417 | android:orientation="vertical" | 418 | android:orientation="vertical" |
418 | android:visibility="gone"> | 419 | android:visibility="gone"> | ... | ... |
... | @@ -123,6 +123,9 @@ | ... | @@ -123,6 +123,9 @@ |
123 | <string name="cos_value2">%1$s</string> | 123 | <string name="cos_value2">%1$s</string> |
124 | <string name="cos_show_barcode">Εμφάνιση barcode</string> | 124 | <string name="cos_show_barcode">Εμφάνιση barcode</string> |
125 | <string name="cos_hide_barcode">Απόκρυψη barcode</string> | 125 | <string name="cos_hide_barcode">Απόκρυψη barcode</string> |
126 | + <string name="cos_wrong_number_dlg">Το κινητό που καταχώρησες δεν είναι COSMOTE. Παρακαλούμε καταχώρησε το COSMOTE τηλέφωνο του φίλου σου.</string> | ||
127 | + <string name="cos_dlg_error_expired">Το δώρο έχει λήξει</string> | ||
128 | + <string name="cos_dlg_error_used">Το δώρο έχει ήδη χρησιμοποιηθεί</string> | ||
126 | 129 | ||
127 | <string-array name="coupons_array"> | 130 | <string-array name="coupons_array"> |
128 | <item>Κουπόνια</item> | 131 | <item>Κουπόνια</item> | ... | ... |
-
Please register or login to post a comment