diff --git a/Clover/app/src/main/java/org/floens/chan/core/ChanPreferences.java b/Clover/app/src/main/java/org/floens/chan/core/ChanPreferences.java
index 4de9c150..f4e4bdb2 100644
--- a/Clover/app/src/main/java/org/floens/chan/core/ChanPreferences.java
+++ b/Clover/app/src/main/java/org/floens/chan/core/ChanPreferences.java
@@ -69,6 +69,10 @@ public class ChanPreferences {
return p().getBoolean("preference_image_save_original", false);
}
+ public static boolean getImageShareUrl() {
+ return p().getBoolean("preference_image_share_url", false);
+ }
+
public static boolean getWatchEnabled() {
return p().getBoolean("preference_watch_enabled", false);
}
diff --git a/Clover/app/src/main/java/org/floens/chan/ui/fragment/ImageViewFragment.java b/Clover/app/src/main/java/org/floens/chan/ui/fragment/ImageViewFragment.java
index d92472c2..3c28d61f 100644
--- a/Clover/app/src/main/java/org/floens/chan/ui/fragment/ImageViewFragment.java
+++ b/Clover/app/src/main/java/org/floens/chan/ui/fragment/ImageViewFragment.java
@@ -21,6 +21,7 @@ import android.app.AlertDialog;
import android.app.Fragment;
import android.content.Context;
import android.content.DialogInterface;
+import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
@@ -241,9 +242,13 @@ public class ImageViewFragment extends Fragment implements ThumbnailImageViewCal
break;
case R.id.action_image_save:
case R.id.action_share:
- ImageSaver.getInstance().saveImage(context, post.imageUrl,
+ if(ChanPreferences.getImageShareUrl()) {
+ shareImageUrl(post.imageUrl);
+ } else {
+ ImageSaver.getInstance().saveImage(context, post.imageUrl,
ChanPreferences.getImageSaveOriginalFilename() ? Long.toString(post.tim) : post.filename, post.ext,
item.getItemId() == R.id.action_share);
+ }
break;
default:
// Search if it was an ImageSearch item
@@ -258,6 +263,13 @@ public class ImageViewFragment extends Fragment implements ThumbnailImageViewCal
}
}
+ private void shareImageUrl(String url) {
+ Intent intent = new Intent(Intent.ACTION_SEND);
+ intent.setType("text/plain");
+ intent.putExtra(Intent.EXTRA_TEXT, url);
+ context.startActivity(Intent.createChooser(intent, context.getString(R.string.action_share)));
+ }
+
public void onVideoError(File video) {
if (ChanPreferences.getVideoErrorIgnore()) {
Toast.makeText(context, R.string.image_open_failed, Toast.LENGTH_SHORT).show();
diff --git a/Clover/app/src/main/res/values/strings.xml b/Clover/app/src/main/res/values/strings.xml
index b480a6bc..4bb663f4 100644
--- a/Clover/app/src/main/res/values/strings.xml
+++ b/Clover/app/src/main/res/values/strings.xml
@@ -195,6 +195,7 @@ along with this program. If not, see .
Image save folder
Use HTTPS
Save original filename
+ Share url to image
Ask before opening links
Start playing videos immediately
Auto refresh threads
diff --git a/Clover/app/src/main/res/xml/preference_advanced.xml b/Clover/app/src/main/res/xml/preference_advanced.xml
index c7ad96a2..dcea1185 100644
--- a/Clover/app/src/main/res/xml/preference_advanced.xml
+++ b/Clover/app/src/main/res/xml/preference_advanced.xml
@@ -25,6 +25,11 @@ along with this program. If not, see .
android:key="preference_image_save_original"
android:title="@string/preference_image_save_original" />
+
+