Compare commits
4 Commits
de8bf0b61c
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| f4c6060cbc | |||
| 7961a6b462 | |||
| 3b28584e4c | |||
| eb6c7ddab8 |
@@ -336,14 +336,18 @@ public class SipEngine implements BluetelInterface {
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
public void PlaydefaultCallMediaPlayer(Context context) {
|
||||
public Ringtone PlaydefaultCallMediaPlayer(Context context) {
|
||||
Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
|
||||
Ringtone r = RingtoneManager.getRingtone(context, notification);
|
||||
r.play();
|
||||
return r;
|
||||
}
|
||||
public void StopdefaultCallMediaPlayer(Context context) {
|
||||
Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
|
||||
Ringtone r = RingtoneManager.getRingtone(context, notification);
|
||||
public void StopdefaultCallMediaPlayer(Ringtone r) {
|
||||
// Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
|
||||
// Ringtone r = RingtoneManager.getRingtone(context, notification);
|
||||
// r.stop();
|
||||
if(r != null) {
|
||||
r.stop();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import android.app.Activity;
|
||||
import android.app.KeyguardManager;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.media.Ringtone;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
@@ -63,6 +64,7 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
|
||||
private boolean selfCall = false;
|
||||
private boolean VIDEOSTATE = false;
|
||||
public static Intent incallIntent;
|
||||
private Ringtone ringtone;
|
||||
|
||||
public String[] screenTyps = {"经典模式", "均分模式", "远程全屏", "本地全屏"};
|
||||
|
||||
@@ -186,20 +188,35 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
|
||||
super.onResume();
|
||||
if (callstate.equals("来电")) {
|
||||
incall_answer.setVisibility(View.VISIBLE);
|
||||
ringtone = SipEngine.getInstance().PlaydefaultCallMediaPlayer(this);
|
||||
} else {
|
||||
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(this);
|
||||
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 {
|
||||
SipEngine.getInstance().PlaydefaultCallMediaPlayer(this);
|
||||
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();
|
||||
@@ -210,7 +227,10 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
|
||||
protected void onDestroy() {
|
||||
stopVideoStream(true);
|
||||
super.onDestroy();
|
||||
SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
|
||||
ringtone = null;
|
||||
SipEngine.getInstance().hangup(callid);
|
||||
handler_CallActivity.removeCallbacks(doAutoAnwser);
|
||||
handler_CallActivity = null;
|
||||
if (wakeLock != null) {
|
||||
wakeLock.release();
|
||||
@@ -275,6 +295,9 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
|
||||
stopVideoStream(true);
|
||||
finish();
|
||||
break;
|
||||
case -2:
|
||||
answer();
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -334,13 +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(this);
|
||||
// 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) {
|
||||
|
||||
@@ -7,6 +7,7 @@ import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.media.Ringtone;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
@@ -85,6 +86,8 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
||||
private boolean selfCall = false;
|
||||
private boolean VIDEOSTATE = false;
|
||||
public static Intent incallIntent;
|
||||
private Ringtone ringtone;
|
||||
|
||||
|
||||
private boolean isinited = false;
|
||||
|
||||
@@ -512,6 +515,7 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
||||
incall_answer.setVisibility(View.VISIBLE);
|
||||
incall_mute.setVisibility(View.GONE);
|
||||
incall_muteVideo.setVisibility(View.GONE);
|
||||
ringtone = SipEngine.getInstance().PlaydefaultCallMediaPlayer(this);
|
||||
} else {
|
||||
incall_answer.setVisibility(View.GONE);
|
||||
if (DBUser.mySelf != null && DBUser.mySelf.isManager) {
|
||||
@@ -525,15 +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().StopdefaultCallMediaPlayer(this);
|
||||
SipEngine.getInstance().answer(callid);
|
||||
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 {
|
||||
SipEngine.getInstance().PlaydefaultCallMediaPlayer(this);
|
||||
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() {
|
||||
@@ -545,8 +562,11 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
||||
protected void onDestroy() {
|
||||
stopVideoStream(true);
|
||||
super.onDestroy();
|
||||
SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
|
||||
ringtone = null;
|
||||
SipEngine.getInstance().hangup(callid);
|
||||
handler_CallActivity.removeCallbacks(getMemberRunner);
|
||||
handler_CallActivity.removeCallbacks(doAutoAnwser);
|
||||
handler_CallActivity = null;
|
||||
if (wakeLock != null) {
|
||||
wakeLock.release();
|
||||
@@ -621,6 +641,9 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
||||
case -1:
|
||||
getMembers();
|
||||
break;
|
||||
case -2:
|
||||
answer();
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -685,12 +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(this);
|
||||
answer();
|
||||
break;
|
||||
case R.id.incall_mute:
|
||||
muteAll(v);
|
||||
@@ -700,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,
|
||||
|
||||
Reference in New Issue
Block a user