diff --git a/Clover/app/src/main/java/org/floens/chan/ui/activity/BoardActivity.java b/Clover/app/src/main/java/org/floens/chan/ui/activity/BoardActivity.java index a21b27c9..d4507383 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/activity/BoardActivity.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/activity/BoardActivity.java @@ -596,8 +596,23 @@ public class BoardActivity extends BaseActivity implements AdapterView.OnItemSel } catch (NumberFormatException e) { } + int post = -1; + String fragment = startUri.getFragment(); + if (fragment != null) { + int index = fragment.indexOf("p"); + if (index >= 0) { + try { + post = Integer.parseInt(fragment.substring(index + 1)); + } catch (NumberFormatException e) { + } + } + } + if (no >= 0 && ChanApplication.getBoardManager().getBoardExists(rawBoard)) { startLoadingThread(new Loadable(rawBoard, no)); + if (post >= 0) { + threadFragment.highlightPost(post); + } } else { handleIntentURIFallback(startUri.toString()); } diff --git a/Clover/app/src/main/java/org/floens/chan/ui/fragment/ThreadFragment.java b/Clover/app/src/main/java/org/floens/chan/ui/fragment/ThreadFragment.java index 073c6543..dce40b94 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/fragment/ThreadFragment.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/fragment/ThreadFragment.java @@ -130,6 +130,10 @@ public class ThreadFragment extends Fragment implements ThreadManager.ThreadMana } } + public void highlightPost(int no) { + highlightedPost = no; + } + @Override public void onDestroy() { super.onDestroy();