package com.hdl.sdk.common; import android.content.Context; import android.content.pm.PackageInfo; import com.hdl.sdk.common.event.EventListener; import com.hdl.sdk.common.utils.AllTopicManagerUtils; import com.hdl.sdk.common.utils.LogUtils; import com.hdl.sdk.connect.HDLLink; import com.hdl.sdk.connect.bean.LinkResponse; import com.hdl.sdk.connect.socket.HDLAuthSocket; import com.hdl.sdk.connect.socket.HDLSocket; /** * Created by Tong on 2021/9/28. */ public class HDLSdk { private Context context; private String version = "1.2.1"; /** * 获取当前版本 * * @return */ public String getVersion() { try { PackageInfo packageInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), 0); String versionName = packageInfo.versionName; // 版本名称(字符串) return version; } catch (Exception e) { LogUtils.e("获取版本失败:" + e.getMessage()); } return "unknow"; } private HDLSdk() { } private static class SingletonInstance { private static final HDLSdk INSTANCE = new HDLSdk(); } public static HDLSdk getInstance() { return SingletonInstance.INSTANCE; } public void init(Context context) { if (this.context != null) { return; } this.context = context.getApplicationContext(); HDLAuthSocket.getInstance().init(); HDLSocket.getInstance().broadcastRequest(); LogUtils.i("HDLSdk Version:" + getVersion()); //订阅所有的主题 HDLLink.getInstance().registerAllTopicsListener(new EventListener() { @Override public void onMessage(Object msg) { if (msg == null || !(msg instanceof LinkResponse)) { return; } AllTopicManagerUtils.manager((LinkResponse) msg); } }); } public Context getContext() { return context; } /** * 设置打印是否开启 * * @param enable */ public void setLogEnabled(boolean enable) { LogUtils.setEnabled(enable); } }