diff --git a/res/layout/chat_create.xml b/res/layout/chat_create.xml index bbaa58fa7..4778c18f1 100644 --- a/res/layout/chat_create.xml +++ b/res/layout/chat_create.xml @@ -186,22 +186,6 @@ - - - - - - - + \ No newline at end of file diff --git a/res/layout/chat_infos.xml b/res/layout/chat_infos.xml index 935318e48..e60ccc3dd 100644 --- a/res/layout/chat_infos.xml +++ b/res/layout/chat_infos.xml @@ -134,23 +134,7 @@ - - - - - - - + diff --git a/res/layout/contact.xml b/res/layout/contact.xml index 2242b686c..803679d11 100644 --- a/res/layout/contact.xml +++ b/res/layout/contact.xml @@ -1,114 +1,122 @@ - + android:layout_height="match_parent"> - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - \ No newline at end of file + + + + + + + \ No newline at end of file diff --git a/res/layout/wait_layout.xml b/res/layout/wait_layout.xml new file mode 100644 index 000000000..25e3ef6e5 --- /dev/null +++ b/res/layout/wait_layout.xml @@ -0,0 +1,17 @@ + + + + + + + + \ No newline at end of file diff --git a/src/android/org/linphone/activities/LinphoneActivity.java b/src/android/org/linphone/activities/LinphoneActivity.java index 70d9d1da6..795579350 100644 --- a/src/android/org/linphone/activities/LinphoneActivity.java +++ b/src/android/org/linphone/activities/LinphoneActivity.java @@ -952,6 +952,22 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick toast.show(); } + public void displayChatRoomError() { + final Dialog dialog = LinphoneActivity.instance().displayDialog(getString(R.string.chat_room_creation_failed)); + Button delete = dialog.findViewById(R.id.delete_button); + Button cancel = dialog.findViewById(R.id.cancel); + delete.setVisibility(View.GONE); + cancel.setText(getString(R.string.ok)); + cancel.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + dialog.dismiss(); + } + }); + + dialog.show(); + } + public Dialog displayDialog(String text){ Dialog dialog = new Dialog(this); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); diff --git a/src/android/org/linphone/chat/ChatCreationFragment.java b/src/android/org/linphone/chat/ChatCreationFragment.java index a8130e901..4934c59b2 100644 --- a/src/android/org/linphone/chat/ChatCreationFragment.java +++ b/src/android/org/linphone/chat/ChatCreationFragment.java @@ -253,22 +253,6 @@ public class ChatCreationFragment extends Fragment implements View.OnClickListen updateListSelected(); } - private void displayChatRoomError() { - final Dialog dialog = LinphoneActivity.instance().displayDialog(getString(R.string.chat_room_creation_failed)); - Button delete = dialog.findViewById(R.id.delete_button); - Button cancel = dialog.findViewById(R.id.cancel); - delete.setVisibility(View.GONE); - cancel.setText(getString(R.string.ok)); - cancel.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - dialog.dismiss(); - } - }); - - dialog.show(); - } - @Override public void onSaveInstanceState(Bundle outState) { if (mContactsSelected != null && mContactsSelected.size() > 0) { @@ -318,7 +302,7 @@ public class ChatCreationFragment extends Fragment implements View.OnClickListen LinphoneActivity.instance().goToChat(cr.getPeerAddress().asStringUriOnly()); } else if (newState == ChatRoom.State.CreationFailed) { mWaitLayout.setVisibility(View.GONE); - displayChatRoomError(); + LinphoneActivity.instance().displayChatRoomError(); Log.e("Group chat room for address " + cr.getPeerAddress() + " has failed !"); } } diff --git a/src/android/org/linphone/chat/GroupInfoFragment.java b/src/android/org/linphone/chat/GroupInfoFragment.java index cbe2e937e..2daec2fe3 100644 --- a/src/android/org/linphone/chat/GroupInfoFragment.java +++ b/src/android/org/linphone/chat/GroupInfoFragment.java @@ -181,7 +181,7 @@ public class GroupInfoFragment extends Fragment implements ChatRoomListener { LinphoneActivity.instance().goToChat(cr.getPeerAddress().asStringUriOnly()); } else if (newState == ChatRoom.State.CreationFailed) { mWaitLayout.setVisibility(View.GONE); - displayChatRoomError(); + LinphoneActivity.instance().displayChatRoomError(); Log.e("Group chat room for address " + cr.getPeerAddress() + " has failed !"); } } @@ -293,22 +293,6 @@ public class GroupInfoFragment extends Fragment implements ChatRoomListener { mAddParticipantsButton.setVisibility(mIsEditionEnabled ? View.VISIBLE : View.GONE); } - private void displayChatRoomError() { - final Dialog dialog = LinphoneActivity.instance().displayDialog(getString(R.string.chat_room_creation_failed)); - Button delete = dialog.findViewById(R.id.delete_button); - Button cancel = dialog.findViewById(R.id.cancel); - delete.setVisibility(View.GONE); - cancel.setText(getString(R.string.ok)); - cancel.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - dialog.dismiss(); - } - }); - - dialog.show(); - } - private void displayMeAdminStatusUpdated() { if (mAdminStateChangedDialog != null) mAdminStateChangedDialog.dismiss(); diff --git a/src/android/org/linphone/contacts/ContactDetailsFragment.java b/src/android/org/linphone/contacts/ContactDetailsFragment.java index 3b785e96b..19fb38dd8 100644 --- a/src/android/org/linphone/contacts/ContactDetailsFragment.java +++ b/src/android/org/linphone/contacts/ContactDetailsFragment.java @@ -42,6 +42,7 @@ import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.Button; import android.widget.ImageView; +import android.widget.RelativeLayout; import android.widget.TableLayout; import android.widget.TextView; @@ -49,6 +50,7 @@ public class ContactDetailsFragment extends Fragment implements OnClickListener private LinphoneContact contact; private ImageView editContact, deleteContact, back; private TextView organization; + private RelativeLayout mWaitLayout; private LayoutInflater inflater; private View view; private boolean displayChatAddressOnly = false; @@ -74,15 +76,17 @@ public class ContactDetailsFragment extends Fragment implements OnClickListener if (room != null) { LinphoneActivity.instance().goToChat(room.getPeerAddress().asStringUriOnly()); } else { - //TODO wait layout + mWaitLayout.setVisibility(View.VISIBLE); ChatRoom chatRoom = LinphoneManager.getLc().createClientGroupChatRoom(getString(R.string.dummy_group_chat_subject)); chatRoom.setListener(new ChatRoomListenerStub() { @Override public void onStateChanged(ChatRoom cr, ChatRoom.State newState) { if (newState == ChatRoom.State.Created) { + mWaitLayout.setVisibility(View.GONE); LinphoneActivity.instance().goToChat(cr.getPeerAddress().asStringUriOnly()); } else if (newState == ChatRoom.State.CreationFailed) { - //TODO error + mWaitLayout.setVisibility(View.GONE); + LinphoneActivity.instance().displayChatRoomError(); Log.e("Group chat room for address " + cr.getPeerAddress() + " has failed !"); } } @@ -103,6 +107,9 @@ public class ContactDetailsFragment extends Fragment implements OnClickListener displayChatAddressOnly = getArguments().getBoolean("ChatAddressOnly"); } + mWaitLayout = view.findViewById(R.id.waitScreen); + mWaitLayout.setVisibility(View.GONE); + editContact = view.findViewById(R.id.editContact); editContact.setOnClickListener(this);