File tree Expand file tree Collapse file tree 4 files changed +71
-3
lines changed
app/src/main/java/com/firebase/uidemo/database
firestore/src/main/java/com/firebase/ui/firestore Expand file tree Collapse file tree 4 files changed +71
-3
lines changed Original file line number Diff line number Diff line change @@ -11,4 +11,10 @@ public abstract class AbstractChat {
1111
1212 public abstract String getUid ();
1313
14+ @ Override
15+ public abstract int hashCode ();
16+
17+ @ Override
18+ public abstract boolean equals (Object obj );
19+
1420}
Original file line number Diff line number Diff line change 88
99@ IgnoreExtraProperties
1010public class Chat extends AbstractChat {
11-
1211 private String mName ;
1312 private String mMessage ;
1413 private String mUid ;
@@ -56,4 +55,36 @@ public Date getTimestamp() {
5655 public void setTimestamp (Date timestamp ) {
5756 mTimestamp = timestamp ;
5857 }
58+
59+ @ Override
60+ public boolean equals (Object o ) {
61+ if (this == o ) return true ;
62+ if (o == null || getClass () != o .getClass ()) return false ;
63+
64+ Chat chat = (Chat ) o ;
65+
66+ return mTimestamp .equals (chat .mTimestamp )
67+ && mUid .equals (chat .mUid )
68+ && (mName == null ? chat .mName == null : mName .equals (chat .mName ))
69+ && (mMessage == null ? chat .mMessage == null : mMessage .equals (chat .mMessage ));
70+ }
71+
72+ @ Override
73+ public int hashCode () {
74+ int result = mName == null ? 0 : mName .hashCode ();
75+ result = 31 * result + (mMessage == null ? 0 : mMessage .hashCode ());
76+ result = 31 * result + mUid .hashCode ();
77+ result = 31 * result + mTimestamp .hashCode ();
78+ return result ;
79+ }
80+
81+ @ Override
82+ public String toString () {
83+ return "Chat{" +
84+ "mName='" + mName + '\'' +
85+ ", mMessage='" + mMessage + '\'' +
86+ ", mUid='" + mUid + '\'' +
87+ ", mTimestamp=" + mTimestamp +
88+ '}' ;
89+ }
5990}
Original file line number Diff line number Diff line change 55
66@ IgnoreExtraProperties
77public class Chat extends AbstractChat {
8-
98 private String mName ;
109 private String mMessage ;
1110 private String mUid ;
@@ -43,4 +42,33 @@ public String getUid() {
4342 public void setUid (String uid ) {
4443 mUid = uid ;
4544 }
45+
46+ @ Override
47+ public boolean equals (Object o ) {
48+ if (this == o ) return true ;
49+ if (o == null || getClass () != o .getClass ()) return false ;
50+
51+ Chat chat = (Chat ) o ;
52+
53+ return mUid .equals (chat .mUid )
54+ && (mName == null ? chat .mName == null : mName .equals (chat .mName ))
55+ && (mMessage == null ? chat .mMessage == null : mMessage .equals (chat .mMessage ));
56+ }
57+
58+ @ Override
59+ public int hashCode () {
60+ int result = mName == null ? 0 : mName .hashCode ();
61+ result = 31 * result + (mMessage == null ? 0 : mMessage .hashCode ());
62+ result = 31 * result + mUid .hashCode ();
63+ return result ;
64+ }
65+
66+ @ Override
67+ public String toString () {
68+ return "Chat{" +
69+ "mName='" + mName + '\'' +
70+ ", mMessage='" + mMessage + '\'' +
71+ ", mUid='" + mUid + '\'' +
72+ '}' ;
73+ }
4674}
Original file line number Diff line number Diff line change @@ -110,13 +110,16 @@ private void onDocumentModified(DocumentChange change) {
110110 // Document modified only
111111 mSnapshots .set (change .getNewIndex (), change .getDocument ());
112112 notifyOnChildChanged (ChangeEventType .CHANGED , change .getDocument (),
113- change .getNewIndex (), change .getOldIndex ());
113+ change .getNewIndex (), change .getNewIndex ());
114114 } else {
115115 // Document moved and possibly also modified
116116 mSnapshots .remove (change .getOldIndex ());
117117 mSnapshots .add (change .getNewIndex (), change .getDocument ());
118+
118119 notifyOnChildChanged (ChangeEventType .MOVED , change .getDocument (),
119120 change .getNewIndex (), change .getOldIndex ());
121+ notifyOnChildChanged (ChangeEventType .CHANGED , change .getDocument (),
122+ change .getNewIndex (), change .getNewIndex ());
120123 }
121124 }
122125}
You can’t perform that action at this time.
0 commit comments