带自动接听

This commit is contained in:
chenbin
2021-05-06 17:47:20 +08:00
parent 3b28584e4c
commit 7961a6b462
2 changed files with 71 additions and 21 deletions

View File

@@ -193,15 +193,30 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
incall_answer.setVisibility(View.GONE);
}
show.setText(callnumber + callstate);
if (incall_answer.getVisibility() == View.VISIBLE && selfCall) {
incall_answer.setVisibility(View.GONE);
SipEngine.getInstance().answer(callid);
SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
ringtone = null;
if (incall_answer.getVisibility() == View.VISIBLE){
if(selfCall) {
// incall_answer.setVisibility(View.GONE);
// SipEngine.getInstance().answer(callid);
// SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
// ringtone = null;
answer();
} else {
AutoAnwser();
}
}
}
static void AutoAnwser() {
handler_CallActivity.postDelayed(doAutoAnwser, 5000);
}
static Runnable doAutoAnwser = new Runnable() {
@Override
public void run() {
CONS.SENDMESSAGETO(handler_CallActivity, -2, null);
}
};
@Override
protected void onPause() {
super.onPause();
@@ -215,6 +230,7 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
ringtone = null;
SipEngine.getInstance().hangup(callid);
handler_CallActivity.removeCallbacks(doAutoAnwser);
handler_CallActivity = null;
if (wakeLock != null) {
wakeLock.release();
@@ -279,6 +295,9 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
stopVideoStream(true);
finish();
break;
case -2:
answer();
break;
}
return true;
}
@@ -338,14 +357,23 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
}
break;
case R.id.incall_answer:
incall_answer.setVisibility(View.GONE);
SipEngine.getInstance().answer(callid);
SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
ringtone = null;
// incall_answer.setVisibility(View.GONE);
// SipEngine.getInstance().answer(callid);
// SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
// ringtone = null;
answer();
break;
}
}
public void answer() {
incall_answer.setVisibility(View.GONE);
SipEngine.getInstance().answer(callid);
SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
ringtone = null;
handler_CallActivity.removeCallbacks(doAutoAnwser);
}
public void ShowVideoView(boolean show) {
if (show) {

View File

@@ -529,14 +529,28 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
}
show.setText(callnumber + callstate);
//控件显示号码,来电,去电,通话中...
if (incall_answer.getVisibility() == View.VISIBLE && selfCall) {
incall_answer.setVisibility(View.GONE);
SipEngine.getInstance().answer(callid);
SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
ringtone = null;
if (incall_answer.getVisibility() == View.VISIBLE ) {
if(selfCall) {
// incall_answer.setVisibility(View.GONE);
// SipEngine.getInstance().answer(callid);
// SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
// ringtone = null;
answer();
} else {
AutoAnwser();
}
}
}
static void AutoAnwser() {
handler_CallActivity.postDelayed(doAutoAnwser, 5000);
}
static Runnable doAutoAnwser = new Runnable() {
@Override
public void run() {
CONS.SENDMESSAGETO(handler_CallActivity, -2, null);
}
};
@Override
protected void onPause() {
@@ -552,6 +566,7 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
ringtone = null;
SipEngine.getInstance().hangup(callid);
handler_CallActivity.removeCallbacks(getMemberRunner);
handler_CallActivity.removeCallbacks(doAutoAnwser);
handler_CallActivity = null;
if (wakeLock != null) {
wakeLock.release();
@@ -626,6 +641,9 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
case -1:
getMembers();
break;
case -2:
answer();
break;
}
return true;
}
@@ -690,13 +708,7 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
}
break;
case R.id.incall_answer:
incall_answer.setVisibility(View.GONE);
if (DBUser.mySelf != null && DBUser.mySelf.isManager) {
incall_mute.setVisibility(View.VISIBLE);
}
SipEngine.getInstance().answer(callid);
SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
ringtone = null;
answer();
break;
case R.id.incall_mute:
muteAll(v);
@@ -706,6 +718,16 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
break;
}
}
public void answer() {
incall_answer.setVisibility(View.GONE);
if (DBUser.mySelf != null && DBUser.mySelf.isManager) {
incall_mute.setVisibility(View.VISIBLE);
}
SipEngine.getInstance().answer(callid);
SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
ringtone = null;
handler_CallActivity.removeCallbacks(doAutoAnwser);
}
public void muteAll(View view) {
QMUIQuickAction qa = QMUIPopups.quickAction(InCallMeetingActivity.this,