Fix issue #241 - Don't force message to the character limit
This commit is contained in:
parent
4a5d98bde7
commit
16ef4513c6
|
@ -30,6 +30,7 @@ import android.content.SharedPreferences;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.content.res.ColorStateList;
|
import android.content.res.ColorStateList;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
|
import android.graphics.Color;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
|
@ -152,6 +153,7 @@ public class ComposeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder
|
||||||
int charCount = MastodonHelper.countLength(composeViewHolder);
|
int charCount = MastodonHelper.countLength(composeViewHolder);
|
||||||
composeViewHolder.binding.characterCount.setText(String.valueOf(charCount));
|
composeViewHolder.binding.characterCount.setText(String.valueOf(charCount));
|
||||||
composeViewHolder.binding.characterProgress.setProgress(charCount);
|
composeViewHolder.binding.characterProgress.setProgress(charCount);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static StatusDraft prepareDraft(List<Status> statusList, ComposeAdapter composeAdapter, String instance, String user_id) {
|
public static StatusDraft prepareDraft(List<Status> statusList, ComposeAdapter composeAdapter, String instance, String user_id) {
|
||||||
|
@ -196,7 +198,7 @@ public class ComposeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder
|
||||||
if (statusDraft.mentions != null && (statusDraft.text == null || statusDraft.text.length() == 0) && statusDraft.mentions.size() > 0) {
|
if (statusDraft.mentions != null && (statusDraft.text == null || statusDraft.text.length() == 0) && statusDraft.mentions.size() > 0) {
|
||||||
//Retrieves mentioned accounts + OP and adds them at the beginin of the toot
|
//Retrieves mentioned accounts + OP and adds them at the beginin of the toot
|
||||||
final SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(context);
|
final SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(context);
|
||||||
Mention inReplyToUser = null;
|
Mention inReplyToUser;
|
||||||
inReplyToUser = statusDraft.mentions.get(0);
|
inReplyToUser = statusDraft.mentions.get(0);
|
||||||
if (statusDraft.text == null) {
|
if (statusDraft.text == null) {
|
||||||
statusDraft.text = "";
|
statusDraft.text = "";
|
||||||
|
@ -481,9 +483,7 @@ public class ComposeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
holder.binding.sensitiveMedia.setOnCheckedChangeListener((buttonView, isChecked) -> {
|
holder.binding.sensitiveMedia.setOnCheckedChangeListener((buttonView, isChecked) -> statusList.get(position).sensitive = isChecked);
|
||||||
statusList.get(position).sensitive = isChecked;
|
|
||||||
});
|
|
||||||
int mediaPosition = 0;
|
int mediaPosition = 0;
|
||||||
for (Attachment attachment : attachmentList) {
|
for (Attachment attachment : attachmentList) {
|
||||||
ComposeAttachmentItemBinding composeAttachmentItemBinding = ComposeAttachmentItemBinding.inflate(LayoutInflater.from(context), holder.binding.attachmentsList, false);
|
ComposeAttachmentItemBinding composeAttachmentItemBinding = ComposeAttachmentItemBinding.inflate(LayoutInflater.from(context), holder.binding.attachmentsList, false);
|
||||||
|
@ -658,8 +658,8 @@ public class ComposeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder
|
||||||
*/
|
*/
|
||||||
private void buttonState(ComposeViewHolder holder) {
|
private void buttonState(ComposeViewHolder holder) {
|
||||||
if (BaseMainActivity.software == null || BaseMainActivity.software.toUpperCase().compareTo("MASTODON") == 0) {
|
if (BaseMainActivity.software == null || BaseMainActivity.software.toUpperCase().compareTo("MASTODON") == 0) {
|
||||||
if (holder.getAdapterPosition() > 0) {
|
if (holder.getBindingAdapterPosition() > 0) {
|
||||||
Status statusDraft = statusList.get(holder.getAdapterPosition());
|
Status statusDraft = statusList.get(holder.getBindingAdapterPosition());
|
||||||
if (statusDraft.poll == null) {
|
if (statusDraft.poll == null) {
|
||||||
holder.binding.buttonAttachImage.setEnabled(true);
|
holder.binding.buttonAttachImage.setEnabled(true);
|
||||||
holder.binding.buttonAttachVideo.setEnabled(true);
|
holder.binding.buttonAttachVideo.setEnabled(true);
|
||||||
|
@ -729,7 +729,12 @@ public class ComposeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder
|
||||||
int currentLength = MastodonHelper.countLength(holder);
|
int currentLength = MastodonHelper.countLength(holder);
|
||||||
//Copy/past
|
//Copy/past
|
||||||
int max_car = MastodonHelper.getInstanceMaxChars(context);
|
int max_car = MastodonHelper.getInstanceMaxChars(context);
|
||||||
if (currentLength > max_car + 1) {
|
if (currentLength > max_car) {
|
||||||
|
holder.binding.characterCount.setTextColor(Color.RED);
|
||||||
|
} else {
|
||||||
|
holder.binding.characterCount.setTextColor(holder.binding.content.getTextColors());
|
||||||
|
}
|
||||||
|
/*if (currentLength > max_car + 1) {
|
||||||
int from = max_car - holder.binding.contentSpoiler.getText().length();
|
int from = max_car - holder.binding.contentSpoiler.getText().length();
|
||||||
int to = (currentLength - holder.binding.contentSpoiler.getText().length());
|
int to = (currentLength - holder.binding.contentSpoiler.getText().length());
|
||||||
if (to <= s.length()) {
|
if (to <= s.length()) {
|
||||||
|
@ -739,13 +744,13 @@ public class ComposeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder
|
||||||
if (cPosition + 1 <= s.length()) {
|
if (cPosition + 1 <= s.length()) {
|
||||||
holder.binding.content.setText(s.delete(cPosition, cPosition + 1));
|
holder.binding.content.setText(s.delete(cPosition, cPosition + 1));
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
statusList.get(holder.getAdapterPosition()).text = s.toString();
|
statusList.get(holder.getBindingAdapterPosition()).text = s.toString();
|
||||||
if (s.toString().trim().length() < 2) {
|
if (s.toString().trim().length() < 2) {
|
||||||
buttonVisibility(holder);
|
buttonVisibility(holder);
|
||||||
}
|
}
|
||||||
//Update cursor position
|
//Update cursor position
|
||||||
statusList.get(holder.getAdapterPosition()).cursorPosition = holder.binding.content.getSelectionStart();
|
statusList.get(holder.getBindingAdapterPosition()).cursorPosition = holder.binding.content.getSelectionStart();
|
||||||
if (autocomplete) {
|
if (autocomplete) {
|
||||||
holder.binding.content.removeTextChangedListener(this);
|
holder.binding.content.removeTextChangedListener(this);
|
||||||
Thread thread = new Thread() {
|
Thread thread = new Thread() {
|
||||||
|
@ -1300,7 +1305,7 @@ public class ComposeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder
|
||||||
buttonVisibility(holder);
|
buttonVisibility(holder);
|
||||||
holder.binding.contentSpoiler.setText(s.delete(cPosition, cPosition + 1));
|
holder.binding.contentSpoiler.setText(s.delete(cPosition, cPosition + 1));
|
||||||
}
|
}
|
||||||
statusList.get(holder.getAdapterPosition()).spoiler_text = s.toString();
|
statusList.get(holder.getBindingAdapterPosition()).spoiler_text = s.toString();
|
||||||
if (s.toString().trim().length() < 2) {
|
if (s.toString().trim().length() < 2) {
|
||||||
buttonVisibility(holder);
|
buttonVisibility(holder);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue