mirror of
https://github.com/Docile-Alligator/Infinity-For-Reddit.git
synced 2026-02-05 00:15:31 +00:00
Fix anonymous home and multireddit posts not working.
This commit is contained in:
@ -44,12 +44,18 @@ abstract class NetworkModule {
|
||||
.connectTimeout(30, TimeUnit.SECONDS)
|
||||
.readTimeout(30, TimeUnit.SECONDS)
|
||||
.writeTimeout(30, TimeUnit.SECONDS)
|
||||
.addInterceptor(chain -> chain.proceed(
|
||||
chain.request()
|
||||
.newBuilder()
|
||||
.header("User-Agent", APIUtils.USER_AGENT)
|
||||
.build()
|
||||
));
|
||||
.addInterceptor(chain -> {
|
||||
if (chain.request().header("User-Agent") == null) {
|
||||
return chain.proceed(
|
||||
chain.request()
|
||||
.newBuilder()
|
||||
.header("User-Agent", APIUtils.USER_AGENT)
|
||||
.build()
|
||||
);
|
||||
} else {
|
||||
return chain.proceed(chain.request());
|
||||
}
|
||||
});
|
||||
|
||||
if (proxyEnabled) {
|
||||
Proxy.Type proxyType = Proxy.Type.valueOf(mProxySharedPreferences.getString(SharedPreferencesUtils.PROXY_TYPE, "HTTP"));
|
||||
|
||||
@ -630,7 +630,7 @@ public class ViewPostDetailActivity extends BaseActivity implements SortTypeSele
|
||||
break;
|
||||
case PostPagingSource.TYPE_ANONYMOUS_FRONT_PAGE:
|
||||
case PostPagingSource.TYPE_ANONYMOUS_MULTIREDDIT:
|
||||
call = api.getSubredditBestPosts(concatenatedSubredditNames, sortType, sortTime, afterKey);
|
||||
call = api.getAnonymousFrontPageOrMultiredditPosts(concatenatedSubredditNames, sortType, sortTime, afterKey, APIUtils.ANONYMOUS_USER_AGENT);
|
||||
break;
|
||||
default:
|
||||
call = api.getBestPosts(sortType, sortTime, afterKey,
|
||||
|
||||
@ -284,6 +284,10 @@ public interface RedditAPI {
|
||||
ListenableFuture<Response<String>> getSubredditBestPostsListenableFuture(@Path("subredditName") String subredditName, @Path("sortType") SortType.Type sortType,
|
||||
@Query("t") SortType.Time sortTime, @Query("after") String lastItem);
|
||||
|
||||
@GET("r/{subredditName}/{sortType}.json?raw_json=1&limit=100&always_show_media=1")
|
||||
ListenableFuture<Response<String>> getAnonymousFrontPageOrMultiredditPostsListenableFuture(@Path("subredditName") String subredditName, @Path("sortType") SortType.Type sortType,
|
||||
@Query("t") SortType.Time sortTime, @Query("after") String lastItem, @Header("User-Agent") String userAgent);
|
||||
|
||||
@GET("user/{username}/{where}.json?type=links&raw_json=1&limit=100")
|
||||
ListenableFuture<Response<String>> getUserPostsOauthListenableFuture(@Header(APIUtils.AUTHORIZATION_KEY) String authorization,
|
||||
@Path("username") String username,
|
||||
@ -355,6 +359,10 @@ public interface RedditAPI {
|
||||
Call<String> getSubredditBestPosts(@Path("subredditName") String subredditName, @Path("sortType") SortType.Type sortType,
|
||||
@Query("t") SortType.Time sortTime, @Query("after") String lastItem);
|
||||
|
||||
@GET("r/{subredditName}/{sortType}.json?raw_json=1&limit=100&always_show_media=1")
|
||||
Call<String> getAnonymousFrontPageOrMultiredditPosts(@Path("subredditName") String subredditName, @Path("sortType") SortType.Type sortType,
|
||||
@Query("t") SortType.Time sortTime, @Query("after") String lastItem, @Header("User-Agent") String userAgent);
|
||||
|
||||
@GET("user/{username}/{where}.json?&type=links&raw_json=1&limit=100")
|
||||
Call<String> getUserPostsOauth(@Path("username") String username, @Path("where") String where,
|
||||
@Query("after") String lastItem, @Query("sort") SortType.Type sortType,
|
||||
|
||||
@ -195,7 +195,7 @@ public class PostPagingSource extends ListenableFuturePagingSource<String, Post>
|
||||
case TYPE_MULTI_REDDIT:
|
||||
return loadMultiRedditPosts(loadParams, api);
|
||||
default:
|
||||
return loadAnonymousHomePosts(loadParams, api);
|
||||
return loadAnonymousFrontPageOrMultiredditPosts(loadParams, api);
|
||||
}
|
||||
}
|
||||
|
||||
@ -351,8 +351,9 @@ public class PostPagingSource extends ListenableFuturePagingSource<String, Post>
|
||||
IOException.class, LoadResult.Error::new, executor);
|
||||
}
|
||||
|
||||
private ListenableFuture<LoadResult<String, Post>> loadAnonymousHomePosts(@NonNull LoadParams<String> loadParams, RedditAPI api) {
|
||||
ListenableFuture<Response<String>> anonymousHomePosts = api.getSubredditBestPostsListenableFuture(subredditOrUserName, sortType.getType(), sortType.getTime(), loadParams.getKey());
|
||||
private ListenableFuture<LoadResult<String, Post>> loadAnonymousFrontPageOrMultiredditPosts(@NonNull LoadParams<String> loadParams, RedditAPI api) {
|
||||
ListenableFuture<Response<String>> anonymousHomePosts = api.getAnonymousFrontPageOrMultiredditPostsListenableFuture(
|
||||
subredditOrUserName, sortType.getType(), sortType.getTime(), loadParams.getKey(), APIUtils.ANONYMOUS_USER_AGENT);
|
||||
|
||||
ListenableFuture<LoadResult<String, Post>> pageFuture = Futures.transform(anonymousHomePosts, this::transformData, executor);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user