package com.yyrh.factory;

import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Bundle;

import com.yyrh.constant.RoleInfo;
import com.yyrh.core.internal.IImplCallback;
import com.yyrh.sdk.callback.InitCallback;
import com.yyrh.sdk.callback.RealNameMsgCallback;
import com.yythird.base.ChannelSdkCallback;

import org.json.JSONObject;

import java.util.HashMap;

public interface ISdkOperation {

    void login(Activity activity);

    void uploadRoleInfo(String type, Activity activity, RoleInfo roleInfo);

    void setSDKLogoutListener(Activity activity, ChannelSdkCallback sdkCallback);

    void pay(Activity activity, HashMap<String, Object> map);

    void exit(Activity activity);

    void logOut();

    void getRealNameInfo(Activity activity, RealNameMsgCallback realNameMsgCallback);

    void reportAdEvent(String event, JSONObject json);

    /**
     * 生命周期
     */
    void sdkOnStart(Activity activity);

    void sdkOnCreate(Activity activity, Bundle savedInstanceState);

    void sdkOnPause(Activity activity);

    void sdkOnResume(Activity activity);

    void sdkOnRestart(Activity activity);

    void sdkOnStop(Activity activity);

    void sdkOnDestroy(Activity activity);

    void sdkOnNewIntent(Activity activity, Intent intent);

    void onActivityResult(Activity ac, int requestCode, int resultCode, Intent data);

    void onConfigurationChanged(Configuration newConfigs);

    void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults);

    void onWindowFocusChanged(Activity activity, boolean hasFocus);

}
