1 package com.alivc.live.pusher;
3 import android.content.Context;
4 import android.util.Log;
9 import java.util.HashMap;
23 private static final String TAG =
"AlivcLivePushInstance";
26 private static final String LIB_SO_ALL_IN_ONE =
"all_in_one";
28 private static final String KEY_SDCARD_FILE_PATH =
"sdcard_file_path";
29 private static final String KEY_SDCARD_CACHE_PATH =
"sdcard_cache_path";
30 private static final String KEY_PACKAGE_NAME =
"package_name";
32 private static volatile boolean mIsLibLoaded =
false;
33 private static volatile boolean mIsSdkInstanceLoaded =
false;
34 private static volatile boolean mIsSdkConfigsLoaded =
false;
47 loadSdkInstance(context);
48 loadSdkConfigs(context);
60 System.loadLibrary(LIB_SO_ALL_IN_ONE);
62 Log.d(TAG,
"load libraries success!");
73 private static void loadSdkInstance(Context context) {
74 if (context == null) {
77 AlivcLiveCommonParams.INSTANCE.initCommonProperties(context);
78 synchronized (AlivcLivePushInstance.class) {
79 if (!mIsSdkInstanceLoaded) {
80 HashMap<String, String> properties = AlivcLiveCommonParams.INSTANCE.getCommonProperties();
81 LivePusherJNI.nativeInitSDKInstance(properties.keySet().toArray(
new String[0]), properties.values().toArray(
new String[0]));
82 Log.d(TAG,
"load sdk instance success!");
83 mIsSdkInstanceLoaded =
true;
93 return "---SDK_INFO---" +
'\n' +
94 "DEBUG:" + BuildConfig.DEBUG +
'\n' +
95 "BUILD_TYPE:" + BuildConfig.BUILD_TYPE +
'\n' +
96 "BUILD_INTERACTIVE:" + BuildConfig.BUILD_INTERACTIVE +
'\n' +
97 "HEAD_COMMIT_ID:" + BuildConfig.HEAD_COMMIT_ID +
'\n' +
98 "MTL_BUILD_ID:" + BuildConfig.MTL_BUILD_ID +
'\n' +
99 "MTL_BUILD_TIMESTAMP:" + BuildConfig.MTL_BUILD_TIMESTAMP +
'\n' +
100 "MTL_VERSION_CODE:" + BuildConfig.MTL_VERSION_CODE +
'\n' +
101 "MTL_VERSION_NAME:" + BuildConfig.MTL_VERSION_NAME;
104 private static void loadSdkConfigs(Context context) {
105 if (context == null) {
108 synchronized (AlivcLivePushInstance.class) {
109 if (!mIsSdkConfigsLoaded) {
110 Log.d(TAG,
"load sdk configs success!");
111 HashMap<String, String> properties =
new HashMap<>(4);
112 properties.put(KEY_SDCARD_FILE_PATH, FileUtil.getExternalFileFolder(context));
113 properties.put(KEY_SDCARD_CACHE_PATH, FileUtil.getExternalCacheFolder(context));
114 properties.put(KEY_PACKAGE_NAME, context.getPackageName());
115 LivePusherJNI.nativeInitSDKConfigs(properties.keySet().toArray(
new String[0]), properties.values().toArray(
new String[0]));
116 mIsSdkConfigsLoaded =
true;
static void loadLibrariesOnce()
static String getSdkBuildInfo()
static void loadInstance(Context context)