修复支付问题

This commit is contained in:
hch
2023-11-29 18:26:59 +08:00
parent 0b89ac21e8
commit 7c44f09803
10 changed files with 137 additions and 73 deletions

View File

@@ -9,6 +9,7 @@ import com.alibaba.fastjson.JSON;
import org.json.JSONObject;
import java.lang.reflect.InvocationTargetException;
import java.util.Timer;
import java.util.TimerTask;
@@ -122,8 +123,21 @@ public class GoogleUtils {
}
}
Timer timer;
public void setBillingListener(GoogleBillingListener billingListener) {
Timer timer = new Timer();
if (timer != null) {
timer.cancel();
timer = null;
}
try {
googlePay.getClass().getMethod("initResultCode").invoke(googlePay);
} catch (Exception e) {
throw new RuntimeException(e);
}
timer = new Timer();
TimerTask task = new TimerTask() {
@Override
public void run() {
@@ -133,18 +147,21 @@ public class GoogleUtils {
String token = resultCode.getString("resultToken");
String orderId = resultCode.getString("resultOrderId");
if (code == 0) {
timer.cancel();
billingListener.onPaySuccess(token, orderId);
} else if (code == 1) {
timer.cancel();
billingListener.onPayFailed("支付取消");
} else if (code == 2) {
timer.cancel();
} else if (code == 1 || code == 2) {
billingListener.onPayFailed("支付失败");
timer.cancel();
}
} catch (Exception e) {
throw new RuntimeException(e);
}
}
};
timer.scheduleAtFixedRate(task, 60000, 1000);
timer.schedule(task, 1000, 1000);
}
public void initializeApp(Context context) {
@@ -175,7 +192,7 @@ public class GoogleUtils {
}
}
};
timer.schedule(task, 10000, 1000);
timer.schedule(task, 1000, 1000);
}
public void initFireToken(Activity activity) {
@@ -198,16 +215,14 @@ public class GoogleUtils {
}
}
public void setQueryPurchaseListener(Activity activity, QueryPurchasesListener queryPurchasesListener) {
Timer timer = new Timer();
TimerTask task = new TimerTask() {
@Override
public void run() {
try {
Class<?> clz = activity.getClassLoader().loadClass("com.shayu.lib_google.utils.GoogleBillingManage");
googlePay = clz.getConstructor(Activity.class).newInstance(activity);
JSONObject object = (JSONObject) googlePay.getClass().getMethod("getQuerySize").invoke(googlePay);
L.e("setQueryPurchaseListenersetQueryPurchaseListener__" + object.getInt("querySize"));
if (object.getInt("querySize") != -1) {
queryPurchasesListener.onResult(object);
timer.cancel();
@@ -217,7 +232,7 @@ public class GoogleUtils {
}
}
};
timer.schedule(task, 10000, 1000);
timer.schedule(task, 1000, 1000);
}