permit empty values for subject and roster name
This commit is contained in:
parent
30e5f9b290
commit
fcfb695e7a
|
@ -180,9 +180,7 @@ public class MessageGenerator extends AbstractGenerator {
|
|||
MessagePacket packet = new MessagePacket();
|
||||
packet.setType(MessagePacket.TYPE_GROUPCHAT);
|
||||
packet.setTo(conversation.getJid().asBareJid());
|
||||
Element subjectChild = new Element("subject");
|
||||
subjectChild.setContent(subject);
|
||||
packet.addChild(subjectChild);
|
||||
packet.addChild("subject").setContent(subject);
|
||||
packet.setFrom(conversation.getAccount().getJid().asBareJid());
|
||||
return packet;
|
||||
}
|
||||
|
|
|
@ -181,7 +181,7 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
|
|||
|
||||
@Override
|
||||
public String onValueEdited(String value) {
|
||||
xmppConnectionService.pushSubjectToConference(mConversation, value);
|
||||
xmppConnectionService.pushSubjectToConference(mConversation, value.trim().isEmpty() ? null : value.trim());
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
@ -271,7 +271,8 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
|
|||
if (mConversation != null) {
|
||||
quickEdit(mConversation.getMucOptions().getSubject(),
|
||||
R.string.edit_subject_hint,
|
||||
this.onSubjectEdited);
|
||||
this.onSubjectEdited,
|
||||
true);
|
||||
}
|
||||
break;
|
||||
case R.id.action_share_http:
|
||||
|
|
|
@ -240,16 +240,12 @@ public class ContactDetailsActivity extends OmemoActivity implements OnAccountUp
|
|||
case R.id.action_edit_contact:
|
||||
Uri systemAccount = contact.getSystemAccount();
|
||||
if (systemAccount == null) {
|
||||
quickEdit(contact.getDisplayName(), 0, new OnValueEdited() {
|
||||
|
||||
@Override
|
||||
public String onValueEdited(String value) {
|
||||
quickEdit(contact.getDisplayName(), 0, value -> {
|
||||
contact.setServerName(value);
|
||||
ContactDetailsActivity.this.xmppConnectionService.pushContactToServer(contact);
|
||||
populateView();
|
||||
return null;
|
||||
}
|
||||
});
|
||||
}, true);
|
||||
} else {
|
||||
Intent intent = new Intent(Intent.ACTION_EDIT);
|
||||
intent.setDataAndType(systemAccount, Contacts.CONTENT_ITEM_TYPE);
|
||||
|
|
|
@ -688,18 +688,23 @@ public abstract class XmppActivity extends ActionBarActivity {
|
|||
}
|
||||
|
||||
protected void quickEdit(String previousValue, int hint, OnValueEdited callback) {
|
||||
quickEdit(previousValue, callback, hint, false);
|
||||
quickEdit(previousValue, callback, hint, false, false);
|
||||
}
|
||||
|
||||
protected void quickEdit(String previousValue, int hint, OnValueEdited callback, boolean permitEmpty) {
|
||||
quickEdit(previousValue, callback, hint, false, permitEmpty);
|
||||
}
|
||||
|
||||
protected void quickPasswordEdit(String previousValue, OnValueEdited callback) {
|
||||
quickEdit(previousValue, callback, R.string.password, true);
|
||||
quickEdit(previousValue, callback, R.string.password, true, false);
|
||||
}
|
||||
|
||||
@SuppressLint("InflateParams")
|
||||
private void quickEdit(final String previousValue,
|
||||
final OnValueEdited callback,
|
||||
final int hint,
|
||||
boolean password) {
|
||||
boolean password,
|
||||
boolean permitEmpty) {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||
View view = getLayoutInflater().inflate(R.layout.quickedit, null);
|
||||
final EditText editor = view.findViewById(R.id.editor);
|
||||
|
@ -722,7 +727,7 @@ public abstract class XmppActivity extends ActionBarActivity {
|
|||
dialog.show();
|
||||
View.OnClickListener clickListener = v -> {
|
||||
String value = editor.getText().toString();
|
||||
if (!value.equals(previousValue) && value.trim().length() > 0) {
|
||||
if (!value.equals(previousValue) && (!value.trim().isEmpty() || permitEmpty)) {
|
||||
String error = callback.onValueEdited(value);
|
||||
if (error != null) {
|
||||
editor.setError(error);
|
||||
|
|
Loading…
Reference in New Issue