正在查看: Mantra Counter v25.01 应用的 SubscriptionViewActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Mantra Counter v25.01 应用的 SubscriptionViewActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.sweetedge.mantracounter;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat;
import com.android.billingclient.api.AcknowledgePurchaseParams;
import com.android.billingclient.api.AcknowledgePurchaseResponseListener;
import com.android.billingclient.api.BillingClient;
import com.android.billingclient.api.BillingClientStateListener;
import com.android.billingclient.api.BillingFlowParams;
import com.android.billingclient.api.BillingResult;
import com.android.billingclient.api.ConsumeParams;
import com.android.billingclient.api.ConsumeResponseListener;
import com.android.billingclient.api.ProductDetails;
import com.android.billingclient.api.ProductDetailsResponseListener;
import com.android.billingclient.api.Purchase;
import com.android.billingclient.api.PurchasesUpdatedListener;
import com.android.billingclient.api.QueryProductDetailsParams;
import com.google.firebase.crashlytics.buildtools.reloc.com.google.common.collect.ImmutableList;
import com.google.firebase.crashlytics.buildtools.reloc.org.apache.commons.cli.HelpFormatter;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.Executors;
import sub6.ConnectionClass;
import sub6.Security;
import sweetedge.extra.PLog;
import sweetedge.popup.PToast;
import sweetedge.preference.PSharedPreference;
import sweetedge.statusbar.PStatusBar;
public class SubscriptionViewActivity extends AppCompatActivity {
private BillingClient billingClient;
Button btnSub;
ImageView closeIcon;
String des;
String dur;
String freetxt;
String pricetxt;
TextView subDescription;
String subsName;
TextView tvBenifit;
TextView tvSubid;
TextView tvSubsts;
TextView txtprice;
TextView txtpriceFree;
boolean isSuccess = false;
AcknowledgePurchaseResponseListener acknowledgePurchaseResponseListener = new AcknowledgePurchaseResponseListener() {
public void onAcknowledgePurchaseResponse(BillingResult billingResult) {
if (billingResult.getResponseCode() == 0) {
SubscriptionViewActivity.this.tvSubsts.setText("Subscribed");
SubscriptionViewActivity.this.isSuccess = true;
ConnectionClass.premium = true;
}
}
};
private final PurchasesUpdatedListener purchasesUpdatedListener = new PurchasesUpdatedListener() {
public void onPurchasesUpdated(BillingResult billingResult, List<Purchase> list) {
if (billingResult.getResponseCode() == 0 && list != null) {
Iterator<Purchase> it = list.iterator();
while (it.hasNext()) {
SubscriptionViewActivity.this.handlePurchase(it.next());
}
return;
}
if (billingResult.getResponseCode() == 7) {
SubscriptionViewActivity.this.tvSubsts.setText("Already Subscribed");
SubscriptionViewActivity.this.isSuccess = true;
ConnectionClass.premium = true;
SubscriptionViewActivity.this.btnSub.setVisibility(8);
return;
}
if (billingResult.getResponseCode() == -2) {
SubscriptionViewActivity.this.tvSubsts.setText("FEATURE_NOT_SUPPORTED");
return;
}
if (billingResult.getResponseCode() == 3) {
SubscriptionViewActivity.this.tvSubsts.setText("BILLING_UNAVAILABLE");
return;
}
if (billingResult.getResponseCode() == 1) {
SubscriptionViewActivity.this.tvSubsts.setText("USER_CANCELED");
return;
}
if (billingResult.getResponseCode() == 5) {
SubscriptionViewActivity.this.tvSubsts.setText("DEVELOPER_ERROR");
return;
}
if (billingResult.getResponseCode() == 4) {
SubscriptionViewActivity.this.tvSubsts.setText("ITEM_UNAVAILABLE");
return;
}
if (billingResult.getResponseCode() == 12) {
SubscriptionViewActivity.this.tvSubsts.setText("NETWORK_ERROR");
return;
}
if (billingResult.getResponseCode() == -1) {
SubscriptionViewActivity.this.tvSubsts.setText("SERVICE_DISCONNECTED");
return;
}
Toast.makeText(SubscriptionViewActivity.this.getApplicationContext(), "Error " + billingResult.getDebugMessage(), 0).show();
}
};
protected void onDestroy() {
super.onDestroy();
BillingClient billingClient = this.billingClient;
if (billingClient != null) {
billingClient.endConnection();
}
}
public void btn_sub_click(View view) {
PLog.print("Sub Clicked");
this.billingClient.startConnection(new BillingClientStateListener() {
public void onBillingServiceDisconnected() {
}
public void onBillingSetupFinished(BillingResult billingResult) {
SubscriptionViewActivity.this.billingClient.queryProductDetailsAsync(QueryProductDetailsParams.newBuilder().setProductList(ImmutableList.of(QueryProductDetailsParams.Product.newBuilder().setProductId(SubscriptionViewActivity.this.getResources().getStringArray(R.array.ProductID)[0]).setProductType("subs").build())).build(), new ProductDetailsResponseListener() {
public void onProductDetailsResponse(BillingResult billingResult2, List<ProductDetails> list) {
for (ProductDetails productDetails : list) {
SubscriptionViewActivity.this.billingClient.launchBillingFlow(SubscriptionViewActivity.this, BillingFlowParams.newBuilder().setProductDetailsParamsList(ImmutableList.of(BillingFlowParams.ProductDetailsParams.newBuilder().setProductDetails(productDetails).setOfferToken(((ProductDetails.SubscriptionOfferDetails) productDetails.getSubscriptionOfferDetails().get(0)).getOfferToken()).build())).build());
}
}
});
}
});
}
void handlePurchase(Purchase purchase) {
this.billingClient.consumeAsync(ConsumeParams.newBuilder().setPurchaseToken(purchase.getPurchaseToken()).build(), new ConsumeResponseListener() {
public void onConsumeResponse(BillingResult billingResult, String str) {
billingResult.getResponseCode();
}
});
if (purchase.getPurchaseState() == 1) {
if (!verifyValidSignature(purchase.getOriginalJson(), purchase.getSignature())) {
Toast.makeText(getApplicationContext(), "Error : invalid Purchase", 0).show();
return;
}
if (!purchase.isAcknowledged()) {
this.billingClient.acknowledgePurchase(AcknowledgePurchaseParams.newBuilder().setPurchaseToken(purchase.getPurchaseToken()).build(), this.acknowledgePurchaseResponseListener);
this.tvSubsts.setText("Subscribed");
PSharedPreference.setInteger(this, getResources().getStringArray(R.array.ProductID)[0], 1);
PToast.showT(this, "Subscribed Sucessfully");
this.isSuccess = true;
} else {
this.tvSubsts.setText("Already_Subscribed");
}
ConnectionClass.premium = true;
this.btnSub.setVisibility(8);
return;
}
if (purchase.getPurchaseState() == 2) {
this.tvSubsts.setText("Subscription PENDING");
} else if (purchase.getPurchaseState() == 0) {
this.tvSubsts.setText("UNSPECIFIED_STATE");
}
}
private boolean verifyValidSignature(String str, String str2) {
try {
return Security.verifyPurchase("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo4ecYPqNMqJAoVnJ/wyyFhCr+PCrkc1/sSNw0wxgwK/oAEG7jla1byRpwq6hOV8xi4qn6j3l3YjmkgIDpdUMXaYP/Ca/jNO0sJaOzQYWsQ3OMK2svjlXLFThlYtKyGWwcpqkfnmtY7XpZ7VX83oEwHY7wISJpuPmJ56kauKRnKCvxKlp1dqQSBYHEBjtjkW+uwOEbVacNquc6XX0aOwTKGXdxnateFuzQ8n6wsZ8ChkNEJGCHfBSR0LXzCKxZZIffkxFJBSJhqUgHU4W3SBUTrIildBjURyB6aFhaJWvpLYQ7aOIy3iMdnWGPnl3ys+FuSrCXhVSIWOOd+3/Te7vDQIDAQAB", str, str2);
} catch (IOException unused) {
return false;
}
}
class AnonymousClass4 implements BillingClientStateListener {
public void onBillingServiceDisconnected() {
}
AnonymousClass4() {
}
public void onBillingSetupFinished(BillingResult billingResult) {
Executors.newSingleThreadExecutor().execute(new Runnable() {
@Override
public void run() {
SubscriptionViewActivity.this.billingClient.queryProductDetailsAsync(QueryProductDetailsParams.newBuilder().setProductList(ImmutableList.of(QueryProductDetailsParams.Product.newBuilder().setProductId(SubscriptionViewActivity.this.getResources().getStringArray(R.array.ProductID)[0]).setProductType("subs").build())).build(), new ProductDetailsResponseListener() {
public void onProductDetailsResponse(BillingResult billingResult2, List<ProductDetails> list) {
for (ProductDetails productDetails : list) {
ImmutableList.of(BillingFlowParams.ProductDetailsParams.newBuilder().setProductDetails(productDetails).setOfferToken(((ProductDetails.SubscriptionOfferDetails) productDetails.getSubscriptionOfferDetails().get(0)).getOfferToken()).build());
SubscriptionViewActivity.this.subsName = productDetails.getName();
SubscriptionViewActivity.this.des = productDetails.getDescription();
PLog.print("des = " + SubscriptionViewActivity.this.des);
String formattedPrice = ((ProductDetails.PricingPhase) ((ProductDetails.SubscriptionOfferDetails) productDetails.getSubscriptionOfferDetails().get(0)).getPricingPhases().getPricingPhaseList().get(0)).getFormattedPrice();
String billingPeriod = ((ProductDetails.PricingPhase) ((ProductDetails.SubscriptionOfferDetails) productDetails.getSubscriptionOfferDetails().get(0)).getPricingPhases().getPricingPhaseList().get(0)).getBillingPeriod();
int recurrenceMode = ((ProductDetails.PricingPhase) ((ProductDetails.SubscriptionOfferDetails) productDetails.getSubscriptionOfferDetails().get(0)).getPricingPhases().getPricingPhaseList().get(0)).getRecurrenceMode();
String substring = billingPeriod.substring(1, 2);
String substring2 = billingPeriod.substring(2, 3);
PLog.print("per = " + substring + " price =" + substring2);
if (recurrenceMode == 2) {
if (substring2.equals("M")) {
SubscriptionViewActivity.this.dur = " For " + substring + " Month";
} else if (substring2.equals("Y")) {
SubscriptionViewActivity.this.dur = " For " + substring + " Year";
} else if (substring2.equals("W")) {
SubscriptionViewActivity.this.dur = " For " + substring + " Week";
} else if (substring2.equals("D")) {
SubscriptionViewActivity.this.dur = " For " + substring + " Days";
}
} else if (billingPeriod.equals("P1M")) {
SubscriptionViewActivity.this.dur = "/Monthly";
} else if (billingPeriod.equals("P6M")) {
SubscriptionViewActivity.this.dur = "/Every 6 Month";
} else if (billingPeriod.equals("P1Y")) {
SubscriptionViewActivity.this.dur = "/Yearly";
} else if (billingPeriod.equals("P1W")) {
SubscriptionViewActivity.this.dur = "/Weekly";
} else if (billingPeriod.equals("P3W")) {
SubscriptionViewActivity.this.dur = "Every /3 Week";
}
SubscriptionViewActivity.this.freetxt = formattedPrice + HelpFormatter.DEFAULT_LONG_OPT_SEPARATOR + SubscriptionViewActivity.this.dur;
for (int i = 0; i <= ((ProductDetails.SubscriptionOfferDetails) productDetails.getSubscriptionOfferDetails().get(0)).getPricingPhases().getPricingPhaseList().size(); i++) {
if (i > 0) {
String billingPeriod2 = ((ProductDetails.PricingPhase) ((ProductDetails.SubscriptionOfferDetails) productDetails.getSubscriptionOfferDetails().get(0)).getPricingPhases().getPricingPhaseList().get(i)).getBillingPeriod();
String formattedPrice2 = ((ProductDetails.PricingPhase) ((ProductDetails.SubscriptionOfferDetails) productDetails.getSubscriptionOfferDetails().get(0)).getPricingPhases().getPricingPhaseList().get(i)).getFormattedPrice();
PLog.print("per = " + billingPeriod2 + " price =" + formattedPrice2);
if (billingPeriod2.equals("P1M")) {
SubscriptionViewActivity.this.dur = " /Monthly";
} else if (billingPeriod2.equals("P6M")) {
SubscriptionViewActivity.this.dur = " /Every 6 Month";
} else if (billingPeriod2.equals("P1Y")) {
SubscriptionViewActivity.this.dur = " /Yearly";
} else if (billingPeriod2.equals("P1W")) {
SubscriptionViewActivity.this.dur = " /Weekly";
} else if (billingPeriod2.equals("P3W")) {
SubscriptionViewActivity.this.dur = " /-Every 3 Week";
} else if (billingPeriod2.equals("P4W")) {
SubscriptionViewActivity.this.dur = " /- Every 4 Week";
}
SubscriptionViewActivity.this.pricetxt = formattedPrice2 + SubscriptionViewActivity.this.dur;
}
}
}
}
});
}
});
SubscriptionViewActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(1000L);
} catch (InterruptedException e) {
e.printStackTrace();
}
SubscriptionViewActivity.this.tvSubid.setText(SubscriptionViewActivity.this.subsName);
SubscriptionViewActivity.this.txtpriceFree.setText(SubscriptionViewActivity.this.freetxt + " then");
SubscriptionViewActivity.this.txtprice.setText(SubscriptionViewActivity.this.pricetxt);
SubscriptionViewActivity.this.tvBenifit.setText(SubscriptionViewActivity.this.des);
}
});
}
}
private void getPrice() {
this.billingClient.startConnection(new AnonymousClass4());
}
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.activity_subscription_view);
PStatusBar.changeColor(getWindow(), ContextCompat.getColor(this, R.color.orangeFontColor));
MainActivity.setLanguage(this);
this.tvSubsts = (TextView) findViewById(R.id.tv_substs);
this.btnSub = (Button) findViewById(R.id.btn_sub);
this.tvSubid = (TextView) findViewById(R.id.tv_subid);
this.txtpriceFree = (TextView) findViewById(R.id.txtpricefree);
this.txtprice = (TextView) findViewById(R.id.txtprice);
this.tvBenifit = (TextView) findViewById(R.id.tv_benifit);
this.closeIcon = (ImageView) findViewById(R.id.btn_close);
this.subDescription = (TextView) findViewById(R.id.sub_description);
this.billingClient = BillingClient.newBuilder(this).setListener(this.purchasesUpdatedListener).enablePendingPurchases().build();
getPrice();
if (ConnectionClass.premium.booleanValue()) {
this.tvSubsts.setText("Already Subscribed");
this.btnSub.setVisibility(8);
} else {
this.tvSubsts.setText("Not Subscribed");
}
this.subDescription.setText(getResources().getString(R.string.subscribeDesc));
this.closeIcon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SubscriptionViewActivity.this.finish();
}
});
}
}