mirror of
https://github.com/signalapp/Signal-Android.git
synced 2025-12-24 13:08:46 +00:00
Fix styling lost in draft state bug.
This commit is contained in:
@@ -73,6 +73,7 @@ public class ComposeText extends EmojiEditText {
|
||||
@Nullable private InputPanel.MediaListener mediaListener;
|
||||
@Nullable private CursorPositionChangedListener cursorPositionChangedListener;
|
||||
@Nullable private InlineQueryChangedListener inlineQueryChangedListener;
|
||||
@Nullable private StylingChangedListener stylingChangedListener;
|
||||
|
||||
public ComposeText(Context context) {
|
||||
super(context);
|
||||
@@ -223,6 +224,10 @@ public class ComposeText extends EmojiEditText {
|
||||
mentionValidatorWatcher.setMentionValidator(mentionValidator);
|
||||
}
|
||||
|
||||
public void setStylingChangedListener(@Nullable StylingChangedListener listener) {
|
||||
stylingChangedListener = listener;
|
||||
}
|
||||
|
||||
private boolean isLandscape() {
|
||||
return getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE;
|
||||
}
|
||||
@@ -579,6 +584,10 @@ public class ComposeText extends EmojiEditText {
|
||||
|
||||
Selection.setSelection(getText(), end);
|
||||
|
||||
if (stylingChangedListener != null) {
|
||||
stylingChangedListener.onStylingChanged();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -628,4 +637,7 @@ public class ComposeText extends EmojiEditText {
|
||||
void onCursorPositionChanged(int start, int end);
|
||||
}
|
||||
|
||||
public interface StylingChangedListener {
|
||||
void onStylingChanged();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -862,6 +862,7 @@ public class ConversationParentFragment extends Fragment
|
||||
}
|
||||
|
||||
composeText.addTextChangedListener(typingTextWatcher);
|
||||
composeText.setStylingChangedListener(typingTextWatcher);
|
||||
composeText.setSelection(composeText.length(), composeText.length());
|
||||
}
|
||||
});
|
||||
@@ -3865,7 +3866,7 @@ public class ConversationParentFragment extends Fragment
|
||||
}
|
||||
}
|
||||
|
||||
private class ComposeTextWatcher extends SimpleTextWatcher {
|
||||
private class ComposeTextWatcher extends SimpleTextWatcher implements ComposeText.StylingChangedListener {
|
||||
|
||||
private boolean typingStatusEnabled = true;
|
||||
|
||||
@@ -3906,6 +3907,11 @@ public class ConversationParentFragment extends Fragment
|
||||
public void setTypingStatusEnabled(boolean enabled) {
|
||||
this.typingStatusEnabled = enabled;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStylingChanged() {
|
||||
handleSaveDraftOnTextChange(composeText.getTextTrimmed());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -563,6 +563,7 @@ class ConversationFragment :
|
||||
setCursorPositionChangedListener(composeTextEventsListener)
|
||||
setOnKeyListener(composeTextEventsListener)
|
||||
addTextChangedListener(composeTextEventsListener)
|
||||
setStylingChangedListener(composeTextEventsListener)
|
||||
setOnClickListener(composeTextEventsListener)
|
||||
onFocusChangeListener = composeTextEventsListener
|
||||
}
|
||||
@@ -2667,7 +2668,8 @@ class ConversationFragment :
|
||||
View.OnClickListener,
|
||||
TextWatcher,
|
||||
OnFocusChangeListener,
|
||||
ComposeText.CursorPositionChangedListener {
|
||||
ComposeText.CursorPositionChangedListener,
|
||||
ComposeText.StylingChangedListener {
|
||||
|
||||
private var beforeLength = 0
|
||||
private var previousText = ""
|
||||
@@ -2746,6 +2748,10 @@ class ConversationFragment :
|
||||
|
||||
previousText = text
|
||||
}
|
||||
|
||||
override fun onStylingChanged() {
|
||||
handleSaveDraftOnTextChange(composeText.textTrimmed)
|
||||
}
|
||||
}
|
||||
|
||||
//endregion Compose + Send Callbacks
|
||||
|
||||
Reference in New Issue
Block a user