Added open in browser to image viewer.

captchafix
Florens Douwes 11 years ago
parent 07e007cafd
commit bda83f18ca
  1. 7
      Chan/res/menu/image_view.xml
  2. 10
      Chan/src/org/floens/chan/core/manager/ThreadManager.java
  3. 3
      Chan/src/org/floens/chan/ui/fragment/ImageViewFragment.java
  4. 14
      Chan/src/org/floens/chan/utils/Utils.java

@ -12,5 +12,12 @@
android:orderInCategory="2"
android:showAsAction="never"
android:title="@string/image_save"/>
<item
android:id="@+id/action_open_browser"
android:orderInCategory="3"
android:showAsAction="never"
android:title="@string/action_open_browser" />
</menu>

@ -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<Post> list) {

@ -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);
}
}

@ -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();
}
}
}

Loading…
Cancel
Save