Add sdes logic to secure call for debug purpose
Refs #41441
diff --git a/src/org/sflphone/fragments/CallFragment.java b/src/org/sflphone/fragments/CallFragment.java
index 0c60307..69b4c24 100644
--- a/src/org/sflphone/fragments/CallFragment.java
+++ b/src/org/sflphone/fragments/CallFragment.java
@@ -400,7 +400,6 @@
private void enableZRTP(final SecureSipCall secured) {
Log.i(TAG, "enable ZRTP");
-
switch (secured.displayModule()) {
case SecureSipCall.DISPLAY_GREEN_LOCK:
showLock(R.drawable.green_lock);
@@ -409,7 +408,6 @@
showLock(R.drawable.red_lock);
break;
case SecureSipCall.DISPLAY_CONFIRM_SAS:
- Log.i(TAG, "needSASConfirmation");
final Button sas = (Button) mSecuritySwitch.findViewById(R.id.confirm_sas);
sas.setText("Confirm SAS: " + secured.getSAS());
sas.setOnClickListener(new View.OnClickListener() {
@@ -428,8 +426,6 @@
case SecureSipCall.DISPLAY_NONE:
break;
}
-
-
}
private void showLock(int resId) {
diff --git a/src/org/sflphone/model/SecureSipCall.java b/src/org/sflphone/model/SecureSipCall.java
index ecc8295..9932f98 100644
--- a/src/org/sflphone/model/SecureSipCall.java
+++ b/src/org/sflphone/model/SecureSipCall.java
@@ -52,6 +52,8 @@
public final static int DISPLAY_CONFIRM_SAS = 2;
public final static int DISPLAY_NONE = 3;
+ private boolean sdesIsOn;
+ private boolean rtpFallback;
/*
*
srtp:
@@ -108,14 +110,11 @@
super(call);
isInitialized = false;
displaySas = secure.getBoolean(SecureSipCall.DISPLAY_SAS, false);
- needSASConfirmation = displaySas; // At first this is equal
+ needSASConfirmation = false;
alertIfZrtpNotSupported = secure.getBoolean(SecureSipCall.DISPLAY_WARNING_ZRTP_NOT_SUPPORTED, false);
displaySASOnHold = secure.getBoolean(SecureSipCall.DISPLAY_SAS_ONCE, false);
zrtpNotSupported = false;
- }
-
- public boolean needSASConfirmation() {
- return needSASConfirmation;
+ sdesIsOn = false;
}
public void setSASConfirmed(boolean confirmedSAS) {
@@ -139,6 +138,7 @@
displaySASOnHold = in.readByte() == 1;
zrtpNotSupported = in.readByte() == 1;
needSASConfirmation = in.readByte() == 1;
+ sdesIsOn = in.readByte() == 1;
}
@Override
@@ -151,6 +151,7 @@
out.writeByte((byte) (displaySASOnHold ? 1 : 0));
out.writeByte((byte) (zrtpNotSupported ? 1 : 0));
out.writeByte((byte) (needSASConfirmation ? 1 : 0));
+ out.writeByte((byte) (sdesIsOn ? 1 : 0));
}
public static final Parcelable.Creator<SecureSipCall> CREATOR = new Parcelable.Creator<SecureSipCall>() {
@@ -185,9 +186,9 @@
*/
public int displayModule() {
if (isInitialized()) {
- if (needSASConfirmation()) {
+ if (needSASConfirmation) {
return DISPLAY_CONFIRM_SAS;
- } else if (supportZRTP()) {
+ } else if (!zrtpNotSupported || sdesIsOn) {
return DISPLAY_GREEN_LOCK;
} else {
return DISPLAY_RED_LOCK;
@@ -195,4 +196,8 @@
}
return DISPLAY_NONE;
}
+
+ public void useSecureSDES(boolean use) {
+ sdesIsOn = use;
+ }
}
diff --git a/src/org/sflphone/service/CallManagerCallBack.java b/src/org/sflphone/service/CallManagerCallBack.java
index de76e6c..6012aae 100644
--- a/src/org/sflphone/service/CallManagerCallBack.java
+++ b/src/org/sflphone/service/CallManagerCallBack.java
@@ -265,11 +265,17 @@
@Override
public void on_secure_sdes_on(String callID) {
Log.i(TAG, "on_secure_sdes_on");
+ SecureSipCall call = (SecureSipCall) mService.getCallById(callID);
+ call.setInitialized();
+ call.useSecureSDES(true);
}
@Override
public void on_secure_sdes_off(String callID) {
Log.i(TAG, "on_secure_sdes_off");
+ SecureSipCall call = (SecureSipCall) mService.getCallById(callID);
+ call.setInitialized();
+ call.useSecureSDES(false);
}
@Override