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