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