package ezy.sdk3rd.social;
import android.app.Activity;
import android.content.Intent;
import ezy.sdk3rd.social.payment.IPayable;
import ezy.sdk3rd.social.sdk.DefaultCallback;
import ezy.sdk3rd.social.sdk.IFactory;
import ezy.sdk3rd.social.sdk.OnCallback;
import ezy.sdk3rd.social.sdk.OnSucceed;
import ezy.sdk3rd.social.sdk.ResultCode;
import ezy.sdk3rd.social.sdk.Sdk;
public class PaymentSDK {
static Sdk<IPayable> sdk = new Sdk<>();
public static void setDefaultCallback(OnCallback callback) {
sdk.setDefaultCallback(callback);
}
public static <T extends IPayable> void register(String name, Class<T> clazz) {
sdk.register(name, "", clazz);
}
public static <T extends IPayable> void register(IFactory<T> factory) {
sdk.register(factory);
}
public static void pay(Activity activity, String platform, String data, OnSucceed<String> listener) {
pay(activity, platform, data, new DefaultCallback(sdk.getDefaultCallback(), listener));
}
public static void pay(Activity activity, String platform, String data, OnCallback<String> callback) {
if (!sdk.isSupport(platform)) {
callback.onFailed(activity, ResultCode.RESULT_FAILED, "不支持的平台[" + platform + "]");
return;
}
IPayable api = sdk.get(activity, platform);
if (api == null) {
return;
}
api.pay(data, callback);
}
public static void onHandleResult(Activity activity, int requestCode, int resultCode, Intent data) {
sdk.onHandleResult(activity, requestCode, resultCode, data);
}
}