|
@@ -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;
|
|
@@ -85,6 +86,8 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
85
|
86
|
private boolean selfCall = false;
|
86
|
87
|
private boolean VIDEOSTATE = false;
|
87
|
88
|
public static Intent incallIntent;
|
|
89
|
+ private Ringtone ringtone;
|
|
90
|
+
|
88
|
91
|
|
89
|
92
|
private boolean isinited = false;
|
90
|
93
|
|
|
@@ -512,6 +515,7 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
512
|
515
|
incall_answer.setVisibility(View.VISIBLE);
|
513
|
516
|
incall_mute.setVisibility(View.GONE);
|
514
|
517
|
incall_muteVideo.setVisibility(View.GONE);
|
|
518
|
+ ringtone = SipEngine.getInstance().PlaydefaultCallMediaPlayer(this);
|
515
|
519
|
} else {
|
516
|
520
|
incall_answer.setVisibility(View.GONE);
|
517
|
521
|
if (DBUser.mySelf != null && DBUser.mySelf.isManager) {
|
|
@@ -525,15 +529,28 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
525
|
529
|
}
|
526
|
530
|
show.setText(callnumber + callstate);
|
527
|
531
|
//控件显示号码,来电,去电,通话中...
|
528
|
|
- if (incall_answer.getVisibility() == View.VISIBLE && selfCall) {
|
529
|
|
- incall_answer.setVisibility(View.GONE);
|
530
|
|
- SipEngine.getInstance().StopdefaultCallMediaPlayer(this);
|
531
|
|
- SipEngine.getInstance().answer(callid);
|
532
|
|
- } else {
|
533
|
|
- SipEngine.getInstance().PlaydefaultCallMediaPlayer(this);
|
|
532
|
+ if (incall_answer.getVisibility() == View.VISIBLE ) {
|
|
533
|
+ if(selfCall) {
|
|
534
|
+// incall_answer.setVisibility(View.GONE);
|
|
535
|
+// SipEngine.getInstance().answer(callid);
|
|
536
|
+// SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
|
|
537
|
+// ringtone = null;
|
|
538
|
+ answer();
|
|
539
|
+ } else {
|
|
540
|
+ AutoAnwser();
|
|
541
|
+ }
|
534
|
542
|
}
|
535
|
543
|
|
536
|
544
|
}
|
|
545
|
+ static void AutoAnwser() {
|
|
546
|
+ handler_CallActivity.postDelayed(doAutoAnwser, 5000);
|
|
547
|
+ }
|
|
548
|
+ static Runnable doAutoAnwser = new Runnable() {
|
|
549
|
+ @Override
|
|
550
|
+ public void run() {
|
|
551
|
+ CONS.SENDMESSAGETO(handler_CallActivity, -2, null);
|
|
552
|
+ }
|
|
553
|
+ };
|
537
|
554
|
|
538
|
555
|
@Override
|
539
|
556
|
protected void onPause() {
|
|
@@ -545,8 +562,11 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
545
|
562
|
protected void onDestroy() {
|
546
|
563
|
stopVideoStream(true);
|
547
|
564
|
super.onDestroy();
|
|
565
|
+ SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
|
|
566
|
+ ringtone = null;
|
548
|
567
|
SipEngine.getInstance().hangup(callid);
|
549
|
568
|
handler_CallActivity.removeCallbacks(getMemberRunner);
|
|
569
|
+ handler_CallActivity.removeCallbacks(doAutoAnwser);
|
550
|
570
|
handler_CallActivity = null;
|
551
|
571
|
if (wakeLock != null) {
|
552
|
572
|
wakeLock.release();
|
|
@@ -621,6 +641,9 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
621
|
641
|
case -1:
|
622
|
642
|
getMembers();
|
623
|
643
|
break;
|
|
644
|
+ case -2:
|
|
645
|
+ answer();
|
|
646
|
+ break;
|
624
|
647
|
}
|
625
|
648
|
return true;
|
626
|
649
|
}
|
|
@@ -685,12 +708,7 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
685
|
708
|
}
|
686
|
709
|
break;
|
687
|
710
|
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);
|
|
711
|
+ answer();
|
694
|
712
|
break;
|
695
|
713
|
case R.id.incall_mute:
|
696
|
714
|
muteAll(v);
|
|
@@ -700,6 +718,16 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
700
|
718
|
break;
|
701
|
719
|
}
|
702
|
720
|
}
|
|
721
|
+ public void answer() {
|
|
722
|
+ incall_answer.setVisibility(View.GONE);
|
|
723
|
+ if (DBUser.mySelf != null && DBUser.mySelf.isManager) {
|
|
724
|
+ incall_mute.setVisibility(View.VISIBLE);
|
|
725
|
+ }
|
|
726
|
+ SipEngine.getInstance().answer(callid);
|
|
727
|
+ SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
|
|
728
|
+ ringtone = null;
|
|
729
|
+ handler_CallActivity.removeCallbacks(doAutoAnwser);
|
|
730
|
+ }
|
703
|
731
|
|
704
|
732
|
public void muteAll(View view) {
|
705
|
733
|
QMUIQuickAction qa = QMUIPopups.quickAction(InCallMeetingActivity.this,
|