fix
This commit is contained in:
@@ -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;
|
||||||
@@ -50,6 +51,7 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
|
|||||||
private SMPercentFrameLayout localRenderLayout;
|
private SMPercentFrameLayout localRenderLayout;
|
||||||
private SMPercentFrameLayout remoteRenderLayout;
|
private SMPercentFrameLayout remoteRenderLayout;
|
||||||
private ImageButton incall_answer, incall_hangup;
|
private ImageButton incall_answer, incall_hangup;
|
||||||
|
private Ringtone ringtone;
|
||||||
private TextView show;
|
private TextView show;
|
||||||
QMUITabSegment mTabSegment;
|
QMUITabSegment mTabSegment;
|
||||||
ViewPager mContentViewPager;
|
ViewPager mContentViewPager;
|
||||||
@@ -191,15 +193,22 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
|
|||||||
}
|
}
|
||||||
show.setText(callnumber + callstate);
|
show.setText(callnumber + callstate);
|
||||||
if (incall_answer.getVisibility() == View.VISIBLE && selfCall) {
|
if (incall_answer.getVisibility() == View.VISIBLE && selfCall) {
|
||||||
incall_answer.setVisibility(View.GONE);
|
answer();
|
||||||
SipEngine.getInstance().answer(callid);
|
|
||||||
SipEngine.getInstance().StopdefaultCallMediaPlayer(this);
|
|
||||||
} else {
|
} else {
|
||||||
SipEngine.getInstance().PlaydefaultCallMediaPlayer(this);
|
ringtone = SipEngine.getInstance().PlaydefaultCallMediaPlayer(this);
|
||||||
|
AutoAnwser(); //5秒后自动接听
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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();
|
||||||
@@ -211,11 +220,14 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
|
|||||||
stopVideoStream(true);
|
stopVideoStream(true);
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
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();
|
||||||
wakeLock = null;
|
wakeLock = null;
|
||||||
}
|
}
|
||||||
|
SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
|
||||||
|
ringtone = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -275,6 +287,9 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
|
|||||||
stopVideoStream(true);
|
stopVideoStream(true);
|
||||||
finish();
|
finish();
|
||||||
break;
|
break;
|
||||||
|
case -2:
|
||||||
|
answer();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -332,15 +347,20 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
|
|||||||
if (SipEngine.callPagesConfig.size() == 0) {
|
if (SipEngine.callPagesConfig.size() == 0) {
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
|
SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
|
||||||
break;
|
break;
|
||||||
case R.id.incall_answer:
|
case R.id.incall_answer:
|
||||||
incall_answer.setVisibility(View.GONE);
|
answer();
|
||||||
SipEngine.getInstance().answer(callid);
|
|
||||||
SipEngine.getInstance().StopdefaultCallMediaPlayer(this);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void answer(){
|
||||||
|
incall_answer.setVisibility(View.GONE);
|
||||||
|
SipEngine.getInstance().answer(callid);
|
||||||
|
SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
|
||||||
|
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;
|
||||||
@@ -87,6 +88,7 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
|||||||
public static Intent incallIntent;
|
public static Intent incallIntent;
|
||||||
|
|
||||||
private boolean isinited = false;
|
private boolean isinited = false;
|
||||||
|
private Ringtone ringtone;
|
||||||
|
|
||||||
TrAdapter adapterUser;
|
TrAdapter adapterUser;
|
||||||
|
|
||||||
@@ -526,14 +528,22 @@ 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 && selfCall) {
|
||||||
incall_answer.setVisibility(View.GONE);
|
answer();
|
||||||
SipEngine.getInstance().StopdefaultCallMediaPlayer(this);
|
|
||||||
SipEngine.getInstance().answer(callid);
|
|
||||||
} else {
|
} else {
|
||||||
SipEngine.getInstance().PlaydefaultCallMediaPlayer(this);
|
ringtone = SipEngine.getInstance().PlaydefaultCallMediaPlayer(this);
|
||||||
|
AutoAnwser(); //5秒后自动接听
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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() {
|
||||||
@@ -547,12 +557,15 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
|||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
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();
|
||||||
wakeLock = null;
|
wakeLock = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
|
||||||
|
ringtone = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -621,6 +634,9 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
|||||||
case -1:
|
case -1:
|
||||||
getMembers();
|
getMembers();
|
||||||
break;
|
break;
|
||||||
|
case -2:
|
||||||
|
answer();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -683,14 +699,10 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
|||||||
if (SipEngine.callPagesConfig.size() == 0) {
|
if (SipEngine.callPagesConfig.size() == 0) {
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
|
SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
|
||||||
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);
|
||||||
@@ -701,6 +713,16 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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);
|
||||||
|
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,
|
||||||
QMUIDisplayHelper.dp2px(InCallMeetingActivity.this, 56),
|
QMUIDisplayHelper.dp2px(InCallMeetingActivity.this, 56),
|
||||||
|
|||||||
Reference in New Issue
Block a user