导航菜单

页面标题

页面副标题

Mint v5.7.3 - OfferBannerHandler.java 源代码

正在查看: Mint v5.7.3 应用的 OfferBannerHandler.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.htmedia.mint.htsubscription.deviceidtracking;

import android.content.Context;
import android.content.Intent;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.google.firebase.remoteconfig.RemoteConfigConstants;
import com.htmedia.mint.AppController;
import com.htmedia.mint.R;
import com.htmedia.mint.htsubscription.CheckSubscriptionFromLocal;
import com.htmedia.mint.htsubscription.ConvertMintPlanIntoZSPlan;
import com.htmedia.mint.htsubscription.GetUserSubscriptionDetail;
import com.htmedia.mint.htsubscription.ParseSubscriptionDetail;
import com.htmedia.mint.htsubscription.SubscriptionPlanSingleton;
import com.htmedia.mint.htsubscription.TokenGenerater;
import com.htmedia.mint.htsubscription.WebEngageAnalytices;
import com.htmedia.mint.htsubscription.deviceidtracking.pojo.DeviceEligibilityData;
import com.htmedia.mint.pojo.Content;
import com.htmedia.mint.pojo.config.Config;
import com.htmedia.mint.pojo.mintsubscribenowmodel.SubscribeNowPerant;
import com.htmedia.mint.pojo.razorpay.CreateOrder;
import com.htmedia.mint.pojo.razorpay.Hostedpage;
import com.htmedia.mint.pojo.subscription.plandetail.htapi.MintPlan;
import com.htmedia.mint.pojo.subscription.plandetail.htapi.MintPlanWithZSPlan;
import com.htmedia.mint.pojo.subscription.plandetail.htapi.MintServerPlan;
import com.htmedia.mint.pojo.subscription.plandetail.htapi.SubsPlans;
import com.htmedia.mint.pojo.subscription.userdetail.MintSubscriptionDetail;
import com.htmedia.mint.razorpay.presenter.OrderCreatePresenter;
import com.htmedia.mint.razorpay.presenter.OrderCreateViewInterface;
import com.htmedia.mint.razorpay.ui.SubscriptionCheckOutPage;
import com.htmedia.mint.ui.activity.HomeActivity;
import com.htmedia.mint.utils.f0;
import com.htmedia.mint.utils.n;
import com.htmedia.mint.utils.q;
import com.htmedia.sso.activities.LoginRegisterActivity;
import com.htmedia.sso.helpers.SSOSingleton;
import f6.l;
import java.util.HashMap;
import java.util.List;
import k6.c1;
import k6.d1;
import org.json.JSONObject;

public class OfferBannerHandler implements View.OnClickListener, OrderCreateViewInterface, d1 {
    public static final int OFFER_PLAN = 2024;
    Button btnAvailOffer;
    HomeActivity homeActivity;
    ImageView imgViewOfferBannerCross;
    LinearLayout llBanner;
    private MintPlanWithZSPlan mintPlanWithZSPlan;
    TextView textViewAvailOffer;
    View viewDivider;

    public OfferBannerHandler(HomeActivity homeActivity) {
        this.homeActivity = homeActivity;
        this.btnAvailOffer = (Button) homeActivity.findViewById(R.id.btnAvailOffer);
        this.textViewAvailOffer = (TextView) homeActivity.findViewById(R.id.txtAvailOffer);
        this.imgViewOfferBannerCross = (ImageView) homeActivity.findViewById(R.id.imgViewDeviceIdBannerCross);
        this.viewDivider = homeActivity.findViewById(R.id.bannerDivider);
        this.llBanner = (LinearLayout) homeActivity.findViewById(R.id.llAvailOffer);
        this.btnAvailOffer.setOnClickListener(this);
        this.imgViewOfferBannerCross.setOnClickListener(this);
        DeviceEligibilityData deviceEligibilityData = OfferBannerSingleton.getInstance().getDeviceEligibilityData();
        if (deviceEligibilityData != null) {
            int intValue = deviceEligibilityData.getDays().intValue();
            int subscriptionAmount = (int) deviceEligibilityData.getSubscriptionAmount();
            if (intValue > 1) {
                if (subscriptionAmount > 0) {
                    this.textViewAvailOffer.setText(String.format("Enjoy Mint Premium for %1$s days for just ₹%2$s", Integer.valueOf(intValue), Integer.valueOf(subscriptionAmount)));
                    return;
                } else {
                    this.textViewAvailOffer.setText(String.format("Enjoy Mint Premium for %1$s days", Integer.valueOf(intValue)));
                    return;
                }
            }
            if (subscriptionAmount > 0) {
                this.textViewAvailOffer.setText(String.format("Enjoy Mint Premium for %1$s day for just ₹%2$s", Integer.valueOf(intValue), Integer.valueOf(subscriptionAmount)));
            } else {
                this.textViewAvailOffer.setText(String.format("Enjoy Mint Premium for %1$s day", Integer.valueOf(intValue)));
            }
        }
    }

    private void avialOfferClick() {
        String G1 = f0.G1(this.homeActivity, "userName");
        OfferBannerSingleton.getInstance().setFunnelEntry("Campaign Subs banner");
        OfferBannerSingleton.getInstance().setEventName("campaign_subs_success_banner");
        n4.b.K("campaign_subs_login_banner", OfferBannerSingleton.getInstance().getDeviceEligibilityData() != null ? OfferBannerSingleton.getInstance().getDeviceEligibilityData().getOfferPlanCode() : "", "Campaign Subs banner");
        if (TextUtils.isEmpty(G1)) {
            openLoginPage();
        } else {
            fetchPlanFromServer();
        }
    }

    private MintPlanWithZSPlan convertMintPlanIntoZOHOPlan(List<SubsPlans> list) {
        String offerPlanCode = OfferBannerSingleton.getInstance().getDeviceEligibilityData().getOfferPlanCode();
        Config g = AppController.j().g();
        MintPlanWithZSPlan convertMintPlanIntoZSPlan = ConvertMintPlanIntoZSPlan.convertMintPlanIntoZSPlan((g == null || g.getSso() == null) ? "" : g.getAdFreeSubscription().getAdFreeValue(), offerPlanCode, list);
        if (convertMintPlanIntoZSPlan != null && convertMintPlanIntoZSPlan.getSubsPlans() != null && convertMintPlanIntoZSPlan.getSubsPlans().getPlanDiscount() != null) {
            convertMintPlanIntoZSPlan.setCouponApplied(false);
            convertMintPlanIntoZSPlan.setCouponCode("");
            convertMintPlanIntoZSPlan.setAdFreePlan(true);
            SubscriptionPlanSingleton.getInstance().setMintPlanWithZSPlan(convertMintPlanIntoZSPlan);
            double priceAfterDiscount = convertMintPlanIntoZSPlan.getSubsPlans().getPlanDiscount().getPriceAfterDiscount();
            String currencySymbol = convertMintPlanIntoZSPlan.getSubsPlans().getCurrencySymbol();
            convertMintPlanIntoZSPlan.setDiscountPrice(priceAfterDiscount);
            convertMintPlanIntoZSPlan.setFormatedDiscountPrice(currencySymbol + priceAfterDiscount);
        }
        return convertMintPlanIntoZSPlan;
    }

    private void createOffer() {
        try {
            MintSubscriptionDetail userInfo = getUserInfo();
            JSONObject jSONObject = new JSONObject();
            JSONObject jSONObject2 = new JSONObject();
            JSONObject jSONObject3 = new JSONObject();
            jSONObject3.put("platform", "Android");
            jSONObject3.put("device_id", f6.d.b(this.homeActivity));
            jSONObject3.put("device_type", "Android");
            String mobile = userInfo.getMobile();
            String str = "";
            if (!TextUtils.isEmpty(mobile) && mobile.contains("+")) {
                mobile = mobile.replace("+", "").trim();
            }
            jSONObject2.put("mobile", mobile);
            jSONObject2.put("displayName", userInfo.getDisplayName());
            jSONObject2.put("salutation", userInfo.getSalutation());
            jSONObject2.put("firstName", userInfo.getFirstName());
            jSONObject2.put("lastName", userInfo.getLastName());
            jSONObject2.put("email", userInfo.getEmail());
            jSONObject2.put("id", userInfo.getId());
            jSONObject2.put("device_details", jSONObject3);
            jSONObject.put("planCode", OfferBannerSingleton.getInstance().getDeviceEligibilityData().getOfferPlanCode());
            jSONObject.put(RemoteConfigConstants.RequestFieldKey.COUNTRY_CODE, "IN");
            jSONObject.put("action", "subscribe");
            jSONObject.put("partner", "Campaign");
            jSONObject.put("redirectionUrl", "");
            jSONObject.put("lastAccessUrl", "https://www.livemint.com/");
            jSONObject.put("customer", jSONObject2);
            String doGenerateToken = TokenGenerater.doGenerateToken(jSONObject.toString());
            HashMap hashMap = new HashMap();
            hashMap.put("ProductId", this.homeActivity.getResources().getString(R.string.zs_product_id));
            hashMap.put("Ht-subscription-signature", doGenerateToken);
            Config g = AppController.j().g();
            if (g != null && g.getSubscription() != null) {
                str = g.getSubscription().getCreateSubByOfferURL();
            }
            new OrderCreatePresenter(this.homeActivity, this).createOrder(1, "OrderApi", str, jSONObject, hashMap, false, true);
        } catch (Exception unused) {
        }
    }

    private MintSubscriptionDetail getUserInfo() {
        MintSubscriptionDetail mintSubscriptionDetail = new MintSubscriptionDetail();
        mintSubscriptionDetail.setId(f0.G1(this.homeActivity, "userClient"));
        String G1 = f0.G1(this.homeActivity, "userName");
        mintSubscriptionDetail.setEmail(f0.F1(this.homeActivity));
        mintSubscriptionDetail.setSalutation("");
        if (TextUtils.isEmpty(G1)) {
            mintSubscriptionDetail.setDisplayName("");
            mintSubscriptionDetail.setFirstName("");
            mintSubscriptionDetail.setLastName("");
        } else {
            mintSubscriptionDetail.setDisplayName(G1);
            if (G1.contains(" ")) {
                String substring = G1.substring(G1.lastIndexOf(" "));
                if (!TextUtils.isEmpty(substring)) {
                    substring = substring.trim();
                }
                mintSubscriptionDetail.setFirstName(G1.substring(0, G1.lastIndexOf(" ")));
                mintSubscriptionDetail.setLastName(substring);
            } else {
                mintSubscriptionDetail.setFirstName(G1);
                mintSubscriptionDetail.setLastName(G1);
            }
        }
        String G12 = f0.G1(this.homeActivity, "userPhoneNumber");
        if (!TextUtils.isEmpty(G12) && !G12.contains("+")) {
            G12 = "+" + G12;
        }
        if (TextUtils.isEmpty(G12)) {
            mintSubscriptionDetail.setMobile("");
        } else {
            mintSubscriptionDetail.setMobile(G12);
        }
        return mintSubscriptionDetail;
    }

    private void openCheckoutPage(double d) {
        SubscriptionPlanSingleton subscriptionPlanSingleton = SubscriptionPlanSingleton.getInstance();
        SSOSingleton.getInstance().setPlanPageReason("Campaign Device Id");
        subscriptionPlanSingleton.setSubsscreen(q.g0.e);
        subscriptionPlanSingleton.setFunnelName("Campaign Device Id");
        subscriptionPlanSingleton.setLastAccessUrl("");
        subscriptionPlanSingleton.setmNeedToSetPassword(false);
        subscriptionPlanSingleton.setMintPlanWithZSPlan(this.mintPlanWithZSPlan);
        subscriptionPlanSingleton.setPianoExpName("");
        subscriptionPlanSingleton.setMintSubscriptionDetail(null);
        SSOSingleton.getInstance().setPaywallReson("");
        Intent intent = new Intent((Context) this.homeActivity, (Class<?>) SubscriptionCheckOutPage.class);
        intent.putExtra("funnelName", "Campaign Device Id");
        intent.putExtra("campaigndeviceid", true);
        intent.putExtra("KeyPlanPrice", d);
        intent.putExtra("needSetPassword", false);
        this.homeActivity.startActivityForResult(intent, 9001);
    }

    private void syncPaymentWithServer(boolean z, String str, MintSubscriptionDetail mintSubscriptionDetail, MintPlanWithZSPlan mintPlanWithZSPlan) {
        DeviceEligibilityData deviceEligibilityData = OfferBannerSingleton.getInstance().getDeviceEligibilityData();
        if (deviceEligibilityData != null) {
            deviceEligibilityData.setEligible(false);
            OfferBannerSingleton.getInstance().setDeviceEligibilityData(deviceEligibilityData);
        }
        SubscriptionPlanSingleton.getInstance().setMintPlanWithZSPlan(mintPlanWithZSPlan);
        String eventName = OfferBannerSingleton.getInstance().getEventName();
        n.A(this.homeActivity, eventName, "plan_page", n.t0, (Content) null, (String) null);
        n4.b.N(eventName, false, 0.0d, mintSubscriptionDetail, mintPlanWithZSPlan, null, OfferBannerSingleton.getInstance().getFunnelEntry(), "", (z ? WebEngageAnalytices.PAYMENTSTORE.RAZOR_PAY : WebEngageAnalytices.PAYMENTSTORE.PLAY_STORE).getStore());
        this.homeActivity.getIntent().putExtra("needSetPassword", SubscriptionPlanSingleton.getInstance().ismNeedToSetPassword());
        GetUserSubscriptionDetail.SyncSubscriptionAsyncTask syncSubscriptionAsyncTask = new GetUserSubscriptionDetail.SyncSubscriptionAsyncTask(this.homeActivity);
        syncSubscriptionAsyncTask.setUserSubscriptionStatus("new");
        syncSubscriptionAsyncTask.setSubsscreen(q.g0.e);
        if (z) {
            syncSubscriptionAsyncTask.setOrderId(str);
        }
        syncSubscriptionAsyncTask.setMintPlanWithZSPlan(mintPlanWithZSPlan);
        syncSubscriptionAsyncTask.setPaymentFromRzorPay(z);
        syncSubscriptionAsyncTask.execute(mintSubscriptionDetail);
    }

    private void syncSubscriptionSuccess(String str, String str2, MintSubscriptionDetail mintSubscriptionDetail, MintPlanWithZSPlan mintPlanWithZSPlan) {
        if (mintPlanWithZSPlan != null && mintPlanWithZSPlan.getSubsPlans() != null) {
            CheckSubscriptionFromLocal.updateAdFreeUserFromPlan(mintSubscriptionDetail, mintPlanWithZSPlan.getSubsPlans(), this.homeActivity);
        }
        syncPaymentWithServer(true, str2, mintSubscriptionDetail, mintPlanWithZSPlan);
    }

    public void fetchPlanFromServer() {
        String offerPlanCode = OfferBannerSingleton.getInstance().getDeviceEligibilityData().getOfferPlanCode();
        if (TextUtils.isEmpty(offerPlanCode)) {
            return;
        }
        Config g = AppController.j().g();
        String str = (g.getSso() != null ? g.getSso().getPlanFetch() : "") + "?device=android&country=IN&id=" + offerPlanCode;
        HashMap hashMap = new HashMap();
        hashMap.put("ProductId", this.homeActivity.getResources().getString(R.string.zs_product_id));
        new c1(this.homeActivity, this).a(0, "FetchSinglePlan", str, hashMap, (JSONObject) null, false, true, false, "");
    }

    public void getMintPlan(MintPlan mintPlan) {
        this.mintPlanWithZSPlan = convertMintPlanIntoZOHOPlan(mintPlan.getPlans().getPartnerPlan());
        double subscriptionAmount = OfferBannerSingleton.getInstance().getDeviceEligibilityData().getSubscriptionAmount();
        if (TextUtils.isEmpty(f0.G1(this.homeActivity, "userName"))) {
            Toast.makeText((Context) this.homeActivity, (CharSequence) "You need to login first to avail this offer.", 0).show();
        } else if (subscriptionAmount == 0.0d) {
            createOffer();
        } else {
            openCheckoutPage(subscriptionAmount);
        }
    }

    public void getMintServerPlan(MintServerPlan mintServerPlan) {
    }

    public void getPremiumPlan(SubscribeNowPerant subscribeNowPerant) {
    }

    public void hideCrossButton() {
        this.imgViewOfferBannerCross.setVisibility(8);
        this.viewDivider.setVisibility(8);
    }

    @Override
    public void onClick(View view) {
        if (view == this.btnAvailOffer) {
            avialOfferClick();
        } else if (view == this.imgViewOfferBannerCross) {
            l.n(this.homeActivity, "appOpenCount", "offerBannerClicked", "clicked");
            n4.b.K("campaign_subs_skip_banner", OfferBannerSingleton.getInstance().getDeviceEligibilityData() != null ? OfferBannerSingleton.getInstance().getDeviceEligibilityData().getOfferPlanCode() : "", "");
            this.llBanner.setVisibility(8);
        }
    }

    public void onCreateOrder(CreateOrder createOrder) {
        if (createOrder == null) {
            Toast.makeText((Context) this.homeActivity, (CharSequence) "Please try again", 1).show();
            return;
        }
        if (createOrder.getCode() != 1000) {
            Toast.makeText((Context) this.homeActivity, (CharSequence) createOrder.getMessage(), 1).show();
            return;
        }
        String status = createOrder.getSubscription() != null ? createOrder.getSubscription().getStatus() : "";
        if (TextUtils.isEmpty(status) || !"live".equalsIgnoreCase(status)) {
            Toast.makeText((Context) this.homeActivity, (CharSequence) "Please try again", 1).show();
            return;
        }
        MintSubscriptionDetail parseCouponSubscriptionObject = ParseSubscriptionDetail.parseCouponSubscriptionObject(createOrder.getSubscription());
        Hostedpage hostedpage = createOrder.getHostedpage();
        syncSubscriptionSuccess(OfferBannerSingleton.getInstance().getDeviceEligibilityData().getOfferPlanCode(), hostedpage != null ? hostedpage.getHostedpageId() : "", parseCouponSubscriptionObject, this.mintPlanWithZSPlan);
    }

    public void onError(int i, String str) {
        Toast.makeText((Context) this.homeActivity, (CharSequence) str, 1).show();
    }

    public void onError(String str) {
        Toast.makeText((Context) this.homeActivity, (CharSequence) str, 1).show();
    }

    public void onError(String str, String str2) {
        Toast.makeText((Context) this.homeActivity, (CharSequence) str2, 0).show();
    }

    public void openLoginPage() {
        Intent intent = new Intent((Context) this.homeActivity, (Class<?>) LoginRegisterActivity.class);
        intent.putExtra("origin", "Subscription Funnel");
        intent.putExtra("isDiscountCoupon", true);
        intent.setFlags(603979776);
        this.homeActivity.startActivityForResult(intent, OFFER_PLAN);
    }

    public void showCrossButton() {
        this.imgViewOfferBannerCross.setVisibility(0);
        this.viewDivider.setVisibility(0);
    }

    public void showOfferDialog() {
        boolean isSubscribedUser = CheckSubscriptionFromLocal.isSubscribedUser(this.homeActivity);
        DeviceEligibilityData deviceEligibilityData = OfferBannerSingleton.getInstance().getDeviceEligibilityData();
        boolean z = deviceEligibilityData != null && deviceEligibilityData.isEligible();
        int i = l.i(this.homeActivity, "appOpenCount", "count");
        String l = l.l(this.homeActivity, "appOpenCount", "buttonClicked");
        if (isSubscribedUser || !z || i != 2 || "clicked".equalsIgnoreCase(l)) {
            return;
        }
        new OfferBannerDialog(this.homeActivity).show();
        AppController.M = true;
        Log.e("NUDGE", "1111111OFFER");
    }
}