mirror of
https://codeberg.org/Bazsalanszky/Infinity-For-Lemmy.git
synced 2024-12-29 04:17:12 +01:00
Merge pull request #470 from andrewrasch/fix-wiki-pages
Fix Wiki Page Handling
This commit is contained in:
commit
64f0c73360
@ -49,7 +49,7 @@ public class LinkResolverActivity extends AppCompatActivity {
|
|||||||
private static final String IMGUR_ALBUM_PATTERN = "/(album|a)/\\w+/?";
|
private static final String IMGUR_ALBUM_PATTERN = "/(album|a)/\\w+/?";
|
||||||
private static final String IMGUR_IMAGE_PATTERN = "/\\w+/?";
|
private static final String IMGUR_IMAGE_PATTERN = "/\\w+/?";
|
||||||
private static final String RPAN_BROADCAST_PATTERN = "/rpan/r/[\\w-]+/\\w+/?\\w+/?";
|
private static final String RPAN_BROADCAST_PATTERN = "/rpan/r/[\\w-]+/\\w+/?\\w+/?";
|
||||||
private static final String WIKI_PATTERN = "/[rR]/[\\w-]+/(wiki|w)/?\\w+";
|
private static final String WIKI_PATTERN = "/[rR]/[\\w-]+/(wiki|w)?(?:/\\w+)+";
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
@Named("default")
|
@Named("default")
|
||||||
@ -173,8 +173,10 @@ public class LinkResolverActivity extends AppCompatActivity {
|
|||||||
deepLinkError(uri);
|
deepLinkError(uri);
|
||||||
}
|
}
|
||||||
} else if (path.matches(WIKI_PATTERN)) {
|
} else if (path.matches(WIKI_PATTERN)) {
|
||||||
|
final String wikiPage = path.substring(path.lastIndexOf("/wiki/") + 6);
|
||||||
Intent intent = new Intent(this, WikiActivity.class);
|
Intent intent = new Intent(this, WikiActivity.class);
|
||||||
intent.putExtra(WikiActivity.EXTRA_SUBREDDIT_NAME, segments.get(1));
|
intent.putExtra(WikiActivity.EXTRA_SUBREDDIT_NAME, segments.get(1));
|
||||||
|
intent.putExtra(WikiActivity.EXTRA_WIKI_PATH, wikiPage);
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
} else if (path.matches(SUBREDDIT_PATTERN)) {
|
} else if (path.matches(SUBREDDIT_PATTERN)) {
|
||||||
Intent intent = new Intent(this, ViewSubredditDetailActivity.class);
|
Intent intent = new Intent(this, ViewSubredditDetailActivity.class);
|
||||||
|
@ -1180,6 +1180,12 @@ public class ViewSubredditDetailActivity extends BaseActivity implements SortTyp
|
|||||||
Toast.makeText(this, R.string.no_app, Toast.LENGTH_SHORT).show();
|
Toast.makeText(this, R.string.no_app, Toast.LENGTH_SHORT).show();
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
} else if (itemId == R.id.action_go_to_wiki_activity ) {
|
||||||
|
Intent wikiIntent = new Intent(this, WikiActivity.class);
|
||||||
|
wikiIntent.putExtra(WikiActivity.EXTRA_SUBREDDIT_NAME, subredditName);
|
||||||
|
wikiIntent.putExtra(WikiActivity.EXTRA_WIKI_PATH, "index");
|
||||||
|
startActivity(wikiIntent);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -71,6 +71,7 @@ import retrofit2.Retrofit;
|
|||||||
public class WikiActivity extends BaseActivity {
|
public class WikiActivity extends BaseActivity {
|
||||||
|
|
||||||
public static final String EXTRA_SUBREDDIT_NAME = "ESN";
|
public static final String EXTRA_SUBREDDIT_NAME = "ESN";
|
||||||
|
public static final String EXTRA_WIKI_PATH = "EWP";
|
||||||
private static final String WIKI_MARKDOWN_STATE = "WMS";
|
private static final String WIKI_MARKDOWN_STATE = "WMS";
|
||||||
|
|
||||||
@BindView(R.id.coordinator_layout_comment_wiki_activity)
|
@BindView(R.id.coordinator_layout_comment_wiki_activity)
|
||||||
@ -281,7 +282,7 @@ public class WikiActivity extends BaseActivity {
|
|||||||
Glide.with(this).clear(mFetchWikiInfoImageView);
|
Glide.with(this).clear(mFetchWikiInfoImageView);
|
||||||
mFetchWikiInfoLinearLayout.setVisibility(View.GONE);
|
mFetchWikiInfoLinearLayout.setVisibility(View.GONE);
|
||||||
|
|
||||||
retrofit.create(RedditAPI.class).getWiki(getIntent().getStringExtra(EXTRA_SUBREDDIT_NAME)).enqueue(new Callback<String>() {
|
retrofit.create(RedditAPI.class).getWikiPage(getIntent().getStringExtra(EXTRA_SUBREDDIT_NAME), getIntent().getStringExtra(EXTRA_WIKI_PATH)).enqueue(new Callback<String>() {
|
||||||
@Override
|
@Override
|
||||||
public void onResponse(@NonNull Call<String> call, @NonNull Response<String> response) {
|
public void onResponse(@NonNull Call<String> call, @NonNull Response<String> response) {
|
||||||
if (response.isSuccessful()) {
|
if (response.isSuccessful()) {
|
||||||
|
@ -294,8 +294,12 @@ public interface RedditAPI {
|
|||||||
@GET("/api/trending_searches_v1.json?withAds=0&raw_json=1&gilding_detail=1")
|
@GET("/api/trending_searches_v1.json?withAds=0&raw_json=1&gilding_detail=1")
|
||||||
Call<String> getTrendingSearches(@HeaderMap Map<String, String> headers);
|
Call<String> getTrendingSearches(@HeaderMap Map<String, String> headers);
|
||||||
|
|
||||||
@GET("/r/{subredditName}/wiki/index.json?raw_json=1")
|
default Call<String> getWiki(@Path("subredditName") String subredditName) {
|
||||||
Call<String> getWiki(@Path("subredditName") String subredditName);
|
return getWikiPage(subredditName, "index");
|
||||||
|
};
|
||||||
|
|
||||||
|
@GET("/r/{subredditName}/wiki/{wikiPage}.json?raw_json=1")
|
||||||
|
Call<String> getWikiPage(@Path("subredditName") String subredditName, @Path("wikiPage") String wikiPage);
|
||||||
|
|
||||||
@GET("{sortType}?raw_json=1")
|
@GET("{sortType}?raw_json=1")
|
||||||
ListenableFuture<Response<String>> getBestPostsListenableFuture(@Path("sortType") String sortType, @Query("after") String lastItem, @HeaderMap Map<String, String> headers);
|
ListenableFuture<Response<String>> getBestPostsListenableFuture(@Path("sortType") String sortType, @Query("after") String lastItem, @HeaderMap Map<String, String> headers);
|
||||||
|
@ -58,4 +58,10 @@
|
|||||||
android:orderInCategory="9"
|
android:orderInCategory="9"
|
||||||
android:title="@string/action_share"
|
android:title="@string/action_share"
|
||||||
app:showAsAction="never" />
|
app:showAsAction="never" />
|
||||||
|
|
||||||
|
<item
|
||||||
|
android:id="@+id/action_go_to_wiki_activity"
|
||||||
|
android:orderInCategory="10"
|
||||||
|
android:title="@string/action_go_to_wiki"
|
||||||
|
app:showAsAction="never" />
|
||||||
</menu>
|
</menu>
|
||||||
|
@ -1190,5 +1190,6 @@
|
|||||||
<string name="app_lock_timeout_6_hours">6 hours</string>
|
<string name="app_lock_timeout_6_hours">6 hours</string>
|
||||||
<string name="app_lock_timeout_12_hours">12 hours</string>
|
<string name="app_lock_timeout_12_hours">12 hours</string>
|
||||||
<string name="app_lock_timeout_24_hours">24 hours</string>
|
<string name="app_lock_timeout_24_hours">24 hours</string>
|
||||||
|
<string name="action_go_to_wiki">Go to Wiki</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
Loading…
Reference in New Issue
Block a user