diff options
author | Alex Ning <chineseperson5@gmail.com> | 2019-01-01 15:32:03 +0000 |
---|---|---|
committer | Alex Ning <chineseperson5@gmail.com> | 2019-01-01 15:32:03 +0000 |
commit | 49d25314d561e8f01b4d3c5dad5fdf95babad287 (patch) | |
tree | 04c2dc23b04d9c574c823c6cef7cfe3c030b5fbf /app/src/main/java/User/FetchUserData.java | |
parent | f529bba550b63ff1ea0b254c308257f5fd0c25ed (diff) | |
download | infinity-for-reddit-49d25314d561e8f01b4d3c5dad5fdf95babad287.tar infinity-for-reddit-49d25314d561e8f01b4d3c5dad5fdf95babad287.tar.gz infinity-for-reddit-49d25314d561e8f01b4d3c5dad5fdf95babad287.tar.bz2 infinity-for-reddit-49d25314d561e8f01b4d3c5dad5fdf95babad287.tar.lz infinity-for-reddit-49d25314d561e8f01b4d3c5dad5fdf95babad287.tar.xz infinity-for-reddit-49d25314d561e8f01b4d3c5dad5fdf95babad287.tar.zst infinity-for-reddit-49d25314d561e8f01b4d3c5dad5fdf95babad287.zip |
Display user name and user icon in each post when loading posts in specific subreddits.
Diffstat (limited to '')
-rw-r--r-- | app/src/main/java/User/FetchUserData.java | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/app/src/main/java/User/FetchUserData.java b/app/src/main/java/User/FetchUserData.java new file mode 100644 index 00000000..edaa3b14 --- /dev/null +++ b/app/src/main/java/User/FetchUserData.java @@ -0,0 +1,50 @@ +package User; + +import android.support.annotation.NonNull; +import android.util.Log; + +import ml.docilealligator.infinityforreddit.RedditAPI; +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Retrofit; + +public class FetchUserData { + public interface FetchUserDataListener { + void onFetchUserDataSuccess(User user); + void onFetchUserDataFail(); + } + + public static void fetchUserData(final Retrofit retrofit, String userName, + final FetchUserDataListener fetchUserDataListener) { + RedditAPI api = retrofit.create(RedditAPI.class); + + Call<String> userInfo = api.getUserData(userName); + userInfo.enqueue(new Callback<String>() { + @Override + public void onResponse(@NonNull Call<String> call, @NonNull retrofit2.Response<String> response) { + if(response.isSuccessful()) { + ParseUserData.parseMyInfo(response.body(), new ParseUserData.ParseUserDataListener() { + @Override + public void onParseUserDataSuccess(User user) { + fetchUserDataListener.onFetchUserDataSuccess(user); + } + + @Override + public void onParseUserDataFail() { + fetchUserDataListener.onFetchUserDataFail(); + } + }); + } else { + Log.i("call failed", response.message()); + fetchUserDataListener.onFetchUserDataFail(); + } + } + + @Override + public void onFailure(@NonNull Call<String> call, @NonNull Throwable t) { + Log.i("call failed", t.getMessage()); + fetchUserDataListener.onFetchUserDataFail(); + } + }); + } +} |