mirror of
https://codeberg.org/Bazsalanszky/Infinity-For-Lemmy.git
synced 2025-03-28 04:15:29 +01:00
Change some methods related to parsing data to static methods. Preparing to use Retrofit to send API requests. Already made a change to use Retrofit to fetch comments.
This commit is contained in:
parent
41b243be7d
commit
a6a951732d
BIN
.idea/caches/build_file_checksums.ser
generated
BIN
.idea/caches/build_file_checksums.ser
generated
Binary file not shown.
@ -57,4 +57,5 @@ dependencies {
|
|||||||
implementation 'io.reactivex.rxjava2:rxjava:2.2.0'
|
implementation 'io.reactivex.rxjava2:rxjava:2.2.0'
|
||||||
implementation 'org.sufficientlysecure:html-textview:3.6'
|
implementation 'org.sufficientlysecure:html-textview:3.6'
|
||||||
implementation 'com.squareup.retrofit2:retrofit:2.4.0'
|
implementation 'com.squareup.retrofit2:retrofit:2.4.0'
|
||||||
|
implementation 'com.squareup.retrofit2:converter-scalars:2.4.0'
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
package ml.docilealligator.infinityforreddit;
|
package ml.docilealligator.infinityforreddit;
|
||||||
|
|
||||||
import android.net.Uri;
|
import android.support.annotation.NonNull;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
import com.android.volley.Request;
|
import retrofit2.Call;
|
||||||
import com.android.volley.RequestQueue;
|
import retrofit2.Callback;
|
||||||
import com.android.volley.Response;
|
import retrofit2.Response;
|
||||||
import com.android.volley.VolleyError;
|
import retrofit2.Retrofit;
|
||||||
import com.android.volley.toolbox.StringRequest;
|
import retrofit2.converter.scalars.ScalarsConverterFactory;
|
||||||
|
|
||||||
class FetchComment {
|
class FetchComment {
|
||||||
interface FetchCommentListener {
|
interface FetchCommentListener {
|
||||||
@ -14,36 +15,34 @@ class FetchComment {
|
|||||||
void onFetchCommentFail();
|
void onFetchCommentFail();
|
||||||
}
|
}
|
||||||
|
|
||||||
private RequestQueue requestQueue;
|
private String subredditNamePrefixed;
|
||||||
private String subredditName;
|
|
||||||
private String article;
|
private String article;
|
||||||
private FetchCommentListener mFetchCommentListener;
|
|
||||||
|
|
||||||
FetchComment(RequestQueue requestQueue, String subredditName, String article) {
|
FetchComment(String subredditNamePrefixed, String article) {
|
||||||
this.requestQueue = requestQueue;
|
this.subredditNamePrefixed = subredditNamePrefixed;
|
||||||
this.subredditName = subredditName;
|
|
||||||
this.article = article;
|
this.article = article;
|
||||||
}
|
}
|
||||||
|
|
||||||
void queryComment(FetchCommentListener fetchCommentListener) {
|
void queryComment(final FetchCommentListener fetchCommentListener) {
|
||||||
mFetchCommentListener = fetchCommentListener;
|
Retrofit retrofit = new Retrofit.Builder()
|
||||||
|
.baseUrl(RedditUtils.API_BASE_URI)
|
||||||
Uri uri = Uri.parse(RedditUtils.getQueryCommentUrl(subredditName, article))
|
.addConverterFactory(ScalarsConverterFactory.create())
|
||||||
.buildUpon().appendQueryParameter(RedditUtils.RAW_JSON_KEY, RedditUtils.RAW_JSON_VALUE)
|
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
StringRequest commentRequest = new StringRequest(Request.Method.GET, uri.toString(), new Response.Listener<String>() {
|
RedditAPI api = retrofit.create(RedditAPI.class);
|
||||||
|
|
||||||
|
Call<String> comments = api.getComments(subredditNamePrefixed, article);
|
||||||
|
comments.enqueue(new Callback<String>() {
|
||||||
@Override
|
@Override
|
||||||
public void onResponse(String response) {
|
public void onResponse(@NonNull Call<String> call, @NonNull Response<String> response) {
|
||||||
mFetchCommentListener.onFetchCommentSuccess(response);
|
fetchCommentListener.onFetchCommentSuccess(response.body());
|
||||||
}
|
}
|
||||||
}, new Response.ErrorListener() {
|
|
||||||
@Override
|
@Override
|
||||||
public void onErrorResponse(VolleyError error) {
|
public void onFailure(@NonNull Call<String> call, @NonNull Throwable t) {
|
||||||
mFetchCommentListener.onFetchCommentFail();
|
Log.i("call failed", t.getMessage());
|
||||||
|
fetchCommentListener.onFetchCommentFail();
|
||||||
}
|
}
|
||||||
}) {};
|
});
|
||||||
commentRequest.setTag(FetchComment.class);
|
|
||||||
requestQueue.add(commentRequest);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -55,7 +55,7 @@ class FetchSubscribedThing {
|
|||||||
StringRequest commentRequest = new StringRequest(Request.Method.GET, uri.toString(), new Response.Listener<String>() {
|
StringRequest commentRequest = new StringRequest(Request.Method.GET, uri.toString(), new Response.Listener<String>() {
|
||||||
@Override
|
@Override
|
||||||
public void onResponse(String response) {
|
public void onResponse(String response) {
|
||||||
new ParseSubscribedThing().parseSubscribedSubreddits(response, mSubscribedSubredditData,
|
ParseSubscribedThing.parseSubscribedSubreddits(response, mSubscribedSubredditData,
|
||||||
mSubscribedUserData, mSubredditData,
|
mSubscribedUserData, mSubredditData,
|
||||||
new ParseSubscribedThing.ParseSubscribedSubredditsListener() {
|
new ParseSubscribedThing.ParseSubscribedSubredditsListener() {
|
||||||
|
|
||||||
|
@ -62,8 +62,8 @@ class JSONUtils {
|
|||||||
static final String SUBREDDIT_TYPE_KEY = "subreddit_type";
|
static final String SUBREDDIT_TYPE_KEY = "subreddit_type";
|
||||||
static final String SUBREDDIT_TYPE_VALUE_USER = "user";
|
static final String SUBREDDIT_TYPE_VALUE_USER = "user";
|
||||||
static final String SUBSCRIBERS_KEY = "subscribers";
|
static final String SUBSCRIBERS_KEY = "subscribers";
|
||||||
static final String PUBLIC_DESCRIPTION = "public_description";
|
static final String PUBLIC_DESCRIPTION_KEY = "public_description";
|
||||||
static final String ACTIVE_USER_COUNT = "active_user_count";
|
static final String ACTIVE_USER_COUNT_KEY = "active_user_count";
|
||||||
static final String DISPLAY_NAME_PREFIXED = "display_name_prefixed";
|
static final String DISPLAY_NAME_PREFIXED_KEY = "display_name_prefixed";
|
||||||
static final String LINK_ID = "link_id";
|
static final String LINK_ID_KEY = "link_id";
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,6 @@ import android.support.v7.app.AppCompatActivity;
|
|||||||
import android.support.v7.widget.LinearLayoutManager;
|
import android.support.v7.widget.LinearLayoutManager;
|
||||||
import android.support.v7.widget.RecyclerView;
|
import android.support.v7.widget.RecyclerView;
|
||||||
import android.support.v7.widget.Toolbar;
|
import android.support.v7.widget.Toolbar;
|
||||||
import android.util.Log;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
@ -185,7 +184,7 @@ public class MainActivity extends AppCompatActivity {
|
|||||||
new FetchUserInfo(this, Volley.newRequestQueue(this)).queryUserInfo(new FetchUserInfo.FetchUserInfoListener() {
|
new FetchUserInfo(this, Volley.newRequestQueue(this)).queryUserInfo(new FetchUserInfo.FetchUserInfoListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onFetchUserInfoSuccess(String response) {
|
public void onFetchUserInfoSuccess(String response) {
|
||||||
new ParseUserInfo().parseUserInfo(response, new ParseUserInfo.ParseUserInfoListener() {
|
ParseUserInfo.parseUserInfo(response, new ParseUserInfo.ParseUserInfoListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onParseUserInfoSuccess(String name, String profileImageUrl, String bannerImageUrl, int karma) {
|
public void onParseUserInfoSuccess(String name, String profileImageUrl, String bannerImageUrl, int karma) {
|
||||||
mNameTextView.setText(name);
|
mNameTextView.setText(name);
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package ml.docilealligator.infinityforreddit;
|
package ml.docilealligator.infinityforreddit;
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
@ -11,6 +10,7 @@ import org.json.JSONObject;
|
|||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
class ParseComment {
|
class ParseComment {
|
||||||
interface ParseCommentListener {
|
interface ParseCommentListener {
|
||||||
@ -18,31 +18,30 @@ class ParseComment {
|
|||||||
void onParseCommentFail();
|
void onParseCommentFail();
|
||||||
}
|
}
|
||||||
|
|
||||||
private Context mContext;
|
static void parseComment(String response, ArrayList<CommentData> commentData, Locale locale, ParseCommentListener parseCommentListener) {
|
||||||
private ParseCommentListener mParseCommentListener;
|
new ParseCommentAsyncTask(response, commentData, locale, parseCommentListener).execute();
|
||||||
|
|
||||||
void parseComment(Context context, String response, ArrayList<CommentData> commentData, ParseCommentListener parseCommentListener) {
|
|
||||||
mParseCommentListener = parseCommentListener;
|
|
||||||
mContext = context;
|
|
||||||
new ParseCommentAsyncTask(response, commentData).execute();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private class ParseCommentAsyncTask extends AsyncTask<Void, Void, Void> {
|
private static class ParseCommentAsyncTask extends AsyncTask<Void, Void, Void> {
|
||||||
private JSONArray jsonResponse;
|
private JSONArray jsonResponse;
|
||||||
private ArrayList<CommentData> commentData;
|
private ArrayList<CommentData> commentData;
|
||||||
private ArrayList<CommentData> newcommentData;
|
private ArrayList<CommentData> newcommentData;
|
||||||
|
private Locale locale;
|
||||||
|
private ParseCommentListener parseCommentListener;
|
||||||
private boolean parseFailed;
|
private boolean parseFailed;
|
||||||
int moreCommentCount;
|
private int moreCommentCount;
|
||||||
|
|
||||||
ParseCommentAsyncTask(String response, ArrayList<CommentData> commentData){
|
ParseCommentAsyncTask(String response, ArrayList<CommentData> commentData, Locale locale, ParseCommentListener parseCommentListener){
|
||||||
try {
|
try {
|
||||||
jsonResponse = new JSONArray(response);
|
jsonResponse = new JSONArray(response);
|
||||||
this.commentData = commentData;
|
this.commentData = commentData;
|
||||||
newcommentData = new ArrayList<>();
|
newcommentData = new ArrayList<>();
|
||||||
|
this.locale = locale;
|
||||||
|
this.parseCommentListener = parseCommentListener;
|
||||||
parseFailed = false;
|
parseFailed = false;
|
||||||
} catch (JSONException e) {
|
} catch (JSONException e) {
|
||||||
Log.i("comment json error", e.getMessage());
|
Log.i("comment json error", e.getMessage());
|
||||||
mParseCommentListener.onParseCommentFail();
|
parseCommentListener.onParseCommentFail();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -69,7 +68,7 @@ class ParseComment {
|
|||||||
|
|
||||||
for (int i = 0; i < actualCommentLength; i++) {
|
for (int i = 0; i < actualCommentLength; i++) {
|
||||||
JSONObject data = allComments.getJSONObject(i).getJSONObject(JSONUtils.DATA_KEY);
|
JSONObject data = allComments.getJSONObject(i).getJSONObject(JSONUtils.DATA_KEY);
|
||||||
String fullName = data.getString(JSONUtils.LINK_ID);
|
String fullName = data.getString(JSONUtils.LINK_ID_KEY);
|
||||||
String author = data.getString(JSONUtils.AUTHOR_KEY);
|
String author = data.getString(JSONUtils.AUTHOR_KEY);
|
||||||
boolean isSubmitter = data.getBoolean(JSONUtils.IS_SUBMITTER_KEY);
|
boolean isSubmitter = data.getBoolean(JSONUtils.IS_SUBMITTER_KEY);
|
||||||
String commentContent = "";
|
String commentContent = "";
|
||||||
@ -84,7 +83,7 @@ class ParseComment {
|
|||||||
Calendar submitTimeCalendar = Calendar.getInstance();
|
Calendar submitTimeCalendar = Calendar.getInstance();
|
||||||
submitTimeCalendar.setTimeInMillis(submitTime);
|
submitTimeCalendar.setTimeInMillis(submitTime);
|
||||||
String formattedSubmitTime = new SimpleDateFormat("MMM d, YYYY, HH:mm",
|
String formattedSubmitTime = new SimpleDateFormat("MMM d, YYYY, HH:mm",
|
||||||
mContext.getResources().getConfiguration().locale).format(submitTimeCalendar.getTime());
|
locale).format(submitTimeCalendar.getTime());
|
||||||
|
|
||||||
int depth = data.getInt(JSONUtils.DEPTH_KEY);
|
int depth = data.getInt(JSONUtils.DEPTH_KEY);
|
||||||
boolean collapsed = data.getBoolean(JSONUtils.COLLAPSED_KEY);
|
boolean collapsed = data.getBoolean(JSONUtils.COLLAPSED_KEY);
|
||||||
@ -103,9 +102,9 @@ class ParseComment {
|
|||||||
protected void onPostExecute(Void aVoid) {
|
protected void onPostExecute(Void aVoid) {
|
||||||
if(!parseFailed) {
|
if(!parseFailed) {
|
||||||
commentData.addAll(newcommentData);
|
commentData.addAll(newcommentData);
|
||||||
mParseCommentListener.onParseCommentSuccess(commentData, moreCommentCount);
|
parseCommentListener.onParseCommentSuccess(commentData, moreCommentCount);
|
||||||
} else {
|
} else {
|
||||||
mParseCommentListener.onParseCommentFail();
|
parseCommentListener.onParseCommentFail();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
package ml.docilealligator.infinityforreddit;
|
package ml.docilealligator.infinityforreddit;
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.widget.Toast;
|
|
||||||
|
|
||||||
import org.json.JSONArray;
|
import org.json.JSONArray;
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
@ -12,6 +10,7 @@ import org.json.JSONObject;
|
|||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by alex on 3/21/18.
|
* Created by alex on 3/21/18.
|
||||||
@ -24,34 +23,31 @@ class ParsePost {
|
|||||||
void onParsePostFail();
|
void onParsePostFail();
|
||||||
}
|
}
|
||||||
|
|
||||||
private Context mContext;
|
static void parsePost(String response, ArrayList<PostData> postData, Locale locale,
|
||||||
private ParsePostListener mParseBetPostListener;
|
ParsePostListener parsePostListener) {
|
||||||
|
new ParsePostDataAsyncTask(response, postData, locale, parsePostListener).execute();
|
||||||
ParsePost(Context context, ParsePostListener parsePostListener) {
|
|
||||||
mContext = context;
|
|
||||||
mParseBetPostListener = parsePostListener;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void parsePost(String response, ArrayList<PostData> postData) {
|
private static class ParsePostDataAsyncTask extends AsyncTask<Void, Void, Void> {
|
||||||
new ParsePostDataAsyncTask(response, postData).execute();
|
|
||||||
}
|
|
||||||
|
|
||||||
private class ParsePostDataAsyncTask extends AsyncTask<Void, Void, Void> {
|
|
||||||
private JSONObject jsonResponse;
|
private JSONObject jsonResponse;
|
||||||
private ArrayList<PostData> postData;
|
private ArrayList<PostData> postData;
|
||||||
|
private Locale locale;
|
||||||
|
private ParsePostListener parsePostListener;
|
||||||
private ArrayList<PostData> newPostData;
|
private ArrayList<PostData> newPostData;
|
||||||
private String lastItem;
|
private String lastItem;
|
||||||
private boolean parseFailed;
|
private boolean parseFailed;
|
||||||
|
|
||||||
ParsePostDataAsyncTask(String response, ArrayList<PostData> postData) {
|
ParsePostDataAsyncTask(String response, ArrayList<PostData> postData, Locale locale,
|
||||||
|
ParsePostListener parsePostListener) {
|
||||||
try {
|
try {
|
||||||
jsonResponse = new JSONObject(response);
|
jsonResponse = new JSONObject(response);
|
||||||
this.postData = postData;
|
this.postData = postData;
|
||||||
|
this.locale = locale;
|
||||||
|
this.parsePostListener = parsePostListener;
|
||||||
newPostData = new ArrayList<>();
|
newPostData = new ArrayList<>();
|
||||||
parseFailed = false;
|
parseFailed = false;
|
||||||
} catch (JSONException e) {
|
} catch (JSONException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
Toast.makeText(mContext, "Error converting response to JSON", Toast.LENGTH_SHORT).show();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -82,7 +78,7 @@ class ParsePost {
|
|||||||
Calendar postTimeCalendar = Calendar.getInstance();
|
Calendar postTimeCalendar = Calendar.getInstance();
|
||||||
postTimeCalendar.setTimeInMillis(postTime);
|
postTimeCalendar.setTimeInMillis(postTime);
|
||||||
String formattedPostTime = new SimpleDateFormat("MMM d, YYYY, HH:mm",
|
String formattedPostTime = new SimpleDateFormat("MMM d, YYYY, HH:mm",
|
||||||
mContext.getResources().getConfiguration().locale).format(postTimeCalendar.getTime());
|
locale).format(postTimeCalendar.getTime());
|
||||||
String permalink = data.getString(JSONUtils.PERMALINK_KEY);
|
String permalink = data.getString(JSONUtils.PERMALINK_KEY);
|
||||||
|
|
||||||
String previewUrl = "";
|
String previewUrl = "";
|
||||||
@ -102,8 +98,7 @@ class ParsePost {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (JSONException e) {
|
} catch (JSONException e) {
|
||||||
Log.e("error", e.getMessage());
|
Log.e("best post parse error", e.getMessage());
|
||||||
Log.i("Best post", "Error parsing data");
|
|
||||||
parseFailed = true;
|
parseFailed = true;
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
@ -113,14 +108,14 @@ class ParsePost {
|
|||||||
protected void onPostExecute(Void aVoid) {
|
protected void onPostExecute(Void aVoid) {
|
||||||
if(!parseFailed) {
|
if(!parseFailed) {
|
||||||
postData.addAll(newPostData);
|
postData.addAll(newPostData);
|
||||||
mParseBetPostListener.onParsePostSuccess(postData, lastItem);
|
parsePostListener.onParsePostSuccess(postData, lastItem);
|
||||||
} else {
|
} else {
|
||||||
mParseBetPostListener.onParsePostFail();
|
parsePostListener.onParsePostFail();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void parseData(JSONObject data, String permalink, ArrayList<PostData> bestPostData,
|
private static void parseData(JSONObject data, String permalink, ArrayList<PostData> bestPostData,
|
||||||
String id, String fullName, String subredditNamePrefixed, String formattedPostTime,
|
String id, String fullName, String subredditNamePrefixed, String formattedPostTime,
|
||||||
String title, String previewUrl, int score, int voteType, int gilded,
|
String title, String previewUrl, int score, int voteType, int gilded,
|
||||||
boolean nsfw, boolean stickied, int i) throws JSONException {
|
boolean nsfw, boolean stickied, int i) throws JSONException {
|
||||||
|
@ -12,11 +12,8 @@ class ParseSubredditData {
|
|||||||
void onParseSubredditDataFail();
|
void onParseSubredditDataFail();
|
||||||
}
|
}
|
||||||
|
|
||||||
private ParseSubredditDataListener mParseSubredditDataListener;
|
static void parseComment(String response, ParseSubredditDataListener parseSubredditDataListener) {
|
||||||
|
new ParseSubredditDataAsyncTask(response, parseSubredditDataListener).execute();
|
||||||
void parseComment(String response, ParseSubredditDataListener parseSubredditDataListener) {
|
|
||||||
mParseSubredditDataListener = parseSubredditDataListener;
|
|
||||||
new ParseSubredditDataAsyncTask(response, mParseSubredditDataListener).execute();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class ParseSubredditDataAsyncTask extends AsyncTask<Void, Void, Void> {
|
private static class ParseSubredditDataAsyncTask extends AsyncTask<Void, Void, Void> {
|
||||||
@ -42,8 +39,8 @@ class ParseSubredditData {
|
|||||||
try {
|
try {
|
||||||
JSONObject data = jsonResponse.getJSONObject(JSONUtils.DATA_KEY);
|
JSONObject data = jsonResponse.getJSONObject(JSONUtils.DATA_KEY);
|
||||||
String id = data.getString(JSONUtils.NAME_KEY);
|
String id = data.getString(JSONUtils.NAME_KEY);
|
||||||
String subredditFullName = data.getString(JSONUtils.DISPLAY_NAME_PREFIXED);
|
String subredditFullName = data.getString(JSONUtils.DISPLAY_NAME_PREFIXED_KEY);
|
||||||
String description = data.getString(JSONUtils.PUBLIC_DESCRIPTION).trim();
|
String description = data.getString(JSONUtils.PUBLIC_DESCRIPTION_KEY).trim();
|
||||||
String bannerImageUrl = data.getString(JSONUtils.BANNER_BACKGROUND_IMAGE_KEY);
|
String bannerImageUrl = data.getString(JSONUtils.BANNER_BACKGROUND_IMAGE_KEY);
|
||||||
if(bannerImageUrl.equals("") || bannerImageUrl.equals("null")) {
|
if(bannerImageUrl.equals("") || bannerImageUrl.equals("null")) {
|
||||||
bannerImageUrl= data.getString(JSONUtils.BANNER_IMG_KEY);
|
bannerImageUrl= data.getString(JSONUtils.BANNER_IMG_KEY);
|
||||||
@ -59,7 +56,7 @@ class ParseSubredditData {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
int nSubscribers = data.getInt(JSONUtils.SUBSCRIBERS_KEY);
|
int nSubscribers = data.getInt(JSONUtils.SUBSCRIBERS_KEY);
|
||||||
int nCurrentOnlineSubscribers = data.getInt(JSONUtils.ACTIVE_USER_COUNT);
|
int nCurrentOnlineSubscribers = data.getInt(JSONUtils.ACTIVE_USER_COUNT_KEY);
|
||||||
subredditData = new SubredditData(id, subredditFullName, iconUrl, bannerImageUrl, description, nSubscribers);
|
subredditData = new SubredditData(id, subredditFullName, iconUrl, bannerImageUrl, description, nSubscribers);
|
||||||
mNCurrentOnlineSubscribers = nCurrentOnlineSubscribers;
|
mNCurrentOnlineSubscribers = nCurrentOnlineSubscribers;
|
||||||
} catch (JSONException e) {
|
} catch (JSONException e) {
|
||||||
|
@ -18,7 +18,7 @@ class ParseSubscribedThing {
|
|||||||
void onParseSubscribedSubredditsFail();
|
void onParseSubscribedSubredditsFail();
|
||||||
}
|
}
|
||||||
|
|
||||||
void parseSubscribedSubreddits(String response, ArrayList<SubscribedSubredditData> subscribedSubredditData,
|
static void parseSubscribedSubreddits(String response, ArrayList<SubscribedSubredditData> subscribedSubredditData,
|
||||||
ArrayList<SubscribedUserData> subscribedUserData,
|
ArrayList<SubscribedUserData> subscribedUserData,
|
||||||
ArrayList<SubredditData> subredditData,
|
ArrayList<SubredditData> subredditData,
|
||||||
ParseSubscribedSubredditsListener parseSubscribedSubredditsListener) {
|
ParseSubscribedSubredditsListener parseSubscribedSubredditsListener) {
|
||||||
@ -92,8 +92,8 @@ class ParseSubscribedThing {
|
|||||||
//It's a user
|
//It's a user
|
||||||
newSubscribedUserData.add(new SubscribedUserData(id, name.substring(2), iconUrl));
|
newSubscribedUserData.add(new SubscribedUserData(id, name.substring(2), iconUrl));
|
||||||
} else {
|
} else {
|
||||||
String subredditFullName = data.getString(JSONUtils.DISPLAY_NAME_PREFIXED);
|
String subredditFullName = data.getString(JSONUtils.DISPLAY_NAME_PREFIXED_KEY);
|
||||||
String description = data.getString(JSONUtils.PUBLIC_DESCRIPTION).trim();
|
String description = data.getString(JSONUtils.PUBLIC_DESCRIPTION_KEY).trim();
|
||||||
int nSubscribers = data.getInt(JSONUtils.SUBSCRIBERS_KEY);
|
int nSubscribers = data.getInt(JSONUtils.SUBSCRIBERS_KEY);
|
||||||
newSubscribedSubredditData.add(new SubscribedSubredditData(id, name, iconUrl));
|
newSubscribedSubredditData.add(new SubscribedSubredditData(id, name, iconUrl));
|
||||||
newSubredditData.add(new SubredditData(id, subredditFullName, iconUrl, bannerImageUrl, description, nSubscribers));
|
newSubredditData.add(new SubredditData(id, subredditFullName, iconUrl, bannerImageUrl, description, nSubscribers));
|
||||||
|
@ -13,15 +13,13 @@ class ParseUserInfo {
|
|||||||
void onParseUserInfoFail();
|
void onParseUserInfoFail();
|
||||||
}
|
}
|
||||||
|
|
||||||
private ParseUserInfoListener mParseUserInfoListener;
|
static void parseUserInfo(String response, ParseUserInfoListener parseUserInfoListener) {
|
||||||
|
new ParseUserInfoAsyncTask(response, parseUserInfoListener).execute();
|
||||||
void parseUserInfo(String response, ParseUserInfoListener parseUserInfoListener) {
|
|
||||||
mParseUserInfoListener = parseUserInfoListener;
|
|
||||||
new ParseUserInfoAsyncTask(response).execute();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private class ParseUserInfoAsyncTask extends AsyncTask<Void, Void, Void> {
|
private static class ParseUserInfoAsyncTask extends AsyncTask<Void, Void, Void> {
|
||||||
private JSONObject jsonResponse;
|
private JSONObject jsonResponse;
|
||||||
|
private ParseUserInfoListener parseUserInfoListener;
|
||||||
private boolean parseFailed;
|
private boolean parseFailed;
|
||||||
|
|
||||||
private String name;
|
private String name;
|
||||||
@ -29,13 +27,14 @@ class ParseUserInfo {
|
|||||||
private String bannerImageUrl;
|
private String bannerImageUrl;
|
||||||
private int karma;
|
private int karma;
|
||||||
|
|
||||||
ParseUserInfoAsyncTask(String response){
|
ParseUserInfoAsyncTask(String response, ParseUserInfoListener parseUserInfoListener){
|
||||||
try {
|
try {
|
||||||
jsonResponse = new JSONObject(response);
|
jsonResponse = new JSONObject(response);
|
||||||
|
this.parseUserInfoListener = parseUserInfoListener;
|
||||||
parseFailed = false;
|
parseFailed = false;
|
||||||
} catch (JSONException e) {
|
} catch (JSONException e) {
|
||||||
Log.i("user info json error", e.getMessage());
|
Log.i("user info json error", e.getMessage());
|
||||||
mParseUserInfoListener.onParseUserInfoFail();
|
parseUserInfoListener.onParseUserInfoFail();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -58,9 +57,9 @@ class ParseUserInfo {
|
|||||||
@Override
|
@Override
|
||||||
protected void onPostExecute(Void aVoid) {
|
protected void onPostExecute(Void aVoid) {
|
||||||
if(!parseFailed) {
|
if(!parseFailed) {
|
||||||
mParseUserInfoListener.onParseUserInfoSuccess(name, profileImageUrl, bannerImageUrl, karma);
|
parseUserInfoListener.onParseUserInfoSuccess(name, profileImageUrl, bannerImageUrl, karma);
|
||||||
} else {
|
} else {
|
||||||
mParseUserInfoListener.onParseUserInfoFail();
|
parseUserInfoListener.onParseUserInfoFail();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -77,7 +77,8 @@ public class PostFragment extends Fragment {
|
|||||||
getActivity(), mLinearLayoutManager, mAdapter, mLastItem, mPostData,
|
getActivity(), mLinearLayoutManager, mAdapter, mLastItem, mPostData,
|
||||||
mPaginationSynchronizer, mAcquireAccessTokenRequestQueue,
|
mPaginationSynchronizer, mAcquireAccessTokenRequestQueue,
|
||||||
mQueryPostUrl, mIsBestPost,
|
mQueryPostUrl, mIsBestPost,
|
||||||
mPaginationSynchronizer.isLoading(), mPaginationSynchronizer.isLoadSuccess()));
|
mPaginationSynchronizer.isLoading(), mPaginationSynchronizer.isLoadSuccess(),
|
||||||
|
getResources().getConfiguration().locale));
|
||||||
mProgressBar.setVisibility(View.GONE);
|
mProgressBar.setVisibility(View.GONE);
|
||||||
} else {
|
} else {
|
||||||
if(mIsBestPost) {
|
if(mIsBestPost) {
|
||||||
@ -196,29 +197,31 @@ public class PostFragment extends Fragment {
|
|||||||
ClipData clip = ClipData.newPlainText("response", response);
|
ClipData clip = ClipData.newPlainText("response", response);
|
||||||
clipboard.setPrimaryClip(clip);
|
clipboard.setPrimaryClip(clip);
|
||||||
//new ParsePostDataAsyncTask(response, accessToken).execute();
|
//new ParsePostDataAsyncTask(response, accessToken).execute();
|
||||||
new ParsePost(getActivity(), new ParsePost.ParsePostListener() {
|
ParsePost.parsePost(response, new ArrayList<PostData>(),
|
||||||
@Override
|
getResources().getConfiguration().locale, new ParsePost.ParsePostListener() {
|
||||||
public void onParsePostSuccess(ArrayList<PostData> postData, String lastItem) {
|
@Override
|
||||||
mPostData = postData;
|
public void onParsePostSuccess(ArrayList<PostData> postData, String lastItem) {
|
||||||
mLastItem = lastItem;
|
mPostData = postData;
|
||||||
mAdapter = new PostRecyclerViewAdapter(getActivity(), postData, mPaginationSynchronizer, mVoteThingRequestQueue, mAcquireAccessTokenRequestQueue);
|
mLastItem = lastItem;
|
||||||
|
mAdapter = new PostRecyclerViewAdapter(getActivity(), postData, mPaginationSynchronizer, mVoteThingRequestQueue, mAcquireAccessTokenRequestQueue);
|
||||||
|
|
||||||
mPostRecyclerView.setAdapter(mAdapter);
|
mPostRecyclerView.setAdapter(mAdapter);
|
||||||
mPostRecyclerView.addOnScrollListener(new PostPaginationScrollListener(
|
mPostRecyclerView.addOnScrollListener(new PostPaginationScrollListener(
|
||||||
getActivity(), mLinearLayoutManager, mAdapter, lastItem, postData,
|
getActivity(), mLinearLayoutManager, mAdapter, lastItem, postData,
|
||||||
mPaginationSynchronizer, mAcquireAccessTokenRequestQueue,
|
mPaginationSynchronizer, mAcquireAccessTokenRequestQueue,
|
||||||
mQueryPostUrl, mIsBestPost,
|
mQueryPostUrl, mIsBestPost,
|
||||||
mPaginationSynchronizer.isLoading(), mPaginationSynchronizer.isLoadSuccess()));
|
mPaginationSynchronizer.isLoading(), mPaginationSynchronizer.isLoadSuccess(),
|
||||||
mProgressBar.setVisibility(View.GONE);
|
getResources().getConfiguration().locale));
|
||||||
}
|
mProgressBar.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onParsePostFail() {
|
public void onParsePostFail() {
|
||||||
Toast.makeText(getActivity(), "Error parsing data", Toast.LENGTH_SHORT).show();
|
Toast.makeText(getActivity(), "Error parsing data", Toast.LENGTH_SHORT).show();
|
||||||
Log.i("Post fetch error", "Error parsing data");
|
Log.i("Post fetch error", "Error parsing data");
|
||||||
mProgressBar.setVisibility(View.GONE);
|
mProgressBar.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
}).parsePost(response, new ArrayList<PostData>());
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, new Response.ErrorListener() {
|
}, new Response.ErrorListener() {
|
||||||
@ -273,29 +276,31 @@ public class PostFragment extends Fragment {
|
|||||||
ClipData clip = ClipData.newPlainText("response", response);
|
ClipData clip = ClipData.newPlainText("response", response);
|
||||||
clipboard.setPrimaryClip(clip);
|
clipboard.setPrimaryClip(clip);
|
||||||
//new ParsePostDataAsyncTask(response, accessToken).execute();
|
//new ParsePostDataAsyncTask(response, accessToken).execute();
|
||||||
new ParsePost(getActivity(), new ParsePost.ParsePostListener() {
|
ParsePost.parsePost(response, new ArrayList<PostData>(),
|
||||||
@Override
|
getResources().getConfiguration().locale, new ParsePost.ParsePostListener() {
|
||||||
public void onParsePostSuccess(ArrayList<PostData> postData, String lastItem) {
|
@Override
|
||||||
mPostData = postData;
|
public void onParsePostSuccess(ArrayList<PostData> postData, String lastItem) {
|
||||||
mLastItem = lastItem;
|
mPostData = postData;
|
||||||
mAdapter = new PostRecyclerViewAdapter(getActivity(), postData, mPaginationSynchronizer, mVoteThingRequestQueue, mAcquireAccessTokenRequestQueue);
|
mLastItem = lastItem;
|
||||||
|
mAdapter = new PostRecyclerViewAdapter(getActivity(), postData, mPaginationSynchronizer, mVoteThingRequestQueue, mAcquireAccessTokenRequestQueue);
|
||||||
|
|
||||||
mPostRecyclerView.setAdapter(mAdapter);
|
mPostRecyclerView.setAdapter(mAdapter);
|
||||||
mPostRecyclerView.addOnScrollListener(new PostPaginationScrollListener(
|
mPostRecyclerView.addOnScrollListener(new PostPaginationScrollListener(
|
||||||
getActivity(), mLinearLayoutManager, mAdapter, lastItem, postData,
|
getActivity(), mLinearLayoutManager, mAdapter, lastItem, postData,
|
||||||
mPaginationSynchronizer, mAcquireAccessTokenRequestQueue,
|
mPaginationSynchronizer, mAcquireAccessTokenRequestQueue,
|
||||||
mQueryPostUrl, mIsBestPost,
|
mQueryPostUrl, mIsBestPost,
|
||||||
mPaginationSynchronizer.isLoading(), mPaginationSynchronizer.isLoadSuccess()));
|
mPaginationSynchronizer.isLoading(), mPaginationSynchronizer.isLoadSuccess(),
|
||||||
mProgressBar.setVisibility(View.GONE);
|
getResources().getConfiguration().locale));
|
||||||
}
|
mProgressBar.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onParsePostFail() {
|
public void onParsePostFail() {
|
||||||
Toast.makeText(getActivity(), "Error parsing data", Toast.LENGTH_SHORT).show();
|
Toast.makeText(getActivity(), "Error parsing data", Toast.LENGTH_SHORT).show();
|
||||||
Log.i("Post fetch error", "Error parsing data");
|
Log.i("Post fetch error", "Error parsing data");
|
||||||
mProgressBar.setVisibility(View.GONE);
|
mProgressBar.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
}).parsePost(response, new ArrayList<PostData>());
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, new Response.ErrorListener() {
|
}, new Response.ErrorListener() {
|
||||||
|
@ -19,6 +19,7 @@ import com.android.volley.toolbox.StringRequest;
|
|||||||
import com.android.volley.toolbox.Volley;
|
import com.android.volley.toolbox.Volley;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Locale;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -39,6 +40,7 @@ class PostPaginationScrollListener extends RecyclerView.OnScrollListener {
|
|||||||
private boolean isBestPost;
|
private boolean isBestPost;
|
||||||
private boolean isLoading;
|
private boolean isLoading;
|
||||||
private boolean loadSuccess;
|
private boolean loadSuccess;
|
||||||
|
private Locale locale;
|
||||||
private String mLastItem;
|
private String mLastItem;
|
||||||
private RequestQueue mRequestQueue;
|
private RequestQueue mRequestQueue;
|
||||||
private RequestQueue mAcquireAccessTokenRequestQueue;
|
private RequestQueue mAcquireAccessTokenRequestQueue;
|
||||||
@ -46,7 +48,7 @@ class PostPaginationScrollListener extends RecyclerView.OnScrollListener {
|
|||||||
PostPaginationScrollListener(Context context, LinearLayoutManager layoutManager, PostRecyclerViewAdapter adapter,
|
PostPaginationScrollListener(Context context, LinearLayoutManager layoutManager, PostRecyclerViewAdapter adapter,
|
||||||
String lastItem, ArrayList<PostData> postData, PaginationSynchronizer paginationSynchronizer,
|
String lastItem, ArrayList<PostData> postData, PaginationSynchronizer paginationSynchronizer,
|
||||||
RequestQueue acquireAccessTokenRequestQueue, final String queryPostUrl,
|
RequestQueue acquireAccessTokenRequestQueue, final String queryPostUrl,
|
||||||
final boolean isBestPost, boolean isLoading, boolean loadSuccess) {
|
final boolean isBestPost, boolean isLoading, boolean loadSuccess, Locale locale) {
|
||||||
if(context != null) {
|
if(context != null) {
|
||||||
this.mContext = context;
|
this.mContext = context;
|
||||||
this.mLayoutManager = layoutManager;
|
this.mLayoutManager = layoutManager;
|
||||||
@ -59,6 +61,7 @@ class PostPaginationScrollListener extends RecyclerView.OnScrollListener {
|
|||||||
this.isBestPost = isBestPost;
|
this.isBestPost = isBestPost;
|
||||||
this.isLoading = isLoading;
|
this.isLoading = isLoading;
|
||||||
this.loadSuccess = loadSuccess;
|
this.loadSuccess = loadSuccess;
|
||||||
|
this.locale = locale;
|
||||||
|
|
||||||
mRequestQueue = Volley.newRequestQueue(mContext);
|
mRequestQueue = Volley.newRequestQueue(mContext);
|
||||||
mAcquireAccessTokenRequestQueue = Volley.newRequestQueue(mContext);
|
mAcquireAccessTokenRequestQueue = Volley.newRequestQueue(mContext);
|
||||||
@ -117,7 +120,7 @@ class PostPaginationScrollListener extends RecyclerView.OnScrollListener {
|
|||||||
ClipboardManager clipboard = (ClipboardManager) mContext.getSystemService(Context.CLIPBOARD_SERVICE);
|
ClipboardManager clipboard = (ClipboardManager) mContext.getSystemService(Context.CLIPBOARD_SERVICE);
|
||||||
ClipData clip = ClipData.newPlainText("response", response);
|
ClipData clip = ClipData.newPlainText("response", response);
|
||||||
clipboard.setPrimaryClip(clip);
|
clipboard.setPrimaryClip(clip);
|
||||||
new ParsePost(mContext, new ParsePost.ParsePostListener() {
|
ParsePost.parsePost(response, mPostData, locale, new ParsePost.ParsePostListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onParsePostSuccess(ArrayList<PostData> bestPostData, String lastItem) {
|
public void onParsePostSuccess(ArrayList<PostData> bestPostData, String lastItem) {
|
||||||
mAdapter.notifyDataSetChanged();
|
mAdapter.notifyDataSetChanged();
|
||||||
@ -136,7 +139,7 @@ class PostPaginationScrollListener extends RecyclerView.OnScrollListener {
|
|||||||
Log.i("Best post", "Error parsing data");
|
Log.i("Best post", "Error parsing data");
|
||||||
loadFailed();
|
loadFailed();
|
||||||
}
|
}
|
||||||
}).parsePost(response, mPostData);
|
});
|
||||||
}
|
}
|
||||||
}, new Response.ErrorListener() {
|
}, new Response.ErrorListener() {
|
||||||
@Override
|
@Override
|
||||||
@ -190,7 +193,7 @@ class PostPaginationScrollListener extends RecyclerView.OnScrollListener {
|
|||||||
ClipboardManager clipboard = (ClipboardManager) mContext.getSystemService(Context.CLIPBOARD_SERVICE);
|
ClipboardManager clipboard = (ClipboardManager) mContext.getSystemService(Context.CLIPBOARD_SERVICE);
|
||||||
ClipData clip = ClipData.newPlainText("response", response);
|
ClipData clip = ClipData.newPlainText("response", response);
|
||||||
clipboard.setPrimaryClip(clip);
|
clipboard.setPrimaryClip(clip);
|
||||||
new ParsePost(mContext, new ParsePost.ParsePostListener() {
|
ParsePost.parsePost(response, mPostData, locale, new ParsePost.ParsePostListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onParsePostSuccess(ArrayList<PostData> bestPostData, String lastItem) {
|
public void onParsePostSuccess(ArrayList<PostData> bestPostData, String lastItem) {
|
||||||
mAdapter.notifyDataSetChanged();
|
mAdapter.notifyDataSetChanged();
|
||||||
@ -209,7 +212,7 @@ class PostPaginationScrollListener extends RecyclerView.OnScrollListener {
|
|||||||
Log.i("Best post", "Error parsing data");
|
Log.i("Best post", "Error parsing data");
|
||||||
loadFailed();
|
loadFailed();
|
||||||
}
|
}
|
||||||
}).parsePost(response, mPostData);
|
});
|
||||||
}
|
}
|
||||||
}, new Response.ErrorListener() {
|
}, new Response.ErrorListener() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -0,0 +1,10 @@
|
|||||||
|
package ml.docilealligator.infinityforreddit;
|
||||||
|
|
||||||
|
import retrofit2.Call;
|
||||||
|
import retrofit2.http.GET;
|
||||||
|
import retrofit2.http.Path;
|
||||||
|
|
||||||
|
public interface RedditAPI {
|
||||||
|
@GET("{subredditNamePrefixed}/comments/{article}.json?raw_json=1")
|
||||||
|
Call<String> getComments(@Path("subredditNamePrefixed") String subredditNamePrefixed, @Path("article") String article);
|
||||||
|
}
|
@ -61,7 +61,6 @@ public class ViewPostDetailActivity extends AppCompatActivity {
|
|||||||
|
|
||||||
private RequestQueue mVoteThingRequestQueue;
|
private RequestQueue mVoteThingRequestQueue;
|
||||||
private RequestQueue mAcquireAccessTokenRequestQueue;
|
private RequestQueue mAcquireAccessTokenRequestQueue;
|
||||||
private RequestQueue mCommentQueue;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
@ -143,7 +142,6 @@ public class ViewPostDetailActivity extends AppCompatActivity {
|
|||||||
mRecyclerView.addItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.VERTICAL));
|
mRecyclerView.addItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.VERTICAL));
|
||||||
mVoteThingRequestQueue = Volley.newRequestQueue(this);
|
mVoteThingRequestQueue = Volley.newRequestQueue(this);
|
||||||
mAcquireAccessTokenRequestQueue = Volley.newRequestQueue(this);
|
mAcquireAccessTokenRequestQueue = Volley.newRequestQueue(this);
|
||||||
mCommentQueue = Volley.newRequestQueue(this);
|
|
||||||
|
|
||||||
subredditTextView.setText(mPostData.getSubredditNamePrefixed());
|
subredditTextView.setText(mPostData.getSubredditNamePrefixed());
|
||||||
postTimeTextView.setText(mPostData.getPostTime());
|
postTimeTextView.setText(mPostData.getPostTime());
|
||||||
@ -494,24 +492,25 @@ public class ViewPostDetailActivity extends AppCompatActivity {
|
|||||||
private void queryComment() {
|
private void queryComment() {
|
||||||
mCommentProgressbar.setVisibility(View.VISIBLE);
|
mCommentProgressbar.setVisibility(View.VISIBLE);
|
||||||
mNoCommentWrapperLinearLayout.setVisibility(View.GONE);
|
mNoCommentWrapperLinearLayout.setVisibility(View.GONE);
|
||||||
new FetchComment(mCommentQueue, mPostData.getSubredditNamePrefixed(), mPostData.getId()).queryComment(new FetchComment.FetchCommentListener() {
|
new FetchComment(mPostData.getSubredditNamePrefixed(), mPostData.getId()).queryComment(new FetchComment.FetchCommentListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onFetchCommentSuccess(String response) {
|
public void onFetchCommentSuccess(String response) {
|
||||||
new ParseComment().parseComment(ViewPostDetailActivity.this, response, new ArrayList<CommentData>(), new ParseComment.ParseCommentListener() {
|
ParseComment.parseComment(response, new ArrayList<CommentData>(),
|
||||||
@Override
|
getResources().getConfiguration().locale, new ParseComment.ParseCommentListener() {
|
||||||
public void onParseCommentSuccess(ArrayList<CommentData> commentData, int moreCommentCount) {
|
@Override
|
||||||
mCommentProgressbar.setVisibility(View.GONE);
|
public void onParseCommentSuccess(ArrayList<CommentData> commentData, int moreCommentCount) {
|
||||||
mMoreCommentCount = moreCommentCount;
|
mCommentProgressbar.setVisibility(View.GONE);
|
||||||
if(commentData.size() > 0) {
|
mMoreCommentCount = moreCommentCount;
|
||||||
CommentRecyclerViewAdapter adapter = new CommentRecyclerViewAdapter(
|
if (commentData.size() > 0) {
|
||||||
ViewPostDetailActivity.this, commentData, mVoteThingRequestQueue, mAcquireAccessTokenRequestQueue);
|
CommentRecyclerViewAdapter adapter = new CommentRecyclerViewAdapter(
|
||||||
mRecyclerView.setAdapter(adapter);
|
ViewPostDetailActivity.this, commentData, mVoteThingRequestQueue, mAcquireAccessTokenRequestQueue);
|
||||||
mCommentCardView.setVisibility(View.VISIBLE);
|
mRecyclerView.setAdapter(adapter);
|
||||||
} else {
|
mCommentCardView.setVisibility(View.VISIBLE);
|
||||||
mNoCommentWrapperLinearLayout.setVisibility(View.VISIBLE);
|
} else {
|
||||||
Glide.with(ViewPostDetailActivity.this).load(R.drawable.no_comment_indicator).into(mNoCommentImageView);
|
mNoCommentWrapperLinearLayout.setVisibility(View.VISIBLE);
|
||||||
}
|
Glide.with(ViewPostDetailActivity.this).load(R.drawable.no_comment_indicator).into(mNoCommentImageView);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onParseCommentFail() {
|
public void onParseCommentFail() {
|
||||||
|
@ -140,7 +140,7 @@ public class ViewSubredditDetailActivity extends AppCompatActivity {
|
|||||||
new FetchSubredditData(Volley.newRequestQueue(this), subredditName).querySubredditData(new FetchSubredditData.FetchSubredditDataListener() {
|
new FetchSubredditData(Volley.newRequestQueue(this), subredditName).querySubredditData(new FetchSubredditData.FetchSubredditDataListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onFetchSubredditDataSuccess(String response) {
|
public void onFetchSubredditDataSuccess(String response) {
|
||||||
new ParseSubredditData().parseComment(response, new ParseSubredditData.ParseSubredditDataListener() {
|
ParseSubredditData.parseComment(response, new ParseSubredditData.ParseSubredditDataListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onParseSubredditDataSuccess(SubredditData subredditData, int nCurrentOnlineSubscribers) {
|
public void onParseSubredditDataSuccess(SubredditData subredditData, int nCurrentOnlineSubscribers) {
|
||||||
new InsertSubredditDataAsyncTask(SubredditRoomDatabase.getDatabase(ViewSubredditDetailActivity.this), subredditData)
|
new InsertSubredditDataAsyncTask(SubredditRoomDatabase.getDatabase(ViewSubredditDetailActivity.this), subredditData)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user