Skip to content

Commit dda43a3

Browse files
committed
Reverse Firestore chat
Change-Id: I889e121a9edba8113c59ad18af420c53475492f1
1 parent dbcc6be commit dda43a3

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

app/src/main/java/com/firebase/uidemo/database/firestore/FirestoreChatActivity.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ public class FirestoreChatActivity extends AppCompatActivity
4646
private static final CollectionReference sChatCollection =
4747
FirebaseFirestore.getInstance().collection("chats");
4848
/** 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);
5051

5152
static {
5253
FirebaseFirestore.setLoggingEnabled(true);
@@ -70,8 +71,12 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
7071
setContentView(R.layout.activity_chat);
7172
ButterKnife.bind(this);
7273

74+
LinearLayoutManager manager = new LinearLayoutManager(this);
75+
manager.setReverseLayout(true);
76+
manager.setStackFromEnd(true);
77+
7378
mRecyclerView.setHasFixedSize(true);
74-
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
79+
mRecyclerView.setLayoutManager(manager);
7580

7681
ImeHelper.setImeOnDoneListener(mMessageEdit, new ImeHelper.DonePressedListener() {
7782
@Override
@@ -118,7 +123,7 @@ private void attachRecyclerViewAdapter() {
118123
adapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() {
119124
@Override
120125
public void onItemRangeInserted(int positionStart, int itemCount) {
121-
mRecyclerView.smoothScrollToPosition(adapter.getItemCount());
126+
mRecyclerView.smoothScrollToPosition(0);
122127
}
123128
});
124129

0 commit comments

Comments
 (0)