View images that are in the post replies not the underlaying list

Scrolling also works
multisite
Floens 10 years ago
parent 86897ca886
commit a18b41e572
  1. 2
      Clover/app/src/main/java/org/floens/chan/core/presenter/ThreadPresenter.java
  2. 13
      Clover/app/src/main/java/org/floens/chan/ui/controller/PostRepliesController.java
  3. 4
      Clover/app/src/main/java/org/floens/chan/ui/controller/ThreadController.java
  4. 8
      Clover/app/src/main/java/org/floens/chan/ui/helper/PostPopupHelper.java
  5. 12
      Clover/app/src/main/java/org/floens/chan/ui/layout/ThreadLayout.java

@ -203,7 +203,7 @@ public class ThreadPresenter implements ChanLoader.ChanLoaderCallback, PostAdapt
if (chanLoader != null) {
ChanThread thread = chanLoader.getThread();
if (thread != null) {
threadPresenterCallback.scrollTo(0, false);
scrollTo(0, false);
showPosts();
}
}

@ -44,6 +44,8 @@ import org.floens.chan.ui.helper.PostPopupHelper;
import org.floens.chan.ui.view.LoadView;
import org.floens.chan.ui.view.ThumbnailView;
import java.util.List;
import static org.floens.chan.ui.theme.ThemeHelper.theme;
public class PostRepliesController extends Controller {
@ -57,6 +59,7 @@ public class PostRepliesController extends Controller {
private LoadView loadView;
private ListView listView;
private PostPopupHelper.RepliesData displayingData;
public PostRepliesController(Context context, PostPopupHelper postPopupHelper, ThreadPresenter presenter) {
super(context);
@ -122,7 +125,17 @@ public class PostRepliesController extends Controller {
displayData(data);
}
public List<Post> getPostRepliesData() {
return displayingData.posts;
}
public void scrollTo(int displayPosition, boolean smooth) {
listView.smoothScrollToPosition(displayPosition);
}
private void displayData(final PostPopupHelper.RepliesData data) {
displayingData = data;
View dataView;
if (ChanSettings.repliesButtonsBottom.get()) {
dataView = inflateRes(R.layout.layout_post_replies_bottombuttons);

@ -182,9 +182,7 @@ public abstract class ThreadController extends Controller implements ThreadLayou
}
public void scrollToImage(PostImage postImage) {
if (!threadLayout.postRepliesOpen()) {
threadLayout.getPresenter().scrollToImage(postImage, true);
}
threadLayout.getPresenter().scrollToImage(postImage, true);
}
@Override

@ -75,6 +75,14 @@ public class PostPopupHelper {
return presentingController != null && presentingController.alive;
}
public List<Post> getDisplayingPosts() {
return presentingController.getPostRepliesData();
}
public void scrollTo(int displayPosition, boolean smooth) {
presentingController.scrollTo(displayPosition, smooth);
}
public ThumbnailView getThumbnail(PostImage postImage) {
return presentingController.getThumbnail(postImage);
}

@ -310,7 +310,11 @@ public class ThreadLayout extends CoordinatorLayout implements ThreadPresenter.T
@Override
public List<Post> getDisplayingPosts() {
return threadListLayout.getDisplayingPosts();
if (postPopupHelper.isOpen()) {
return postPopupHelper.getDisplayingPosts();
} else {
return threadListLayout.getDisplayingPosts();
}
}
@Override
@ -320,7 +324,11 @@ public class ThreadLayout extends CoordinatorLayout implements ThreadPresenter.T
@Override
public void scrollTo(int displayPosition, boolean smooth) {
threadListLayout.scrollTo(displayPosition, smooth);
if (postPopupHelper.isOpen()) {
postPopupHelper.scrollTo(displayPosition, smooth);
} else {
threadListLayout.scrollTo(displayPosition, smooth);
}
}
@Override

Loading…
Cancel
Save