Added confirmation dialog before leaving a group

This commit is contained in:
Sylvain Berfini 2018-02-16 10:24:52 +01:00
parent 7f7f602d44
commit a8ab0ad1f3
3 changed files with 30 additions and 6 deletions

View file

@ -178,6 +178,9 @@ Vos amis pourront vous joindre plus facilement si vous associez votre compte à
<string name="delivered">Reçu</string> <string name="delivered">Reçu</string>
<string name="sent">Envoyé</string> <string name="sent">Envoyé</string>
<string name="resend">Renvoyer</string> <string name="resend">Renvoyer</string>
<string name="chat_room_leave_group">Quitter le groupe</string>
<string name="chat_room_leave_dialog">Souhaitez-vous vraiment quitter ce groupe ?</string>
<string name="chat_room_leave_button">Quitter</string>
<!--Status Bar--> <!--Status Bar-->
<string name="status_connected">Enregistré</string> <string name="status_connected">Enregistré</string>
<string name="status_not_connected">Non enregistré</string> <string name="status_not_connected">Non enregistré</string>

View file

@ -215,6 +215,8 @@
<string name="chat_room_you_are_now_admin">You are now admin</string> <string name="chat_room_you_are_now_admin">You are now admin</string>
<string name="chat_room_you_are_no_longer_admin">You are no longer admin</string> <string name="chat_room_you_are_no_longer_admin">You are no longer admin</string>
<string name="chat_room_creation_failed">Chat room creation failed</string> <string name="chat_room_creation_failed">Chat room creation failed</string>
<string name="chat_room_leave_dialog">Do you really want to leave this group?</string>
<string name="chat_room_leave_button">Leave</string>
<!-- Status Bar --> <!-- Status Bar -->
<string name="status_connected">Registered</string> <string name="status_connected">Registered</string>

View file

@ -132,12 +132,31 @@ public class GroupInfoFragment extends Fragment implements ChatRoomListener {
mLeaveGroupButton.setOnClickListener(new View.OnClickListener() { mLeaveGroupButton.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View view) { public void onClick(View view) {
if (mChatRoom != null) { final Dialog dialog = LinphoneActivity.instance().displayDialog(getString(R.string.chat_room_leave_dialog));
mChatRoom.leave(); Button delete = dialog.findViewById(R.id.delete_button);
LinphoneActivity.instance().goToChat(mGroupChatRoomAddress.asString()); delete.setText(getString(R.string.chat_room_leave_button));
} else { Button cancel = dialog.findViewById(R.id.cancel);
Log.e("Can't leave, chatRoom for address " + mGroupChatRoomAddress.asString() + " is null...");
} delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (mChatRoom != null) {
mChatRoom.leave();
LinphoneActivity.instance().goToChat(mGroupChatRoomAddress.asString());
} else {
Log.e("Can't leave, chatRoom for address " + mGroupChatRoomAddress.asString() + " is null...");
}
dialog.dismiss();
}
});
cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dialog.dismiss();
}
});
dialog.show();
} }
}); });
mLeaveGroupButton.setVisibility(mIsAlreadyCreatedGroup && mChatRoom.hasBeenLeft() ? View.GONE : mIsAlreadyCreatedGroup ? View.VISIBLE : View.GONE); mLeaveGroupButton.setVisibility(mIsAlreadyCreatedGroup && mChatRoom.hasBeenLeft() ? View.GONE : mIsAlreadyCreatedGroup ? View.VISIBLE : View.GONE);