Showing
6 changed files
with
429 additions
and
34 deletions
| ... | @@ -36,9 +36,10 @@ public class SplashActivity extends BaseActivity { | ... | @@ -36,9 +36,10 @@ public class SplashActivity extends BaseActivity { |
| 36 | @Override | 36 | @Override |
| 37 | public void onWarplyReady() { | 37 | public void onWarplyReady() { |
| 38 | if (!WarplyDBHelper.getInstance(SplashActivity.this).isTableNotEmpty("auth")) { | 38 | if (!WarplyDBHelper.getInstance(SplashActivity.this).isTableNotEmpty("auth")) { |
| 39 | - WarplyManager.getCosmoteUser(new WarplyCosmoteUserRequest() | 39 | + //6012049321, 6012049322, 6012049323, 7000000831 history, 7000000826, 7000000831 shared coupons |
| 40 | - .setGuid("7000023717"), //6012049321, 6012049322, 6012049323, 7000000831 history, 7000000826, 7000000831 shared coupons, prod 6006552990, prod 6005892749, live 3000184910,prod 7000070282 | 40 | + //prod 6006552990, prod 6005892749, live 3000184910,prod 7000070282 |
| 41 | - mLoginReceiver); | 41 | + WarplyManager.getCosmoteUser("7000000833", mLoginReceiver); |
| 42 | +// WarplyManager.verifyTicket("", "7000000833", mLoginReceiver); | ||
| 42 | } else { | 43 | } else { |
| 43 | startNextActivity(); | 44 | startNextActivity(); |
| 44 | } | 45 | } | ... | ... |
| ... | @@ -2,7 +2,7 @@ apply plugin: 'com.android.library' | ... | @@ -2,7 +2,7 @@ apply plugin: 'com.android.library' |
| 2 | 2 | ||
| 3 | ext { | 3 | ext { |
| 4 | PUBLISH_GROUP_ID = 'ly.warp' | 4 | PUBLISH_GROUP_ID = 'ly.warp' |
| 5 | - PUBLISH_VERSION = '4.5.5.4r18' | 5 | + PUBLISH_VERSION = '4.5.5.4r19' |
| 6 | PUBLISH_ARTIFACT_ID = 'warply-android-sdk' | 6 | PUBLISH_ARTIFACT_ID = 'warply-android-sdk' |
| 7 | } | 7 | } |
| 8 | 8 | ||
| ... | @@ -112,6 +112,9 @@ dependencies { | ... | @@ -112,6 +112,9 @@ dependencies { |
| 112 | 112 | ||
| 113 | //------------------------------ Lifecycle -----------------------------// | 113 | //------------------------------ Lifecycle -----------------------------// |
| 114 | implementation "androidx.lifecycle:lifecycle-extensions:2.2.0" | 114 | implementation "androidx.lifecycle:lifecycle-extensions:2.2.0" |
| 115 | + | ||
| 116 | + //------------------------------ Retrofit Logs -----------------------------// | ||
| 117 | +// implementation 'com.squareup.okhttp3:logging-interceptor:4.12.0' | ||
| 115 | } | 118 | } |
| 116 | 119 | ||
| 117 | // In every export please update the version number | 120 | // In every export please update the version number | ... | ... |
| ... | @@ -18,6 +18,8 @@ import androidx.recyclerview.widget.LinearLayoutManager; | ... | @@ -18,6 +18,8 @@ import androidx.recyclerview.widget.LinearLayoutManager; |
| 18 | import androidx.recyclerview.widget.RecyclerView; | 18 | import androidx.recyclerview.widget.RecyclerView; |
| 19 | import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; | 19 | import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; |
| 20 | 20 | ||
| 21 | +import org.json.JSONObject; | ||
| 22 | + | ||
| 21 | import java.util.ArrayList; | 23 | import java.util.ArrayList; |
| 22 | 24 | ||
| 23 | import ly.warp.sdk.R; | 25 | import ly.warp.sdk.R; |
| ... | @@ -120,6 +122,10 @@ public class HomeFragment extends Fragment implements View.OnClickListener, Swip | ... | @@ -120,6 +122,10 @@ public class HomeFragment extends Fragment implements View.OnClickListener, Swip |
| 120 | if (view.getId() == R.id.rl_driving_history) { | 122 | if (view.getId() == R.id.rl_driving_history) { |
| 121 | Intent intent = new Intent(getContext(), TelematicsHistoryActivity.class); | 123 | Intent intent = new Intent(getContext(), TelematicsHistoryActivity.class); |
| 122 | startActivity(intent); | 124 | startActivity(intent); |
| 125 | + return; | ||
| 126 | + } | ||
| 127 | + if (view.getId() == R.id.iv_settings) { | ||
| 128 | + WarplyManager.logout(mLogoutReceiver); | ||
| 123 | } | 129 | } |
| 124 | } | 130 | } |
| 125 | 131 | ||
| ... | @@ -152,4 +158,16 @@ public class HomeFragment extends Fragment implements View.OnClickListener, Swip | ... | @@ -152,4 +158,16 @@ public class HomeFragment extends Fragment implements View.OnClickListener, Swip |
| 152 | Toast.makeText(getActivity(), "Coupons Error", Toast.LENGTH_SHORT).show(); | 158 | Toast.makeText(getActivity(), "Coupons Error", Toast.LENGTH_SHORT).show(); |
| 153 | } | 159 | } |
| 154 | }; | 160 | }; |
| 161 | + | ||
| 162 | + private final CallbackReceiver<JSONObject> mLogoutReceiver = new CallbackReceiver<JSONObject>() { | ||
| 163 | + @Override | ||
| 164 | + public void onSuccess(JSONObject result) { | ||
| 165 | + Toast.makeText(getActivity(), "LOGOUT SUCCESS", Toast.LENGTH_SHORT).show(); | ||
| 166 | + } | ||
| 167 | + | ||
| 168 | + @Override | ||
| 169 | + public void onFailure(int errorCode) { | ||
| 170 | + Toast.makeText(getActivity(), "LOGOUT ERROR", Toast.LENGTH_SHORT).show(); | ||
| 171 | + } | ||
| 172 | + }; | ||
| 155 | } | 173 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -47,7 +47,12 @@ public class ApiClient { | ... | @@ -47,7 +47,12 @@ public class ApiClient { |
| 47 | } | 47 | } |
| 48 | 48 | ||
| 49 | private static OkHttpClient getClient() { | 49 | private static OkHttpClient getClient() { |
| 50 | + /* Logs Enabled */ | ||
| 51 | +// HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor(); | ||
| 52 | +// interceptor.setLevel(HttpLoggingInterceptor.Level.BODY); | ||
| 53 | + | ||
| 50 | return new OkHttpClient.Builder() | 54 | return new OkHttpClient.Builder() |
| 55 | +// .addInterceptor(interceptor) // Logs Enabled | ||
| 51 | .connectTimeout(30, TimeUnit.SECONDS) | 56 | .connectTimeout(30, TimeUnit.SECONDS) |
| 52 | .writeTimeout(30, TimeUnit.SECONDS) | 57 | .writeTimeout(30, TimeUnit.SECONDS) |
| 53 | .readTimeout(30, TimeUnit.SECONDS) | 58 | .readTimeout(30, TimeUnit.SECONDS) | ... | ... |
| ... | @@ -44,6 +44,39 @@ public interface ApiService { | ... | @@ -44,6 +44,39 @@ public interface ApiService { |
| 44 | @Header(WarpConstants.HEADER_SIGNATURE) String signature); | 44 | @Header(WarpConstants.HEADER_SIGNATURE) String signature); |
| 45 | 45 | ||
| 46 | @Headers("Content-Type: application/json") | 46 | @Headers("Content-Type: application/json") |
| 47 | + @POST("/partners/oauth/{appUuid}/token") | ||
| 48 | + Call<ResponseBody> cosmoteUser(@Path("appUuid") String appUuid, | ||
| 49 | + @Body RequestBody request, | ||
| 50 | + @Header(WarpConstants.HEADER_DATE) String timeStamp, | ||
| 51 | + @Header(WarpConstants.HEADER_LOYALTY_BUNDLE_ID) String bundleId, | ||
| 52 | + @Header(WarpConstants.HEADER_UNIQUE_DEVICE_ID) String deviceId, | ||
| 53 | + @Header(WarpConstants.HEADER_CHANNEL) String channel, | ||
| 54 | + @Header(WarpConstants.HEADER_WEB_ID) String webId, | ||
| 55 | + @Header(WarpConstants.HEADER_SIGNATURE) String signature, | ||
| 56 | + @Header(WarpConstants.HEADER_AUTHORIZATION) String basic); | ||
| 57 | + | ||
| 58 | + @Headers("Content-Type: application/json") | ||
| 59 | + @POST("/partners/cosmote/verify") | ||
| 60 | + Call<ResponseBody> verifyUser(@Body RequestBody request, | ||
| 61 | + @Header(WarpConstants.HEADER_DATE) String timeStamp, | ||
| 62 | + @Header(WarpConstants.HEADER_LOYALTY_BUNDLE_ID) String bundleId, | ||
| 63 | + @Header(WarpConstants.HEADER_UNIQUE_DEVICE_ID) String deviceId, | ||
| 64 | + @Header(WarpConstants.HEADER_CHANNEL) String channel, | ||
| 65 | + @Header(WarpConstants.HEADER_WEB_ID) String webId, | ||
| 66 | + @Header(WarpConstants.HEADER_SIGNATURE) String signature); | ||
| 67 | + | ||
| 68 | + @Headers("Content-Type: application/json") | ||
| 69 | + @POST("/oauth/{appUuid}/logout") | ||
| 70 | + Call<ResponseBody> logoutUser(@Path("appUuid") String appUuid, | ||
| 71 | + @Body RequestBody request, | ||
| 72 | + @Header(WarpConstants.HEADER_DATE) String timeStamp, | ||
| 73 | + @Header(WarpConstants.HEADER_LOYALTY_BUNDLE_ID) String bundleId, | ||
| 74 | + @Header(WarpConstants.HEADER_UNIQUE_DEVICE_ID) String deviceId, | ||
| 75 | + @Header(WarpConstants.HEADER_CHANNEL) String channel, | ||
| 76 | + @Header(WarpConstants.HEADER_WEB_ID) String webId, | ||
| 77 | + @Header(WarpConstants.HEADER_SIGNATURE) String signature); | ||
| 78 | + | ||
| 79 | + @Headers("Content-Type: application/json") | ||
| 47 | @POST("/oauth/{appUuid}/context") | 80 | @POST("/oauth/{appUuid}/context") |
| 48 | Call<ResponseBody> getCouponsets(@Path("appUuid") String appUuid, | 81 | Call<ResponseBody> getCouponsets(@Path("appUuid") String appUuid, |
| 49 | @Body RequestBody request, | 82 | @Body RequestBody request, | ... | ... |
| ... | @@ -596,6 +596,33 @@ public class WarplyManager { | ... | @@ -596,6 +596,33 @@ public class WarplyManager { |
| 596 | WarpUtils.log("[WARP Trace] WARPLY Logout is active"); | 596 | WarpUtils.log("[WARP Trace] WARPLY Logout is active"); |
| 597 | WarpUtils.log("**************************************************"); | 597 | WarpUtils.log("**************************************************"); |
| 598 | 598 | ||
| 599 | + ApiService service = ApiClient.getRetrofitInstance().create(ApiService.class); | ||
| 600 | + | ||
| 601 | + String timeStamp = DateFormat.format("yyyy-MM-dd hh:mm:ss", System.currentTimeMillis()).toString(); | ||
| 602 | + String apiKey = WarpUtils.getApiKey(Warply.getWarplyContext()); | ||
| 603 | + String webId = WarpUtils.getWebId(Warply.getWarplyContext()); | ||
| 604 | + | ||
| 605 | + Map<String, Object> jsonParams = new ArrayMap<>(); | ||
| 606 | + jsonParams.put("access_token", WarplyDBHelper.getInstance(Warply.getWarplyContext()).getAuthValue("access_token")); | ||
| 607 | + jsonParams.put("refresh_token", WarplyDBHelper.getInstance(Warply.getWarplyContext()).getAuthValue("refresh_token")); | ||
| 608 | + | ||
| 609 | + RequestBody loginRequest = RequestBody.create(MediaType.get("application/json; charset=utf-8"), (new JSONObject(jsonParams)).toString()); | ||
| 610 | + | ||
| 611 | + Call<ResponseBody> logoutCall = service.logoutUser( | ||
| 612 | + WarplyProperty.getAppUuid(Warply.getWarplyContext()), | ||
| 613 | + loginRequest, | ||
| 614 | + timeStamp, | ||
| 615 | + "android:" + Warply.getWarplyContext().getPackageName(), | ||
| 616 | + new WarplyDeviceInfoCollector(Warply.getWarplyContext()).getUniqueDeviceId(), | ||
| 617 | + "mobile", | ||
| 618 | + webId, | ||
| 619 | + WarpUtils.produceSignature(apiKey + timeStamp) | ||
| 620 | + ); | ||
| 621 | + | ||
| 622 | + logoutCall.enqueue(new Callback<ResponseBody>() { | ||
| 623 | + @Override | ||
| 624 | + public void onResponse(@NonNull Call<ResponseBody> call, @NonNull Response<ResponseBody> response) { | ||
| 625 | + if (response.code() == 200 && response.body() != null) { | ||
| 599 | WarpUtils.setUserNonTelco(Warply.getWarplyContext(), false); | 626 | WarpUtils.setUserNonTelco(Warply.getWarplyContext(), false); |
| 600 | WarpUtils.setUserTag(Warply.getWarplyContext(), ""); | 627 | WarpUtils.setUserTag(Warply.getWarplyContext(), ""); |
| 601 | WarplyManagerHelper.clearCCMSLoyaltyCampaigns(); | 628 | WarplyManagerHelper.clearCCMSLoyaltyCampaigns(); |
| ... | @@ -618,6 +645,22 @@ public class WarplyManager { | ... | @@ -618,6 +645,22 @@ public class WarplyManager { |
| 618 | EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); | 645 | EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); |
| 619 | receiver.onFailure(2); | 646 | receiver.onFailure(2); |
| 620 | } | 647 | } |
| 648 | + } else { | ||
| 649 | + LoyaltySDKDynatraceEventModel dynatraceEvent = new LoyaltySDKDynatraceEventModel(); | ||
| 650 | + dynatraceEvent.setEventName("custom_error_logout_loyalty"); | ||
| 651 | + EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); | ||
| 652 | + receiver.onFailure(response.code()); | ||
| 653 | + } | ||
| 654 | + } | ||
| 655 | + | ||
| 656 | + @Override | ||
| 657 | + public void onFailure(@NonNull Call<ResponseBody> call, @NonNull Throwable t) { | ||
| 658 | + LoyaltySDKDynatraceEventModel dynatraceEvent = new LoyaltySDKDynatraceEventModel(); | ||
| 659 | + dynatraceEvent.setEventName("custom_error_logout_loyalty"); | ||
| 660 | + EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); | ||
| 661 | + receiver.onFailure(2); | ||
| 662 | + } | ||
| 663 | + }); | ||
| 621 | } | 664 | } |
| 622 | 665 | ||
| 623 | public static void changePassword(WarplyChangePasswordRequest request, final CallbackReceiver<JSONObject> receiver) { | 666 | public static void changePassword(WarplyChangePasswordRequest request, final CallbackReceiver<JSONObject> receiver) { |
| ... | @@ -856,6 +899,284 @@ public class WarplyManager { | ... | @@ -856,6 +899,284 @@ public class WarplyManager { |
| 856 | }); | 899 | }); |
| 857 | } | 900 | } |
| 858 | 901 | ||
| 902 | + public static void getCosmoteUser(String guid, final CallbackReceiver<JSONObject> receiver) { | ||
| 903 | + WarpUtils.log("************* WARPLY Cosmote User Request ********************"); | ||
| 904 | + WarpUtils.log("[WARP Trace] WARPLY Cosmote User Request is active"); | ||
| 905 | + WarpUtils.log("**************************************************"); | ||
| 906 | + | ||
| 907 | + ApiService service = ApiClient.getRetrofitInstance().create(ApiService.class); | ||
| 908 | + | ||
| 909 | + String timeStamp = DateFormat.format("yyyy-MM-dd hh:mm:ss", System.currentTimeMillis()).toString(); | ||
| 910 | + String apiKey = WarpUtils.getApiKey(Warply.getWarplyContext()); | ||
| 911 | + String webId = WarpUtils.getWebId(Warply.getWarplyContext()); | ||
| 912 | + | ||
| 913 | + Map<String, Object> jsonParams = new ArrayMap<>(); | ||
| 914 | + jsonParams.put("user_identifier", guid); | ||
| 915 | + | ||
| 916 | + RequestBody loginRequest = RequestBody.create(MediaType.get("application/json; charset=utf-8"), (new JSONObject(jsonParams)).toString()); | ||
| 917 | + | ||
| 918 | + Call<ResponseBody> loginCall = service.cosmoteUser( | ||
| 919 | + WarplyProperty.getAppUuid(Warply.getWarplyContext()), | ||
| 920 | + loginRequest, | ||
| 921 | + timeStamp, | ||
| 922 | + "android:" + Warply.getWarplyContext().getPackageName(), | ||
| 923 | + new WarplyDeviceInfoCollector(Warply.getWarplyContext()).getUniqueDeviceId(), | ||
| 924 | + "mobile", | ||
| 925 | + webId, | ||
| 926 | + WarpUtils.produceSignature(apiKey + timeStamp), | ||
| 927 | + "Basic MVBQNFhCQzhFYTJBaUdCNkJWZGFGUERlTTNLQ3kzMjU6YzViMzAyZDY5N2FiNGY3NzhiNThhMTg0YzBkZWRmNGU=" | ||
| 928 | + ); | ||
| 929 | + | ||
| 930 | + loginCall.enqueue(new Callback<ResponseBody>() { | ||
| 931 | + @Override | ||
| 932 | + public void onResponse(@NonNull Call<ResponseBody> call, @NonNull Response<ResponseBody> response) { | ||
| 933 | + if (response.code() == 200 && response.body() != null) { | ||
| 934 | + JSONObject jobjLoginResponse = null; | ||
| 935 | + try { | ||
| 936 | + jobjLoginResponse = new JSONObject(response.body().string()); | ||
| 937 | + } catch (Exception e) { | ||
| 938 | + e.printStackTrace(); | ||
| 939 | + } | ||
| 940 | + | ||
| 941 | + if (jobjLoginResponse != null && jobjLoginResponse.has("status") && jobjLoginResponse.optString("status", "2").equals("1")) { | ||
| 942 | + JSONObject tokens = jobjLoginResponse.optJSONObject("result"); | ||
| 943 | + if (tokens != null) { | ||
| 944 | + WarplyDBHelper.getInstance(Warply.getWarplyContext()).saveClientAccess( | ||
| 945 | + tokens.optString("client_id", ""), | ||
| 946 | + tokens.optString("client_secret", "") | ||
| 947 | + ); | ||
| 948 | + | ||
| 949 | + WarplyDBHelper.getInstance(Warply.getWarplyContext()).saveAuthAccess( | ||
| 950 | + tokens.optString("access_token", ""), | ||
| 951 | + tokens.optString("refresh_token", "") | ||
| 952 | + ); | ||
| 953 | + | ||
| 954 | + JSONObject newResult = new JSONObject(); | ||
| 955 | + try { | ||
| 956 | + newResult.putOpt("status", 1); | ||
| 957 | + newResult.putOpt("message", "Success"); | ||
| 958 | + receiver.onSuccess(newResult); | ||
| 959 | + } catch (JSONException e) { | ||
| 960 | + e.printStackTrace(); | ||
| 961 | + receiver.onFailure(2); | ||
| 962 | + } | ||
| 963 | + | ||
| 964 | + getConsumer(new WarplyConsumerRequest(), new CallbackReceiver<Consumer>() { | ||
| 965 | + @Override | ||
| 966 | + public void onSuccess(Consumer result) { | ||
| 967 | + WarplyManagerHelper.setConsumerInternal(result); | ||
| 968 | + | ||
| 969 | + if (result != null) { | ||
| 970 | + JSONObject profMetadata = WarpJSONParser.getJSONFromString(result.getProfileMetadata()); | ||
| 971 | + if (profMetadata != null && profMetadata.has("nonTelco")) { | ||
| 972 | + WarpUtils.setUserNonTelco(Warply.getWarplyContext(), profMetadata.optBoolean("nonTelco")); | ||
| 973 | + } else { | ||
| 974 | + WarpUtils.setUserNonTelco(Warply.getWarplyContext(), false); | ||
| 975 | + } | ||
| 976 | + } | ||
| 977 | + | ||
| 978 | + if (result != null) { | ||
| 979 | + JSONObject profMetadata = WarpJSONParser.getJSONFromString(result.getProfileMetadata()); | ||
| 980 | + if (profMetadata != null) { | ||
| 981 | + if (profMetadata.has("badge")) { | ||
| 982 | + WarpUtils.setUserTag(Warply.getWarplyContext(), profMetadata.optString("badge")); | ||
| 983 | + } | ||
| 984 | + | ||
| 985 | + if (profMetadata.has("steps_enabled") && profMetadata.optBoolean("steps_enabled")) { | ||
| 986 | + if (!isMyServiceRunning(WarplyHealthService.class)) { | ||
| 987 | + Intent stepsServiceIntent = new Intent(Warply.getWarplyContext(), WarplyHealthService.class); | ||
| 988 | + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { | ||
| 989 | + AlarmManager mgr = (AlarmManager) Warply.getWarplyContext().getSystemService(Context.ALARM_SERVICE); | ||
| 990 | + PendingIntent pi = PendingIntent.getService(Warply.getWarplyContext(), 2002, stepsServiceIntent, PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_MUTABLE); | ||
| 991 | + mgr.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 1000, pi); | ||
| 992 | + } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { | ||
| 993 | + Warply.getWarplyContext().startForegroundService(stepsServiceIntent); | ||
| 994 | + } else { | ||
| 995 | + Warply.getWarplyContext().startService(stepsServiceIntent); | ||
| 996 | + } | ||
| 997 | + | ||
| 998 | + WarplyPacingEventModel pacingVisible = new WarplyPacingEventModel(); | ||
| 999 | + pacingVisible.setVisible(true); | ||
| 1000 | + EventBus.getDefault().post(new WarplyEventBusManager(pacingVisible)); | ||
| 1001 | + } | ||
| 1002 | + } | ||
| 1003 | + } | ||
| 1004 | + } | ||
| 1005 | + } | ||
| 1006 | + | ||
| 1007 | + @Override | ||
| 1008 | + public void onFailure(int errorCode) { | ||
| 1009 | + | ||
| 1010 | + } | ||
| 1011 | + }); | ||
| 1012 | + } else | ||
| 1013 | + receiver.onFailure(2); | ||
| 1014 | + } else { | ||
| 1015 | + receiver.onFailure(2); | ||
| 1016 | + } | ||
| 1017 | + } else { | ||
| 1018 | + receiver.onFailure(response.code()); | ||
| 1019 | + } | ||
| 1020 | + } | ||
| 1021 | + | ||
| 1022 | + @Override | ||
| 1023 | + public void onFailure(@NonNull Call<ResponseBody> call, @NonNull Throwable t) { | ||
| 1024 | + receiver.onFailure(2); | ||
| 1025 | + } | ||
| 1026 | + }); | ||
| 1027 | + } | ||
| 1028 | + | ||
| 1029 | + public static void verifyTicket(String ticket, String guid, final CallbackReceiver<JSONObject> receiver) { | ||
| 1030 | + WarpUtils.log("************* WARPLY Verify Ticket Request ********************"); | ||
| 1031 | + WarpUtils.log("[WARP Trace] WARPLY Verify Ticket Request is active"); | ||
| 1032 | + WarpUtils.log("**************************************************"); | ||
| 1033 | + | ||
| 1034 | + WarpUtils.setUserNonTelco(Warply.getWarplyContext(), false); | ||
| 1035 | + WarpUtils.setUserTag(Warply.getWarplyContext(), ""); | ||
| 1036 | + WarplyManagerHelper.clearCCMSLoyaltyCampaigns(); | ||
| 1037 | + | ||
| 1038 | + ApiService service = ApiClient.getRetrofitInstance().create(ApiService.class); | ||
| 1039 | + | ||
| 1040 | + String timeStamp = DateFormat.format("yyyy-MM-dd hh:mm:ss", System.currentTimeMillis()).toString(); | ||
| 1041 | + String apiKey = WarpUtils.getApiKey(Warply.getWarplyContext()); | ||
| 1042 | + String webId = WarpUtils.getWebId(Warply.getWarplyContext()); | ||
| 1043 | + | ||
| 1044 | + Map<String, Object> jsonParams = new ArrayMap<>(); | ||
| 1045 | + jsonParams.put("app_uuid", WarplyProperty.getAppUuid(Warply.getWarplyContext())); | ||
| 1046 | + jsonParams.put("guid", guid); | ||
| 1047 | + jsonParams.put("ticket", ticket); | ||
| 1048 | + | ||
| 1049 | + RequestBody loginRequest = RequestBody.create(MediaType.get("application/json; charset=utf-8"), (new JSONObject(jsonParams)).toString()); | ||
| 1050 | + | ||
| 1051 | + Call<ResponseBody> loginCall = service.verifyUser( | ||
| 1052 | + loginRequest, | ||
| 1053 | + timeStamp, | ||
| 1054 | + "android:" + Warply.getWarplyContext().getPackageName(), | ||
| 1055 | + new WarplyDeviceInfoCollector(Warply.getWarplyContext()).getUniqueDeviceId(), | ||
| 1056 | + "mobile", | ||
| 1057 | + webId, | ||
| 1058 | + WarpUtils.produceSignature(apiKey + timeStamp) | ||
| 1059 | + ); | ||
| 1060 | + | ||
| 1061 | + loginCall.enqueue(new Callback<ResponseBody>() { | ||
| 1062 | + @Override | ||
| 1063 | + public void onResponse(@NonNull Call<ResponseBody> call, @NonNull Response<ResponseBody> response) { | ||
| 1064 | + if (response.code() == 200 && response.body() != null) { | ||
| 1065 | + JSONObject jobjLoginResponse = null; | ||
| 1066 | + try { | ||
| 1067 | + jobjLoginResponse = new JSONObject(response.body().string()); | ||
| 1068 | + } catch (Exception e) { | ||
| 1069 | + e.printStackTrace(); | ||
| 1070 | + } | ||
| 1071 | + | ||
| 1072 | + if (jobjLoginResponse != null && jobjLoginResponse.has("status") && jobjLoginResponse.optString("status", "2").equals("1")) { | ||
| 1073 | + JSONObject tokens = jobjLoginResponse.optJSONObject("result"); | ||
| 1074 | + if (tokens != null) { | ||
| 1075 | + WarplyDBHelper.getInstance(Warply.getWarplyContext()).saveClientAccess( | ||
| 1076 | + tokens.optString("client_id", ""), | ||
| 1077 | + tokens.optString("client_secret", "") | ||
| 1078 | + ); | ||
| 1079 | + | ||
| 1080 | + WarplyDBHelper.getInstance(Warply.getWarplyContext()).saveAuthAccess( | ||
| 1081 | + tokens.optString("access_token", ""), | ||
| 1082 | + tokens.optString("refresh_token", "") | ||
| 1083 | + ); | ||
| 1084 | + | ||
| 1085 | + JSONObject newResult = new JSONObject(); | ||
| 1086 | + try { | ||
| 1087 | + newResult.putOpt("status", 1); | ||
| 1088 | + newResult.putOpt("message", "Success"); | ||
| 1089 | + LoyaltySDKDynatraceEventModel dynatraceEvent = new LoyaltySDKDynatraceEventModel(); | ||
| 1090 | + dynatraceEvent.setEventName("custom_success_login_loyalty"); | ||
| 1091 | + EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); | ||
| 1092 | + receiver.onSuccess(newResult); | ||
| 1093 | + } catch (JSONException e) { | ||
| 1094 | + LoyaltySDKDynatraceEventModel dynatraceEvent = new LoyaltySDKDynatraceEventModel(); | ||
| 1095 | + dynatraceEvent.setEventName("custom_error_login_loyalty"); | ||
| 1096 | + EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); | ||
| 1097 | + | ||
| 1098 | + e.printStackTrace(); | ||
| 1099 | + receiver.onFailure(2); | ||
| 1100 | + } | ||
| 1101 | + | ||
| 1102 | + getConsumer(new WarplyConsumerRequest(), new CallbackReceiver<Consumer>() { | ||
| 1103 | + @Override | ||
| 1104 | + public void onSuccess(Consumer result) { | ||
| 1105 | + WarplyManagerHelper.setConsumerInternal(result); | ||
| 1106 | + | ||
| 1107 | + if (result != null) { | ||
| 1108 | + JSONObject profMetadata = WarpJSONParser.getJSONFromString(result.getProfileMetadata()); | ||
| 1109 | + if (profMetadata != null && profMetadata.has("nonTelco")) { | ||
| 1110 | + WarpUtils.setUserNonTelco(Warply.getWarplyContext(), profMetadata.optBoolean("nonTelco")); | ||
| 1111 | + } else { | ||
| 1112 | + WarpUtils.setUserNonTelco(Warply.getWarplyContext(), false); | ||
| 1113 | + } | ||
| 1114 | + } | ||
| 1115 | + | ||
| 1116 | + if (result != null) { | ||
| 1117 | + JSONObject profMetadata = WarpJSONParser.getJSONFromString(result.getProfileMetadata()); | ||
| 1118 | + if (profMetadata != null) { | ||
| 1119 | + if (profMetadata.has("badge")) { | ||
| 1120 | + WarpUtils.setUserTag(Warply.getWarplyContext(), profMetadata.optString("badge")); | ||
| 1121 | + } | ||
| 1122 | + | ||
| 1123 | + if (profMetadata.has("steps_enabled") && profMetadata.optBoolean("steps_enabled")) { | ||
| 1124 | + if (!isMyServiceRunning(WarplyHealthService.class)) { | ||
| 1125 | + Intent stepsServiceIntent = new Intent(Warply.getWarplyContext(), WarplyHealthService.class); | ||
| 1126 | + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { | ||
| 1127 | + AlarmManager mgr = (AlarmManager) Warply.getWarplyContext().getSystemService(Context.ALARM_SERVICE); | ||
| 1128 | + PendingIntent pi = PendingIntent.getService(Warply.getWarplyContext(), 2002, stepsServiceIntent, PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_IMMUTABLE); | ||
| 1129 | + mgr.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 1000, pi); | ||
| 1130 | + } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { | ||
| 1131 | + Warply.getWarplyContext().startForegroundService(stepsServiceIntent); | ||
| 1132 | + } else { | ||
| 1133 | + Warply.getWarplyContext().startService(stepsServiceIntent); | ||
| 1134 | + } | ||
| 1135 | + | ||
| 1136 | + WarplyPacingEventModel pacingVisible = new WarplyPacingEventModel(); | ||
| 1137 | + pacingVisible.setVisible(true); | ||
| 1138 | + EventBus.getDefault().post(new WarplyEventBusManager(pacingVisible)); | ||
| 1139 | + } | ||
| 1140 | + } | ||
| 1141 | + } | ||
| 1142 | + } | ||
| 1143 | + } | ||
| 1144 | + | ||
| 1145 | + @Override | ||
| 1146 | + public void onFailure(int errorCode) { | ||
| 1147 | + | ||
| 1148 | + } | ||
| 1149 | + }); | ||
| 1150 | + } else { | ||
| 1151 | + LoyaltySDKDynatraceEventModel dynatraceEvent = new LoyaltySDKDynatraceEventModel(); | ||
| 1152 | + dynatraceEvent.setEventName("custom_error_login_loyalty"); | ||
| 1153 | + EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); | ||
| 1154 | + receiver.onFailure(2); | ||
| 1155 | + } | ||
| 1156 | + } else { | ||
| 1157 | + LoyaltySDKDynatraceEventModel dynatraceEvent = new LoyaltySDKDynatraceEventModel(); | ||
| 1158 | + dynatraceEvent.setEventName("custom_error_login_loyalty"); | ||
| 1159 | + EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); | ||
| 1160 | + receiver.onFailure(2); | ||
| 1161 | + } | ||
| 1162 | + } else { | ||
| 1163 | + LoyaltySDKDynatraceEventModel dynatraceEvent = new LoyaltySDKDynatraceEventModel(); | ||
| 1164 | + dynatraceEvent.setEventName("custom_error_login_loyalty"); | ||
| 1165 | + EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); | ||
| 1166 | + receiver.onFailure(response.code()); | ||
| 1167 | + } | ||
| 1168 | + } | ||
| 1169 | + | ||
| 1170 | + @Override | ||
| 1171 | + public void onFailure(@NonNull Call<ResponseBody> call, @NonNull Throwable t) { | ||
| 1172 | + LoyaltySDKDynatraceEventModel dynatraceEvent = new LoyaltySDKDynatraceEventModel(); | ||
| 1173 | + dynatraceEvent.setEventName("custom_error_login_loyalty"); | ||
| 1174 | + EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); | ||
| 1175 | + receiver.onFailure(2); | ||
| 1176 | + } | ||
| 1177 | + }); | ||
| 1178 | + } | ||
| 1179 | + | ||
| 859 | public static void verifyTicket(WarplyVerifyTicketRequest request, final CallbackReceiver<JSONObject> receiver) { | 1180 | public static void verifyTicket(WarplyVerifyTicketRequest request, final CallbackReceiver<JSONObject> receiver) { |
| 860 | WarpUtils.log("************* WARPLY Verify Ticket Request ********************"); | 1181 | WarpUtils.log("************* WARPLY Verify Ticket Request ********************"); |
| 861 | WarpUtils.log("[WARP Trace] WARPLY Verify Ticket Request is active"); | 1182 | WarpUtils.log("[WARP Trace] WARPLY Verify Ticket Request is active"); |
| ... | @@ -1573,7 +1894,8 @@ public class WarplyManager { | ... | @@ -1573,7 +1894,8 @@ public class WarplyManager { |
| 1573 | //TODO: check to see if we need merchants global else delete request | 1894 | //TODO: check to see if we need merchants global else delete request |
| 1574 | ListenableFuture<MerchantList> futureMerchants = getMerchantsRetro(service); | 1895 | ListenableFuture<MerchantList> futureMerchants = getMerchantsRetro(service); |
| 1575 | ListenableFuture<CouponsetsList> futureCouponsets = getCouponsetsRetro(service); | 1896 | ListenableFuture<CouponsetsList> futureCouponsets = getCouponsetsRetro(service); |
| 1576 | - ListenableFuture<CouponList> futureCoupons = getCouponsUniversalRetro(service, 0); | 1897 | + SettableFuture<CouponList> futureUniversal = SettableFuture.create(); |
| 1898 | + ListenableFuture<CouponList> futureCoupons = getCouponsUniversalRetro(service, 0, futureUniversal); | ||
| 1577 | 1899 | ||
| 1578 | ListenableFuture<List<Object>> allResultsFuture = Futures.allAsList(futureMerchants, futureCouponsets, futureCoupons); | 1900 | ListenableFuture<List<Object>> allResultsFuture = Futures.allAsList(futureMerchants, futureCouponsets, futureCoupons); |
| 1579 | ListenableFuture<CouponList> mergedResultFuture = Futures.transformAsync( | 1901 | ListenableFuture<CouponList> mergedResultFuture = Futures.transformAsync( |
| ... | @@ -1609,7 +1931,8 @@ public class WarplyManager { | ... | @@ -1609,7 +1931,8 @@ public class WarplyManager { |
| 1609 | ListeningExecutorService executorService = MoreExecutors.listeningDecorator(Executors.newFixedThreadPool(3)); | 1931 | ListeningExecutorService executorService = MoreExecutors.listeningDecorator(Executors.newFixedThreadPool(3)); |
| 1610 | 1932 | ||
| 1611 | ListenableFuture<ArrayList<Campaign>> futureCampaigns = getCampaignsRetro(service); | 1933 | ListenableFuture<ArrayList<Campaign>> futureCampaigns = getCampaignsRetro(service); |
| 1612 | - ListenableFuture<ArrayList<Campaign>> futurePersonalizedCampaigns = getCampaignsPersonalizedRetro(service, 0); | 1934 | + SettableFuture<ArrayList<Campaign>> futurePersonalized = SettableFuture.create(); |
| 1935 | + ListenableFuture<ArrayList<Campaign>> futurePersonalizedCampaigns = getCampaignsPersonalizedRetro(service, 0, futurePersonalized); | ||
| 1613 | ListenableFuture<JSONObject> futureCampaignAvailability = getCampaignAvailability(service); | 1936 | ListenableFuture<JSONObject> futureCampaignAvailability = getCampaignAvailability(service); |
| 1614 | 1937 | ||
| 1615 | ListenableFuture<List<Object>> allResultsFuture = Futures.allAsList(futureCampaigns, futurePersonalizedCampaigns, futureCampaignAvailability); | 1938 | ListenableFuture<List<Object>> allResultsFuture = Futures.allAsList(futureCampaigns, futurePersonalizedCampaigns, futureCampaignAvailability); |
| ... | @@ -1830,7 +2153,8 @@ public class WarplyManager { | ... | @@ -1830,7 +2153,8 @@ public class WarplyManager { |
| 1830 | dynatraceEvent.setEventName("custom_error_campaigns_loyalty"); | 2153 | dynatraceEvent.setEventName("custom_error_campaigns_loyalty"); |
| 1831 | EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); | 2154 | EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); |
| 1832 | // receiver.onFailure(response.code()); | 2155 | // receiver.onFailure(response.code()); |
| 1833 | - future.set(new ArrayList<Campaign>()); | 2156 | +// future.set(new ArrayList<Campaign>()); |
| 2157 | + future.setException(new Throwable()); | ||
| 1834 | } | 2158 | } |
| 1835 | } | 2159 | } |
| 1836 | 2160 | ||
| ... | @@ -1840,16 +2164,15 @@ public class WarplyManager { | ... | @@ -1840,16 +2164,15 @@ public class WarplyManager { |
| 1840 | dynatraceEvent.setEventName("custom_error_campaigns_loyalty"); | 2164 | dynatraceEvent.setEventName("custom_error_campaigns_loyalty"); |
| 1841 | EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); | 2165 | EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); |
| 1842 | // receiver.onFailure(2); | 2166 | // receiver.onFailure(2); |
| 1843 | - future.set(new ArrayList<Campaign>()); | 2167 | +// future.set(new ArrayList<Campaign>()); |
| 2168 | + future.setException(new Throwable()); | ||
| 1844 | } | 2169 | } |
| 1845 | }); | 2170 | }); |
| 1846 | 2171 | ||
| 1847 | return future; | 2172 | return future; |
| 1848 | } | 2173 | } |
| 1849 | 2174 | ||
| 1850 | - private static /*void*/ ListenableFuture<ArrayList<Campaign>> getCampaignsPersonalizedRetro(ApiService service, int tries/*, final CallbackReceiver<ArrayList<Campaign>> receiver*/) { | 2175 | + private static /*void*/ ListenableFuture<ArrayList<Campaign>> getCampaignsPersonalizedRetro(ApiService service, int tries/*, final CallbackReceiver<ArrayList<Campaign>> receiver*/, SettableFuture<ArrayList<Campaign>> future) { |
| 1851 | - SettableFuture<ArrayList<Campaign>> future = SettableFuture.create(); | ||
| 1852 | - | ||
| 1853 | String timeStamp = DateFormat.format("yyyy-MM-dd hh:mm:ss", System.currentTimeMillis()).toString(); | 2176 | String timeStamp = DateFormat.format("yyyy-MM-dd hh:mm:ss", System.currentTimeMillis()).toString(); |
| 1854 | String apiKey = WarpUtils.getApiKey(Warply.getWarplyContext()); | 2177 | String apiKey = WarpUtils.getApiKey(Warply.getWarplyContext()); |
| 1855 | String webId = WarpUtils.getWebId(Warply.getWarplyContext()); | 2178 | String webId = WarpUtils.getWebId(Warply.getWarplyContext()); |
| ... | @@ -1980,13 +2303,14 @@ public class WarplyManager { | ... | @@ -1980,13 +2303,14 @@ public class WarplyManager { |
| 1980 | public void onSuccess(JSONObject result) { | 2303 | public void onSuccess(JSONObject result) { |
| 1981 | int status = result.optInt("status", 2); | 2304 | int status = result.optInt("status", 2); |
| 1982 | if (status == 1) | 2305 | if (status == 1) |
| 1983 | - getCampaignsPersonalizedRetro(service, tries/*, receiver*/); | 2306 | + getCampaignsPersonalizedRetro(service, tries/*, receiver*/, future); |
| 1984 | else { | 2307 | else { |
| 1985 | // receiver.onFailure(status); | 2308 | // receiver.onFailure(status); |
| 1986 | if (tries < MAX_RETRIES) { | 2309 | if (tries < MAX_RETRIES) { |
| 1987 | - getCampaignsPersonalizedRetro(service, (tries + 1)); | 2310 | + getCampaignsPersonalizedRetro(service, (tries + 1), future); |
| 1988 | } else { | 2311 | } else { |
| 1989 | - future.set(new ArrayList<Campaign>()); | 2312 | +// future.set(new ArrayList<Campaign>()); |
| 2313 | + future.setException(new Throwable()); | ||
| 1990 | } | 2314 | } |
| 1991 | } | 2315 | } |
| 1992 | } | 2316 | } |
| ... | @@ -1995,9 +2319,10 @@ public class WarplyManager { | ... | @@ -1995,9 +2319,10 @@ public class WarplyManager { |
| 1995 | public void onFailure(int errorCode) { | 2319 | public void onFailure(int errorCode) { |
| 1996 | // receiver.onFailure(errorCode); | 2320 | // receiver.onFailure(errorCode); |
| 1997 | if (tries < MAX_RETRIES) { | 2321 | if (tries < MAX_RETRIES) { |
| 1998 | - getCampaignsPersonalizedRetro(service, (tries + 1)); | 2322 | + getCampaignsPersonalizedRetro(service, (tries + 1), future); |
| 1999 | } else { | 2323 | } else { |
| 2000 | - future.set(new ArrayList<Campaign>()); | 2324 | +// future.set(new ArrayList<Campaign>()); |
| 2325 | + future.setException(new Throwable()); | ||
| 2001 | } | 2326 | } |
| 2002 | } | 2327 | } |
| 2003 | }); | 2328 | }); |
| ... | @@ -2006,7 +2331,8 @@ public class WarplyManager { | ... | @@ -2006,7 +2331,8 @@ public class WarplyManager { |
| 2006 | dynatraceEvent.setEventName("custom_error_campaigns_personalized_loyalty"); | 2331 | dynatraceEvent.setEventName("custom_error_campaigns_personalized_loyalty"); |
| 2007 | EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); | 2332 | EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); |
| 2008 | // receiver.onFailure(response.code()); | 2333 | // receiver.onFailure(response.code()); |
| 2009 | - future.set(new ArrayList<Campaign>()); | 2334 | +// future.set(new ArrayList<Campaign>()); |
| 2335 | + future.setException(new Throwable()); | ||
| 2010 | } | 2336 | } |
| 2011 | } | 2337 | } |
| 2012 | 2338 | ||
| ... | @@ -2016,7 +2342,8 @@ public class WarplyManager { | ... | @@ -2016,7 +2342,8 @@ public class WarplyManager { |
| 2016 | dynatraceEvent.setEventName("custom_error_campaigns_personalized_loyalty"); | 2342 | dynatraceEvent.setEventName("custom_error_campaigns_personalized_loyalty"); |
| 2017 | EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); | 2343 | EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); |
| 2018 | // receiver.onFailure(2); | 2344 | // receiver.onFailure(2); |
| 2019 | - future.set(new ArrayList<Campaign>()); | 2345 | +// future.set(new ArrayList<Campaign>()); |
| 2346 | + future.setException(new Throwable()); | ||
| 2020 | } | 2347 | } |
| 2021 | }); | 2348 | }); |
| 2022 | 2349 | ||
| ... | @@ -2093,7 +2420,8 @@ public class WarplyManager { | ... | @@ -2093,7 +2420,8 @@ public class WarplyManager { |
| 2093 | LoyaltySDKDynatraceEventModel dynatraceEvent = new LoyaltySDKDynatraceEventModel(); | 2420 | LoyaltySDKDynatraceEventModel dynatraceEvent = new LoyaltySDKDynatraceEventModel(); |
| 2094 | dynatraceEvent.setEventName("custom_error_available_coupons"); | 2421 | dynatraceEvent.setEventName("custom_error_available_coupons"); |
| 2095 | EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); | 2422 | EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); |
| 2096 | - future.set(new JSONObject()); | 2423 | +// future.set(new JSONObject()); |
| 2424 | + future.setException(new Throwable()); | ||
| 2097 | } | 2425 | } |
| 2098 | } | 2426 | } |
| 2099 | 2427 | ||
| ... | @@ -2102,7 +2430,8 @@ public class WarplyManager { | ... | @@ -2102,7 +2430,8 @@ public class WarplyManager { |
| 2102 | LoyaltySDKDynatraceEventModel dynatraceEvent = new LoyaltySDKDynatraceEventModel(); | 2430 | LoyaltySDKDynatraceEventModel dynatraceEvent = new LoyaltySDKDynatraceEventModel(); |
| 2103 | dynatraceEvent.setEventName("custom_error_available_coupons"); | 2431 | dynatraceEvent.setEventName("custom_error_available_coupons"); |
| 2104 | EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); | 2432 | EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); |
| 2105 | - future.set(new JSONObject()); | 2433 | +// future.set(new JSONObject()); |
| 2434 | + future.setException(new Throwable()); | ||
| 2106 | } | 2435 | } |
| 2107 | }); | 2436 | }); |
| 2108 | 2437 | ||
| ... | @@ -3630,7 +3959,8 @@ public class WarplyManager { | ... | @@ -3630,7 +3959,8 @@ public class WarplyManager { |
| 3630 | LoyaltySDKDynatraceEventModel dynatraceEvent = new LoyaltySDKDynatraceEventModel(); | 3959 | LoyaltySDKDynatraceEventModel dynatraceEvent = new LoyaltySDKDynatraceEventModel(); |
| 3631 | dynatraceEvent.setEventName("custom_error_couponsets_loyalty"); | 3960 | dynatraceEvent.setEventName("custom_error_couponsets_loyalty"); |
| 3632 | EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); | 3961 | EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); |
| 3633 | - future.set(new CouponsetsList()); | 3962 | +// future.set(new CouponsetsList()); |
| 3963 | + future.setException(new Throwable()); | ||
| 3634 | } | 3964 | } |
| 3635 | } | 3965 | } |
| 3636 | 3966 | ||
| ... | @@ -3639,7 +3969,8 @@ public class WarplyManager { | ... | @@ -3639,7 +3969,8 @@ public class WarplyManager { |
| 3639 | LoyaltySDKDynatraceEventModel dynatraceEvent = new LoyaltySDKDynatraceEventModel(); | 3969 | LoyaltySDKDynatraceEventModel dynatraceEvent = new LoyaltySDKDynatraceEventModel(); |
| 3640 | dynatraceEvent.setEventName("custom_error_couponsets_loyalty"); | 3970 | dynatraceEvent.setEventName("custom_error_couponsets_loyalty"); |
| 3641 | EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); | 3971 | EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); |
| 3642 | - future.set(new CouponsetsList()); | 3972 | +// future.set(new CouponsetsList()); |
| 3973 | + future.setException(new Throwable()); | ||
| 3643 | } | 3974 | } |
| 3644 | }); | 3975 | }); |
| 3645 | 3976 | ||
| ... | @@ -4149,7 +4480,8 @@ public class WarplyManager { | ... | @@ -4149,7 +4480,8 @@ public class WarplyManager { |
| 4149 | LoyaltySDKDynatraceEventModel dynatraceEvent = new LoyaltySDKDynatraceEventModel(); | 4480 | LoyaltySDKDynatraceEventModel dynatraceEvent = new LoyaltySDKDynatraceEventModel(); |
| 4150 | dynatraceEvent.setEventName("custom_error_shops_loyalty"); | 4481 | dynatraceEvent.setEventName("custom_error_shops_loyalty"); |
| 4151 | EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); | 4482 | EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); |
| 4152 | - future.set(new MerchantList()); | 4483 | +// future.set(new MerchantList()); |
| 4484 | + future.setException(new Throwable()); | ||
| 4153 | } | 4485 | } |
| 4154 | } | 4486 | } |
| 4155 | 4487 | ||
| ... | @@ -4158,7 +4490,8 @@ public class WarplyManager { | ... | @@ -4158,7 +4490,8 @@ public class WarplyManager { |
| 4158 | LoyaltySDKDynatraceEventModel dynatraceEvent = new LoyaltySDKDynatraceEventModel(); | 4490 | LoyaltySDKDynatraceEventModel dynatraceEvent = new LoyaltySDKDynatraceEventModel(); |
| 4159 | dynatraceEvent.setEventName("custom_error_shops_loyalty"); | 4491 | dynatraceEvent.setEventName("custom_error_shops_loyalty"); |
| 4160 | EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); | 4492 | EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); |
| 4161 | - future.set(new MerchantList()); | 4493 | +// future.set(new MerchantList()); |
| 4494 | + future.setException(new Throwable()); | ||
| 4162 | } | 4495 | } |
| 4163 | }); | 4496 | }); |
| 4164 | 4497 | ||
| ... | @@ -4310,9 +4643,7 @@ public class WarplyManager { | ... | @@ -4310,9 +4643,7 @@ public class WarplyManager { |
| 4310 | }); | 4643 | }); |
| 4311 | } | 4644 | } |
| 4312 | 4645 | ||
| 4313 | - private static ListenableFuture<CouponList> getCouponsUniversalRetro(ApiService service, int tries) { | 4646 | + private static ListenableFuture<CouponList> getCouponsUniversalRetro(ApiService service, int tries, SettableFuture<CouponList> future) { |
| 4314 | - SettableFuture<CouponList> future = SettableFuture.create(); | ||
| 4315 | - | ||
| 4316 | String timeStamp = DateFormat.format("yyyy-MM-dd hh:mm:ss", System.currentTimeMillis()).toString(); | 4647 | String timeStamp = DateFormat.format("yyyy-MM-dd hh:mm:ss", System.currentTimeMillis()).toString(); |
| 4317 | String apiKey = WarpUtils.getApiKey(Warply.getWarplyContext()); | 4648 | String apiKey = WarpUtils.getApiKey(Warply.getWarplyContext()); |
| 4318 | String webId = WarpUtils.getWebId(Warply.getWarplyContext()); | 4649 | String webId = WarpUtils.getWebId(Warply.getWarplyContext()); |
| ... | @@ -4422,13 +4753,14 @@ public class WarplyManager { | ... | @@ -4422,13 +4753,14 @@ public class WarplyManager { |
| 4422 | public void onSuccess(JSONObject result) { | 4753 | public void onSuccess(JSONObject result) { |
| 4423 | int status = result.optInt("status", 2); | 4754 | int status = result.optInt("status", 2); |
| 4424 | if (status == 1) | 4755 | if (status == 1) |
| 4425 | - getCouponsUniversalRetro(service, tries/*, receiver*/); | 4756 | + getCouponsUniversalRetro(service, tries/*, receiver*/, future); |
| 4426 | else { | 4757 | else { |
| 4427 | // receiver.onFailure(status); | 4758 | // receiver.onFailure(status); |
| 4428 | if (tries < MAX_RETRIES) { | 4759 | if (tries < MAX_RETRIES) { |
| 4429 | - getCouponsUniversalRetro(service, (tries + 1)); | 4760 | + getCouponsUniversalRetro(service, (tries + 1), future); |
| 4430 | } else { | 4761 | } else { |
| 4431 | - future.set(new CouponList()); | 4762 | +// future.set(new CouponList()); |
| 4763 | + future.setException(new Throwable()); | ||
| 4432 | } | 4764 | } |
| 4433 | } | 4765 | } |
| 4434 | } | 4766 | } |
| ... | @@ -4437,9 +4769,10 @@ public class WarplyManager { | ... | @@ -4437,9 +4769,10 @@ public class WarplyManager { |
| 4437 | public void onFailure(int errorCode) { | 4769 | public void onFailure(int errorCode) { |
| 4438 | // receiver.onFailure(errorCode); | 4770 | // receiver.onFailure(errorCode); |
| 4439 | if (tries < MAX_RETRIES) { | 4771 | if (tries < MAX_RETRIES) { |
| 4440 | - getCouponsUniversalRetro(service, (tries + 1)); | 4772 | + getCouponsUniversalRetro(service, (tries + 1), future); |
| 4441 | } else { | 4773 | } else { |
| 4442 | - future.set(new CouponList()); | 4774 | +// future.set(new CouponList()); |
| 4775 | + future.setException(new Throwable()); | ||
| 4443 | } | 4776 | } |
| 4444 | } | 4777 | } |
| 4445 | }); | 4778 | }); |
| ... | @@ -4447,7 +4780,8 @@ public class WarplyManager { | ... | @@ -4447,7 +4780,8 @@ public class WarplyManager { |
| 4447 | LoyaltySDKDynatraceEventModel dynatraceEvent = new LoyaltySDKDynatraceEventModel(); | 4780 | LoyaltySDKDynatraceEventModel dynatraceEvent = new LoyaltySDKDynatraceEventModel(); |
| 4448 | dynatraceEvent.setEventName("custom_error_user_coupons_loyalty"); | 4781 | dynatraceEvent.setEventName("custom_error_user_coupons_loyalty"); |
| 4449 | EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); | 4782 | EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); |
| 4450 | - future.set(new CouponList()); | 4783 | +// future.set(new CouponList()); |
| 4784 | + future.setException(new Throwable()); | ||
| 4451 | } | 4785 | } |
| 4452 | } | 4786 | } |
| 4453 | 4787 | ||
| ... | @@ -4456,7 +4790,8 @@ public class WarplyManager { | ... | @@ -4456,7 +4790,8 @@ public class WarplyManager { |
| 4456 | LoyaltySDKDynatraceEventModel dynatraceEvent = new LoyaltySDKDynatraceEventModel(); | 4790 | LoyaltySDKDynatraceEventModel dynatraceEvent = new LoyaltySDKDynatraceEventModel(); |
| 4457 | dynatraceEvent.setEventName("custom_error_user_coupons_loyalty"); | 4791 | dynatraceEvent.setEventName("custom_error_user_coupons_loyalty"); |
| 4458 | EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); | 4792 | EventBus.getDefault().post(new WarplyEventBusManager(dynatraceEvent)); |
| 4459 | - future.set(new CouponList()); | 4793 | +// future.set(new CouponList()); |
| 4794 | + future.setException(new Throwable()); | ||
| 4460 | } | 4795 | } |
| 4461 | }); | 4796 | }); |
| 4462 | 4797 | ... | ... |
-
Please register or login to post a comment