Panagiotis Triantafyllou

native telco flow wip

......@@ -103,6 +103,11 @@
android:screenOrientation="portrait" />
<activity
android:name="ly.warp.sdk.activities.TelcoActivity"
android:exported="false"
android:screenOrientation="portrait" />
<activity
android:name="ly.warp.sdk.dexter.PermissionsActivity"
android:exported="false"
android:launchMode="singleInstance"
......
......@@ -71,7 +71,7 @@ public class BaseFragmentActivity extends FragmentActivity implements Navigation
if (!Thread.currentThread().isInterrupted()) {
// WarplyManager.getConsumer(new WarplyConsumerRequest(), mConsumerReceiver);
Warply.getInbox(new WarplyInboxRequest().setUseCache(false), mInboxReceiver);
// WarplyManager.getCampaigns(new WarplyGetCampaignsRequest().setLanguage("el"), mCampaignsCallback);
// WarplyManager.getCampaigns(new WarplyGetCampaignsRequest().setLanguage("en"), mCampaignsCallback);
}
}).start();
}
......
......@@ -179,6 +179,17 @@ public class GiftsForYouActivity extends Activity implements View.OnClickListene
try {
JSONObject extraFields = WarpJSONParser.getJSONFromString(dataItem.getCampaign().getExtraFields());
if (extraFields != null) {
if (extraFields.has("type") && extraFields.optString("type").equals("telco")) {
for (LoyaltyContextualOfferModel ccms : WarplyManagerHelper.getCCMSLoyaltyCampaigns()) {
if (ccms.getLoyaltyCampaignId().equals(dataItem.getCampaign().getSessionUUID())) {
Intent intent = new Intent(GiftsForYouActivity.this, TelcoActivity.class);
intent.putExtra("ccms", ccms);
startActivity(intent);
break;
}
}
return;
}
if (extraFields.has("ccms_offer") && extraFields.optString("ccms_offer").equals("true")) {
for (LoyaltyContextualOfferModel ccms : WarplyManagerHelper.getCCMSLoyaltyCampaigns()) {
if (ccms.getLoyaltyCampaignId().equals(dataItem.getCampaign().getSessionUUID())) {
......@@ -260,6 +271,17 @@ public class GiftsForYouActivity extends Activity implements View.OnClickListene
try {
JSONObject extraFields = WarpJSONParser.getJSONFromString(dataItem.getCampaign().getExtraFields());
if (extraFields != null) {
if (extraFields.has("type") && extraFields.optString("type").equals("telco")) {
for (LoyaltyContextualOfferModel ccms : WarplyManagerHelper.getCCMSLoyaltyCampaigns()) {
if (ccms.getLoyaltyCampaignId().equals(dataItem.getCampaign().getSessionUUID())) {
Intent intent = new Intent(GiftsForYouActivity.this, TelcoActivity.class);
intent.putExtra("ccms", ccms);
startActivity(intent);
break;
}
}
return;
}
if (extraFields.has("ccms_offer") && extraFields.optString("ccms_offer").equals("true")) {
for (LoyaltyContextualOfferModel ccms : WarplyManagerHelper.getCCMSLoyaltyCampaigns()) {
if (ccms.getLoyaltyCampaignId().equals(dataItem.getCampaign().getSessionUUID())) {
......
package ly.warp.sdk.activities;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
......@@ -122,6 +123,17 @@ public class MoreForYouActivity extends Activity implements View.OnClickListener
try {
JSONObject extraFields = WarpJSONParser.getJSONFromString(gift.getExtraFields());
if (extraFields != null) {
if (extraFields.has("type") && extraFields.optString("type").equals("telco")) {
for (LoyaltyContextualOfferModel ccms : WarplyManagerHelper.getCCMSLoyaltyCampaigns()) {
if (ccms.getLoyaltyCampaignId().equals(gift.getSessionUUID())) {
Intent intent = new Intent(MoreForYouActivity.this, TelcoActivity.class);
intent.putExtra("ccms", ccms);
startActivity(intent);
break;
}
}
return;
}
if (extraFields.has("ccms_offer") && extraFields.optString("ccms_offer").equals("true")) {
for (LoyaltyContextualOfferModel ccms : WarplyManagerHelper.getCCMSLoyaltyCampaigns()) {
if (ccms.getLoyaltyCampaignId().equals(gift.getSessionUUID())) {
......@@ -172,6 +184,17 @@ public class MoreForYouActivity extends Activity implements View.OnClickListener
try {
JSONObject extraFields = WarpJSONParser.getJSONFromString(gift.getExtraFields());
if (extraFields != null) {
if (extraFields.has("type") && extraFields.optString("type").equals("telco")) {
for (LoyaltyContextualOfferModel ccms : WarplyManagerHelper.getCCMSLoyaltyCampaigns()) {
if (ccms.getLoyaltyCampaignId().equals(gift.getSessionUUID())) {
Intent intent = new Intent(MoreForYouActivity.this, TelcoActivity.class);
intent.putExtra("ccms", ccms);
startActivity(intent);
break;
}
}
return;
}
if (extraFields.has("ccms_offer") && extraFields.optString("ccms_offer").equals("true")) {
for (LoyaltyContextualOfferModel ccms : WarplyManagerHelper.getCCMSLoyaltyCampaigns()) {
if (ccms.getLoyaltyCampaignId().equals(gift.getSessionUUID())) {
......
package ly.warp.sdk.activities;
import android.app.Activity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import ly.warp.sdk.R;
import ly.warp.sdk.io.models.LoyaltyContextualOfferModel;
public class TelcoActivity extends Activity implements View.OnClickListener {
// ===========================================================
// Constants
// ===========================================================
// ===========================================================
// Fields
// ===========================================================
private ImageView mIvBack, mIvCampaignPhoto;
private TextView mTvCampaignTitle, mTvCampaignSubtitle;
private LoyaltyContextualOfferModel mCCMS;
private LinearLayout mLlActivateOffer;
// ===========================================================
// Methods for/from SuperClass/Interfaces
// ===========================================================
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_telco);
mCCMS = (LoyaltyContextualOfferModel) getIntent().getSerializableExtra("ccms");
mIvBack = findViewById(R.id.iv_telco_back);
mTvCampaignTitle = findViewById(R.id.textView13);
mIvCampaignPhoto = findViewById(R.id.imageView6);
mTvCampaignSubtitle = findViewById(R.id.textView14);
mLlActivateOffer = findViewById(R.id.ll_activate_button);
initViews();
}
@Override
public void onResume() {
super.onResume();
}
@Override
public void onClick(View view) {
if (view.getId() == R.id.iv_telco_back) {
onBackPressed();
return;
}
if (view.getId() == R.id.ll_activate_button) {
//TODO: make submitOrder
}
}
// ===========================================================
// Methods
// ===========================================================
private void initViews() {
mTvCampaignTitle.setText(mCCMS.getTitle());
mTvCampaignSubtitle.setText(mCCMS.getSubtitle());
if (!TextUtils.isEmpty(mCCMS.getImageUrl())) {
Glide.with(this)
// .setDefaultRequestOptions(
// RequestOptions
// .placeholderOf(R.drawable.ic_default_contact_photo)
// .error(R.drawable.ic_default_contact_photo))
.load(mCCMS.getImageUrl())
.diskCacheStrategy(DiskCacheStrategy.DATA)
.into(mIvCampaignPhoto);
} else {
Glide.with(this)
.load(R.drawable.ic_cosmote_logo_horizontal_grey)
.into(mIvCampaignPhoto);
}
mIvBack.setOnClickListener(this);
mLlActivateOffer.setOnClickListener(this);
}
// ===========================================================
// Inner and Anonymous Classes
// ===========================================================
}
......@@ -3,13 +3,14 @@ package ly.warp.sdk.io.models;
import org.json.JSONArray;
import org.json.JSONObject;
import java.io.Serializable;
import java.util.ArrayList;
/**
* Created by Panagiotis Triantafyllou on 20/Απρ/2022.
*/
public class LoyaltyContextualOfferModel {
public class LoyaltyContextualOfferModel implements Serializable {
private String sessionId;
private ArrayList<String> eligibleAssets;
private String id;
......@@ -115,6 +116,10 @@ public class LoyaltyContextualOfferModel {
this.wave = jobj.optString("wave");
this.validity = jobj.optString("validity");
this.offerAudienceLevel = jobj.optString("offerAudienceLevel");
this.imageUrl = jobj.optString("imageUrl");
this.title = jobj.optString("title");
this.subtitle = jobj.optString("subtitle");
this.description = jobj.optString("description");
}
}
......
......@@ -129,7 +129,7 @@ public class ActiveCouponAdapter extends RecyclerView.Adapter<ActiveCouponAdapte
else
holder.tvCouponDate.setText(String.format(mContext.getString(R.string.cos_coupon_date), simpleDateFormat.format(newDate != null ? newDate : "")));
holder.tvCouponValue.setText(couponItem.getDiscount());
holder.tvCouponValue.setText(couponItem.getDiscount() + mContext.getResources().getString(R.string.euro));
holder.itemView.setOnClickListener(v -> onClickSubject.onNext(couponItem));
}
}
......
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_loyalty_wallet_header"
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@android:color/white">
<ImageView
android:id="@+id/iv_telco_back"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginStart="16dp"
android:src="@drawable/ic_back"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/grey"
android:textSize="17sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:layout_below="@+id/cl_loyalty_wallet_header">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_loyalty_info_view_inner"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/shape_cos_loyalty_white"
android:paddingBottom="48dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<com.github.siyamed.shapeimageview.mask.PorterShapeImageView
android:id="@+id/imageView6"
android:layout_width="match_parent"
android:layout_height="224dp"
android:layout_marginTop="4dp"
android:scaleType="centerCrop"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:siShape="@drawable/shape_top_left_rounded"
tools:src="@drawable/carousel_banner" />
<TextView
android:id="@+id/textView13"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:gravity="center"
android:paddingHorizontal="32dp"
android:textColor="#415564"
android:textSize="18sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.509"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView6"
tools:text="Πάρε δωρεάν μηνιαία πακέτα με πάνες στα supermarket Σκλαβενίτης!" />
<TextView
android:id="@+id/textView14"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:gravity="center"
android:paddingHorizontal="32dp"
android:textColor="#415564"
android:textSize="16sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView13" />
<LinearLayout
android:id="@+id/ll_activate_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="32dp"
android:background="@drawable/selector_button_green"
android:gravity="center"
android:orientation="horizontal"
android:paddingHorizontal="16dp"
android:paddingVertical="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/cos_dlg_positive_button"
android:textColor="@color/white"
android:textFontWeight="600"
android:textSize="17dp" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>
</RelativeLayout>