modify
This commit is contained in:
@@ -2,7 +2,6 @@ package com.tianrun.sipcall.call;
|
||||
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Activity;
|
||||
import android.app.KeyguardManager;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
@@ -39,10 +38,8 @@ import com.qmuiteam.qmui.widget.tab.QMUITabIndicator;
|
||||
import com.qmuiteam.qmui.widget.tab.QMUITabSegment;
|
||||
import com.tianrun.sipcall.R;
|
||||
import com.tianrun.sipcall.SipEngine;
|
||||
import com.tianrun.sipcall.db.DBGroup;
|
||||
import com.tianrun.sipcall.db.DBUser;
|
||||
import com.tianrun.sipcall.db.UserMeetingViews;
|
||||
import com.tianrun.sipcall.db.UserViews;
|
||||
import com.tianrun.sipcall.net.Net;
|
||||
import com.tianrun.sipcall.ui.TrAdapter;
|
||||
import com.tianrun.sipcall.ui.TrBaseActivity;
|
||||
@@ -70,6 +67,8 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
||||
private SMPercentFrameLayout remoteRenderLayout;
|
||||
private ImageButton incall_answer, incall_hangup;
|
||||
private View imageButtonAddUser;
|
||||
ImageButton incall_mute;
|
||||
ImageButton incall_muteVideo;
|
||||
private TextView show;
|
||||
GridView gridUser;
|
||||
QMUITabSegment mTabSegment;
|
||||
@@ -166,6 +165,13 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
||||
remoteRenderLayout = (SMPercentFrameLayout) findViewById(R.id.remote_video_layout);
|
||||
engineServer = new EngineServer(localRender, remoteRender, localRenderLayout, remoteRenderLayout, true);
|
||||
|
||||
incall_mute = findViewById(R.id.incall_mute);
|
||||
incall_mute.setOnClickListener(this);
|
||||
incall_muteVideo = findViewById(R.id.incall_muteVideo);
|
||||
incall_muteVideo.setOnClickListener(this);
|
||||
incall_mute.setVisibility(View.INVISIBLE);
|
||||
incall_muteVideo.setVisibility(View.INVISIBLE);
|
||||
|
||||
mTabSegment = findViewById(R.id.ScreenType);
|
||||
mContentViewPager = findViewById(R.id.contentViewPager);
|
||||
imageButtonAddUser = findViewById(R.id.imageButtonAddUser);
|
||||
@@ -253,6 +259,8 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
||||
} else {
|
||||
views = (UserMeetingViews) (prefabView.getTag());
|
||||
}
|
||||
|
||||
views.memberStatus3.setVisibility(View.GONE);
|
||||
DBUser d = (DBUser) data;
|
||||
views.textViewName.setText(d.name);
|
||||
views.textViewNum.setText(d.phone);
|
||||
@@ -272,6 +280,22 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
||||
views.imageViewPhoneIcon.setVisibility(View.VISIBLE);
|
||||
views.imageViewAddflag.setVisibility(View.INVISIBLE);
|
||||
}
|
||||
|
||||
if (d.isMute) {
|
||||
views.memberStatus1.setImageResource(R.drawable.mute);
|
||||
} else {
|
||||
views.memberStatus1.setImageResource(R.drawable.unmute);
|
||||
}
|
||||
if (VIDEOSTATE) {
|
||||
views.memberStatus2.setVisibility(View.VISIBLE);
|
||||
if (d.isVMute) {
|
||||
views.memberStatus2.setImageResource(R.drawable.unvideo);
|
||||
} else {
|
||||
views.memberStatus2.setImageResource(R.drawable.video);
|
||||
}
|
||||
} else {
|
||||
views.memberStatus2.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -289,7 +313,7 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
||||
.edgeProtection(QMUIDisplayHelper.dp2px(InCallMeetingActivity.this, 20));
|
||||
if (DBUser.mySelf.isManager) {
|
||||
if (d.isMute) {
|
||||
qa.addAction(new QMUIQuickAction.Action().icon(android.R.drawable.ic_delete).text("取消禁言").onClick(
|
||||
qa.addAction(new QMUIQuickAction.Action().icon(R.drawable.unmute).text("取消禁言").onClick(
|
||||
new QMUIQuickAction.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(QMUIQuickAction quickAction, QMUIQuickAction.Action action, int position) {
|
||||
@@ -308,7 +332,7 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
||||
}
|
||||
));
|
||||
} else {
|
||||
qa.addAction(new QMUIQuickAction.Action().icon(android.R.drawable.ic_delete).text("禁言").onClick(
|
||||
qa.addAction(new QMUIQuickAction.Action().icon(R.drawable.mute).text("禁言").onClick(
|
||||
new QMUIQuickAction.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(QMUIQuickAction quickAction, QMUIQuickAction.Action action, int position) {
|
||||
@@ -330,7 +354,7 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
||||
|
||||
if (VIDEOSTATE) {
|
||||
if (d.isVMute) {
|
||||
qa.addAction(new QMUIQuickAction.Action().icon(android.R.drawable.ic_delete).text("回复视频").onClick(
|
||||
qa.addAction(new QMUIQuickAction.Action().icon(R.drawable.video).text("恢复视频").onClick(
|
||||
new QMUIQuickAction.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(QMUIQuickAction quickAction, QMUIQuickAction.Action action, int position) {
|
||||
@@ -349,7 +373,7 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
||||
}
|
||||
));
|
||||
} else {
|
||||
qa.addAction(new QMUIQuickAction.Action().icon(android.R.drawable.ic_delete).text("停止视频").onClick(
|
||||
qa.addAction(new QMUIQuickAction.Action().icon(R.drawable.unvideo).text("停止视频").onClick(
|
||||
new QMUIQuickAction.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(QMUIQuickAction quickAction, QMUIQuickAction.Action action, int position) {
|
||||
@@ -369,45 +393,24 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
||||
));
|
||||
}
|
||||
|
||||
if (d.isLayout) {
|
||||
qa.addAction(new QMUIQuickAction.Action().icon(android.R.drawable.ic_delete).text("恢复布局").onClick(
|
||||
new QMUIQuickAction.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(QMUIQuickAction quickAction, QMUIQuickAction.Action action, int position) {
|
||||
quickAction.dismiss();
|
||||
Net.vidlayoutMember4Group(callnumber, d.phone, new HttpUtl.CallBack() {
|
||||
@Override
|
||||
public void onRequestComplete(int cmd, String result, Object orgs) {
|
||||
getMembers();
|
||||
}
|
||||
qa.addAction(new QMUIQuickAction.Action().icon(R.drawable.fullscreen).text("切到主界面").onClick(
|
||||
new QMUIQuickAction.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(QMUIQuickAction quickAction, QMUIQuickAction.Action action, int position) {
|
||||
quickAction.dismiss();
|
||||
Net.vidfloorMember4Group(callnumber, d.phone, new HttpUtl.CallBack() {
|
||||
@Override
|
||||
public void onRequestComplete(int cmd, String result, Object orgs) {
|
||||
getMembers();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRequestError(int cmd, String result, Object orgs) {
|
||||
}
|
||||
}, null);
|
||||
}
|
||||
@Override
|
||||
public void onRequestError(int cmd, String result, Object orgs) {
|
||||
}
|
||||
}, null);
|
||||
}
|
||||
));
|
||||
} else {
|
||||
qa.addAction(new QMUIQuickAction.Action().icon(android.R.drawable.ic_delete).text("切换布局").onClick(
|
||||
new QMUIQuickAction.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(QMUIQuickAction quickAction, QMUIQuickAction.Action action, int position) {
|
||||
quickAction.dismiss();
|
||||
Net.vidfloorMember4Group(callnumber, d.phone, new HttpUtl.CallBack() {
|
||||
@Override
|
||||
public void onRequestComplete(int cmd, String result, Object orgs) {
|
||||
getMembers();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRequestError(int cmd, String result, Object orgs) {
|
||||
}
|
||||
}, null);
|
||||
}
|
||||
}
|
||||
));
|
||||
}
|
||||
}
|
||||
));
|
||||
}
|
||||
|
||||
qa.addAction(new QMUIQuickAction.Action().icon(android.R.drawable.ic_delete).text("移除").onClick(
|
||||
@@ -454,8 +457,18 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
||||
super.onResume();
|
||||
if (callstate.equals("来电")) {
|
||||
incall_answer.setVisibility(View.VISIBLE);
|
||||
incall_mute.setVisibility(View.GONE);
|
||||
incall_muteVideo.setVisibility(View.GONE);
|
||||
} else {
|
||||
incall_answer.setVisibility(View.GONE);
|
||||
if (DBUser.mySelf.isManager) {
|
||||
incall_mute.setVisibility(View.VISIBLE);
|
||||
if (VIDEOSTATE) {
|
||||
incall_muteVideo.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
incall_muteVideo.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
}
|
||||
show.setText(callnumber + callstate);
|
||||
//控件显示号码,来电,去电,通话中...
|
||||
@@ -585,6 +598,11 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
||||
*/
|
||||
engineServer.startVideoStream(this, server, rport, lport, payload, BitRate, FrameRate, w, h, c, true);
|
||||
VIDEOSTATE = true;
|
||||
|
||||
if (DBUser.mySelf.isManager) {
|
||||
incall_mute.setVisibility(View.VISIBLE);
|
||||
incall_muteVideo.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -600,11 +618,113 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
||||
break;
|
||||
case R.id.incall_answer:
|
||||
incall_answer.setVisibility(View.GONE);
|
||||
if (DBUser.mySelf.isManager) {
|
||||
incall_mute.setVisibility(View.VISIBLE);
|
||||
}
|
||||
SipEngine.getInstance().answer(callid);
|
||||
break;
|
||||
case R.id.incall_mute:
|
||||
muteAll(v);
|
||||
break;
|
||||
case R.id.incall_muteVideo:
|
||||
videomuteAll(v);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void muteAll(View view) {
|
||||
QMUIQuickAction qa = QMUIPopups.quickAction(InCallMeetingActivity.this,
|
||||
QMUIDisplayHelper.dp2px(InCallMeetingActivity.this, 56),
|
||||
QMUIDisplayHelper.dp2px(InCallMeetingActivity.this, 56))
|
||||
.shadow(true)
|
||||
.dimAmount(0.5f)
|
||||
.skinManager(QMUISkinManager.defaultInstance(InCallMeetingActivity.this))
|
||||
.edgeProtection(QMUIDisplayHelper.dp2px(InCallMeetingActivity.this, 20));
|
||||
qa.addAction(new QMUIQuickAction.Action().icon(R.drawable.mute).text("全部禁言").onClick(
|
||||
new QMUIQuickAction.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(QMUIQuickAction quickAction, QMUIQuickAction.Action action, int position) {
|
||||
quickAction.dismiss();
|
||||
Net.muteMember4Group(callnumber, "all", new HttpUtl.CallBack() {
|
||||
@Override
|
||||
public void onRequestComplete(int cmd, String result, Object orgs) {
|
||||
getMembers();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRequestError(int cmd, String result, Object orgs) {
|
||||
}
|
||||
}, null);
|
||||
}
|
||||
}
|
||||
));
|
||||
qa.addAction(new QMUIQuickAction.Action().icon(R.drawable.unmute).text("全部取消禁言").onClick(
|
||||
new QMUIQuickAction.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(QMUIQuickAction quickAction, QMUIQuickAction.Action action, int position) {
|
||||
quickAction.dismiss();
|
||||
Net.unmuteMember4Group(callnumber, "all", new HttpUtl.CallBack() {
|
||||
@Override
|
||||
public void onRequestComplete(int cmd, String result, Object orgs) {
|
||||
getMembers();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRequestError(int cmd, String result, Object orgs) {
|
||||
}
|
||||
}, null);
|
||||
}
|
||||
}
|
||||
));
|
||||
qa.show(view);
|
||||
}
|
||||
|
||||
public void videomuteAll(View view) {
|
||||
QMUIQuickAction qa = QMUIPopups.quickAction(InCallMeetingActivity.this,
|
||||
QMUIDisplayHelper.dp2px(InCallMeetingActivity.this, 56),
|
||||
QMUIDisplayHelper.dp2px(InCallMeetingActivity.this, 56))
|
||||
.shadow(true)
|
||||
.dimAmount(0.5f)
|
||||
.skinManager(QMUISkinManager.defaultInstance(InCallMeetingActivity.this))
|
||||
.edgeProtection(QMUIDisplayHelper.dp2px(InCallMeetingActivity.this, 20));
|
||||
qa.addAction(new QMUIQuickAction.Action().icon(R.drawable.unvideo).text("全部关闭视频").onClick(
|
||||
new QMUIQuickAction.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(QMUIQuickAction quickAction, QMUIQuickAction.Action action, int position) {
|
||||
quickAction.dismiss();
|
||||
Net.vmuteMember4Group(callnumber, "all", new HttpUtl.CallBack() {
|
||||
@Override
|
||||
public void onRequestComplete(int cmd, String result, Object orgs) {
|
||||
getMembers();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRequestError(int cmd, String result, Object orgs) {
|
||||
}
|
||||
}, null);
|
||||
}
|
||||
}
|
||||
));
|
||||
qa.addAction(new QMUIQuickAction.Action().icon(R.drawable.video).text("全部恢复视频").onClick(
|
||||
new QMUIQuickAction.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(QMUIQuickAction quickAction, QMUIQuickAction.Action action, int position) {
|
||||
quickAction.dismiss();
|
||||
Net.unvmuteMember4Group(callnumber, "all", new HttpUtl.CallBack() {
|
||||
@Override
|
||||
public void onRequestComplete(int cmd, String result, Object orgs) {
|
||||
getMembers();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRequestError(int cmd, String result, Object orgs) {
|
||||
}
|
||||
}, null);
|
||||
}
|
||||
}
|
||||
));
|
||||
qa.show(view);
|
||||
}
|
||||
|
||||
public void ShowVideoView(boolean show) {
|
||||
if (show) {
|
||||
|
||||
@@ -36,11 +36,15 @@ public class DBUser {
|
||||
this.phone = d.getString("extn");
|
||||
this.status = d.getString("sip_state");
|
||||
String weight = d.getString("weight");
|
||||
if(weight != null) {
|
||||
if (weight != null) {
|
||||
this.isManager = weight.equals("1");
|
||||
} else {
|
||||
this.isManager = false;
|
||||
}
|
||||
String ifMute = d.getString("ifMute");
|
||||
this.isMute = ifMute != null ? ifMute.equals("true") : false;
|
||||
String ifVMute = d.getString("ifVMute");
|
||||
this.isVMute = ifVMute != null ? ifVMute.equals("true") : false;
|
||||
}
|
||||
|
||||
public boolean isBusy() {
|
||||
|
||||
@@ -344,17 +344,17 @@ public class LoginActivity extends TrBaseActivity {
|
||||
}
|
||||
|
||||
public void exit2(View view) {
|
||||
Net.login(this.name, this.pw, new HttpUtl.CallBack() {
|
||||
@Override
|
||||
public void onRequestComplete(int cmd, String result, Object orgs) {
|
||||
ActivityMgr.sendMsg(CONS.LOGIN, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRequestError(int cmd, String result, Object orgs) {
|
||||
UIUtl.toastI("取得token失败");
|
||||
}
|
||||
}, null);
|
||||
// Net.login(this.name, this.pw, new HttpUtl.CallBack() {
|
||||
// @Override
|
||||
// public void onRequestComplete(int cmd, String result, Object orgs) {
|
||||
// ActivityMgr.sendMsg(CONS.LOGIN, null);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onRequestError(int cmd, String result, Object orgs) {
|
||||
// UIUtl.toastI("取得token失败");
|
||||
// }
|
||||
// }, null);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -404,7 +404,7 @@ public class MainActivity extends TrBaseActivity {
|
||||
public void onClick(QMUIQuickAction quickAction, QMUIQuickAction.Action action, int position) {
|
||||
quickAction.dismiss();
|
||||
QMUITipDialog dialog = UIUtl.toastLoading("");
|
||||
Net.kickMember4Group(currSelectData.id, d.phone, new HttpUtl.CallBack() {
|
||||
Net.kickMember4Group(currSelectData.audio_code, d.phone, new HttpUtl.CallBack() {
|
||||
@Override
|
||||
public void onRequestComplete(int cmd, String result, Object orgs) {
|
||||
UIUtl.toastS("移除分机成功");
|
||||
@@ -478,7 +478,7 @@ public class MainActivity extends TrBaseActivity {
|
||||
members = members + phNum + ",";
|
||||
}
|
||||
|
||||
Net.addMember2Group(currSelectData.id, members, new HttpUtl.CallBack() {
|
||||
Net.addMember2Group(currSelectData.audio_code, members, new HttpUtl.CallBack() {
|
||||
@Override
|
||||
public void onRequestComplete(int cmd, String result, Object orgs) {
|
||||
Net.getGroupMenbers(currSelectData.id, null, currSelectData.id);
|
||||
|
||||
@@ -128,7 +128,6 @@ public class Net {
|
||||
HttpUtl.doPostAsyn(url, _params, _callback, CMD_deleteGroup, params);
|
||||
}
|
||||
|
||||
//TODO:确认下参数
|
||||
public static void addMember2Group(String task_uuid, String members, HttpUtl.CallBack callBack, Object orgs) {
|
||||
String url = "http://" + ip + ":" + port + "/api/conferences/conference/add";
|
||||
String _params = "opr_nbr=" + task_uuid + "&opr_member=" + members;
|
||||
@@ -136,7 +135,6 @@ public class Net {
|
||||
HttpUtl.doPostAsyn(url, _params, _callback, CMD_addUser2Group, params);
|
||||
}
|
||||
|
||||
//TODO:确认下参数
|
||||
public static void kickMember4Group(String task_uuid, String members, HttpUtl.CallBack callBack, Object orgs) {
|
||||
String url = "http://" + ip + ":" + port + "/api/conferences/conference/update";
|
||||
String _params = "opr_nbr=" + task_uuid + "&opr_member=" + members + "&opr_action=kick";
|
||||
|
||||
BIN
app/src/main/res/drawable-hdpi/fullscreen.png
Normal file
BIN
app/src/main/res/drawable-hdpi/fullscreen.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.7 KiB |
BIN
app/src/main/res/drawable-hdpi/kick.png
Normal file
BIN
app/src/main/res/drawable-hdpi/kick.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
BIN
app/src/main/res/drawable-hdpi/mute.png
Normal file
BIN
app/src/main/res/drawable-hdpi/mute.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.6 KiB |
BIN
app/src/main/res/drawable-hdpi/unmute.png
Normal file
BIN
app/src/main/res/drawable-hdpi/unmute.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.3 KiB |
BIN
app/src/main/res/drawable-hdpi/unvideo.png
Normal file
BIN
app/src/main/res/drawable-hdpi/unvideo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.3 KiB |
@@ -91,7 +91,7 @@
|
||||
android:textSize="20sp" />
|
||||
|
||||
<Button
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_marginTop="10dp"
|
||||
@@ -101,7 +101,7 @@
|
||||
android:text="退出"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="20sp"
|
||||
android:visibility="visible" />
|
||||
android:visibility="invisible" />
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
|
||||
|
||||
@@ -89,6 +89,24 @@
|
||||
android:layout_marginStart="160dp"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/incall_mute"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/qmui_divider"
|
||||
android:src="@drawable/voice2"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/incall_muteVideo"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/qmui_divider"
|
||||
android:src="@drawable/unvideo"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/incall_answer"
|
||||
android:layout_width="0dp"
|
||||
@@ -105,6 +123,7 @@
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/call_hangup_background"
|
||||
android:src="@drawable/phone3" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<com.qmuiteam.qmui.widget.tab.QMUITabSegment
|
||||
|
||||
Reference in New Issue
Block a user