|
@@ -7,6 +7,7 @@ import android.content.Context;
|
7
|
7
|
import android.content.DialogInterface;
|
8
|
8
|
import android.content.Intent;
|
9
|
9
|
import android.graphics.Color;
|
|
10
|
+import android.media.Ringtone;
|
10
|
11
|
import android.os.Bundle;
|
11
|
12
|
import android.os.Handler;
|
12
|
13
|
import android.os.Message;
|
|
@@ -87,6 +88,7 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
87
|
88
|
public static Intent incallIntent;
|
88
|
89
|
|
89
|
90
|
private boolean isinited = false;
|
|
91
|
+ private Ringtone ringtone;
|
90
|
92
|
|
91
|
93
|
TrAdapter adapterUser;
|
92
|
94
|
|
|
@@ -526,14 +528,22 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
526
|
528
|
show.setText(callnumber + callstate);
|
527
|
529
|
//控件显示号码,来电,去电,通话中...
|
528
|
530
|
if (incall_answer.getVisibility() == View.VISIBLE && selfCall) {
|
529
|
|
- incall_answer.setVisibility(View.GONE);
|
530
|
|
- SipEngine.getInstance().StopdefaultCallMediaPlayer(this);
|
531
|
|
- SipEngine.getInstance().answer(callid);
|
|
531
|
+ answer();
|
532
|
532
|
} else {
|
533
|
|
- SipEngine.getInstance().PlaydefaultCallMediaPlayer(this);
|
|
533
|
+ ringtone = SipEngine.getInstance().PlaydefaultCallMediaPlayer(this);
|
|
534
|
+ AutoAnwser(); //5秒后自动接听
|
534
|
535
|
}
|
|
536
|
+ }
|
535
|
537
|
|
|
538
|
+ static void AutoAnwser(){
|
|
539
|
+ handler_CallActivity.postDelayed(doAutoAnwser, 5000);
|
536
|
540
|
}
|
|
541
|
+ static Runnable doAutoAnwser = new Runnable() {
|
|
542
|
+ @Override
|
|
543
|
+ public void run() {
|
|
544
|
+ CONS.SENDMESSAGETO(handler_CallActivity, -2, null);
|
|
545
|
+ }
|
|
546
|
+ };
|
537
|
547
|
|
538
|
548
|
@Override
|
539
|
549
|
protected void onPause() {
|
|
@@ -547,12 +557,15 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
547
|
557
|
super.onDestroy();
|
548
|
558
|
SipEngine.getInstance().hangup(callid);
|
549
|
559
|
handler_CallActivity.removeCallbacks(getMemberRunner);
|
|
560
|
+ handler_CallActivity.removeCallbacks(doAutoAnwser);
|
550
|
561
|
handler_CallActivity = null;
|
551
|
562
|
if (wakeLock != null) {
|
552
|
563
|
wakeLock.release();
|
553
|
564
|
wakeLock = null;
|
554
|
565
|
}
|
555
|
566
|
|
|
567
|
+ SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
|
|
568
|
+ ringtone = null;
|
556
|
569
|
}
|
557
|
570
|
|
558
|
571
|
/**
|
|
@@ -621,6 +634,9 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
621
|
634
|
case -1:
|
622
|
635
|
getMembers();
|
623
|
636
|
break;
|
|
637
|
+ case -2:
|
|
638
|
+ answer();
|
|
639
|
+ break;
|
624
|
640
|
}
|
625
|
641
|
return true;
|
626
|
642
|
}
|
|
@@ -683,14 +699,10 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
683
|
699
|
if (SipEngine.callPagesConfig.size() == 0) {
|
684
|
700
|
finish();
|
685
|
701
|
}
|
|
702
|
+ SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
|
686
|
703
|
break;
|
687
|
704
|
case R.id.incall_answer:
|
688
|
|
- incall_answer.setVisibility(View.GONE);
|
689
|
|
- if (DBUser.mySelf != null && DBUser.mySelf.isManager) {
|
690
|
|
- incall_mute.setVisibility(View.VISIBLE);
|
691
|
|
- }
|
692
|
|
- SipEngine.getInstance().answer(callid);
|
693
|
|
- SipEngine.getInstance().StopdefaultCallMediaPlayer(this);
|
|
705
|
+ answer();
|
694
|
706
|
break;
|
695
|
707
|
case R.id.incall_mute:
|
696
|
708
|
muteAll(v);
|
|
@@ -701,6 +713,16 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
701
|
713
|
}
|
702
|
714
|
}
|
703
|
715
|
|
|
716
|
+ public void answer() {
|
|
717
|
+ incall_answer.setVisibility(View.GONE);
|
|
718
|
+ if (DBUser.mySelf != null && DBUser.mySelf.isManager) {
|
|
719
|
+ incall_mute.setVisibility(View.VISIBLE);
|
|
720
|
+ }
|
|
721
|
+ SipEngine.getInstance().answer(callid);
|
|
722
|
+ SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
|
|
723
|
+ handler_CallActivity.removeCallbacks(doAutoAnwser);
|
|
724
|
+ }
|
|
725
|
+
|
704
|
726
|
public void muteAll(View view) {
|
705
|
727
|
QMUIQuickAction qa = QMUIPopups.quickAction(InCallMeetingActivity.this,
|
706
|
728
|
QMUIDisplayHelper.dp2px(InCallMeetingActivity.this, 56),
|