Panagiotis Triantafyllou

new coupons request for sm inside getUnifiedCouponsDeals and new static variable for this list

1 -<?xml version="1.0" encoding="UTF-8"?>
2 -<project version="4">
3 - <component name="direct_access_persist.xml">
4 - <option name="deviceSelectionList">
5 - <list>
6 - <PersistentDeviceSelectionData>
7 - <option name="api" value="27" />
8 - <option name="brand" value="DOCOMO" />
9 - <option name="codename" value="F01L" />
10 - <option name="id" value="F01L" />
11 - <option name="manufacturer" value="FUJITSU" />
12 - <option name="name" value="F-01L" />
13 - <option name="screenDensity" value="360" />
14 - <option name="screenX" value="720" />
15 - <option name="screenY" value="1280" />
16 - </PersistentDeviceSelectionData>
17 - <PersistentDeviceSelectionData>
18 - <option name="api" value="28" />
19 - <option name="brand" value="DOCOMO" />
20 - <option name="codename" value="SH-01L" />
21 - <option name="id" value="SH-01L" />
22 - <option name="manufacturer" value="SHARP" />
23 - <option name="name" value="AQUOS sense2 SH-01L" />
24 - <option name="screenDensity" value="480" />
25 - <option name="screenX" value="1080" />
26 - <option name="screenY" value="2160" />
27 - </PersistentDeviceSelectionData>
28 - <PersistentDeviceSelectionData>
29 - <option name="api" value="31" />
30 - <option name="brand" value="samsung" />
31 - <option name="codename" value="a51" />
32 - <option name="id" value="a51" />
33 - <option name="manufacturer" value="Samsung" />
34 - <option name="name" value="Galaxy A51" />
35 - <option name="screenDensity" value="420" />
36 - <option name="screenX" value="1080" />
37 - <option name="screenY" value="2400" />
38 - </PersistentDeviceSelectionData>
39 - <PersistentDeviceSelectionData>
40 - <option name="api" value="34" />
41 - <option name="brand" value="google" />
42 - <option name="codename" value="akita" />
43 - <option name="id" value="akita" />
44 - <option name="manufacturer" value="Google" />
45 - <option name="name" value="Pixel 8a" />
46 - <option name="screenDensity" value="420" />
47 - <option name="screenX" value="1080" />
48 - <option name="screenY" value="2400" />
49 - </PersistentDeviceSelectionData>
50 - <PersistentDeviceSelectionData>
51 - <option name="api" value="33" />
52 - <option name="brand" value="samsung" />
53 - <option name="codename" value="b0q" />
54 - <option name="id" value="b0q" />
55 - <option name="manufacturer" value="Samsung" />
56 - <option name="name" value="Galaxy S22 Ultra" />
57 - <option name="screenDensity" value="600" />
58 - <option name="screenX" value="1440" />
59 - <option name="screenY" value="3088" />
60 - </PersistentDeviceSelectionData>
61 - <PersistentDeviceSelectionData>
62 - <option name="api" value="32" />
63 - <option name="brand" value="google" />
64 - <option name="codename" value="bluejay" />
65 - <option name="id" value="bluejay" />
66 - <option name="manufacturer" value="Google" />
67 - <option name="name" value="Pixel 6a" />
68 - <option name="screenDensity" value="420" />
69 - <option name="screenX" value="1080" />
70 - <option name="screenY" value="2400" />
71 - </PersistentDeviceSelectionData>
72 - <PersistentDeviceSelectionData>
73 - <option name="api" value="29" />
74 - <option name="brand" value="samsung" />
75 - <option name="codename" value="crownqlteue" />
76 - <option name="id" value="crownqlteue" />
77 - <option name="manufacturer" value="Samsung" />
78 - <option name="name" value="Galaxy Note9" />
79 - <option name="screenDensity" value="420" />
80 - <option name="screenX" value="2220" />
81 - <option name="screenY" value="1080" />
82 - </PersistentDeviceSelectionData>
83 - <PersistentDeviceSelectionData>
84 - <option name="api" value="34" />
85 - <option name="brand" value="samsung" />
86 - <option name="codename" value="dm3q" />
87 - <option name="id" value="dm3q" />
88 - <option name="manufacturer" value="Samsung" />
89 - <option name="name" value="Galaxy S23 Ultra" />
90 - <option name="screenDensity" value="600" />
91 - <option name="screenX" value="1440" />
92 - <option name="screenY" value="3088" />
93 - </PersistentDeviceSelectionData>
94 - <PersistentDeviceSelectionData>
95 - <option name="api" value="33" />
96 - <option name="brand" value="google" />
97 - <option name="codename" value="felix" />
98 - <option name="id" value="felix" />
99 - <option name="manufacturer" value="Google" />
100 - <option name="name" value="Pixel Fold" />
101 - <option name="screenDensity" value="420" />
102 - <option name="screenX" value="2208" />
103 - <option name="screenY" value="1840" />
104 - </PersistentDeviceSelectionData>
105 - <PersistentDeviceSelectionData>
106 - <option name="api" value="33" />
107 - <option name="brand" value="google" />
108 - <option name="codename" value="felix_camera" />
109 - <option name="id" value="felix_camera" />
110 - <option name="manufacturer" value="Google" />
111 - <option name="name" value="Pixel Fold (Camera-enabled)" />
112 - <option name="screenDensity" value="420" />
113 - <option name="screenX" value="2208" />
114 - <option name="screenY" value="1840" />
115 - </PersistentDeviceSelectionData>
116 - <PersistentDeviceSelectionData>
117 - <option name="api" value="33" />
118 - <option name="brand" value="samsung" />
119 - <option name="codename" value="gts8uwifi" />
120 - <option name="id" value="gts8uwifi" />
121 - <option name="manufacturer" value="Samsung" />
122 - <option name="name" value="Galaxy Tab S8 Ultra" />
123 - <option name="screenDensity" value="320" />
124 - <option name="screenX" value="1848" />
125 - <option name="screenY" value="2960" />
126 - </PersistentDeviceSelectionData>
127 - <PersistentDeviceSelectionData>
128 - <option name="api" value="34" />
129 - <option name="brand" value="google" />
130 - <option name="codename" value="husky" />
131 - <option name="id" value="husky" />
132 - <option name="manufacturer" value="Google" />
133 - <option name="name" value="Pixel 8 Pro" />
134 - <option name="screenDensity" value="390" />
135 - <option name="screenX" value="1008" />
136 - <option name="screenY" value="2244" />
137 - </PersistentDeviceSelectionData>
138 - <PersistentDeviceSelectionData>
139 - <option name="api" value="30" />
140 - <option name="brand" value="motorola" />
141 - <option name="codename" value="java" />
142 - <option name="id" value="java" />
143 - <option name="manufacturer" value="Motorola" />
144 - <option name="name" value="G20" />
145 - <option name="screenDensity" value="280" />
146 - <option name="screenX" value="720" />
147 - <option name="screenY" value="1600" />
148 - </PersistentDeviceSelectionData>
149 - <PersistentDeviceSelectionData>
150 - <option name="api" value="33" />
151 - <option name="brand" value="google" />
152 - <option name="codename" value="lynx" />
153 - <option name="id" value="lynx" />
154 - <option name="manufacturer" value="Google" />
155 - <option name="name" value="Pixel 7a" />
156 - <option name="screenDensity" value="420" />
157 - <option name="screenX" value="1080" />
158 - <option name="screenY" value="2400" />
159 - </PersistentDeviceSelectionData>
160 - <PersistentDeviceSelectionData>
161 - <option name="api" value="31" />
162 - <option name="brand" value="google" />
163 - <option name="codename" value="oriole" />
164 - <option name="id" value="oriole" />
165 - <option name="manufacturer" value="Google" />
166 - <option name="name" value="Pixel 6" />
167 - <option name="screenDensity" value="420" />
168 - <option name="screenX" value="1080" />
169 - <option name="screenY" value="2400" />
170 - </PersistentDeviceSelectionData>
171 - <PersistentDeviceSelectionData>
172 - <option name="api" value="33" />
173 - <option name="brand" value="google" />
174 - <option name="codename" value="panther" />
175 - <option name="id" value="panther" />
176 - <option name="manufacturer" value="Google" />
177 - <option name="name" value="Pixel 7" />
178 - <option name="screenDensity" value="420" />
179 - <option name="screenX" value="1080" />
180 - <option name="screenY" value="2400" />
181 - </PersistentDeviceSelectionData>
182 - <PersistentDeviceSelectionData>
183 - <option name="api" value="31" />
184 - <option name="brand" value="samsung" />
185 - <option name="codename" value="q2q" />
186 - <option name="id" value="q2q" />
187 - <option name="manufacturer" value="Samsung" />
188 - <option name="name" value="Galaxy Z Fold3" />
189 - <option name="screenDensity" value="420" />
190 - <option name="screenX" value="1768" />
191 - <option name="screenY" value="2208" />
192 - </PersistentDeviceSelectionData>
193 - <PersistentDeviceSelectionData>
194 - <option name="api" value="34" />
195 - <option name="brand" value="samsung" />
196 - <option name="codename" value="q5q" />
197 - <option name="id" value="q5q" />
198 - <option name="manufacturer" value="Samsung" />
199 - <option name="name" value="Galaxy Z Fold5" />
200 - <option name="screenDensity" value="420" />
201 - <option name="screenX" value="1812" />
202 - <option name="screenY" value="2176" />
203 - </PersistentDeviceSelectionData>
204 - <PersistentDeviceSelectionData>
205 - <option name="api" value="30" />
206 - <option name="brand" value="google" />
207 - <option name="codename" value="r11" />
208 - <option name="id" value="r11" />
209 - <option name="manufacturer" value="Google" />
210 - <option name="name" value="Pixel Watch" />
211 - <option name="screenDensity" value="320" />
212 - <option name="screenX" value="384" />
213 - <option name="screenY" value="384" />
214 - <option name="type" value="WEAR_OS" />
215 - </PersistentDeviceSelectionData>
216 - <PersistentDeviceSelectionData>
217 - <option name="api" value="30" />
218 - <option name="brand" value="google" />
219 - <option name="codename" value="redfin" />
220 - <option name="id" value="redfin" />
221 - <option name="manufacturer" value="Google" />
222 - <option name="name" value="Pixel 5" />
223 - <option name="screenDensity" value="440" />
224 - <option name="screenX" value="1080" />
225 - <option name="screenY" value="2340" />
226 - </PersistentDeviceSelectionData>
227 - <PersistentDeviceSelectionData>
228 - <option name="api" value="34" />
229 - <option name="brand" value="google" />
230 - <option name="codename" value="shiba" />
231 - <option name="id" value="shiba" />
232 - <option name="manufacturer" value="Google" />
233 - <option name="name" value="Pixel 8" />
234 - <option name="screenDensity" value="420" />
235 - <option name="screenX" value="1080" />
236 - <option name="screenY" value="2400" />
237 - </PersistentDeviceSelectionData>
238 - <PersistentDeviceSelectionData>
239 - <option name="api" value="33" />
240 - <option name="brand" value="google" />
241 - <option name="codename" value="tangorpro" />
242 - <option name="id" value="tangorpro" />
243 - <option name="manufacturer" value="Google" />
244 - <option name="name" value="Pixel Tablet" />
245 - <option name="screenDensity" value="320" />
246 - <option name="screenX" value="1600" />
247 - <option name="screenY" value="2560" />
248 - </PersistentDeviceSelectionData>
249 - <PersistentDeviceSelectionData>
250 - <option name="api" value="29" />
251 - <option name="brand" value="samsung" />
252 - <option name="codename" value="x1q" />
253 - <option name="id" value="x1q" />
254 - <option name="manufacturer" value="Samsung" />
255 - <option name="name" value="Galaxy S20" />
256 - <option name="screenDensity" value="480" />
257 - <option name="screenX" value="1440" />
258 - <option name="screenY" value="3200" />
259 - </PersistentDeviceSelectionData>
260 - </list>
261 - </option>
262 - </component>
263 -</project>
...\ No newline at end of file ...\ No newline at end of file
...@@ -105,6 +105,7 @@ public class WarplyManagerHelper { ...@@ -105,6 +105,7 @@ public class WarplyManagerHelper {
105 private static HashMap<String, CampaignList> mUniqueCampaignList = new HashMap<String, CampaignList>(); 105 private static HashMap<String, CampaignList> mUniqueCampaignList = new HashMap<String, CampaignList>();
106 private static CouponList mCouponList = new CouponList(); 106 private static CouponList mCouponList = new CouponList();
107 private static CouponList mCouponRedeemedList = new CouponList(); 107 private static CouponList mCouponRedeemedList = new CouponList();
108 + private static CouponList mSmCouponsList = new CouponList();
108 private static CouponList mCouponListExpired = new CouponList(); 109 private static CouponList mCouponListExpired = new CouponList();
109 private static CouponsetsList mCouponsetsList = new CouponsetsList(); 110 private static CouponsetsList mCouponsetsList = new CouponsetsList();
110 private static CouponsetsList mCouponsetsDealsList = new CouponsetsList(); 111 private static CouponsetsList mCouponsetsDealsList = new CouponsetsList();
...@@ -1368,10 +1369,19 @@ public class WarplyManagerHelper { ...@@ -1368,10 +1369,19 @@ public class WarplyManagerHelper {
1368 mCouponRedeemedList.addAll(couponRedeemedList); 1369 mCouponRedeemedList.addAll(couponRedeemedList);
1369 } 1370 }
1370 1371
1372 + public static void setSmCouponsList(CouponList couponRedeemedList) {
1373 + mSmCouponsList.clear();
1374 + mSmCouponsList.addAll(couponRedeemedList);
1375 + }
1376 +
1371 public static CouponList getCouponRedeemedList() { 1377 public static CouponList getCouponRedeemedList() {
1372 return mCouponRedeemedList; 1378 return mCouponRedeemedList;
1373 } 1379 }
1374 1380
1381 + public static CouponList getSmCouponsList() {
1382 + return mSmCouponsList;
1383 + }
1384 +
1375 public static LoyaltyBadgeModel getLoyaltyBadge() { 1385 public static LoyaltyBadgeModel getLoyaltyBadge() {
1376 return mLoyaltyBadge; 1386 return mLoyaltyBadge;
1377 } 1387 }
......
...@@ -3123,30 +3123,60 @@ public class WarplyManager { ...@@ -3123,30 +3123,60 @@ public class WarplyManager {
3123 e.printStackTrace(); 3123 e.printStackTrace();
3124 } 3124 }
3125 3125
3126 -// if (allCouponList != null && allCouponList.size() > 0) { 3126 + CouponList mTempActiveSMCoupons = new CouponList();
3127 -// float countValue = 0.0f; 3127 + for (UnifiedCoupon uni : couponList) {
3128 -// if (WarplyManagerHelper.getCouponRedeemedList().size() > 0) { 3128 + if (!uni.getCoupons().isEmpty()) {
3129 -// if (WarplyManagerHelper.getCouponsetsDeals().size() > 0) { 3129 + for (Coupon coupon : uni.getCoupons()) {
3130 -// for (Couponset couset : WarplyManagerHelper.getCouponsetsDeals()) { 3130 + if (coupon.getStatus() == 1) {
3131 -// for (Coupon cou : WarplyManagerHelper.getCouponRedeemedList()) { 3131 + Coupon tempCoupon = coupon;
3132 -// if (cou.getCouponsetUuid().equals(couset.getUuid())) { 3132 + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm");
3133 -// countValue += Float.parseFloat(cou.getDiscount()); 3133 + Date newDate = new Date();
3134 -// cou.setDescription(couset.getShortDescription()); 3134 + try {
3135 -// cou.setImage(couset.getImgPreview()); 3135 + newDate = simpleDateFormat.parse(tempCoupon.getExpiration());
3136 -// cou.setName(couset.getName()); 3136 + } catch (
3137 -// cou.setMerchantUuid(couset.getMerchantUuid()); 3137 + ParseException e) {
3138 -// cou.setInnerText(couset.getInnerText()); 3138 + e.printStackTrace();
3139 -// cou.setDiscount_type(couset.getDiscount_type()); 3139 + }
3140 -// cou.setFinal_price(couset.getFinal_price()); 3140 + tempCoupon.setExpirationDate(newDate);
3141 -// break; 3141 + mTempActiveSMCoupons.add(tempCoupon);
3142 -// } 3142 + }
3143 -// } 3143 + }
3144 -// } 3144 + }
3145 -// } 3145 + }
3146 -// } 3146 +
3147 -// 3147 + ListeningExecutorService executorService = MoreExecutors.listeningDecorator(Executors.newFixedThreadPool(1));
3148 -// WarplyManagerHelper.setUnifiedCouponsDiscount(countValue); 3148 + SettableFuture<CouponList> futureUniversal = SettableFuture.create();
3149 -// } 3149 + ListenableFuture<CouponList> futureCoupons = getSMCouponsUniversalRetro(service, 0, futureUniversal);
3150 + ListenableFuture<List<Object>> allResultsFuture = Futures.allAsList(futureCoupons);
3151 + ListenableFuture<CouponList> mergedResultFuture = Futures.transformAsync(
3152 + allResultsFuture,
3153 + results -> {
3154 + CouponList resultCoupons = (CouponList) results.get(0);
3155 + return executorService.submit(() -> resultCoupons);
3156 + },
3157 + executorService
3158 + );
3159 +
3160 + Futures.addCallback(mergedResultFuture, new FutureCallback<CouponList>() {
3161 + @Override
3162 + public void onSuccess(CouponList mergedResult) {
3163 + CouponList mfinalActiveSMCoupons = new CouponList();
3164 + for (Coupon mergedItem : mergedResult) {
3165 + for (Coupon tempItem : mTempActiveSMCoupons) {
3166 + if (!mergedItem.getCoupon().equals(tempItem.getCoupon())) {
3167 + mfinalActiveSMCoupons.add(mergedItem);
3168 + }
3169 + }
3170 + }
3171 + WarplyManagerHelper.setSmCouponsList(mfinalActiveSMCoupons);
3172 + executorService.shutdownNow();
3173 + }
3174 +
3175 + @Override
3176 + public void onFailure(Throwable throwable) {
3177 + executorService.shutdownNow();
3178 + }
3179 + }, executorService);
3150 3180
3151 OneTimeWorkRequest mywork = new OneTimeWorkRequest.Builder(EventUnifiedCouponsService.class).build(); 3181 OneTimeWorkRequest mywork = new OneTimeWorkRequest.Builder(EventUnifiedCouponsService.class).build();
3152 WorkManager.getInstance(Warply.getWarplyContext()).enqueue(mywork); 3182 WorkManager.getInstance(Warply.getWarplyContext()).enqueue(mywork);
...@@ -3201,6 +3231,142 @@ public class WarplyManager { ...@@ -3201,6 +3231,142 @@ public class WarplyManager {
3201 }); 3231 });
3202 } 3232 }
3203 3233
3234 + private static ListenableFuture<CouponList> getSMCouponsUniversalRetro(ApiService service, int tries, SettableFuture<CouponList> future) {
3235 + String timeStamp = DateFormat.format("yyyy-MM-dd hh:mm:ss", System.currentTimeMillis()).toString();
3236 + String apiKey = WarpUtils.getApiKey(Warply.getWarplyContext());
3237 + String webId = WarpUtils.getWebId(Warply.getWarplyContext());
3238 +
3239 + Map<String, Object> jsonParamsCoupons = new ArrayMap<>();
3240 + Map<String, Object> jsonParams = new ArrayMap<>();
3241 + jsonParams.put("action", "user_coupons");
3242 + JSONArray jArr = new JSONArray();
3243 + jArr.put("merchant");
3244 + jsonParams.put("details", jArr);
3245 + jsonParams.put("language", WarplyProperty.getLanguage(Warply.getWarplyContext()));
3246 + jsonParams.put("couponset_types", new JSONArray().put("supermarket"));
3247 +
3248 + jsonParamsCoupons.put("coupon", jsonParams);
3249 + RequestBody couponsRequest = RequestBody.create(MediaType.get("application/json; charset=utf-8"), (new JSONObject(jsonParamsCoupons)).toString());
3250 +
3251 + Call<ResponseBody> couponsCall = service.getUserCoupons(
3252 + WarplyProperty.getAppUuid(Warply.getWarplyContext()),
3253 + couponsRequest,
3254 + timeStamp,
3255 + "android:" + Warply.getWarplyContext().getPackageName(),
3256 + new WarplyDeviceInfoCollector(Warply.getWarplyContext()).getUniqueDeviceId(),
3257 + "mobile",
3258 + webId,
3259 + WarpUtils.produceSignature(apiKey + timeStamp),
3260 + "Bearer " + WarplyDBHelper.getInstance(Warply.getWarplyContext()).getAuthValue("access_token")
3261 + );
3262 +
3263 + couponsCall.enqueue(new Callback<ResponseBody>() {
3264 + @Override
3265 + public void onResponse(@NonNull Call<ResponseBody> call, @NonNull Response<ResponseBody> response) {
3266 + if (response.code() == 200 && response.body() != null) {
3267 + JSONObject jobjCouponsResponse = null;
3268 + try {
3269 + jobjCouponsResponse = new JSONObject(response.body().string());
3270 + } catch (Exception e) {
3271 + e.printStackTrace();
3272 + }
3273 +
3274 + if (jobjCouponsResponse != null && jobjCouponsResponse.has("status") && jobjCouponsResponse.optString("status", "2").equals("1")) {
3275 + LoyaltySDKDynatraceEventModel dynatraceEvent = new LoyaltySDKDynatraceEventModel();
3276 + dynatraceEvent.setEventName("custom_success_user_sm_coupons_loyalty");
3277 + EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent));
3278 +
3279 + JSONArray jCouponsBody = null;
3280 + try {
3281 + jCouponsBody = jobjCouponsResponse.optJSONArray("result");
3282 + } catch (Exception e) {
3283 + e.printStackTrace();
3284 + }
3285 +
3286 + if (jCouponsBody != null) {
3287 + CouponList mActiveCouponList = new CouponList();
3288 +
3289 + final ExecutorService executorCoupons = Executors.newFixedThreadPool(1);
3290 + JSONArray finalJCouponsBody = jCouponsBody;
3291 + executorCoupons.submit(() -> {
3292 + for (int i = 0; i < finalJCouponsBody.length(); ++i) {
3293 + Coupon tempCoupon = new Coupon(finalJCouponsBody.optJSONObject(i), true);
3294 + if (tempCoupon.getStatus() == 1) {
3295 + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm");
3296 + Date newDate = new Date();
3297 + try {
3298 + newDate = simpleDateFormat.parse(tempCoupon.getExpiration());
3299 + } catch (
3300 + ParseException e) {
3301 + e.printStackTrace();
3302 + }
3303 + tempCoupon.setExpirationDate(newDate);
3304 + mActiveCouponList.add(tempCoupon);
3305 + }
3306 + }
3307 +
3308 + Collections.sort(mActiveCouponList, (coupon1, coupon2) -> coupon1.getExpirationDate().compareTo(coupon2.getExpirationDate()));
3309 + executorCoupons.shutdownNow();
3310 + future.set(mActiveCouponList);
3311 + });
3312 + }
3313 + } else {
3314 + LoyaltySDKDynatraceEventModel dynatraceEvent = new LoyaltySDKDynatraceEventModel();
3315 + dynatraceEvent.setEventName("custom_error_user_sm_coupons_loyalty");
3316 + EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent));
3317 + future.set(new CouponList());
3318 + }
3319 + } else if (response.code() == 401) {
3320 + refreshToken(new WarplyRefreshTokenRequest(), new CallbackReceiver<JSONObject>() {
3321 + @Override
3322 + public void onSuccess(JSONObject result) {
3323 + int status = result.optInt("status", 2);
3324 + if (status == 1)
3325 + getSMCouponsUniversalRetro(service, tries/*, receiver*/, future);
3326 + else {
3327 +// receiver.onFailure(status);
3328 + if (tries < MAX_RETRIES) {
3329 + getSMCouponsUniversalRetro(service, (tries + 1), future);
3330 + } else {
3331 +// future.set(new CouponList());
3332 + future.setException(new Throwable());
3333 + }
3334 + }
3335 + }
3336 +
3337 + @Override
3338 + public void onFailure(int errorCode) {
3339 +// receiver.onFailure(errorCode);
3340 + if (tries < MAX_RETRIES) {
3341 + getSMCouponsUniversalRetro(service, (tries + 1), future);
3342 + } else {
3343 +// future.set(new CouponList());
3344 + future.setException(new Throwable());
3345 + }
3346 + }
3347 + });
3348 + } else {
3349 + LoyaltySDKDynatraceEventModel dynatraceEvent = new LoyaltySDKDynatraceEventModel();
3350 + dynatraceEvent.setEventName("custom_error_user_sm_coupons_loyalty");
3351 + EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent));
3352 +// future.set(new CouponList());
3353 + future.setException(new Throwable());
3354 + }
3355 + }
3356 +
3357 + @Override
3358 + public void onFailure(@NonNull Call<ResponseBody> call, @NonNull Throwable t) {
3359 + LoyaltySDKDynatraceEventModel dynatraceEvent = new LoyaltySDKDynatraceEventModel();
3360 + dynatraceEvent.setEventName("custom_error_user_sm_coupons_loyalty");
3361 + EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent));
3362 +// future.set(new CouponList());
3363 + future.setException(new Throwable());
3364 + }
3365 + });
3366 +
3367 + return future;
3368 + }
3369 +
3204 public static void sendAccelerationDataToServer(JSONArray telematicsData, final CallbackReceiver<Integer> receiver) { 3370 public static void sendAccelerationDataToServer(JSONArray telematicsData, final CallbackReceiver<Integer> receiver) {
3205 WarpUtils.log("************* WARPLY User Telematics Request ********************"); 3371 WarpUtils.log("************* WARPLY User Telematics Request ********************");
3206 WarpUtils.log("[WARP Trace] WARPLY User Telematics Request is active"); 3372 WarpUtils.log("[WARP Trace] WARPLY User Telematics Request is active");
......