VhallApplication.java
4.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
package com.vhall.guangfa;
import android.app.ActivityManager;
import android.content.Context;
import android.content.SharedPreferences;
import android.support.multidex.MultiDex;
import android.support.multidex.MultiDexApplication;
import android.util.Log;
import com.vhall.business.VhallSDK;
import com.vhall.httpclient.api.VHNetApi;
import com.vhall.httpclient.core.IVHNetLogCallback;
import com.vhall.httpclient.core.VHGlobalConfig;
import com.vhall.push.VHLivePushFormat;
import com.vhall.uilibs.Param;
import java.util.Iterator;
public class VhallApplication extends MultiDexApplication {
public static Param param;
public static Context context;
@Override
public void onCreate() {
super.onCreate();
context = this;
getParam("");
VHGlobalConfig vhGlobalConfig = new VHGlobalConfig.Builder()
.setEnableLog(false)
.setLogTag("saas_50")
.setVHNetLogCallback(new IVHNetLogCallback() {
@Override
public void log(String url, String message) {
Log.i("url message",message);
}
})
.build();
VHNetApi.getNetApi().setGlobalConfig(vhGlobalConfig);
if (isAppProcess()) {
VhallSDK.setLogEnable(false);
VhallSDK.init(this, "d20549234cc8900ba6421eef9544f9ec",
"5344ebd043bbc983e3e7cf837298947d");
}
}
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
public static Param getParam(String watchid) {
param = new Param();
SharedPreferences sp = context.getSharedPreferences("set", MODE_PRIVATE);
//发直播,直播间ID
param.broId = sp.getString("broid", "844127414");
//发直播token
param.broToken = sp.getString("brotoken", "8734e1c56b8b5b6f1f4ce1b1c072121a");
//直播分辨率类型
param.pixel_type = sp.getInt("pixeltype", VHLivePushFormat.PUSH_MODE_HD);
//发直播视频码率
param.videoBitrate = sp.getInt("videobitrate", 500);
//发直播视频帧率
param.videoFrameRate = sp.getInt("videoframerate", 15);
//看直播,直播间ID todo
param.watchId = sp.getString("watchid", watchid); // 412768506 465735486(正式)
//直播间密码
param.key = sp.getString("key", "");
//缓冲时长
param.bufferSecond = sp.getInt("buffersecond", 6);
return param;
}
public static void setParam(Param mParam) {
if (param == null) {
return;
}
param = mParam;
SharedPreferences sp = context.getSharedPreferences("set", MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putString("broid", param.broId);
editor.putString("brotoken", param.broToken);
editor.putInt("pixeltype", param.pixel_type);
editor.putInt("videobitrate", param.videoBitrate);
editor.putInt("videoframerate", param.videoFrameRate);
editor.putString("watchid", param.watchId);
editor.putString("key", param.key);
editor.putInt("buffersecond", param.bufferSecond);
editor.commit();
}
/**
* 判断该进程是否是app进程
*
* @return
*/
public boolean isAppProcess() {
String processName = getProcessName();
if (processName == null || !processName.equalsIgnoreCase(this.getPackageName())) {
return false;
} else {
return true;
}
}
/**
* 获取运行该方法的进程的进程名
*
* @return 进程名称
*/
public static String getProcessName() {
int processId = android.os.Process.myPid();
String processName = null;
ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
Iterator iterator = manager.getRunningAppProcesses().iterator();
while (iterator.hasNext()) {
ActivityManager.RunningAppProcessInfo processInfo = (ActivityManager.RunningAppProcessInfo) (iterator.next());
try {
if (processInfo.pid == processId) {
processName = processInfo.processName;
return processName;
}
} catch (Exception e) {
e.printStackTrace();
}
}
return processName;
}
}