From 0341e5da61342a67c65ed2108066e28d19d2fc37 Mon Sep 17 00:00:00 2001 From: Lucas Legrand Date: Fri, 20 Jul 2018 15:45:17 +0200 Subject: [PATCH] No chat_bubble displayed, save this stage to go back and remove code to go forward step by step --- .../linphone/chat/ChatBubbleViewHolder.java | 11 +++++---- .../org/linphone/chat/ChatEventsAdapter.java | 23 +++++++++++-------- .../org/linphone/chat/ChatRoomsAdapter.java | 1 - .../org/linphone/chat/GroupChatFragment.java | 9 +++----- 4 files changed, 23 insertions(+), 21 deletions(-) diff --git a/src/android/org/linphone/chat/ChatBubbleViewHolder.java b/src/android/org/linphone/chat/ChatBubbleViewHolder.java index d828c8a29..d0809c715 100644 --- a/src/android/org/linphone/chat/ChatBubbleViewHolder.java +++ b/src/android/org/linphone/chat/ChatBubbleViewHolder.java @@ -19,6 +19,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. package org.linphone.chat; +import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.View; import android.widget.Button; @@ -39,7 +40,7 @@ import org.linphone.core.LimeState; public class ChatBubbleViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{ public String messageId; - public EventLog mEvent; + public Context mContext; public ChatMessage message; public LinearLayout eventLayout; //public TextView eventTime; @@ -70,8 +71,10 @@ public class ChatBubbleViewHolder extends RecyclerView.ViewHolder implements Vie public CheckBox delete; private ClickListener listener; - public ChatBubbleViewHolder(View view, ClickListener listener) { + public ChatBubbleViewHolder(Context context, View view, ClickListener listener) { super(view); + this.mContext = context; + this.listener = listener; eventLayout = view.findViewById(R.id.event); //eventTime = view.findViewById(R.id.event_date); @@ -135,8 +138,8 @@ public class ChatBubbleViewHolder extends RecyclerView.ViewHolder implements Vie } @Override public void onClick(View v) { - listener.onItemClicked(getAdapterPosition()); } - + listener.onItemClicked(getAdapterPosition()); + } public interface ClickListener { public void onItemClicked(int position); } diff --git a/src/android/org/linphone/chat/ChatEventsAdapter.java b/src/android/org/linphone/chat/ChatEventsAdapter.java index a101e30ee..b87bbbee1 100644 --- a/src/android/org/linphone/chat/ChatEventsAdapter.java +++ b/src/android/org/linphone/chat/ChatEventsAdapter.java @@ -82,22 +82,24 @@ public class ChatEventsAdapter extends SelectableAdapter { private Context mContext; private List mHistory; private List mParticipants; - private LayoutInflater mLayoutInflater; +// private LayoutInflater mLayoutInflater; + private int itemResource; private Bitmap mDefaultBitmap; private GroupChatFragment mFragment; private ChatMessageListenerStub mListener; + private ChatBubbleViewHolder.ClickListener clickListener; // public ChatEventsAdapter(GroupChatFragment fragment, ListSelectionHelper helper, LayoutInflater inflater, EventLog[] history, ArrayList participants) { - public ChatEventsAdapter(GroupChatFragment fragment, SelectableHelper helper, LayoutInflater inflater, ArrayList mHistory, ArrayList participants, ChatBubbleViewHolder.ClickListener clickListener) { + public ChatEventsAdapter(GroupChatFragment fragment, SelectableHelper helper, int itemResource, ArrayList mHistory, ArrayList participants, ChatBubbleViewHolder.ClickListener clickListener) { // public ChatEventsAdapter(GroupChatFragment fragment, SelectableHelper helper, LayoutInflater inflater, ArrayList mHistory, ArrayList participants, ChatBubbleViewHolder.ClickListener clickListener) { super(helper); - this.mFragment = fragment; - this.mContext = mFragment.getActivity(); -// itemResource = inflater.; - this.mLayoutInflater = inflater; + this.mContext = fragment.getActivity(); + this.itemResource = itemResource; +// this.mLayoutInflater = inflater; this.mHistory = mHistory; + this.mParticipants = participants; mListener = new ChatMessageListenerStub() { @@ -133,14 +135,15 @@ public class ChatEventsAdapter extends SelectableAdapter { @Override public ChatBubbleViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - View v = mLayoutInflater.inflate(R.layout.chat_bubble, parent, false); - return new ChatBubbleViewHolder(v, clickListener); +// View v = mLayoutInflater.inflate(R.layout.chat_bubble, parent, false); + View v = LayoutInflater.from(parent.getContext()) + .inflate(this.itemResource, parent, false); + return new ChatBubbleViewHolder(this.mContext,v, clickListener); } @Override public void onBindViewHolder(@NonNull ChatBubbleViewHolder holder, int position) { - EventLog event = (EventLog)getItem(position); - + EventLog event = this.mHistory.get(position); holder.eventLayout.setVisibility(View.GONE); holder.bubbleLayout.setVisibility(View.GONE); holder.delete.setVisibility(isEditionEnabled() ? View.VISIBLE : View.GONE); diff --git a/src/android/org/linphone/chat/ChatRoomsAdapter.java b/src/android/org/linphone/chat/ChatRoomsAdapter.java index 4c0ca33f6..c723e5e2d 100644 --- a/src/android/org/linphone/chat/ChatRoomsAdapter.java +++ b/src/android/org/linphone/chat/ChatRoomsAdapter.java @@ -176,7 +176,6 @@ public class ChatRoomsAdapter extends SelectableAdapter(Arrays.asList(history)); - mEventsAdapter = new ChatEventsAdapter(this, mSelectionHelper, mInflater, mHistory, mParticipants, this); + mEventsAdapter = new ChatEventsAdapter(this, mSelectionHelper, R.layout.chat_bubble, mHistory, mParticipants, this); // mChatRoomsAdapter = new ChatRoomsAdapter(mContext, R.layout.chatlist_cell, mRooms,this, mSelectionHelper); } else { EventLog[] history = mChatRoom.getHistoryEvents(0); mHistory = new ArrayList<>(Arrays.asList(history)); - mEventsAdapter = new ChatEventsAdapter(this, mSelectionHelper, mInflater, mHistory, mParticipants, this); + mEventsAdapter = new ChatEventsAdapter(this, mSelectionHelper, R.layout.chat_bubble, mHistory, mParticipants, this); } mChatEventsList.setAdapter(mEventsAdapter); mSelectionHelper.setAdapter(mEventsAdapter);