Panagiotis Triantafyllou

sm pass fixes and changes

......@@ -26,6 +26,7 @@ import ly.warp.sdk.fragments.MyRewardsFragment;
import ly.warp.sdk.io.callbacks.CallbackReceiver;
import ly.warp.sdk.io.models.Campaign;
import ly.warp.sdk.io.models.CouponList;
import ly.warp.sdk.io.models.MarketPassDetailsModel;
import ly.warp.sdk.io.models.UnifiedCoupon;
import ly.warp.sdk.utils.managers.WarplyManager;
......@@ -58,6 +59,7 @@ public class BaseFragmentActivity extends FragmentActivity implements Navigation
WarplyManager.getUserCouponsWithCouponsets(mUserCouponsReceiver);
WarplyManager.getCampaigns(mCampaignsCallback);
WarplyManager.getUnifiedCouponsDeals(mUnifiedCallback);
WarplyManager.getMarketPassDetails(mMarketPassDetailsCallback);
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
......@@ -191,4 +193,16 @@ public class BaseFragmentActivity extends FragmentActivity implements Navigation
Toast.makeText(BaseFragmentActivity.this, "Unified Coupons Error", Toast.LENGTH_SHORT).show();
}
};
private final CallbackReceiver<MarketPassDetailsModel> mMarketPassDetailsCallback = new CallbackReceiver<MarketPassDetailsModel>() {
@Override
public void onSuccess(MarketPassDetailsModel result) {
Toast.makeText(BaseFragmentActivity.this, "Market Pass Success", Toast.LENGTH_SHORT).show();
}
@Override
public void onFailure(int errorCode) {
Toast.makeText(BaseFragmentActivity.this, "Market Pass Error", Toast.LENGTH_SHORT).show();
}
};
}
......
......@@ -91,7 +91,8 @@ public class MarketPassActivity extends Activity implements View.OnClickListener
WarpUtils.renderCustomFont(this, R.font.peridot_semi_bold, mTvButtonMap);
mPbLoading.setVisibility(View.VISIBLE);
WarplyManager.getMarketPassDetails(mMarketPassDetailsCallback);
// WarplyManager.getMarketPassDetails(mMarketPassDetailsCallback);
initViews();
}
@Override
......@@ -147,42 +148,57 @@ public class MarketPassActivity extends Activity implements View.OnClickListener
mIvInfo.setOnClickListener(this);
mLlMap.setOnClickListener(this);
if (mMarketPassDetails != null)
createBarcodeBitmap(mMarketPassDetails.getBarcode());
if (mMarketPassDetails != null) {
String passValue = String.format(Locale.GERMAN, "%.02f", mMarketPassDetails.getTotalDiscount());
SpannableStringBuilder sBuilder = new SpannableStringBuilder();
sBuilder.append(String.format(getString(R.string.cos_market_pass_coupons_title), String.valueOf(mMarketPassDetails.getTotalDiscount())));
Typeface typefaceBold = ResourcesCompat.getFont(this, R.font.peridot_bold);
CustomTypefaceSpan typefaceBoldSpan = new CustomTypefaceSpan(typefaceBold);
sBuilder.setSpan(typefaceBoldSpan, 29, 30 + passValue.length() + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
mTvPassCount.setText(sBuilder, TextView.BufferType.SPANNABLE);
}
if (mMarketPassDetails != null) {
for (int i = 0; i < mMarketPassDetails.getSupermarkets().size(); i++) {
int tempIndex = i;
LayoutInflater vi = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
RelativeLayout v = (RelativeLayout) vi.inflate(R.layout.item_sheet_image, null);
ImageView merchantLogo = (ImageView) v.findViewById(R.id.iv_market_logo);
Glide.with(this)
if(WarplyManagerHelper.getMarketPassDetails() != null) {
// if (mMarketPassDetails != null)
createBarcodeBitmap(WarplyManagerHelper.getMarketPassDetails().getBarcode());
// if (mMarketPassDetails != null) {
String passValue = String.format(Locale.GERMAN, "%.2f", WarplyManagerHelper.getMarketPassDetails().getTotalDiscount());
String fullText = String.format(getString(R.string.cos_market_pass_coupons_title), passValue);
int startIndex = fullText.indexOf(passValue);
int endIndex = startIndex + passValue.length();
SpannableStringBuilder sBuilder = new SpannableStringBuilder(fullText);
Typeface typefaceBold = ResourcesCompat.getFont(this, R.font.peridot_bold);
CustomTypefaceSpan typefaceBoldSpan = new CustomTypefaceSpan(typefaceBold);
sBuilder.setSpan(typefaceBoldSpan, startIndex, endIndex, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
mTvPassCount.setText(sBuilder, TextView.BufferType.SPANNABLE);
// }
// if (mMarketPassDetails != null) {
for (int i = 0; i < WarplyManagerHelper.getMarketPassDetails().getSupermarkets().size(); i++) {
int tempIndex = i;
LayoutInflater vi = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
RelativeLayout v = (RelativeLayout) vi.inflate(R.layout.item_sheet_image, null);
ImageView merchantLogo = (ImageView) v.findViewById(R.id.iv_market_logo);
Glide.with(this)
// .setDefaultRequestOptions(
// RequestOptions
// .placeholderOf(R.drawable.ic_default_contact_photo)
// .error(R.drawable.ic_default_contact_photo))
.load(mMarketPassDetails.getSupermarkets().get(i).getLogo())
.diskCacheStrategy(DiskCacheStrategy.DATA)
.into(merchantLogo);
mLlParentLogosView.addView(v, tempIndex, new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
.load(WarplyManagerHelper.getMarketPassDetails().getSupermarkets().get(i).getLogo())
.diskCacheStrategy(DiskCacheStrategy.DATA)
.into(merchantLogo);
mLlParentLogosView.addView(v, tempIndex, new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
}
// }
mCvMarketDetails.setVisibility(View.VISIBLE);
mPbLoading.setVisibility(View.GONE);
} else {
mPbLoading.setVisibility(View.GONE);
if (!isFinishing()) {
mAlertDialog = new AlertDialog.Builder(MarketPassActivity.this)
.setTitle(R.string.cos_dlg_error_subtitle)
.setPositiveButton(R.string.cos_dlg_positive_button2, (dialogPositive, whichPositive) -> {
dialogPositive.dismiss();
})
.show();
}
}
mCvMarketDetails.setVisibility(View.VISIBLE);
}
private void createBarcodeBitmap(String barcodeString) {
......@@ -209,26 +225,26 @@ public class MarketPassActivity extends Activity implements View.OnClickListener
// Inner and Anonymous Classes
// ===========================================================
private final CallbackReceiver<MarketPassDetailsModel> mMarketPassDetailsCallback = new CallbackReceiver<MarketPassDetailsModel>() {
@Override
public void onSuccess(MarketPassDetailsModel result) {
mPbLoading.setVisibility(View.GONE);
mMarketPassDetails = result;
initViews();
}
@Override
public void onFailure(int errorCode) {
mPbLoading.setVisibility(View.GONE);
if (!isFinishing()) {
mAlertDialog = new AlertDialog.Builder(MarketPassActivity.this)
.setTitle(R.string.cos_dlg_error_subtitle)
.setPositiveButton(R.string.cos_dlg_positive_button2, (dialogPositive, whichPositive) -> {
dialogPositive.dismiss();
})
.show();
}
}
};
// private final CallbackReceiver<MarketPassDetailsModel> mMarketPassDetailsCallback = new CallbackReceiver<MarketPassDetailsModel>() {
// @Override
// public void onSuccess(MarketPassDetailsModel result) {
// mPbLoading.setVisibility(View.GONE);
// mMarketPassDetails = result;
// initViews();
// }
//
// @Override
// public void onFailure(int errorCode) {
// mPbLoading.setVisibility(View.GONE);
//
// if (!isFinishing()) {
// mAlertDialog = new AlertDialog.Builder(MarketPassActivity.this)
// .setTitle(R.string.cos_dlg_error_subtitle)
// .setPositiveButton(R.string.cos_dlg_positive_button2, (dialogPositive, whichPositive) -> {
// dialogPositive.dismiss();
// })
// .show();
// }
// }
// };
}
......
......@@ -27,6 +27,7 @@ import ly.warp.sdk.db.WarplyDBHelper;
import ly.warp.sdk.io.callbacks.CallbackReceiver;
import ly.warp.sdk.io.models.Campaign;
import ly.warp.sdk.io.models.CouponList;
import ly.warp.sdk.io.models.MarketPassDetailsModel;
import ly.warp.sdk.io.models.UnifiedCoupon;
import ly.warp.sdk.utils.WarpJSONParser;
import ly.warp.sdk.utils.WarplyManagerHelper;
......@@ -128,6 +129,7 @@ public class HomeFragment extends Fragment implements View.OnClickListener, Swip
WarplyManager.getUserCouponsWithCouponsets(mUserCouponsReceiver);
WarplyManager.getCampaigns(mCampaignsCallback);
WarplyManager.getUnifiedCouponsDeals(mUnifiedCallback);
WarplyManager.getMarketPassDetails(mMarketPassDetailsCallback);
mSwipeRefresh.setRefreshing(false);
} else {
mSwipeRefresh.setRefreshing(false);
......@@ -239,6 +241,7 @@ public class HomeFragment extends Fragment implements View.OnClickListener, Swip
WarplyManager.getUserCouponsWithCouponsets(mUserCouponsReceiver);
WarplyManager.getCampaigns(mCampaignsCallback);
WarplyManager.getUnifiedCouponsDeals(mUnifiedCallback);
WarplyManager.getMarketPassDetails(mMarketPassDetailsCallback);
}
@Override
......@@ -247,4 +250,16 @@ public class HomeFragment extends Fragment implements View.OnClickListener, Swip
Toast.makeText(getActivity(), "LOGIN ERROR", Toast.LENGTH_SHORT).show();
}
};
private final CallbackReceiver<MarketPassDetailsModel> mMarketPassDetailsCallback = new CallbackReceiver<MarketPassDetailsModel>() {
@Override
public void onSuccess(MarketPassDetailsModel result) {
Toast.makeText(getActivity(), "Market Pass Success", Toast.LENGTH_SHORT).show();
}
@Override
public void onFailure(int errorCode) {
Toast.makeText(getActivity(), "Market Pass Error", Toast.LENGTH_SHORT).show();
}
};
}
\ No newline at end of file
......
......@@ -71,6 +71,7 @@ import ly.warp.sdk.io.models.LoyaltyBadgeModel;
import ly.warp.sdk.io.models.LoyaltyContextualOfferModel;
import ly.warp.sdk.io.models.LoyaltyGiftsForYouPackage;
import ly.warp.sdk.io.models.LoyaltySDKFirebaseEventModel;
import ly.warp.sdk.io.models.MarketPassDetailsModel;
import ly.warp.sdk.io.models.MerchantList;
import ly.warp.sdk.io.models.PushCampaign;
import ly.warp.sdk.io.models.UnifiedCoupon;
......@@ -128,6 +129,7 @@ public class WarplyManagerHelper {
private static ArrayList<UnifiedCoupon> mMarketCoupons = new ArrayList<>(),
mMarketCouponsList = new ArrayList<>();
private static String showVouchersBanner = "";
private static MarketPassDetailsModel mMarketPassDetails;
// ===========================================================
// Methods for/from SuperClass/Interfaces
......@@ -137,6 +139,14 @@ public class WarplyManagerHelper {
// Methods
// ===========================================================
public static MarketPassDetailsModel getMarketPassDetails() {
return mMarketPassDetails;
}
public static void setMarketPassDetails(MarketPassDetailsModel marketPassDetails) {
mMarketPassDetails = marketPassDetails;
}
public static String openSupermarketCampaign(Context context) {
// if (WarplyProperty.getAppUuid(context).equals("f83dfde1145e4c2da69793abb2f579af")) {
// return "https://dev.supermarketdeals.eu/map";
......
......@@ -5289,6 +5289,7 @@ public class WarplyManager {
Futures.addCallback(mergedResultFuture, new FutureCallback<MarketPassDetailsModel>() {
@Override
public void onSuccess(MarketPassDetailsModel mergedResult) {
WarplyManagerHelper.setMarketPassDetails(mergedResult);
executorService.shutdownNow();
new Handler(Looper.getMainLooper()).post(() -> receiver.onSuccess(mergedResult));
}
......