Hide admin features in chat group room infos
This commit is contained in:
parent
c5440e1068
commit
58a7e452d8
5 changed files with 22 additions and 8 deletions
|
@ -716,9 +716,10 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick
|
|||
}
|
||||
}
|
||||
|
||||
public void displayChatGroupInfos(ArrayList<ContactAddress> contacts, boolean isAlreadyCreatedGroup) {
|
||||
public void displayChatGroupInfos(ArrayList<ContactAddress> contacts, boolean isAlreadyCreatedGroup, boolean isEditionEnabled) {
|
||||
Bundle extras = new Bundle();
|
||||
extras.putBoolean("isAlreadyCreatedGroup", isAlreadyCreatedGroup);
|
||||
extras.putBoolean("isEditionEnabled", isEditionEnabled);
|
||||
extras.putSerializable("ContactAddress", contacts);
|
||||
changeCurrentFragment(FragmentsAvailable.INFO_GROUP_CHAT, extras);
|
||||
}
|
||||
|
|
|
@ -284,7 +284,7 @@ public class ChatCreationFragment extends Fragment implements View.OnClickListen
|
|||
if (contactsSelected.size() == 1) {
|
||||
LinphoneActivity.instance().displayChat(contactsSelected.get(0).getAddress(), "", "");
|
||||
} else {
|
||||
LinphoneActivity.instance().displayChatGroupInfos(contactsSelected, false);
|
||||
LinphoneActivity.instance().displayChatGroupInfos(contactsSelected, false, true);
|
||||
}
|
||||
} else if (id == R.id.clearSearchField) {
|
||||
searchField.setText("");
|
||||
|
|
|
@ -28,14 +28,12 @@ import android.text.TextWatcher;
|
|||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Adapter;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.ListView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import org.linphone.LinphoneManager;
|
||||
import org.linphone.LinphoneUtils;
|
||||
import org.linphone.R;
|
||||
import org.linphone.activities.LinphoneActivity;
|
||||
import org.linphone.contacts.ContactAddress;
|
||||
|
@ -129,7 +127,7 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener {
|
|||
ContactAddress ca = new ContactAddress(c, a.asString(), c.isFriend());
|
||||
participants.add(ca);
|
||||
}
|
||||
LinphoneActivity.instance().displayChatGroupInfos(participants, true);
|
||||
LinphoneActivity.instance().displayChatGroupInfos(participants, true, /*TODO*/ false);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
@ -40,10 +40,12 @@ public class GroupInfoAdapter extends BaseAdapter {
|
|||
private LayoutInflater mInflater;
|
||||
private List<ContactAddress> mItems;
|
||||
private View.OnClickListener mDeleteListener;
|
||||
private boolean mHideAdminFeatures;
|
||||
|
||||
public GroupInfoAdapter(LayoutInflater inflater, List<ContactAddress> items) {
|
||||
public GroupInfoAdapter(LayoutInflater inflater, List<ContactAddress> items, boolean hideAdminFeatures) {
|
||||
mInflater = inflater;
|
||||
mItems = items;
|
||||
mHideAdminFeatures = hideAdminFeatures;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -73,6 +75,7 @@ public class GroupInfoAdapter extends BaseAdapter {
|
|||
TextView name = view.findViewById(R.id.name);
|
||||
ImageView avatar = view.findViewById(R.id.contact_picture);
|
||||
ImageView delete = view.findViewById(R.id.delete);
|
||||
LinearLayout adminLayout = view.findViewById(R.id.adminLayout);
|
||||
final LinearLayout isAdmin = view.findViewById(R.id.isAdminLayout);
|
||||
final LinearLayout isNotAdmin = view.findViewById(R.id.isNotAdminLayout);
|
||||
|
||||
|
@ -112,6 +115,11 @@ public class GroupInfoAdapter extends BaseAdapter {
|
|||
}
|
||||
});
|
||||
|
||||
if (mHideAdminFeatures) {
|
||||
delete.setVisibility(View.GONE);
|
||||
adminLayout.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
|
|
|
@ -44,6 +44,7 @@ public class GroupInfoFragment extends Fragment {
|
|||
private LinearLayout mLeaveGroupButton;
|
||||
private GroupInfoAdapter mAdapter;
|
||||
private boolean mIsAlreadyCreatedGroup;
|
||||
private boolean mIsEditionEnabled;
|
||||
private ArrayList<ContactAddress> mParticipants;
|
||||
|
||||
@Override
|
||||
|
@ -56,9 +57,10 @@ public class GroupInfoFragment extends Fragment {
|
|||
}
|
||||
mParticipants = (ArrayList<ContactAddress>) getArguments().getSerializable("ContactAddress");
|
||||
mIsAlreadyCreatedGroup = getArguments().getBoolean("isAlreadyCreatedGroup");
|
||||
mIsEditionEnabled = getArguments().getBoolean("isEditionEnabled");
|
||||
|
||||
mParticipantsList = view.findViewById(R.id.chat_room_participants);
|
||||
mAdapter = new GroupInfoAdapter(mInflater, mParticipants);
|
||||
mAdapter = new GroupInfoAdapter(mInflater, mParticipants, !mIsEditionEnabled);
|
||||
mAdapter.setOnDeleteClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
|
@ -127,7 +129,12 @@ public class GroupInfoFragment extends Fragment {
|
|||
}
|
||||
});
|
||||
|
||||
//TODO handle contacts removal
|
||||
if (!mIsEditionEnabled) {
|
||||
mConfirmButton.setVisibility(View.INVISIBLE);
|
||||
mAddParticipantsButton.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
//TODO Handle back button issue
|
||||
|
||||
return view;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue