Fixed infinite loading duplicate posts when there is no more posts to load. Minor bugs fixed. Minor layout tweaks.

This commit is contained in:
Alex Ning 2019-01-22 01:05:46 +08:00
parent 91e6174aa5
commit f7a192dcbe
3 changed files with 128 additions and 113 deletions

View File

@ -87,7 +87,6 @@ class ParsePost {
int previewWidth = -1;
int previewHeight = -1;
if(data.has(JSONUtils.PREVIEW_KEY)) {
Log.i("haspreview", Integer.toString(i));
previewUrl = data.getJSONObject(JSONUtils.PREVIEW_KEY).getJSONArray(JSONUtils.IMAGES_KEY).getJSONObject(0)
.getJSONObject(JSONUtils.SOURCE_KEY).getString(JSONUtils.URL_KEY);
previewWidth = data.getJSONObject(JSONUtils.PREVIEW_KEY).getJSONArray(JSONUtils.IMAGES_KEY).getJSONObject(0)
@ -95,7 +94,6 @@ class ParsePost {
previewHeight = data.getJSONObject(JSONUtils.PREVIEW_KEY).getJSONArray(JSONUtils.IMAGES_KEY).getJSONObject(0)
.getJSONObject(JSONUtils.SOURCE_KEY).getInt(JSONUtils.HEIGHT_KEY);
}
if(data.has(JSONUtils.CROSSPOST_PARENT_LIST)) {
//Cross post
data = data.getJSONArray(JSONUtils.CROSSPOST_PARENT_LIST).getJSONObject(0);
@ -160,7 +158,13 @@ class ParsePost {
}
bestPostData.add(linkPost);
}
} else if(isVideo) {
} else {
if(previewUrl.equals("")) {
previewUrl = data.getJSONObject(JSONUtils.PREVIEW_KEY).getJSONArray(JSONUtils.IMAGES_KEY).getJSONObject(0)
.getJSONObject(JSONUtils.SOURCE_KEY).getString(JSONUtils.URL_KEY);
}
if(isVideo) {
//Video post
Log.i("video", Integer.toString(i));
JSONObject redditVideoObject = data.getJSONObject(JSONUtils.MEDIA_KEY).getJSONObject(JSONUtils.REDDIT_VIDEO_KEY);
@ -286,3 +290,4 @@ class ParsePost {
}
}
}
}

View File

@ -16,6 +16,7 @@ class PostDataSource extends PageKeyedDataSource<String, Post> {
static final int TYPE_FRONT_PAGE = 0;
static final int TYPE_SUBREDDIT = 1;
static final int TYPE_USER = 2;
private Retrofit retrofit;
private String accessToken;
private Locale locale;
@ -86,6 +87,10 @@ class PostDataSource extends PageKeyedDataSource<String, Post> {
this.params = params;
this.callback = callback;
if(params.key.equals("null")) {
return;
}
paginationNetworkStateLiveData.postValue(NetworkState.LOADING);
switch (postType) {

View File

@ -82,6 +82,7 @@
android:layout_marginEnd="16dp"
android:textSize="12sp"
android:textColor="@android:color/white"
android:layout_centerVertical="true"
app:chipBackgroundColor="@color/colorPrimaryDark"/>
<ImageView
@ -90,6 +91,7 @@
android:layout_height="24dp"
android:layout_toEndOf="@id/type_text_view_item_best_post"
android:layout_marginTop="8dp"
android:layout_centerVertical="true"
android:visibility="gone"/>
<TextView
@ -102,7 +104,8 @@
android:layout_toEndOf="@id/gilded_image_view_item_best_post"
android:visibility="gone"
android:textSize="20sp"
android:textColor="@color/gold"/>
android:textColor="@color/gold"
android:layout_centerVertical="true"/>
<ImageView
android:id="@+id/crosspost_image_view_item_best_post"
@ -115,6 +118,7 @@
android:layout_toEndOf="@id/gilded_number_text_view_item_best_post"
android:src="@drawable/crosspost"
android:tint="@color/colorAccent"
android:layout_centerVertical="true"
android:visibility="gone"/>
<android.support.design.chip.Chip
@ -128,6 +132,7 @@
android:textSize="12sp"
android:textColor="@android:color/white"
android:visibility="gone"
android:layout_centerVertical="true"
app:chipBackgroundColor="@color/colorAccent"/>
</RelativeLayout>