mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-18 21:59:54 +01:00
Merge branch '1522-contact-alias-length' into 'master'
Check contact alias for maximum length in UI Closes #1522 See merge request briar/briar!1069
This commit is contained in:
@@ -4,6 +4,7 @@ import android.arch.lifecycle.ViewModelProvider;
|
|||||||
import android.arch.lifecycle.ViewModelProviders;
|
import android.arch.lifecycle.ViewModelProviders;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
|
import android.support.design.widget.TextInputLayout;
|
||||||
import android.support.v7.app.AppCompatDialogFragment;
|
import android.support.v7.app.AppCompatDialogFragment;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
@@ -18,6 +19,8 @@ import org.briarproject.briar.android.activity.BriarActivity;
|
|||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
import static java.util.Objects.requireNonNull;
|
import static java.util.Objects.requireNonNull;
|
||||||
|
import static org.briarproject.bramble.api.identity.AuthorConstants.MAX_AUTHOR_NAME_LENGTH;
|
||||||
|
import static org.briarproject.bramble.util.StringUtils.toUtf8;
|
||||||
|
|
||||||
public class AliasDialogFragment extends AppCompatDialogFragment {
|
public class AliasDialogFragment extends AppCompatDialogFragment {
|
||||||
|
|
||||||
@@ -27,6 +30,7 @@ public class AliasDialogFragment extends AppCompatDialogFragment {
|
|||||||
ViewModelProvider.Factory viewModelFactory;
|
ViewModelProvider.Factory viewModelFactory;
|
||||||
|
|
||||||
private ConversationViewModel viewModel;
|
private ConversationViewModel viewModel;
|
||||||
|
private TextInputLayout aliasEditLayout;
|
||||||
private EditText aliasEditText;
|
private EditText aliasEditText;
|
||||||
|
|
||||||
public static AliasDialogFragment newInstance() {
|
public static AliasDialogFragment newInstance() {
|
||||||
@@ -51,6 +55,7 @@ public class AliasDialogFragment extends AppCompatDialogFragment {
|
|||||||
View v = inflater.inflate(R.layout.fragment_alias_dialog, container,
|
View v = inflater.inflate(R.layout.fragment_alias_dialog, container,
|
||||||
false);
|
false);
|
||||||
|
|
||||||
|
aliasEditLayout = v.findViewById(R.id.aliasEditLayout);
|
||||||
aliasEditText = v.findViewById(R.id.aliasEditText);
|
aliasEditText = v.findViewById(R.id.aliasEditText);
|
||||||
Contact contact = requireNonNull(viewModel.getContact().getValue());
|
Contact contact = requireNonNull(viewModel.getContact().getValue());
|
||||||
String alias = contact.getAlias();
|
String alias = contact.getAlias();
|
||||||
@@ -58,10 +63,7 @@ public class AliasDialogFragment extends AppCompatDialogFragment {
|
|||||||
if (alias != null) aliasEditText.setSelection(alias.length());
|
if (alias != null) aliasEditText.setSelection(alias.length());
|
||||||
|
|
||||||
Button setButton = v.findViewById(R.id.setButton);
|
Button setButton = v.findViewById(R.id.setButton);
|
||||||
setButton.setOnClickListener(v1 -> {
|
setButton.setOnClickListener(v1 -> onSetButtonClicked());
|
||||||
viewModel.setContactAlias(aliasEditText.getText().toString());
|
|
||||||
getDialog().dismiss();
|
|
||||||
});
|
|
||||||
|
|
||||||
Button cancelButton = v.findViewById(R.id.cancelButton);
|
Button cancelButton = v.findViewById(R.id.cancelButton);
|
||||||
cancelButton.setOnClickListener(v1 -> getDialog().cancel());
|
cancelButton.setOnClickListener(v1 -> getDialog().cancel());
|
||||||
@@ -69,4 +71,14 @@ public class AliasDialogFragment extends AppCompatDialogFragment {
|
|||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void onSetButtonClicked() {
|
||||||
|
String alias = aliasEditText.getText().toString();
|
||||||
|
if (toUtf8(alias).length > MAX_AUTHOR_NAME_LENGTH) {
|
||||||
|
aliasEditLayout.setError(getString(R.string.name_too_long));
|
||||||
|
} else {
|
||||||
|
viewModel.setContactAlias(alias);
|
||||||
|
getDialog().dismiss();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
@@ -17,15 +18,24 @@
|
|||||||
android:textSize="@dimen/text_size_large"
|
android:textSize="@dimen/text_size_large"
|
||||||
android:textStyle="bold"/>
|
android:textStyle="bold"/>
|
||||||
|
|
||||||
<EditText
|
<android.support.design.widget.TextInputLayout
|
||||||
android:id="@+id/aliasEditText"
|
android:id="@+id/aliasEditLayout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="16dp"
|
app:errorEnabled="true"
|
||||||
android:hint="@string/set_contact_alias_hint"
|
app:hintEnabled="false">
|
||||||
android:inputType="textPersonName"
|
|
||||||
android:textColor="?android:attr/textColorPrimary"
|
<android.support.design.widget.TextInputEditText
|
||||||
android:textSize="@dimen/text_size_medium"/>
|
android:id="@+id/aliasEditText"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="16dp"
|
||||||
|
android:hint="@string/set_contact_alias_hint"
|
||||||
|
android:inputType="textPersonName"
|
||||||
|
android:textColor="?android:attr/textColorPrimary"
|
||||||
|
android:textSize="@dimen/text_size_medium"/>
|
||||||
|
|
||||||
|
</android.support.design.widget.TextInputLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|||||||
Reference in New Issue
Block a user