diff --git a/Clover/app/src/main/java/org/floens/chan/core/manager/ThreadManager.java b/Clover/app/src/main/java/org/floens/chan/core/manager/ThreadManager.java index 66d7efee..98fcd059 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/manager/ThreadManager.java +++ b/Clover/app/src/main/java/org/floens/chan/core/manager/ThreadManager.java @@ -276,7 +276,7 @@ public class ThreadManager implements ChanLoader.ChanLoaderCallback { copyToClipboard(post.comment.toString()); break; 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; case 6: // Id highlightedId = post.id; diff --git a/Clover/app/src/main/java/org/floens/chan/core/presenter/ThreadPresenter.java b/Clover/app/src/main/java/org/floens/chan/core/presenter/ThreadPresenter.java index efbb7c63..a5f4afd8 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/presenter/ThreadPresenter.java +++ b/Clover/app/src/main/java/org/floens/chan/core/presenter/ThreadPresenter.java @@ -293,7 +293,7 @@ public class ThreadPresenter implements ChanLoader.ChanLoaderCallback, PostAdapt threadPresenterCallback.clipboardPost(post); break; 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; case 6: // Id threadPresenterCallback.highlightPostId(post.id); @@ -451,6 +451,8 @@ public class ThreadPresenter implements ChanLoader.ChanLoaderCallback, PostAdapt void openLink(String link); + void openWebView(String title, String link); + void showPostsPopup(Post forPost, List posts); void showImages(List images, int index, Loadable loadable, ThumbnailView thumbnail); diff --git a/Clover/app/src/main/java/org/floens/chan/ui/fragment/ReplyFragment.java b/Clover/app/src/main/java/org/floens/chan/ui/fragment/ReplyFragment.java index f9892cb7..6b1d3f9d 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/fragment/ReplyFragment.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/fragment/ReplyFragment.java @@ -22,7 +22,7 @@ import android.app.DialogFragment; import android.content.DialogInterface; import android.graphics.Bitmap; import android.os.Bundle; -import android.support.v7.app.ActionBarActivity; +import android.support.v7.app.AppCompatActivity; import android.text.Editable; import android.text.TextUtils; import android.text.TextWatcher; @@ -99,7 +99,7 @@ public class ReplyFragment extends DialogFragment implements CaptchaLayout.Captc private TextView commentCountView; private TextView fileStatusView; - private ActionBarActivity context; + private AppCompatActivity context; public static ReplyFragment newInstance(Loadable loadable, boolean quickMode) { ReplyFragment reply = new ReplyFragment(); @@ -120,7 +120,7 @@ public class ReplyFragment extends DialogFragment implements CaptchaLayout.Captc public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); - context = (ActionBarActivity) getActivity(); + context = (AppCompatActivity) getActivity(); if (loadable == null && savedInstanceState != null) { loadable = new Loadable(); diff --git a/Clover/app/src/main/java/org/floens/chan/ui/layout/ThreadLayout.java b/Clover/app/src/main/java/org/floens/chan/ui/layout/ThreadLayout.java index 595eb5ca..0d909a77 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/layout/ThreadLayout.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/layout/ThreadLayout.java @@ -17,6 +17,7 @@ */ package org.floens.chan.ui.layout; +import android.app.Activity; import android.app.AlertDialog; import android.content.ClipData; 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 public void showThread(Loadable threadLoadable) { callback.showThread(threadLoadable); diff --git a/Clover/app/src/main/java/org/floens/chan/utils/AndroidUtils.java b/Clover/app/src/main/java/org/floens/chan/utils/AndroidUtils.java index c685dfb1..53e44458 100644 --- a/Clover/app/src/main/java/org/floens/chan/utils/AndroidUtils.java +++ b/Clover/app/src/main/java/org/floens/chan/utils/AndroidUtils.java @@ -17,6 +17,7 @@ */ package org.floens.chan.utils; +import android.app.Activity; import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; @@ -35,6 +36,7 @@ import android.view.View; import android.view.ViewGroup; import android.view.ViewTreeObserver; import android.view.inputmethod.InputMethodManager; +import android.webkit.WebView; import android.widget.Toast; import org.floens.chan.ChanApplication; @@ -75,6 +77,17 @@ public class AndroidUtils { 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) { Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(link)); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); diff --git a/Clover/app/src/main/res/layout/web_dialog.xml b/Clover/app/src/main/res/layout/web_dialog.xml new file mode 100644 index 00000000..a6f88a24 --- /dev/null +++ b/Clover/app/src/main/res/layout/web_dialog.xml @@ -0,0 +1,11 @@ + + + + \ No newline at end of file