diff --git a/Chan/res/menu/image_view.xml b/Chan/res/menu/image_view.xml
index 9d30282d..236d2ae5 100644
--- a/Chan/res/menu/image_view.xml
+++ b/Chan/res/menu/image_view.xml
@@ -12,5 +12,12 @@
android:orderInCategory="2"
android:showAsAction="never"
android:title="@string/image_save"/>
+
+
+
\ No newline at end of file
diff --git a/Chan/src/org/floens/chan/core/manager/ThreadManager.java b/Chan/src/org/floens/chan/core/manager/ThreadManager.java
index 9ece1ef2..9f9ebae7 100644
--- a/Chan/src/org/floens/chan/core/manager/ThreadManager.java
+++ b/Chan/src/org/floens/chan/core/manager/ThreadManager.java
@@ -19,19 +19,18 @@ import org.floens.chan.ui.activity.ReplyActivity;
import org.floens.chan.ui.fragment.PostRepliesFragment;
import org.floens.chan.ui.fragment.ReplyFragment;
import org.floens.chan.utils.Logger;
+import org.floens.chan.utils.Utils;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.FragmentTransaction;
import android.app.ProgressDialog;
-import android.content.ActivityNotFoundException;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
-import android.net.Uri;
import android.text.TextUtils;
import android.widget.CheckBox;
import android.widget.Toast;
@@ -429,12 +428,7 @@ public class ThreadManager implements Loader.LoaderListener {
* Linkable with an url.
*/
private void openLink(PostLinkable linkable) {
- try {
- activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(linkable.value)));
- } catch (ActivityNotFoundException e) {
- e.printStackTrace();
- Toast.makeText(activity, R.string.open_link_failed, Toast.LENGTH_LONG).show();
- }
+ Utils.openLink(activity, linkable.value);
}
private void showPostsRepliesFragment(List list) {
diff --git a/Chan/src/org/floens/chan/ui/fragment/ImageViewFragment.java b/Chan/src/org/floens/chan/ui/fragment/ImageViewFragment.java
index 46f51041..6f27a103 100644
--- a/Chan/src/org/floens/chan/ui/fragment/ImageViewFragment.java
+++ b/Chan/src/org/floens/chan/ui/fragment/ImageViewFragment.java
@@ -7,6 +7,7 @@ import org.floens.chan.ui.activity.ImageViewActivity;
import org.floens.chan.ui.adapter.ImageViewAdapter;
import org.floens.chan.ui.view.ThumbnailImageView;
import org.floens.chan.ui.view.ThumbnailImageView.ThumbnailImageViewCallback;
+import org.floens.chan.utils.Utils;
import android.app.Fragment;
import android.content.Context;
@@ -149,6 +150,8 @@ public class ImageViewFragment extends Fragment implements ThumbnailImageViewCal
}
activity.invalidateActionBar();
+ } else if (item.getItemId() == R.id.action_open_browser) {
+ Utils.openLink(context, post.imageUrl);
}
}
diff --git a/Chan/src/org/floens/chan/utils/Utils.java b/Chan/src/org/floens/chan/utils/Utils.java
index f372ead5..36058a07 100644
--- a/Chan/src/org/floens/chan/utils/Utils.java
+++ b/Chan/src/org/floens/chan/utils/Utils.java
@@ -1,19 +1,24 @@
package org.floens.chan.utils;
import org.floens.chan.ChanApplication;
+import org.floens.chan.R;
import android.app.Dialog;
+import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnShowListener;
+import android.content.Intent;
import android.content.res.TypedArray;
import android.graphics.drawable.Drawable;
+import android.net.Uri;
import android.os.Handler;
import android.os.Looper;
import android.util.DisplayMetrics;
import android.view.View;
import android.view.ViewGroup;
import android.view.inputmethod.InputMethodManager;
+import android.widget.Toast;
public class Utils {
private static DisplayMetrics displayMetrics;
@@ -78,4 +83,13 @@ public class Utils {
}
});
}
+
+ public static void openLink(Context context, String link) {
+ try {
+ context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(link)));
+ } catch (ActivityNotFoundException e) {
+ e.printStackTrace();
+ Toast.makeText(context, R.string.open_link_failed, Toast.LENGTH_LONG).show();
+ }
+ }
}