From e6def700302a2cea6623a4771609b0d7d4889715 Mon Sep 17 00:00:00 2001 From: Torsten Grote <t@grobox.de> Date: Wed, 19 Oct 2016 11:49:27 -0200 Subject: [PATCH] Pre-address potential review issues --- .../android/contact/ConversationActivity.java | 1 + .../IntroductionMessageFragment.java | 6 ++++-- .../creation/CreateGroupActivity.java | 8 +++++++- .../creation/CreateGroupMessageFragment.java | 5 ++++- .../android/sharing/BaseMessageFragment.java | 17 +++++++++++++++-- .../android/sharing/ShareBlogActivity.java | 8 +++++++- .../sharing/ShareBlogMessageFragment.java | 3 +++ .../android/sharing/ShareForumActivity.java | 8 +++++++- .../sharing/ShareForumMessageFragment.java | 3 +++ .../android/threaded/ThreadListActivity.java | 1 + .../android/view/TextInputView.java | 1 - 11 files changed, 52 insertions(+), 9 deletions(-) diff --git a/briar-android/src/org/briarproject/android/contact/ConversationActivity.java b/briar-android/src/org/briarproject/android/contact/ConversationActivity.java index e52bc4a89d..a5496d9c70 100644 --- a/briar-android/src/org/briarproject/android/contact/ConversationActivity.java +++ b/briar-android/src/org/briarproject/android/contact/ConversationActivity.java @@ -623,6 +623,7 @@ public class ConversationActivity extends BriarActivity long timestamp = System.currentTimeMillis(); timestamp = Math.max(timestamp, getMinTimestampForNewMessage()); createMessage(StringUtils.toUtf8(text), timestamp); + textInputView.setText(""); } private long getMinTimestampForNewMessage() { diff --git a/briar-android/src/org/briarproject/android/introduction/IntroductionMessageFragment.java b/briar-android/src/org/briarproject/android/introduction/IntroductionMessageFragment.java index 019aff6899..f5c9c32a63 100644 --- a/briar-android/src/org/briarproject/android/introduction/IntroductionMessageFragment.java +++ b/briar-android/src/org/briarproject/android/introduction/IntroductionMessageFragment.java @@ -14,6 +14,7 @@ import org.briarproject.R; import org.briarproject.android.ActivityComponent; import org.briarproject.android.fragment.BaseFragment; import org.briarproject.android.view.TextInputView; +import org.briarproject.android.view.TextInputView.TextInputListener; import org.briarproject.api.FormatException; import org.briarproject.api.contact.Contact; import org.briarproject.api.contact.ContactId; @@ -37,7 +38,7 @@ import static java.util.logging.Level.WARNING; import static org.briarproject.api.introduction.IntroductionConstants.MAX_INTRODUCTION_MESSAGE_LENGTH; public class IntroductionMessageFragment extends BaseFragment - implements TextInputView.TextInputListener { + implements TextInputListener { public static final String TAG = IntroductionMessageFragment.class.getName(); @@ -56,7 +57,8 @@ public class IntroductionMessageFragment extends BaseFragment @Inject protected volatile IntroductionManager introductionManager; - public static IntroductionMessageFragment newInstance(int contactId1, int contactId2) { + public static IntroductionMessageFragment newInstance(int contactId1, + int contactId2) { Bundle args = new Bundle(); args.putInt(CONTACT_ID_1, contactId1); args.putInt(CONTACT_ID_2, contactId2); diff --git a/briar-android/src/org/briarproject/android/privategroup/creation/CreateGroupActivity.java b/briar-android/src/org/briarproject/android/privategroup/creation/CreateGroupActivity.java index 991cdf5265..c2bba1a65c 100644 --- a/briar-android/src/org/briarproject/android/privategroup/creation/CreateGroupActivity.java +++ b/briar-android/src/org/briarproject/android/privategroup/creation/CreateGroupActivity.java @@ -24,12 +24,13 @@ import javax.inject.Inject; import static android.support.v4.app.ActivityOptionsCompat.makeCustomAnimation; import static android.widget.Toast.LENGTH_SHORT; +import static org.briarproject.api.sync.SyncConstants.MAX_MESSAGE_BODY_LENGTH; public class CreateGroupActivity extends ContactSelectorActivity implements CreateGroupListener, MessageFragmentListener { @Inject - protected CreateGroupController controller; + CreateGroupController controller; @Override public void injectActivity(ActivityComponent component) { @@ -144,6 +145,11 @@ public class CreateGroupActivity extends ContactSelectorActivity implements return true; } + @Override + public int getMaximumMessageLength() { + return MAX_MESSAGE_BODY_LENGTH; + } + private void openNewGroup() { Intent i = new Intent(this, GroupActivity.class); i.putExtra(GROUP_ID, groupId.getBytes()); diff --git a/briar-android/src/org/briarproject/android/privategroup/creation/CreateGroupMessageFragment.java b/briar-android/src/org/briarproject/android/privategroup/creation/CreateGroupMessageFragment.java index d2a6600d49..a261ce0167 100644 --- a/briar-android/src/org/briarproject/android/privategroup/creation/CreateGroupMessageFragment.java +++ b/briar-android/src/org/briarproject/android/privategroup/creation/CreateGroupMessageFragment.java @@ -1,21 +1,24 @@ package org.briarproject.android.privategroup.creation; +import android.support.annotation.StringRes; + import org.briarproject.R; import org.briarproject.android.ActivityComponent; import org.briarproject.android.sharing.BaseMessageFragment; - public class CreateGroupMessageFragment extends BaseMessageFragment { private final static String TAG = CreateGroupMessageFragment.class.getName(); @Override + @StringRes protected int getButtonText() { return R.string.groups_create_group_invitation_button; } @Override + @StringRes protected int getHintText() { return R.string.forum_share_message; } diff --git a/briar-android/src/org/briarproject/android/sharing/BaseMessageFragment.java b/briar-android/src/org/briarproject/android/sharing/BaseMessageFragment.java index 251846f644..b988c09445 100644 --- a/briar-android/src/org/briarproject/android/sharing/BaseMessageFragment.java +++ b/briar-android/src/org/briarproject/android/sharing/BaseMessageFragment.java @@ -3,6 +3,7 @@ package org.briarproject.android.sharing; import android.content.Context; import android.os.Bundle; import android.support.annotation.StringRes; +import android.support.design.widget.Snackbar; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -11,6 +12,9 @@ import org.briarproject.R; import org.briarproject.android.fragment.BaseFragment; import org.briarproject.android.view.LargeTextInputView; import org.briarproject.android.view.TextInputView.TextInputListener; +import org.briarproject.util.StringUtils; + +import static android.support.design.widget.Snackbar.LENGTH_SHORT; import static org.briarproject.api.sharing.SharingConstants.MAX_INVITATION_MESSAGE_LENGTH; import static org.briarproject.util.StringUtils.truncateUtf8; @@ -46,8 +50,10 @@ public abstract class BaseMessageFragment extends BaseFragment listener.setTitle(res); } - protected abstract @StringRes int getButtonText(); - protected abstract @StringRes int getHintText(); + @StringRes + protected abstract int getButtonText(); + @StringRes + protected abstract int getHintText(); @Override public void onStart() { @@ -57,6 +63,11 @@ public abstract class BaseMessageFragment extends BaseFragment @Override public void onSendClick(String msg) { + if (StringUtils.isTooLong(msg, listener.getMaximumMessageLength())) { + Snackbar.make(message, R.string.text_too_long, LENGTH_SHORT).show(); + return; + } + // disable button to prevent accidental double actions message.setSendButtonEnabled(false); message.hideSoftKeyboard(); @@ -77,6 +88,8 @@ public abstract class BaseMessageFragment extends BaseFragment /** Returns true when the button click has been consumed. */ boolean onButtonClick(String message); + int getMaximumMessageLength(); + } } diff --git a/briar-android/src/org/briarproject/android/sharing/ShareBlogActivity.java b/briar-android/src/org/briarproject/android/sharing/ShareBlogActivity.java index d4ad59a6a7..7d5cdeef3e 100644 --- a/briar-android/src/org/briarproject/android/sharing/ShareBlogActivity.java +++ b/briar-android/src/org/briarproject/android/sharing/ShareBlogActivity.java @@ -10,11 +10,13 @@ import org.briarproject.api.sync.GroupId; import javax.inject.Inject; +import static org.briarproject.api.sync.SyncConstants.MAX_MESSAGE_BODY_LENGTH; + public class ShareBlogActivity extends ShareActivity { // Fields that are accessed from background threads must be volatile @Inject - protected volatile BlogSharingManager blogSharingManager; + volatile BlogSharingManager blogSharingManager; @Override BaseMessageFragment getMessageFragment() { @@ -42,4 +44,8 @@ public class ShareBlogActivity extends ShareActivity { return R.string.blogs_sharing_error; } + @Override + public int getMaximumMessageLength() { + return MAX_MESSAGE_BODY_LENGTH; + } } diff --git a/briar-android/src/org/briarproject/android/sharing/ShareBlogMessageFragment.java b/briar-android/src/org/briarproject/android/sharing/ShareBlogMessageFragment.java index 6d4dfb7b26..ccee4d8fec 100644 --- a/briar-android/src/org/briarproject/android/sharing/ShareBlogMessageFragment.java +++ b/briar-android/src/org/briarproject/android/sharing/ShareBlogMessageFragment.java @@ -1,6 +1,7 @@ package org.briarproject.android.sharing; import android.os.Bundle; +import android.support.annotation.StringRes; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -25,11 +26,13 @@ public class ShareBlogMessageFragment extends BaseMessageFragment { } @Override + @StringRes protected int getButtonText() { return R.string.blogs_sharing_button; } @Override + @StringRes protected int getHintText() { return R.string.forum_share_message; } diff --git a/briar-android/src/org/briarproject/android/sharing/ShareForumActivity.java b/briar-android/src/org/briarproject/android/sharing/ShareForumActivity.java index 89093a2b0b..492e3615b2 100644 --- a/briar-android/src/org/briarproject/android/sharing/ShareForumActivity.java +++ b/briar-android/src/org/briarproject/android/sharing/ShareForumActivity.java @@ -10,11 +10,13 @@ import org.briarproject.api.sync.GroupId; import javax.inject.Inject; +import static org.briarproject.api.sync.SyncConstants.MAX_MESSAGE_BODY_LENGTH; + public class ShareForumActivity extends ShareActivity { // Fields that are accessed from background threads must be volatile @Inject - protected volatile ForumSharingManager forumSharingManager; + volatile ForumSharingManager forumSharingManager; @Override BaseMessageFragment getMessageFragment() { @@ -42,4 +44,8 @@ public class ShareForumActivity extends ShareActivity { return R.string.forum_share_error; } + @Override + public int getMaximumMessageLength() { + return MAX_MESSAGE_BODY_LENGTH; + } } diff --git a/briar-android/src/org/briarproject/android/sharing/ShareForumMessageFragment.java b/briar-android/src/org/briarproject/android/sharing/ShareForumMessageFragment.java index 7824567a3d..a3faeb630d 100644 --- a/briar-android/src/org/briarproject/android/sharing/ShareForumMessageFragment.java +++ b/briar-android/src/org/briarproject/android/sharing/ShareForumMessageFragment.java @@ -1,6 +1,7 @@ package org.briarproject.android.sharing; import android.os.Bundle; +import android.support.annotation.StringRes; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -25,11 +26,13 @@ public class ShareForumMessageFragment extends BaseMessageFragment { } @Override + @StringRes protected int getButtonText() { return R.string.forum_share_button; } @Override + @StringRes protected int getHintText() { return R.string.forum_share_message; } diff --git a/briar-android/src/org/briarproject/android/threaded/ThreadListActivity.java b/briar-android/src/org/briarproject/android/threaded/ThreadListActivity.java index 6a1ec4883d..a8eefd250f 100644 --- a/briar-android/src/org/briarproject/android/threaded/ThreadListActivity.java +++ b/briar-android/src/org/briarproject/android/threaded/ThreadListActivity.java @@ -253,6 +253,7 @@ public abstract class ThreadListActivity<G extends NamedGroup, I extends ThreadI replyItem != null ? replyItem.getId() : null, handler); textInput.hideSoftKeyboard(); textInput.setVisibility(GONE); + textInput.setText(""); adapter.setReplyItem(null); } diff --git a/briar-android/src/org/briarproject/android/view/TextInputView.java b/briar-android/src/org/briarproject/android/view/TextInputView.java index dade999a08..ff75c84bfd 100644 --- a/briar-android/src/org/briarproject/android/view/TextInputView.java +++ b/briar-android/src/org/briarproject/android/view/TextInputView.java @@ -101,7 +101,6 @@ public class TextInputView extends KeyboardAwareLinearLayout public void onClick(View v) { if (listener != null) { listener.onSendClick(ui.editText.getText().toString()); - ui.editText.setText(""); } } }); -- GitLab