Merge pull request #73 from nopjmp/dev

Report posts through a dialog
filtering
Floens 10 years ago
commit 2171e65cf4
  1. 2
      Clover/app/src/main/java/org/floens/chan/core/manager/ThreadManager.java
  2. 4
      Clover/app/src/main/java/org/floens/chan/core/presenter/ThreadPresenter.java
  3. 6
      Clover/app/src/main/java/org/floens/chan/ui/fragment/ReplyFragment.java
  4. 6
      Clover/app/src/main/java/org/floens/chan/ui/layout/ThreadLayout.java
  5. 13
      Clover/app/src/main/java/org/floens/chan/utils/AndroidUtils.java
  6. 11
      Clover/app/src/main/res/layout/web_dialog.xml

@ -276,7 +276,7 @@ public class ThreadManager implements ChanLoader.ChanLoaderCallback {
copyToClipboard(post.comment.toString()); copyToClipboard(post.comment.toString());
break; break;
case 5: // Report case 5: // Report
AndroidUtils.openLink(ChanUrls.getReportUrl(post.board, post.no)); AndroidUtils.openWebView(activity, "Report /" + post.board + "/" + post.no, ChanUrls.getReportUrl(post.board, post.no));
break; break;
case 6: // Id case 6: // Id
highlightedId = post.id; highlightedId = post.id;

@ -293,7 +293,7 @@ public class ThreadPresenter implements ChanLoader.ChanLoaderCallback, PostAdapt
threadPresenterCallback.clipboardPost(post); threadPresenterCallback.clipboardPost(post);
break; break;
case 5: // Report case 5: // Report
AndroidUtils.openLink(ChanUrls.getReportUrl(post.board, post.no)); threadPresenterCallback.openWebView("Report /" + post.board + "/" + post.no, ChanUrls.getReportUrl(post.board, post.no));
break; break;
case 6: // Id case 6: // Id
threadPresenterCallback.highlightPostId(post.id); threadPresenterCallback.highlightPostId(post.id);
@ -451,6 +451,8 @@ public class ThreadPresenter implements ChanLoader.ChanLoaderCallback, PostAdapt
void openLink(String link); void openLink(String link);
void openWebView(String title, String link);
void showPostsPopup(Post forPost, List<Post> posts); void showPostsPopup(Post forPost, List<Post> posts);
void showImages(List<PostImage> images, int index, Loadable loadable, ThumbnailView thumbnail); void showImages(List<PostImage> images, int index, Loadable loadable, ThumbnailView thumbnail);

@ -22,7 +22,7 @@ import android.app.DialogFragment;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.os.Bundle; import android.os.Bundle;
import android.support.v7.app.ActionBarActivity; import android.support.v7.app.AppCompatActivity;
import android.text.Editable; import android.text.Editable;
import android.text.TextUtils; import android.text.TextUtils;
import android.text.TextWatcher; import android.text.TextWatcher;
@ -99,7 +99,7 @@ public class ReplyFragment extends DialogFragment implements CaptchaLayout.Captc
private TextView commentCountView; private TextView commentCountView;
private TextView fileStatusView; private TextView fileStatusView;
private ActionBarActivity context; private AppCompatActivity context;
public static ReplyFragment newInstance(Loadable loadable, boolean quickMode) { public static ReplyFragment newInstance(Loadable loadable, boolean quickMode) {
ReplyFragment reply = new ReplyFragment(); ReplyFragment reply = new ReplyFragment();
@ -120,7 +120,7 @@ public class ReplyFragment extends DialogFragment implements CaptchaLayout.Captc
public void onActivityCreated(Bundle savedInstanceState) { public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState); super.onActivityCreated(savedInstanceState);
context = (ActionBarActivity) getActivity(); context = (AppCompatActivity) getActivity();
if (loadable == null && savedInstanceState != null) { if (loadable == null && savedInstanceState != null) {
loadable = new Loadable(); loadable = new Loadable();

@ -17,6 +17,7 @@
*/ */
package org.floens.chan.ui.layout; package org.floens.chan.ui.layout;
import android.app.Activity;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.content.ClipData; import android.content.ClipData;
import android.content.ClipboardManager; import android.content.ClipboardManager;
@ -205,6 +206,11 @@ public class ThreadLayout extends LoadView implements ThreadPresenter.ThreadPres
} }
} }
@Override
public void openWebView(String title, String link) {
AndroidUtils.openWebView((Activity)getContext(), title, link);
}
@Override @Override
public void showThread(Loadable threadLoadable) { public void showThread(Loadable threadLoadable) {
callback.showThread(threadLoadable); callback.showThread(threadLoadable);

@ -17,6 +17,7 @@
*/ */
package org.floens.chan.utils; package org.floens.chan.utils;
import android.app.Activity;
import android.app.Dialog; import android.app.Dialog;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
@ -35,6 +36,7 @@ import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.view.ViewTreeObserver; import android.view.ViewTreeObserver;
import android.view.inputmethod.InputMethodManager; import android.view.inputmethod.InputMethodManager;
import android.webkit.WebView;
import android.widget.Toast; import android.widget.Toast;
import org.floens.chan.ChanApplication; import org.floens.chan.ChanApplication;
@ -75,6 +77,17 @@ public class AndroidUtils {
return PreferenceManager.getDefaultSharedPreferences(ChanApplication.con); return PreferenceManager.getDefaultSharedPreferences(ChanApplication.con);
} }
public static void openWebView(Activity activity, String title, String link) {
Dialog dialog = new Dialog(activity);
dialog.setContentView(R.layout.web_dialog);
WebView wb = (WebView) dialog.findViewById(R.id.web_view);
wb.getSettings().setJavaScriptEnabled(true);
wb.loadUrl(link);
dialog.setTitle(title);
dialog.setCancelable(true);
dialog.show();
}
public static void openLink(String link) { public static void openLink(String link) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(link)); Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(link));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="16dp">
<WebView
android:id="@+id/web_view"
android:scrollbars="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
Loading…
Cancel
Save