Changing how we decline call when call GSM is active
This commit is contained in:
parent
a6aacef3a3
commit
962654bf7d
2 changed files with 7 additions and 12 deletions
|
@ -87,6 +87,7 @@ import org.linphone.core.PresenceBasicStatus;
|
||||||
import org.linphone.core.PresenceActivityType;
|
import org.linphone.core.PresenceActivityType;
|
||||||
import org.linphone.core.PresenceModel;
|
import org.linphone.core.PresenceModel;
|
||||||
import org.linphone.core.PublishState;
|
import org.linphone.core.PublishState;
|
||||||
|
import org.linphone.core.Reason;
|
||||||
import org.linphone.core.SubscriptionState;
|
import org.linphone.core.SubscriptionState;
|
||||||
import org.linphone.core.TunnelConfig;
|
import org.linphone.core.TunnelConfig;
|
||||||
import org.linphone.mediastream.Log;
|
import org.linphone.mediastream.Log;
|
||||||
|
@ -1352,8 +1353,11 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (state == State.IncomingReceived && getCallGsmON()) {
|
||||||
if (state == State.IncomingReceived && (LinphonePreferences.instance().isAutoAnswerEnabled()) && !getCallGsmON()) {
|
if (mLc != null) {
|
||||||
|
mLc.declineCall(call, Reason.Busy);
|
||||||
|
}
|
||||||
|
} else if (state == State.IncomingReceived && (LinphonePreferences.instance().isAutoAnswerEnabled()) && !getCallGsmON()) {
|
||||||
TimerTask lTask = new TimerTask() {
|
TimerTask lTask = new TimerTask() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
@ -1372,8 +1376,7 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag
|
||||||
};
|
};
|
||||||
mTimer = new Timer("Auto answer");
|
mTimer = new Timer("Auto answer");
|
||||||
mTimer.schedule(lTask, mPrefs.getAutoAnswerTime());
|
mTimer.schedule(lTask, mPrefs.getAutoAnswerTime());
|
||||||
}
|
} else if (state == State.IncomingReceived || (state == State.CallIncomingEarlyMedia && mR.getBoolean(R.bool.allow_ringing_while_early_media))) {
|
||||||
else if (state == State.IncomingReceived || (state == State.CallIncomingEarlyMedia && mR.getBoolean(R.bool.allow_ringing_while_early_media))) {
|
|
||||||
// Brighten screen for at least 10 seconds
|
// Brighten screen for at least 10 seconds
|
||||||
if (mLc.getCallsNb() == 1) {
|
if (mLc.getCallsNb() == 1) {
|
||||||
requestAudioFocus(STREAM_RING);
|
requestAudioFocus(STREAM_RING);
|
||||||
|
|
|
@ -30,8 +30,6 @@ import android.telephony.TelephonyManager;
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class PhoneStateChangedReceiver extends BroadcastReceiver {
|
public class PhoneStateChangedReceiver extends BroadcastReceiver {
|
||||||
private static int oldTimeOut;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onReceive(Context context, Intent intent) {
|
public void onReceive(Context context, Intent intent) {
|
||||||
final String extraState = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
|
final String extraState = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
|
||||||
|
@ -40,15 +38,9 @@ public class PhoneStateChangedReceiver extends BroadcastReceiver {
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (TelephonyManager.EXTRA_STATE_OFFHOOK.equals(extraState)) {
|
if (TelephonyManager.EXTRA_STATE_OFFHOOK.equals(extraState)) {
|
||||||
if (LinphonePreferences.instance() != null) {
|
|
||||||
oldTimeOut = LinphoneManager.getLc().getIncomingTimeout();
|
|
||||||
LinphoneManager.getLc().setIncomingTimeout(0);
|
|
||||||
}
|
|
||||||
LinphoneManager.getInstance().setCallGsmON(true);
|
LinphoneManager.getInstance().setCallGsmON(true);
|
||||||
LinphoneManager.getLc().pauseAllCalls();
|
LinphoneManager.getLc().pauseAllCalls();
|
||||||
} else if (TelephonyManager.EXTRA_STATE_IDLE.equals(extraState)) {
|
} else if (TelephonyManager.EXTRA_STATE_IDLE.equals(extraState)) {
|
||||||
if (LinphonePreferences.instance() != null)
|
|
||||||
LinphoneManager.getLc().setIncomingTimeout(oldTimeOut);
|
|
||||||
LinphoneManager.getInstance().setCallGsmON(false);
|
LinphoneManager.getInstance().setCallGsmON(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue