@@ -1883,7 +1883,7 @@ public class ConversationFragment extends XmppFragment
message = message.mergeable(message.next()) ? message.next() : null;
} while (message != null);
return null;
- }, R.string.moderate_reason, false, false, true);
+ }, R.string.moderate_reason, false, false, true, true);
return true;
case R.id.copy_message:
ShareUtil.copyToClipboard(activity, selectedMessage);
@@ -797,13 +797,18 @@ public abstract class XmppActivity extends ActionBarActivity {
quickEdit(previousValue, callback, hint, password, permitEmpty, false);
}
+ protected void quickEdit(final String previousValue, final OnValueEdited callback, final @StringRes int hint, boolean password, boolean permitEmpty, boolean alwaysCallback) {
+ quickEdit(previousValue, callback, hint, password, permitEmpty, alwaysCallback, false);
+ }
+
@SuppressLint("InflateParams")
protected void quickEdit(final String previousValue,
final OnValueEdited callback,
final @StringRes int hint,
boolean password,
boolean permitEmpty,
- boolean alwaysCallback) {
+ boolean alwaysCallback,
+ boolean startSelected) {
final MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this);
final DialogQuickeditBinding binding = DataBindingUtil.inflate(getLayoutInflater(), R.layout.dialog_quickedit, null, false);
if (password) {
@@ -822,6 +827,9 @@ public abstract class XmppActivity extends ActionBarActivity {
final AlertDialog dialog = builder.create();
dialog.setOnShowListener(d -> SoftKeyboardUtils.showKeyboard(binding.inputEditText));
dialog.show();
+ if (startSelected) {
+ binding.inputEditText.selectAll();
+ }
View.OnClickListener clickListener = v -> {
String value = binding.inputEditText.getText().toString();
if ((alwaysCallback || !value.equals(previousValue)) && (!value.trim().isEmpty() || permitEmpty)) {