@@ -745,13 +745,17 @@ private void setDeleteData(DeleteMessageViewHolder viewHolder, int i) {
745745 private void showMessageTime (RecyclerView .ViewHolder viewHolder , BaseMessage baseMessage ) {
746746
747747 if (viewHolder instanceof TextMessageViewHolder ) {
748- setStatusIcon (((TextMessageViewHolder ) viewHolder ).txtTime , baseMessage );
748+ setStatusIcon (((TextMessageViewHolder ) viewHolder ).progressBar ,(( TextMessageViewHolder ) viewHolder ). txtTime , baseMessage );
749749 } else if (viewHolder instanceof LinkMessageViewHolder ) {
750- setStatusIcon (((LinkMessageViewHolder ) viewHolder ).txtTime , baseMessage );
750+ setStatusIcon (((LinkMessageViewHolder ) viewHolder ).progressBar ,(( LinkMessageViewHolder ) viewHolder ). txtTime , baseMessage );
751751 } else if (viewHolder instanceof ImageMessageViewHolder ) {
752- setStatusIcon (((ImageMessageViewHolder ) viewHolder ).txtTime , baseMessage );
752+ setStatusIcon (((ImageMessageViewHolder ) viewHolder ).progressBar ,(( ImageMessageViewHolder ) viewHolder ). txtTime , baseMessage );
753753 } else if (viewHolder instanceof FileMessageViewHolder ) {
754- setStatusIcon (((FileMessageViewHolder ) viewHolder ).txtTime , baseMessage );
754+ setStatusIcon (((FileMessageViewHolder ) viewHolder ).progressBar ,((FileMessageViewHolder ) viewHolder ).txtTime , baseMessage );
755+ } else if (viewHolder instanceof VideoMessageViewHolder ) {
756+ setStatusIcon (((VideoMessageViewHolder ) viewHolder ).progressBar ,((TextMessageViewHolder ) viewHolder ).txtTime ,baseMessage );
757+ } else if (viewHolder instanceof AudioMessageViewHolder ) {
758+ setStatusIcon (((AudioMessageViewHolder ) viewHolder ).progressBar ,((AudioMessageViewHolder ) viewHolder ).txtTime ,baseMessage );
755759 }
756760
757761 }
@@ -765,20 +769,30 @@ private void showMessageTime(RecyclerView.ViewHolder viewHolder, BaseMessage bas
765769 * @param baseMessage is a object of BaseMessage used to identify baseMessage sender.
766770 * @see BaseMessage
767771 */
768- private void setStatusIcon (TextView txtTime , BaseMessage baseMessage ) {
772+ private void setStatusIcon (ProgressBar progressBar , TextView txtTime , BaseMessage baseMessage ) {
769773 if (baseMessage .getSender ().getUid ().equals (loggedInUser .getUid ())) {
774+ if (progressBar !=null )
775+ progressBar .setVisibility (View .GONE );
770776 if (baseMessage .getReadAt () != 0 ) {
771777 txtTime .setText (Utils .getHeaderDate (baseMessage .getReadAt () * 1000 ));
772- // txtTime.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_double_tick, 0);
778+ txtTime .setCompoundDrawablesWithIntrinsicBounds (0 , 0 , R .drawable .ic_double_tick , 0 );
773779 txtTime .setCompoundDrawablePadding (10 );
774780 } else if (baseMessage .getDeliveredAt () != 0 ) {
775781 txtTime .setText (Utils .getHeaderDate (baseMessage .getDeliveredAt () * 1000 ));
776- // txtTime.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_done_all_black_24dp, 0);
782+ txtTime .setCompoundDrawablesWithIntrinsicBounds (0 , 0 , R .drawable .ic_done_all_black_24dp , 0 );
777783 txtTime .setCompoundDrawablePadding (10 );
778- } else {
784+ } else if ( baseMessage . getSentAt ()> 0 ) {
779785 txtTime .setText (Utils .getHeaderDate (baseMessage .getSentAt () * 1000 ));
780- // txtTime.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_check_black_24dp, 0);
786+ txtTime .setCompoundDrawablesWithIntrinsicBounds (0 , 0 , R .drawable .ic_check_black_24dp , 0 );
781787 txtTime .setCompoundDrawablePadding (10 );
788+ } else if (baseMessage .getSentAt ()==-1 ) {
789+ txtTime .setText ("" );
790+ txtTime .setCompoundDrawablesWithIntrinsicBounds (0 ,0 ,R .drawable .ic_info_red ,0 );
791+ } else {
792+ txtTime .setCompoundDrawablesWithIntrinsicBounds (0 ,0 ,0 ,0 );
793+ txtTime .setText ("" );
794+ if (progressBar !=null )
795+ progressBar .setVisibility (View .VISIBLE );
782796 }
783797 } else {
784798 txtTime .setText (Utils .getHeaderDate (baseMessage .getSentAt () * 1000 ));
@@ -1296,6 +1310,21 @@ public void addMessage(BaseMessage baseMessage) {
12961310 notifyItemInserted (messageList .size ()-1 );
12971311 }
12981312
1313+ /**
1314+ * THis method is used to update the old message with the new message
1315+ * @param baseMessage
1316+ */
1317+ public void updateChangedMessage (BaseMessage baseMessage ) {
1318+ for (int i = messageList .size () - 1 ; i >= 0 ; i --) {
1319+ String muid = messageList .get (i ).getMuid ();
1320+ if (muid !=null && muid .equals (baseMessage .getMuid ())) {
1321+ messageList .remove (i );
1322+ messageList .add (i ,baseMessage );
1323+ notifyItemChanged (i );
1324+ }
1325+ }
1326+ }
1327+
12991328 /**
13001329 * This method is used to update previous message with new message in messageList of adapter.
13011330 *
@@ -1366,17 +1395,6 @@ public ImageMessageViewHolder(@NonNull View view) {
13661395 }
13671396 }
13681397
1369- public class ActionMessageViewHolder extends RecyclerView .ViewHolder {
1370-
1371- private TextView textView ;
1372-
1373- public ActionMessageViewHolder (@ NonNull View view ) {
1374- super (view );
1375- int type = (int ) view .getTag ();
1376- textView = view .findViewById (R .id .go_txt_message );
1377- }
1378- }
1379-
13801398 class VideoMessageViewHolder extends RecyclerView .ViewHolder {
13811399
13821400 private ImageView imageView ;
@@ -1414,6 +1432,7 @@ public class FileMessageViewHolder extends RecyclerView.ViewHolder {
14141432 private Avatar ivUser ;
14151433 private RelativeLayout rlMessageBubble ;
14161434 private ChipGroup reactionLayout ;
1435+ private ProgressBar progressBar ;
14171436
14181437 FileMessageViewHolder (@ NonNull View itemView ) {
14191438 super (itemView );
@@ -1425,6 +1444,7 @@ public class FileMessageViewHolder extends RecyclerView.ViewHolder {
14251444 fileName = itemView .findViewById (R .id .tvFileName );
14261445 rlMessageBubble = itemView .findViewById (R .id .rl_message );
14271446 reactionLayout = itemView .findViewById (R .id .reactions_layout );
1447+ progressBar = itemView .findViewById (R .id .progress_bar );
14281448 this .view = itemView ;
14291449 }
14301450 }
@@ -1472,7 +1492,7 @@ public class TextMessageViewHolder extends RecyclerView.ViewHolder {
14721492 private RelativeLayout sentimentVw ;
14731493 private TextView viewSentimentMessage ;
14741494 private ChipGroup reactionLayout ;
1475-
1495+ private ProgressBar progressBar ;
14761496 TextMessageViewHolder (@ NonNull View view ) {
14771497 super (view );
14781498
@@ -1490,6 +1510,7 @@ public class TextMessageViewHolder extends RecyclerView.ViewHolder {
14901510 sentimentVw = view .findViewById (R .id .sentiment_layout );
14911511 viewSentimentMessage = view .findViewById (R .id .view_sentiment );
14921512 reactionLayout = view .findViewById (R .id .reactions_layout );
1513+ progressBar = view .findViewById (R .id .progress_bar );
14931514 this .view = view ;
14941515
14951516 }
@@ -1567,6 +1588,7 @@ public class AudioMessageViewHolder extends RecyclerView.ViewHolder {
15671588 private RelativeLayout rlMessageBubble ;
15681589 private TextView txtTime ;
15691590 private ChipGroup reactionLayout ;
1591+ private ProgressBar progressBar ;
15701592 public AudioMessageViewHolder (@ NonNull View itemView ) {
15711593 super (itemView );
15721594 type = (int )itemView .getTag ();
@@ -1577,6 +1599,7 @@ public AudioMessageViewHolder(@NonNull View itemView) {
15771599 ivUser = itemView .findViewById (R .id .iv_user );
15781600 txtTime = itemView .findViewById (R .id .txt_time );
15791601 reactionLayout = itemView .findViewById (R .id .reactions_layout );
1602+ progressBar = itemView .findViewById (R .id .progress_bar );
15801603 }
15811604 }
15821605 public class LinkMessageViewHolder extends RecyclerView .ViewHolder {
@@ -1596,6 +1619,7 @@ public class LinkMessageViewHolder extends RecyclerView.ViewHolder {
15961619 private Avatar ivUser ;
15971620 private RelativeLayout rlMessageBubble ;
15981621 private ChipGroup reactionLayout ;
1622+ private ProgressBar progressBar ;
15991623
16001624 LinkMessageViewHolder (@ NonNull View view ) {
16011625 super (view );
@@ -1614,20 +1638,11 @@ public class LinkMessageViewHolder extends RecyclerView.ViewHolder {
16141638 ivUser = view .findViewById (R .id .iv_user );
16151639 rlMessageBubble = view .findViewById (R .id .rl_message );
16161640 reactionLayout = view .findViewById (R .id .reactions_layout );
1641+ progressBar = view .findViewById (R .id .progress_bar );
16171642 this .view = view ;
16181643 }
16191644 }
16201645
1621- public class DateItemHolder extends RecyclerView .ViewHolder {
1622-
1623- TextView txtMessageDate ;
1624-
1625- DateItemHolder (@ NonNull View itemView ) {
1626- super (itemView );
1627- txtMessageDate = itemView .findViewById (R .id .txt_message_date );
1628- }
1629- }
1630-
16311646 public interface OnMessageLongClick
16321647 {
16331648 void setLongMessageClick (List <BaseMessage > baseMessage );
0 commit comments