This commit is contained in:
2020-09-28 17:07:11 +08:00
parent b0704fee96
commit 74928e6e49
13 changed files with 69 additions and 17 deletions

View File

@@ -4,6 +4,7 @@ package com.tianrun.sipcall;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import com.tianrun.sipcall.call.CallMediaUtils;
import com.tianrun.sipcall.call.InCallActivity;
@@ -220,8 +221,13 @@ public class SipEngine implements BluetelInterface {
@Override
public void NotifyCallMediaState(int callid, int r, int l, int payload) {
logmy.e("NotifyCallMediaState" + callid + "<>" + r + "<>" + l + "<>" + payload);
ActivityMgr.sendMsg(CONS.MEDIASTATE, new CallMediaUtils(callid, payload, r, l));
logmy.e("NotifyCallMediaState=========" + callid + "<>" + r + "<>" + l + "<>" + payload);
ActivityMgr.topActivity.handler.postDelayed(new Runnable() {
@Override
public void run() {
ActivityMgr.sendMsg(CONS.MEDIASTATE, new CallMediaUtils(callid, payload, r, l));
}
}, 500);
}
@Override
@@ -266,9 +272,10 @@ public class SipEngine implements BluetelInterface {
* @return
*/
public int CallNumber(String number, boolean isVideo) {
int callid = myBluetelEngine.CallNumber(number, ip, port, isVideo);
int calltype = isVideo ? 0 : 1;
int callid = myBluetelEngine.CallNumber(number, ip, port, isVideo);
GoToInCall(App.getContext(), number, "呼叫中", calltype, callid);
callPagesConfig.add(new InCallUtils(number, false, isVideo, 0, 0, number, "呼叫中", false, 0, callid));
return callid;
}

View File

@@ -164,7 +164,7 @@ public class CreateGroupActivity extends TrBaseActivity {
for (DBUser u : DBUser.allUser) {
if (mapUsers.get(u.phone) == null) {
listPhone.add(u.phone);
list.add(u.phone + " | " + u.name);
list.add(u.phone + " " + u.name);
}
}
if(list.size() == 0) {
@@ -218,6 +218,9 @@ public class CreateGroupActivity extends TrBaseActivity {
str = str + us.phone + ",";
}
}
if(str.length() > 0) {
str = str.substring(0, str.length() - 1);
}
return str;
}

View File

@@ -178,7 +178,7 @@ public class CreateMeetingActivity extends TrBaseActivity {
for (DBUser u : DBUser.allUser) {
if (mapUsers.get(u.phone) == null && u.isOnline()) { // 只有空闲的才加入
listPhone.add(u.phone);
list.add(u.phone + " | " + u.name);
list.add(u.phone + " " + u.name);
}
}
if(list.size() == 0) {
@@ -236,6 +236,9 @@ public class CreateMeetingActivity extends TrBaseActivity {
str = str + us.phone + ",";
}
}
if(str.length() > 0) {
str = str.substring(0, str.length() - 1);
}
return str;
}

View File

@@ -240,6 +240,9 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
@Override
public boolean handleMessage(Message m) {
switch (m.what) {
case CONS.ONGETCALLID:
callid = (int)m.obj;
break;
case CONS.CALLSTATE:
callstate = (String) m.obj;
show.setText(callnumber + callstate);

View File

@@ -149,11 +149,14 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
getMembers();
getMemberTimer();
initTabAndPager();
mTabSegment.setVisibility(View.INVISIBLE);
}
static void getMemberTimer() {
CONS.SENDMESSAGETO(handler_CallActivity, -1, null);
handler_CallActivity.postDelayed(getMemberRunner, 2000);
if(handler_CallActivity != null) {
CONS.SENDMESSAGETO(handler_CallActivity, -1, null);
handler_CallActivity.postDelayed(getMemberRunner, 2000);
}
}
static Runnable getMemberRunner = new Runnable() {
@Override
@@ -316,6 +319,9 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
return;
}
DBUser d = (DBUser) data;
if(d.isOffline()) {
return;
}
QMUIQuickAction qa = QMUIPopups.quickAction(InCallMeetingActivity.this,
QMUIDisplayHelper.dp2px(InCallMeetingActivity.this, 56),
QMUIDisplayHelper.dp2px(InCallMeetingActivity.this, 56))
@@ -564,6 +570,9 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
@Override
public boolean handleMessage(Message m) {
switch (m.what) {
case CONS.ONGETCALLID:
callid = (int)m.obj;
break;
case CONS.CALLSTATE:
callstate = (String) m.obj;
show.setText(callnumber + callstate);
@@ -578,10 +587,12 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
int l = utils.getL();
int payload = utils.getPayload();
if (r != 0 || l != 0) {
mTabSegment.setVisibility(View.VISIBLE);
//开始视频
ShowVideoView(true);
startVideoStream(SipEngine.getInstance().getip(), r, l, payload);
} else {
mTabSegment.setVisibility(View.INVISIBLE);
//开始音频
stopVideoStream(false);
ShowVideoView(false);
@@ -620,7 +631,7 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
break;
}
c = 0;
logmy.e(callnumber + "--" + server + "--" + rport + "--" + lport);
logmy.e("startVideoStream=============="+ callnumber + "--" + server + "--" + rport + "--" + lport);
if (engineServer != null) {
ShowVideoView(true);
/*
@@ -799,7 +810,7 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
for (DBUser u : DBUser.allUser) {
if (!containMember(u.phone) || u.isOnline()) {
listPhone.add(u.phone);
list.add(u.phone + " | " + u.name);
list.add(u.phone + " " + u.name);
}
}
if (list.size() == 0) {
@@ -836,6 +847,9 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
String phNum = listPhone.get(selectIndexs[i]);
members = members + phNum + ",";
}
if(members.length() > 0) {
members = members.substring(0, members.length() - 1);
}
Net.addMember2Group(callnumber, members, new HttpUtl.CallBack() {
@Override

View File

@@ -1,11 +1,16 @@
package com.tianrun.sipcall.db;
import android.os.Build;
import androidx.annotation.RequiresApi;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class DBGroup {
public DBHead head;

View File

@@ -1,5 +1,9 @@
package com.tianrun.sipcall.db;
import android.os.Build;
import androidx.annotation.RequiresApi;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.tianrun.sipcall.net.Net;

View File

@@ -75,7 +75,7 @@ public class MainActivity extends TrBaseActivity {
AudioManager audioManager;
ImageView buttonAddVol;
ImageView buttonDelVol;
DBHead currSelectData;
public static DBHead currSelectData;
ImageView imageViewSelfStatus;
TextView textViewSelfStatus;
@@ -346,7 +346,11 @@ public class MainActivity extends TrBaseActivity {
}
public static void getUsersData() {
Net.getUsers(null, null);
if(currSelectData != null && !currSelectData.isAll()) {
Net.getGroupMenbers(currSelectData.id, null, currSelectData.id);
} else {
Net.getUsers(null, null);
}
mainHandler.postDelayed(runGetUsers, 3000);
}
@@ -464,7 +468,7 @@ public class MainActivity extends TrBaseActivity {
for (DBUser u : DBUser.allUser) {
if (!group.containsUser(u.phone)) {
listPhone.add(u.phone);
list.add(u.phone + " | " + u.name);
list.add(u.phone + " " + u.name);
}
}
if (list.size() == 0) {
@@ -501,6 +505,9 @@ public class MainActivity extends TrBaseActivity {
String phNum = listPhone.get(selectIndexs[i]);
members = members + phNum + ",";
}
if(members.length() > 0) {
members = members.substring(0, members.length() - 1);
}
Net.addMember2Group(currSelectData.audio_code, members, new HttpUtl.CallBack() {
@Override

View File

@@ -28,6 +28,7 @@ public class TrBaseActivity extends AppCompatActivity implements Handler.Callbac
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActivityMgr.onShowActivity(this);
}
@Override

View File

@@ -33,6 +33,7 @@ public class CONS {
public static final int INCOMINGMESSAGE = 208;//来短信了
public static final int showpic = 209;
public static final int LOGINFAILED = 210;
public static final int ONGETCALLID = 211;
public static void SENDMESSAGETO(Handler handler, int menu, Object object) {
if (handler != null) {

View File

@@ -240,7 +240,9 @@ public class HttpUtl {
}
int retCode = conn.getResponseCode();
if(retCode == 401) {
if (retCode == 200) {
} else if(retCode == 401) {
checkTokenFailed(retCode);
} else {
UIUtl.toastI("内部错误");

View File

@@ -269,7 +269,7 @@
android:text="退出"
android:textColor="#FFFFFF"
android:textSize="20sp"
android:visibility="visible" />
android:visibility="invisible" />
</LinearLayout>
</ScrollView>

View File

@@ -4,7 +4,9 @@
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/IncallMeetingRoot"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
android:layout_height="fill_parent"
android:background="@drawable/callbackground"
android:visibility="visible">
<ImageView
android:id="@+id/imageView3"
@@ -56,7 +58,7 @@
android:id="@+id/remote_video_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="visible">
android:visibility="invisible">
<blue.view.SMSurfaceViewRenderer
android:id="@+id/remote_video_view"
@@ -69,7 +71,7 @@
android:id="@+id/local_video_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="visible">
android:visibility="invisible">
<blue.view.SMSurfaceViewRenderer
android:id="@+id/local_video_view"