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);