diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogControllerImpl.java index 414420dbd2c7900de13abeed158e4a8c5fea943e..21d0856c222cc3bf7d9baea2b329842c9c48dd7b 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogControllerImpl.java @@ -106,7 +106,7 @@ class BlogControllerImpl extends BaseControllerImpl BlogInvitationResponseReceivedEvent b = (BlogInvitationResponseReceivedEvent) e; InvitationResponse r = b.getResponse(); - if (r.getGroupId().equals(groupId) && r.wasAccepted()) { + if (r.getShareableId().equals(groupId) && r.wasAccepted()) { LOG.info("Blog invitation accepted"); onBlogInvitationAccepted(b.getContactId()); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/forum/CreateForumActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/forum/CreateForumActivity.java index 8c78445c09de7cceeaaf17a7a1346c0e06c0ef45..44087e109ed407c45a0eb4c6d79a737e3a777caa 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/forum/CreateForumActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/forum/CreateForumActivity.java @@ -2,6 +2,7 @@ package org.briarproject.briar.android.forum; import android.content.Intent; import android.os.Bundle; +import android.support.design.widget.TextInputLayout; import android.text.Editable; import android.text.TextWatcher; import android.view.KeyEvent; @@ -43,10 +44,10 @@ public class CreateForumActivity extends BriarActivity { private static final Logger LOG = Logger.getLogger(CreateForumActivity.class.getName()); + private TextInputLayout nameEntryLayout; private EditText nameEntry; private Button createForumButton; private ProgressBar progress; - private TextView feedback; // Fields that are accessed from background threads must be volatile @Inject @@ -58,6 +59,8 @@ public class CreateForumActivity extends BriarActivity { setContentView(R.layout.activity_create_forum); + nameEntryLayout = + (TextInputLayout) findViewById(R.id.createForumNameLayout); nameEntry = (EditText) findViewById(R.id.createForumNameEntry); nameEntry.addTextChangedListener(new TextWatcher() { @@ -85,8 +88,6 @@ public class CreateForumActivity extends BriarActivity { } }); - feedback = (TextView) findViewById(R.id.createForumFeedback); - createForumButton = (Button) findViewById(R.id.createForumButton); createForumButton.setOnClickListener(new OnClickListener() { @Override @@ -118,10 +119,10 @@ public class CreateForumActivity extends BriarActivity { String name = nameEntry.getText().toString(); int length = StringUtils.toUtf8(name).length; if (length > MAX_FORUM_NAME_LENGTH) { - feedback.setText(R.string.name_too_long); + nameEntryLayout.setError(getString(R.string.name_too_long)); return false; } - feedback.setText(""); + nameEntryLayout.setError(null); return length > 0; } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumControllerImpl.java index 8d97e7810063d4a4d20209a469220b5a2b7e8f47..f218f4393e917c6a02cbf82714f4e4f1e927a4e9 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumControllerImpl.java @@ -85,7 +85,7 @@ class ForumControllerImpl extends (ForumInvitationResponseReceivedEvent) e; ForumInvitationResponse r = (ForumInvitationResponse) f.getResponse(); - if (r.getGroupId().equals(getGroupId()) && r.wasAccepted()) { + if (r.getShareableId().equals(getGroupId()) && r.wasAccepted()) { LOG.info("Forum invitation was accepted"); onForumInvitationAccepted(r.getContactId()); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/conversation/GroupControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/conversation/GroupControllerImpl.java index db6029e57c002ad2f8365ee7cc915670b4e7c386..ebd41767ce59a0c24c492715c8a4b13bd7e15c57 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/conversation/GroupControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/conversation/GroupControllerImpl.java @@ -108,7 +108,7 @@ class GroupControllerImpl extends (GroupInvitationResponseReceivedEvent) e; final GroupInvitationResponse r = (GroupInvitationResponse) g.getResponse(); - if (getGroupId().equals(r.getGroupId()) && r.wasAccepted()) { + if (getGroupId().equals(r.getShareableId()) && r.wasAccepted()) { listener.runOnUiThreadUnlessDestroyed(new Runnable() { @Override public void run() { diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/CreateGroupFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/CreateGroupFragment.java index aea42e265746cda0360869b63ddb778674c8ceea..f89db336bb6c7c06099a8f1ef9f9b3cf63d8cf28 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/CreateGroupFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/CreateGroupFragment.java @@ -2,6 +2,7 @@ package org.briarproject.briar.android.privategroup.creation; import android.content.Context; import android.os.Bundle; +import android.support.design.widget.TextInputLayout; import android.text.Editable; import android.text.TextWatcher; import android.view.KeyEvent; @@ -11,6 +12,7 @@ import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.Button; import android.widget.EditText; +import android.widget.ProgressBar; import android.widget.TextView; import android.widget.TextView.OnEditorActionListener; @@ -19,6 +21,8 @@ import org.briarproject.briar.R; import org.briarproject.briar.android.activity.ActivityComponent; import org.briarproject.briar.android.fragment.BaseFragment; +import static android.view.View.GONE; +import static android.view.View.VISIBLE; import static org.briarproject.briar.api.privategroup.PrivateGroupConstants.MAX_GROUP_NAME_LENGTH; public class CreateGroupFragment extends BaseFragment { @@ -28,7 +32,8 @@ public class CreateGroupFragment extends BaseFragment { private CreateGroupListener listener; private EditText nameEntry; private Button createGroupButton; - private TextView feedback; + private TextInputLayout nameLayout; + private ProgressBar progress; @Override public void onAttach(Context context) { @@ -69,7 +74,7 @@ public class CreateGroupFragment extends BaseFragment { } }); - feedback = (TextView) v.findViewById(R.id.feedback); + nameLayout = (TextInputLayout) v.findViewById(R.id.nameLayout); createGroupButton = (Button) v.findViewById(R.id.button); createGroupButton.setOnClickListener(new OnClickListener() { @@ -79,6 +84,8 @@ public class CreateGroupFragment extends BaseFragment { } }); + progress = (ProgressBar) v.findViewById(R.id.progressBar); + return v; } @@ -107,16 +114,18 @@ public class CreateGroupFragment extends BaseFragment { String name = nameEntry.getText().toString(); int length = StringUtils.toUtf8(name).length; if (length > MAX_GROUP_NAME_LENGTH) { - feedback.setText(R.string.name_too_long); + nameLayout.setError(getString(R.string.name_too_long)); return false; } - feedback.setText(""); + nameLayout.setError(null); return length > 0; } private void createGroup() { if (!validateName()) return; listener.hideSoftKeyboard(nameEntry); + createGroupButton.setVisibility(GONE); + progress.setVisibility(VISIBLE); listener.onGroupNameChosen(nameEntry.getText().toString()); } } diff --git a/briar-android/src/main/res/layout/activity_create_forum.xml b/briar-android/src/main/res/layout/activity_create_forum.xml index da0a858757ab85e87c5a465c75e8bd6ee27b8cb5..6b2317689572a28e6e9818ba92dd49e6e0b5353e 100644 --- a/briar-android/src/main/res/layout/activity_create_forum.xml +++ b/briar-android/src/main/res/layout/activity_create_forum.xml @@ -1,37 +1,42 @@ <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:gravity="center_horizontal" android:orientation="vertical" - android:layout_margin="@dimen/margin_large"> + android:padding="@dimen/margin_large"> - <EditText + <android.support.design.widget.TextInputLayout + android:id="@+id/createForumNameLayout" android:layout_width="match_parent" android:layout_height="wrap_content" - android:id="@+id/createForumNameEntry" - android:maxLines="1" - android:inputType="text|textCapSentences" - android:hint="@string/choose_forum_hint" /> + app:errorEnabled="true"> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:id="@+id/createForumFeedback" - android:gravity="center" /> + <EditText + android:id="@+id/createForumNameEntry" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:hint="@string/choose_forum_hint" + android:inputType="text|textCapSentences" + android:maxLines="1"/> + + </android.support.design.widget.TextInputLayout> <Button - style="@style/BriarButton" android:id="@+id/createForumButton" + style="@style/BriarButton" android:enabled="false" - android:text="@string/create_forum_button" /> + android:text="@string/create_forum_button"/> <ProgressBar android:id="@+id/createForumProgressBar" - android:layout_height="wrap_content" android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center" android:indeterminate="true" - android:visibility="gone" /> + android:visibility="gone" + tools:visibility="visible"/> </LinearLayout> diff --git a/briar-android/src/main/res/layout/fragment_create_group.xml b/briar-android/src/main/res/layout/fragment_create_group.xml index a16e07552066ee1038039b24a01608e1ca84728d..1df8c9e382fae09ee2fcb83f0e7f490ec935304b 100644 --- a/briar-android/src/main/res/layout/fragment_create_group.xml +++ b/briar-android/src/main/res/layout/fragment_create_group.xml @@ -1,30 +1,42 @@ <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:gravity="center_horizontal" android:orientation="vertical" - android:layout_margin="@dimen/margin_large"> + android:padding="@dimen/margin_large"> - <EditText - android:id="@+id/name" + <android.support.design.widget.TextInputLayout + android:id="@+id/nameLayout" android:layout_width="match_parent" android:layout_height="wrap_content" - android:maxLines="1" - android:inputType="text|textCapSentences" - android:hint="@string/groups_create_group_hint"/> + app:errorEnabled="true"> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:id="@+id/feedback" - android:gravity="center" /> + <EditText + android:id="@+id/name" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:hint="@string/groups_create_group_hint" + android:inputType="text|textCapSentences" + android:maxLines="1"/> + + </android.support.design.widget.TextInputLayout> <Button - style="@style/BriarButton" android:id="@+id/button" + style="@style/BriarButton" android:enabled="false" android:text="@string/groups_create_group_button"/> + <ProgressBar + android:id="@+id/progressBar" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center" + android:indeterminate="true" + android:visibility="gone" + tools:visibility="visible"/> + </LinearLayout>