Merge remote-tracking branch 'origin/gong_dev_play' into 新潘多拉

# Conflicts:
#	config.gradle
#	main/src/main/java/com/yunbao/main/activity/MyWalletActivity.java
This commit is contained in:
18142669586
2024-08-20 13:59:47 +08:00
5 changed files with 330 additions and 105 deletions

View File

@@ -1,8 +1,6 @@
package com.yunbao.main.activity;
import static com.yunbao.main.activity.MyWalletActivity.dis;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.os.Handler;
@@ -16,15 +14,17 @@ import android.webkit.WebView;
import androidx.fragment.app.Fragment;
import com.facebook.appevents.AppEventsConstants;
import com.android.billingclient.api.Purchase;
import com.yunbao.common.http.CommonHttpUtil;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.utils.GoogleUtils;
import com.yunbao.common.pay.google.GooglePlay;
import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.main.R;
import com.yunbao.main.views.TestWebViewClient;
import java.util.List;
@SuppressLint("ValidFragment")
public class GoogleFragment extends Fragment {
@@ -38,7 +38,7 @@ public class GoogleFragment extends Fragment {
private String url;
String adid = null;
GoogleUtils googleUtils;
private GooglePlay googlePlay;
boolean isGoogleService = true;
@@ -62,17 +62,16 @@ public class GoogleFragment extends Fragment {
Log.e("ttt", url);
rlWebview.loadUrl(url);
googleUtils = new GoogleUtils(getActivity());
googlePlay = GooglePlay.getInstance();
// 验证是否已在此设备上安装并启用Google Play服务以及此设备上安装的旧版本是否为此客户端所需的版本
if (googleUtils.getGoogleService()) {
if (googlePlay.getGoogleService()) {
isGoogleService = true;
// 支持Google服务
initGooglePay();
new Thread() {
@Override
public void run() {
adid = googleUtils.getAdid();
adid = googlePlay.getAdId();
}
}.start();
}
@@ -100,11 +99,6 @@ public class GoogleFragment extends Fragment {
String TAG = "GooglePay";
private void initGooglePay() {
googleUtils = new GoogleUtils(getActivity());
googleUtils.initGooglePay();
}
private Handler payHandler = new Handler();
//js调用原生
@@ -117,51 +111,31 @@ public class GoogleFragment extends Fragment {
mProductId = ProductId;
mOrderid = OrderNumber;
MoneyUsds = MoneyUsd;
googleUtils.setBillingListener(new GoogleUtils.GoogleBillingListener() {
googlePlay.setBillingListener(new GooglePlay.GoogleBillingListener() {
@Override
public void onPaySuccess(String token, String orderId) {
payHandler.post(new Runnable() {
@Override
public void run() {
CommonHttpUtil.notifyGoogle(token, orderId, mProductId, mOrderid, adid, new HttpCallback() {
public void onPaySuccess(List<Purchase> purchases) {
Log.i("mLog", "调用谷歌支付成功了 " + purchases.toString());
CommonHttpUtil.notifyGoogle(purchases.get(0).getPurchaseToken(),
purchases.get(0).getProducts().get(0), new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
if (code == 0) {
Bundle params = new Bundle();
params.putString("currency", "HKD");
params.putString("money", MoneyUsds);
Bundle fb_params = new Bundle();
fb_params.putString(AppEventsConstants.EVENT_PARAM_CURRENCY, "HKD");
fb_params.putString(AppEventsConstants.EVENT_PARAM_CONTENT_ID, mProductId);
//Google官方充值通知
Bundle google_params = new Bundle();
google_params.putString("currency", "HKD");
google_params.putString("product_id", mProductId);
google_params.putString("transaction_id", mOrderid);
google_params.putString("value", MoneyUsds);
google_params.putString("price", MoneyUsds);
google_params.putString("quantity", "1");
dis();
googlePlay.consume(purchases);
getActivity().finish();
ToastUtil.show(getString(R.string.pay_suc));
} else {
ToastUtil.show(msg);
}
}
});
}
});
}
@Override
public void onPayFailed(String msg) {
payHandler.post(new Runnable() {
@Override
public void run() {
ToastUtil.show(msg);
}
});
ToastUtil.show(msg);
}
});
googleUtils.purchase(mProductId);
googlePlay.purchase(getActivity(), mOrderid, mProductId);
}
lastClickTime = currentTime;

View File

@@ -18,17 +18,18 @@ import androidx.fragment.app.FragmentPagerAdapter;
import androidx.viewpager.widget.ViewPager;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.yunbao.common.utils.MobclickAgent;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.activity.AbsActivity;
import com.yunbao.common.fragment.LoadingDialog;
import com.yunbao.common.http.CommonHttpUtil;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.pay.google.GooglePlay;
import com.yunbao.common.pay.hw.HwBuilder;
import com.yunbao.common.pay.samsung.SamsungUtil;
import com.yunbao.common.utils.GoogleUtils;
import com.yunbao.common.utils.L;
import com.yunbao.common.utils.MobclickAgent;
import com.yunbao.common.utils.RouteUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.main.R;
@@ -62,7 +63,7 @@ public class MyWalletActivity extends AbsActivity {
public static String orderId;
HwBuilder hwBuilder;
GoogleUtils googleUtils;
private GooglePlay googlePlay;
LoadingDialog loadingDialog;
SamsungUtil samsungUtil;
@@ -78,17 +79,15 @@ public class MyWalletActivity extends AbsActivity {
mw = MyWalletActivity.this;
setTitle(mContext.getString(R.string.wallet));
if (CommonAppConfig.IS_GOOGLE_PLAY == 1) {
googleUtils = new GoogleUtils(mContext);
googleUtils.initGooglePay();
} else if (CommonAppConfig.IS_GOOGLE_PLAY == 2) {
if (CommonAppConfig.IS_GOOGLE_PLAY == 2) {
hwBuilder = new HwBuilder(MyWalletActivity.this);
} else if (CommonAppConfig.IS_GOOGLE_PLAY == 3) {
samsungUtil = SamsungUtil.newInstance(mContext);
samsungUtil.init();
}else{
googleUtils = new GoogleUtils(mContext);
googleUtils.initGooglePay();
} else {
googlePlay = GooglePlay.getInstance();
//消耗所有商品
googlePlay.consumeAll();
}
@@ -104,50 +103,8 @@ public class MyWalletActivity extends AbsActivity {
loadingDialog.setShowText(getString(R.string.order_query));
if (CommonAppConfig.IS_GOOGLE_PLAY == 1) {
googleUtils.setQueryPurchaseListener(mContext, new GoogleUtils.QueryPurchasesListener() {
@Override
public void onResult(JSONObject obj) {
try {
int code = obj.getInt("querySize");
if (code == 0) {
payHandler.post(runnable1);
payHandler.postDelayed(runnable2, 1000);
} else {
JSONArray tokenList = obj.getJSONArray("tokenList");
JSONArray orderList = obj.getJSONArray("orderList");
String tradeNo = obj.getString("tradeNo");
for (int i = 0; i < tokenList.length(); i++) {
int finalI = i;
payHandler.post(new Runnable() {
@Override
public void run() {
//谷歌掉单处理
try {
CommonHttpUtil.Google_sec_pay(tokenList.getString(finalI), orderList.getString(finalI), tradeNo, new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
if (finalI == tokenList.length() - 1) {
loadingDialog.setShowText(getString(R.string.order_query_success));
loadingDialog.dismiss();
}
ToastUtil.show("充值已到账");
finish();
}
});
} catch (JSONException e) {
e.printStackTrace();
}
}
});
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
});
googleUtils.queryPurchasesAsync();
//消耗所有商品
googlePlay.consumeAll();
} else if (CommonAppConfig.IS_GOOGLE_PLAY == 2) {
hwBuilder.consume();
payHandler.post(runnable1);
@@ -491,7 +448,7 @@ public class MyWalletActivity extends AbsActivity {
} catch (JSONException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}