Skip to content

Commit db39ddf

Browse files
committed
Move to alpha6, remove home-grown bits
Change-Id: Ia8711bfb5b4f8dde11d4ef4630fabf70b945d45e
1 parent 11668e2 commit db39ddf

File tree

7 files changed

+43
-682
lines changed

7 files changed

+43
-682
lines changed

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

Lines changed: 9 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import android.support.annotation.NonNull;
88
import android.support.annotation.Nullable;
99
import android.support.v7.app.AppCompatActivity;
10-
import android.support.v7.recyclerview.extensions.DiffCallback;
10+
import android.support.v7.util.DiffUtil;
1111
import android.support.v7.widget.LinearLayoutManager;
1212
import android.support.v7.widget.RecyclerView;
1313
import android.util.Log;
@@ -20,9 +20,6 @@
2020
import android.widget.TextView;
2121
import android.widget.Toast;
2222

23-
import com.firebase.ui.firestore.FirestoreInfiniteScrollListener;
24-
import com.firebase.ui.firestore.FirestorePagingAdapter;
25-
import com.firebase.ui.firestore.FirestorePagingOptions;
2623
import com.firebase.ui.firestore.paging.FirestorePagedList;
2724
import com.firebase.uidemo.R;
2825
import com.google.android.gms.tasks.OnCompleteListener;
@@ -59,90 +56,39 @@ protected void onCreate(Bundle savedInstanceState) {
5956
mFirestore = FirebaseFirestore.getInstance();
6057
mProgressBar.setIndeterminate(true);
6158

62-
// TODO
63-
// setUpAdapter();
64-
setUpAdapter_Alternate();
59+
setUpAdapter();
6560
}
6661

6762
private void setUpAdapter() {
6863
Query baseQuery = mFirestore.collection("items")
6964
.orderBy("value", Query.Direction.ASCENDING);
7065

71-
// Paging options:
72-
// * pageSize - number of items to load in each 'page'.
73-
// * loadTriggerDistance - how far from the bottom/top of the data set to trigger a load.
74-
// * maxPages - maximum number of pages to keep in memory at a time.
75-
FirestorePagingOptions<Item> options = new FirestorePagingOptions.Builder<Item>()
76-
.setQuery(baseQuery, Item.class)
77-
.setPageSize(20)
78-
.setLoadTriggerDistance(10)
79-
.setMaxPages(5)
80-
.build();
81-
82-
FirestorePagingAdapter<Item, ItemViewHolder> adapter =
83-
new FirestorePagingAdapter<Item, ItemViewHolder>(options) {
84-
@Override
85-
public ItemViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
86-
View view = LayoutInflater.from(parent.getContext())
87-
.inflate(R.layout.item_item, parent, false);
88-
89-
return new ItemViewHolder(view);
90-
}
91-
92-
@Override
93-
protected void onBindViewHolder(ItemViewHolder holder, int position, Item model) {
94-
holder.bind(model);
95-
}
96-
97-
@Override
98-
protected void onLoadingStateChanged(boolean isLoading) {
99-
super.onLoadingStateChanged(isLoading);
100-
if (isLoading) {
101-
mProgressBar.setVisibility(View.VISIBLE);
102-
} else {
103-
mProgressBar.setVisibility(View.INVISIBLE);
104-
}
105-
}
106-
};
107-
108-
LinearLayoutManager manager = new LinearLayoutManager(this);
109-
110-
// The infinite scroll listener will instruct the adapter to page up and down at the
111-
// appropriate times.
112-
FirestoreInfiniteScrollListener listener =
113-
new FirestoreInfiniteScrollListener(manager, adapter);
114-
115-
mRecycler.setLayoutManager(manager);
116-
mRecycler.setAdapter(adapter);
117-
mRecycler.addOnScrollListener(listener);
118-
}
119-
120-
private void setUpAdapter_Alternate() {
121-
DiffCallback<DocumentSnapshot> diffCallback = FirestorePagedList.getDiffer();
122-
66+
DiffUtil.ItemCallback<DocumentSnapshot> diffCallback = FirestorePagedList.getDiffCallback();
12367
final PagedListAdapter<DocumentSnapshot, ItemViewHolder> adapter = new PagedListAdapter<DocumentSnapshot, ItemViewHolder>(diffCallback) {
12468
@Override
125-
public ItemViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
69+
public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
12670
View view = LayoutInflater.from(parent.getContext())
12771
.inflate(R.layout.item_item, parent, false);
12872

12973
return new ItemViewHolder(view);
13074
}
13175

13276
@Override
133-
public void onBindViewHolder(ItemViewHolder holder, int position) {
77+
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
13478
DocumentSnapshot snapshot = getItem(position);
13579
Item model = snapshot.toObject(Item.class);
13680

13781
holder.bind(model);
13882
}
13983
};
14084

141-
FirestorePagedList.getLiveData().observe(this,
85+
// TODO: Expose loading state in the adapter
86+
87+
FirestorePagedList.getLiveData(baseQuery).observe(this,
14288
new Observer<PagedList<DocumentSnapshot>>() {
14389
@Override
14490
public void onChanged(@Nullable PagedList<DocumentSnapshot> snapshots) {
145-
adapter.setList(snapshots);
91+
adapter.submitList(snapshots);
14692
}
14793
});
14894

constants.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ project.ext {
99
minSdk = 14
1010

1111
firebaseVersion = '11.8.0'
12-
supportLibraryVersion = '27.0.2'
12+
supportLibraryVersion = '27.1.0'
1313
architectureVersion = '1.1.0'
1414
kotlinVersion = '1.2.21'
1515
}

firestore/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ dependencies {
2323
annotationProcessor "android.arch.lifecycle:compiler:$architectureVersion"
2424

2525

26-
api "android.arch.paging:common:1.0.0-alpha5"
27-
api "android.arch.paging:runtime:1.0.0-alpha5"
26+
api "android.arch.paging:common:1.0.0-alpha6"
27+
api "android.arch.paging:runtime:1.0.0-alpha6"
2828

2929
androidTestImplementation 'junit:junit:4.12'
3030
androidTestImplementation 'com.android.support.test:runner:1.0.1'

firestore/src/main/java/com/firebase/ui/firestore/FirestoreInfiniteScrollListener.java

Lines changed: 0 additions & 63 deletions
This file was deleted.

0 commit comments

Comments
 (0)