diff --git a/app/src/main/java/com/hippo/nimingban/client/ac/ACEngine.java b/app/src/main/java/com/hippo/nimingban/client/ac/ACEngine.java
index c56e496f..b15b78bd 100644
--- a/app/src/main/java/com/hippo/nimingban/client/ac/ACEngine.java
+++ b/app/src/main/java/com/hippo/nimingban/client/ac/ACEngine.java
@@ -320,6 +320,11 @@ public static Call prepareReply(OkHttpClient okHttpClient, ACReplyStruct struct)
builder.addPart(
Headers.of("Content-Disposition", "form-data; name=\"resto\""),
RequestBody.create(null, StringUtils.avoidNull(struct.resto)));
+ if (struct.water) {
+ builder.addPart(
+ Headers.of("Content-Disposition", "form-data; name=\"water\""),
+ RequestBody.create(null, "true"));
+ }
InputStreamPipe isPipe = struct.image;
if (isPipe != null) {
@@ -499,6 +504,11 @@ public static Call prepareCreatePost(OkHttpClient okHttpClient, ACPostStruct str
builder.addPart(
Headers.of("Content-Disposition", "form-data; name=\"fid\""),
RequestBody.create(null, StringUtils.avoidNull(struct.fid)));
+ if (struct.water) {
+ builder.addPart(
+ Headers.of("Content-Disposition", "form-data; name=\"water\""),
+ RequestBody.create(null, "true"));
+ }
InputStreamPipe isPipe = struct.image;
if (isPipe != null) {
diff --git a/app/src/main/java/com/hippo/nimingban/client/ac/data/ACPostStruct.java b/app/src/main/java/com/hippo/nimingban/client/ac/data/ACPostStruct.java
index 4df43806..63f964e4 100644
--- a/app/src/main/java/com/hippo/nimingban/client/ac/data/ACPostStruct.java
+++ b/app/src/main/java/com/hippo/nimingban/client/ac/data/ACPostStruct.java
@@ -27,4 +27,5 @@ public class ACPostStruct {
public String fid;
public InputStreamPipe image;
public String imageType;
+ public boolean water;
}
diff --git a/app/src/main/java/com/hippo/nimingban/client/ac/data/ACReplyStruct.java b/app/src/main/java/com/hippo/nimingban/client/ac/data/ACReplyStruct.java
index 8e604876..02bf581d 100644
--- a/app/src/main/java/com/hippo/nimingban/client/ac/data/ACReplyStruct.java
+++ b/app/src/main/java/com/hippo/nimingban/client/ac/data/ACReplyStruct.java
@@ -27,4 +27,5 @@ public class ACReplyStruct {
public String resto;
public InputStreamPipe image;
public String imageType;
+ public boolean water;
}
diff --git a/app/src/main/java/com/hippo/nimingban/ui/TypeSendActivity.java b/app/src/main/java/com/hippo/nimingban/ui/TypeSendActivity.java
index 60c28280..1346ecde 100644
--- a/app/src/main/java/com/hippo/nimingban/ui/TypeSendActivity.java
+++ b/app/src/main/java/com/hippo/nimingban/ui/TypeSendActivity.java
@@ -42,8 +42,10 @@
import android.view.ViewGroup;
import android.webkit.MimeTypeMap;
import android.widget.Button;
+import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ImageView;
+import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
@@ -139,6 +141,7 @@ public final class TypeSendActivity extends TranslucentActivity implements View.
private EditText mName;
private EditText mEmail;
private EditText mTitle;
+ private CheckBox mWatermark;
private TextView mMoreWritableItemsText;
private View mSelectForum;
private TextView mForumText;
@@ -255,6 +258,7 @@ protected void onCreate(Bundle savedInstanceState) {
mName = (EditText) findViewById(R.id.name);
mEmail = (EditText) findViewById(R.id.email);
mTitle = (EditText) findViewById(R.id.title);
+ mWatermark = (CheckBox) findViewById(R.id.watermark);
mMoreWritableItemsText = (TextView) findViewById(R.id.more_writable_items_text);
mSelectForum = findViewById(R.id.select_forum);
mForumText = (TextView) mSelectForum.findViewById(R.id.forum_text);
@@ -281,6 +285,13 @@ protected void onCreate(Bundle savedInstanceState) {
drawable.addState(new int[]{}, VectorDrawable.create(this, R.drawable.ic_chevron_down));
mIndicator.setDrawable(drawable);
+ mWatermark.setChecked(Settings.getWatermark());
+ LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) mWatermark.getLayoutParams();
+ lp.leftMargin = mTitle.getPaddingLeft() - LayoutUtils.dp2pix(this, 5);
+ mWatermark.setLayoutParams(lp);
+ mWatermark.setPadding(mWatermark.getPaddingLeft() + LayoutUtils.dp2pix(this, 4),
+ mWatermark.getPaddingTop(), mWatermark.getPaddingRight(), mWatermark.getPaddingBottom());
+
mWritableItem.setVisibility(View.GONE);
if (mShare) {
@@ -505,6 +516,7 @@ private void doReply() {
struct.resto = mId;
struct.image = mSeletedImageUri != null ? new UriInputStreamPipe(getApplicationContext(), mSeletedImageUri) : null;
struct.imageType = mSeletedImageType;
+ struct.water = mWatermark.isChecked();
NMBRequest request = new NMBRequest();
request.setSite(mSite);
@@ -525,6 +537,7 @@ private void doCreatePost() {
struct.fid = mId;
struct.image = mSeletedImageUri != null ? new UriInputStreamPipe(getApplicationContext(), mSeletedImageUri) : null;
struct.imageType = mSeletedImageType;
+ struct.water = mWatermark.isChecked();
NMBRequest request = new NMBRequest();
request.setSite(mSite);
diff --git a/app/src/main/java/com/hippo/nimingban/util/Settings.java b/app/src/main/java/com/hippo/nimingban/util/Settings.java
index 289549ad..4ff9a03b 100644
--- a/app/src/main/java/com/hippo/nimingban/util/Settings.java
+++ b/app/src/main/java/com/hippo/nimingban/util/Settings.java
@@ -158,6 +158,9 @@ public static void putIntToStr(String key, int value) {
public static final String KEY_COLOR_STATUS_BAR = "color_status_bar";
public static final boolean DEFAULT_COLOR_STATUS_BAR = true;
+ public static final String KEY_WATERMARK = "watermark";
+ public static final boolean DEFAULT_WATERMARKD = true;
+
public static final String KEY_FEED_ID = "feed_id";
public static final String DEFAULT_FEED_ID = null;
@@ -222,6 +225,10 @@ public static boolean getColorStatusBar() {
return getBoolean(KEY_COLOR_STATUS_BAR, DEFAULT_COLOR_STATUS_BAR);
}
+ public static boolean getWatermark() {
+ return getBoolean(KEY_WATERMARK, DEFAULT_WATERMARKD);
+ }
+
public static String getFeedId() {
if (sExtendFeedId != null) {
return sExtendFeedId;
diff --git a/app/src/main/res/layout/activity_type_send_content_layout.xml b/app/src/main/res/layout/activity_type_send_content_layout.xml
index bed3e44a..5132267d 100644
--- a/app/src/main/res/layout/activity_type_send_content_layout.xml
+++ b/app/src/main/res/layout/activity_type_send_content_layout.xml
@@ -153,6 +153,19 @@
android:layout_height="1dp"
android:background="?attr/colorDivider"/>
+
+
+
+
名称
E-mail
标题
+ 水印
涂鸦
保存涂鸦?
@@ -225,6 +226,9 @@
保存饼干至外置存储器
恢复饼干
从外置存储器的饼干文件中恢复饼干
+ 水印
+ 在你上传的图片中显示水印
+ 不在你上传的图片中显示水印
订阅 ID
你的订阅 ID 是 %s
自动存图
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 31f69938..8d65d8bf 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -190,6 +190,7 @@
Name
E-mail
Title
+ Watermark
Doodle
Save doodle?
@@ -232,6 +233,9 @@
Save cookies to external storage
Restore cookies
Restore cookies from a file in external storage
+ Watermark
+ Show watermark in the image you upload
+ Don\'t show watermark in the image you upload
Feed id
You feed id is %s
Save image when loaded
diff --git a/app/src/main/res/xml/config_settings.xml b/app/src/main/res/xml/config_settings.xml
index 63bc0e47..cc90012f 100644
--- a/app/src/main/res/xml/config_settings.xml
+++ b/app/src/main/res/xml/config_settings.xml
@@ -33,6 +33,15 @@
android:title="@string/main_restore_cookies"
android:summary="@string/main_restore_cookies_summary"/>
+
+