@@ -46,7 +46,8 @@ public class FirestoreChatActivity extends AppCompatActivity
46
46
private static final CollectionReference sChatCollection =
47
47
FirebaseFirestore .getInstance ().collection ("chats" );
48
48
/** Get the last 50 chat messages ordered by timestamp . */
49
- private static final Query sChatQuery = sChatCollection .orderBy ("timestamp" ).limit (50 );
49
+ private static final Query sChatQuery =
50
+ sChatCollection .orderBy ("timestamp" , Query .Direction .DESCENDING ).limit (50 );
50
51
51
52
static {
52
53
FirebaseFirestore .setLoggingEnabled (true );
@@ -70,8 +71,12 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
70
71
setContentView (R .layout .activity_chat );
71
72
ButterKnife .bind (this );
72
73
74
+ LinearLayoutManager manager = new LinearLayoutManager (this );
75
+ manager .setReverseLayout (true );
76
+ manager .setStackFromEnd (true );
77
+
73
78
mRecyclerView .setHasFixedSize (true );
74
- mRecyclerView .setLayoutManager (new LinearLayoutManager ( this ) );
79
+ mRecyclerView .setLayoutManager (manager );
75
80
76
81
ImeHelper .setImeOnDoneListener (mMessageEdit , new ImeHelper .DonePressedListener () {
77
82
@ Override
@@ -118,7 +123,7 @@ private void attachRecyclerViewAdapter() {
118
123
adapter .registerAdapterDataObserver (new RecyclerView .AdapterDataObserver () {
119
124
@ Override
120
125
public void onItemRangeInserted (int positionStart , int itemCount ) {
121
- mRecyclerView .smoothScrollToPosition (adapter . getItemCount () );
126
+ mRecyclerView .smoothScrollToPosition (0 );
122
127
}
123
128
});
124
129
0 commit comments