正在查看: Mint v5.7.3 应用的 OfferBannerHandler.java JAVA 源代码文件
本页面展示 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");
}
}