- Update linphone
- Some work on UI for ZRTP
This commit is contained in:
parent
d3f7bb7a83
commit
d8d6017f06
7 changed files with 128 additions and 45 deletions
|
@ -23,6 +23,7 @@ import java.util.List;
|
|||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
|
||||
import org.linphone.core.CallDirection;
|
||||
import org.linphone.core.LinphoneAddress;
|
||||
import org.linphone.core.LinphoneCall;
|
||||
import org.linphone.core.LinphoneCall.State;
|
||||
|
|
|
@ -137,6 +137,7 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick
|
|||
private boolean doNotGoToCallActivity = false;
|
||||
private List<String> sideMenuItems;
|
||||
private boolean callTransfer = false;
|
||||
private boolean isOnBackground = false;
|
||||
|
||||
static final boolean isInstanciated() {
|
||||
return instance != null;
|
||||
|
@ -1126,6 +1127,7 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick
|
|||
lc.removeListener(mListener);
|
||||
}
|
||||
callTransfer = false;
|
||||
isOnBackground = true;
|
||||
|
||||
super.onPause();
|
||||
}
|
||||
|
@ -1385,6 +1387,7 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick
|
|||
}
|
||||
}
|
||||
doNotGoToCallActivity = false;
|
||||
isOnBackground = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -1463,6 +1466,10 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick
|
|||
}
|
||||
}
|
||||
|
||||
public boolean isOnBackground() {
|
||||
return isOnBackground;
|
||||
}
|
||||
|
||||
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
||||
if (keyCode == KeyEvent.KEYCODE_BACK) {
|
||||
if (currentFragment == FragmentsAvailable.DIALER
|
||||
|
|
|
@ -22,7 +22,6 @@ import static android.media.AudioManager.MODE_RINGTONE;
|
|||
import static android.media.AudioManager.STREAM_RING;
|
||||
import static android.media.AudioManager.STREAM_VOICE_CALL;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
|
@ -152,6 +151,7 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag
|
|||
private LinphoneAccountCreator accountCreator;
|
||||
private static List<LinphoneChatMessage> mPendingChatFileMessage;
|
||||
private static LinphoneChatMessage mUploadPendingFileMessage;
|
||||
private boolean mAreDisplayAlertMessage = false;
|
||||
|
||||
public String wizardLoginViewDomain = null;
|
||||
|
||||
|
@ -1027,6 +1027,64 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void messageReceivedUnableToDecrypted(LinphoneCore lc, LinphoneChatRoom cr,
|
||||
LinphoneChatMessage message) {
|
||||
if (mServiceContext.getResources().getBoolean(R.bool.disable_chat)) {
|
||||
return;
|
||||
}
|
||||
|
||||
final LinphoneAddress from = message.getFrom();
|
||||
try {
|
||||
final LinphoneContact contact = ContactsManager.getInstance().findContactFromAddress(from);
|
||||
if (LinphoneActivity.instance().isOnBackground()) {
|
||||
if (!mServiceContext.getResources().getBoolean(R.bool.disable_chat_message_notification)) {
|
||||
if (contact != null) {
|
||||
LinphoneService.instance().displayMessageNotification(from.asStringUriOnly(), contact.getFullName()
|
||||
, getString(R.string.message_cant_be_decrypted_notif));
|
||||
} else {
|
||||
LinphoneService.instance().displayMessageNotification(from.asStringUriOnly(), from.getUserName()
|
||||
, getString(R.string.message_cant_be_decrypted_notif));
|
||||
}
|
||||
}
|
||||
} else if (!mAreDisplayAlertMessage){
|
||||
mAreDisplayAlertMessage = true;
|
||||
final Dialog dialog = LinphoneActivity.instance().displayDialog(
|
||||
getString(R.string.message_cant_be_decrypted).replace("%s"
|
||||
, (contact != null) ? contact.getFullName() : from.getUserName()));
|
||||
Button delete = (Button) dialog.findViewById(R.id.delete_button);
|
||||
delete.setText(getString(R.string.call));
|
||||
Button cancel = (Button) dialog.findViewById(R.id.cancel);
|
||||
cancel.setText(getString(R.string.ok));
|
||||
|
||||
delete.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
LinphoneManager.getInstance().newOutgoingCall(from.asStringUriOnly()
|
||||
, (contact != null) ? contact.getFullName() : from.getUserName());
|
||||
dialog.dismiss();
|
||||
LinphoneManager.getInstance().setAreDisplayAlertMessage(false);
|
||||
}
|
||||
});
|
||||
|
||||
cancel.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
dialog.dismiss();
|
||||
LinphoneManager.getInstance().setAreDisplayAlertMessage(false);
|
||||
}
|
||||
});
|
||||
dialog.show();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
Log.e(e);
|
||||
}
|
||||
}
|
||||
|
||||
public void setAreDisplayAlertMessage(boolean b) {
|
||||
mAreDisplayAlertMessage = b;
|
||||
}
|
||||
|
||||
public String getLastLcStatusMessage() {
|
||||
return lastLcStatusMessage;
|
||||
}
|
||||
|
|
|
@ -958,6 +958,7 @@ public class SettingsFragment extends PreferencesListFragment {
|
|||
}
|
||||
|
||||
private void setEncryptionZrtp() {
|
||||
LinphoneUtils.displayErrorAlert(getString(R.string.lime_encryption_enable_zrtp), LinphoneActivity.instance());
|
||||
mPrefs.setMediaEncryption(MediaEncryption.ZRTP);
|
||||
findPreference(getString(R.string.pref_media_encryption_key)).setSummary(mPrefs.getMediaEncryption().toString());
|
||||
}
|
||||
|
|
|
@ -18,6 +18,7 @@ along with this program; if not, write to the Free Software
|
|||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
import org.linphone.assistant.AssistantActivity;
|
||||
import org.linphone.core.CallDirection;
|
||||
import org.linphone.core.LinphoneCall;
|
||||
import org.linphone.core.LinphoneContent;
|
||||
import org.linphone.core.LinphoneCore;
|
||||
|
@ -393,9 +394,19 @@ public class StatusFragment extends Fragment {
|
|||
ZRTPdialog.setContentView(R.layout.dialog);
|
||||
ZRTPdialog.getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT);
|
||||
ZRTPdialog.getWindow().setBackgroundDrawable(d);
|
||||
String zrtpToRead, zrtpToListen;
|
||||
|
||||
if (call.getDirection().equals(CallDirection.Incoming)) {
|
||||
zrtpToRead = call.getAuthenticationToken().substring(0,2);
|
||||
zrtpToListen = call.getAuthenticationToken().substring(2);
|
||||
} else {
|
||||
zrtpToListen = call.getAuthenticationToken().substring(0,2);
|
||||
zrtpToRead = call.getAuthenticationToken().substring(2);
|
||||
}
|
||||
|
||||
TextView customText = (TextView) ZRTPdialog.findViewById(R.id.customText);
|
||||
String newText = getString(R.string.zrtp_dialog).replace("%s", call.getAuthenticationToken());
|
||||
String newText = getString(R.string.zrtp_dialog1).replace("%s", zrtpToRead)
|
||||
+ getString(R.string.zrtp_dialog2).replace("%s", zrtpToListen);
|
||||
customText.setText(newText);
|
||||
Button delete = (Button) ZRTPdialog.findViewById(R.id.delete_button);
|
||||
delete.setText(R.string.accept);
|
||||
|
|
|
@ -327,6 +327,11 @@ public class TutorialCardDavSync extends Activity implements OnClickListener, Li
|
|||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void messageReceivedUnableToDecrypted(LinphoneCore lc, LinphoneChatRoom cr, LinphoneChatMessage message) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void callState(LinphoneCore lc, LinphoneCall call, State state,
|
||||
String message) {
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 1cf4eda4aac0fdd1fdac150f6e0592368bf93459
|
||||
Subproject commit 3342ccf4abb1f3bd95053ca82d9b01508704bbc2
|
Loading…
Reference in a new issue