aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/ui/adapter
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/main/java/de/pixart/messenger/ui/adapter/ConversationAdapter.java4
-rw-r--r--src/main/java/de/pixart/messenger/ui/adapter/ListItemAdapter.java6
-rw-r--r--src/main/java/de/pixart/messenger/ui/adapter/MessageAdapter.java64
3 files changed, 42 insertions, 32 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/adapter/ConversationAdapter.java b/src/main/java/de/pixart/messenger/ui/adapter/ConversationAdapter.java
index 249aa9cb4..d6e875a94 100644
--- a/src/main/java/de/pixart/messenger/ui/adapter/ConversationAdapter.java
+++ b/src/main/java/de/pixart/messenger/ui/adapter/ConversationAdapter.java
@@ -246,11 +246,11 @@ public class ConversationAdapter extends ArrayAdapter<Conversation> {
viewHolder.name.setTextColor(ContextCompat.getColor(activity, R.color.notavailable));
break;
default:
- viewHolder.name.setTextColor(ContextCompat.getColor(activity, R.color.black87));
+ viewHolder.name.setTextColor(Color.get(activity, R.attr.text_Color_Main));
break;
}
} else {
- viewHolder.name.setTextColor(ContextCompat.getColor(activity, R.color.black87));
+ viewHolder.name.setTextColor(Color.get(activity, R.attr.text_Color_Main));
}
if (activity.xmppConnectionService.indicateReceived()) {
diff --git a/src/main/java/de/pixart/messenger/ui/adapter/ListItemAdapter.java b/src/main/java/de/pixart/messenger/ui/adapter/ListItemAdapter.java
index 432bc0d4b..75d105484 100644
--- a/src/main/java/de/pixart/messenger/ui/adapter/ListItemAdapter.java
+++ b/src/main/java/de/pixart/messenger/ui/adapter/ListItemAdapter.java
@@ -8,7 +8,6 @@ import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.AsyncTask;
import android.preference.PreferenceManager;
-import android.support.v4.content.ContextCompat;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -27,6 +26,7 @@ import de.pixart.messenger.databinding.ContactBinding;
import de.pixart.messenger.entities.ListItem;
import de.pixart.messenger.ui.SettingsActivity;
import de.pixart.messenger.ui.XmppActivity;
+import de.pixart.messenger.ui.util.Color;
import de.pixart.messenger.utils.IrregularUnicodeDetector;
import de.pixart.messenger.utils.UIHelper;
import rocks.xmpp.addr.Jid;
@@ -104,7 +104,7 @@ public class ListItemAdapter extends ArrayAdapter<ListItem> {
}
}
if (offline) {
- viewHolder.name.setTextColor(ContextCompat.getColor(activity, R.color.black87));
+ viewHolder.name.setTextColor(Color.get(activity, R.attr.text_Color_Main));
viewHolder.name.setAlpha(INACTIVE_ALPHA);
viewHolder.jid.setAlpha(INACTIVE_ALPHA);
viewHolder.avatar.setAlpha(INACTIVE_ALPHA);
@@ -113,7 +113,7 @@ public class ListItemAdapter extends ArrayAdapter<ListItem> {
if (ShowPresenceColoredNames()) {
viewHolder.name.setTextColor(color);
} else {
- viewHolder.name.setTextColor(ContextCompat.getColor(activity, R.color.black87));
+ viewHolder.name.setTextColor(Color.get(activity, R.attr.text_Color_Main));
}
viewHolder.name.setAlpha(ACTIVE_ALPHA);
viewHolder.jid.setAlpha(ACTIVE_ALPHA);
diff --git a/src/main/java/de/pixart/messenger/ui/adapter/MessageAdapter.java b/src/main/java/de/pixart/messenger/ui/adapter/MessageAdapter.java
index 6040017d6..3eba89ffe 100644
--- a/src/main/java/de/pixart/messenger/ui/adapter/MessageAdapter.java
+++ b/src/main/java/de/pixart/messenger/ui/adapter/MessageAdapter.java
@@ -152,7 +152,6 @@ public class MessageAdapter extends ArrayAdapter<Message> implements CopyTextVie
private OnContactPictureClicked mOnContactPictureClickedListener;
private OnContactPictureLongClicked mOnContactPictureLongClickedListener;
private boolean mIndicateReceived = false;
- private boolean mUseWhiteBackground = false;
private OnQuoteListener onQuoteListener;
public MessageAdapter(XmppActivity activity, List<Message> messages) {
@@ -239,9 +238,9 @@ public class MessageAdapter extends ArrayAdapter<Message> implements CopyTextVie
public int getMessageTextColor(boolean onDark, boolean primary) {
if (onDark) {
- return ContextCompat.getColor(activity, primary ? R.color.dark : R.color.primary);
+ return ContextCompat.getColor(activity, primary ? R.color.white : R.color.white70);
} else {
- return ContextCompat.getColor(activity, primary ? R.color.dark : R.color.primary);
+ return ContextCompat.getColor(activity, primary ? R.color.black87 : R.color.black54);
}
}
@@ -257,7 +256,8 @@ public class MessageAdapter extends ArrayAdapter<Message> implements CopyTextVie
if (viewHolder.edit_indicator != null) {
if (message.edited()) {
viewHolder.edit_indicator.setVisibility(View.VISIBLE);
- viewHolder.edit_indicator.setAlpha(0.7f);
+ viewHolder.edit_indicator.setImageResource(darkBackground ? R.drawable.ic_mode_edit_white_18dp : R.drawable.ic_mode_edit_black_18dp);
+ viewHolder.edit_indicator.setAlpha(darkBackground ? 0.7f : 0.57f);
} else {
viewHolder.edit_indicator.setVisibility(View.GONE);
}
@@ -304,7 +304,8 @@ public class MessageAdapter extends ArrayAdapter<Message> implements CopyTextVie
}
break;
case Message.STATUS_SEND_FAILED:
- if (isResendable) {
+ DownloadableFile file = activity.xmppConnectionService.getFileBackend().getFile(message);
+ if (isResendable && file.exists()) {
info = getContext().getString(R.string.send_failed_resend);
} else {
info = getContext().getString(R.string.send_failed);
@@ -319,6 +320,7 @@ public class MessageAdapter extends ArrayAdapter<Message> implements CopyTextVie
}
if (error && type == SENT) {
viewHolder.time.setTextAppearance(getContext(), R.style.TextAppearance_Conversations_Caption_Waring);
+ viewHolder.time.setTextAppearance(getContext(), R.style.TextAppearance_Conversations_Caption_Waring);
DownloadableFile file = activity.xmppConnectionService.getFileBackend().getFile(message);
if (file.exists()) {
if (activity.xmppConnectionService.mHttpConnectionManager.getAutoAcceptFileSize() >= message.getFileParams().size) {
@@ -328,6 +330,9 @@ public class MessageAdapter extends ArrayAdapter<Message> implements CopyTextVie
isResendable = false;
viewHolder.resend_button.setVisibility(View.VISIBLE);
}
+ } else {
+ isResendable = false;
+ viewHolder.resend_button.setVisibility(View.GONE);
}
viewHolder.resend_button.setText(R.string.send_again);
viewHolder.resend_button.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_resend_grey600_48dp, 0, 0, 0);
@@ -341,6 +346,11 @@ public class MessageAdapter extends ArrayAdapter<Message> implements CopyTextVie
});
} else if (!error && type == SENT) {
viewHolder.resend_button.setVisibility(View.GONE);
+ if (darkBackground) {
+ viewHolder.time.setTextAppearance(getContext(), R.style.TextAppearance_Conversations_Caption_OnDark);
+ } else {
+ viewHolder.time.setTextAppearance(getContext(), R.style.TextAppearance_Conversations_Caption);
+ }
viewHolder.time.setTextColor(this.getMessageTextColor(darkBackground, false));
} else {
if (darkBackground) {
@@ -363,11 +373,15 @@ public class MessageAdapter extends ArrayAdapter<Message> implements CopyTextVie
}
}
if (verified) {
- viewHolder.indicator.setImageResource(R.drawable.ic_verified_user_blue_18dp);
+ viewHolder.indicator.setImageResource(darkBackground ? R.drawable.ic_verified_user_white_18dp : R.drawable.ic_verified_user_black_18dp);
} else {
- viewHolder.indicator.setImageResource(R.drawable.ic_lock_blue_18dp);
+ viewHolder.indicator.setImageResource(darkBackground ? R.drawable.ic_lock_white_18dp : R.drawable.ic_lock_black_18dp);
+ }
+ if (darkBackground) {
+ viewHolder.indicator.setAlpha(0.7f);
+ } else {
+ viewHolder.indicator.setAlpha(0.57f);
}
- viewHolder.indicator.setAlpha(0.7f);
viewHolder.indicator.setVisibility(View.VISIBLE);
}
@@ -426,11 +440,16 @@ public class MessageAdapter extends ArrayAdapter<Message> implements CopyTextVie
viewHolder.messageBody.setTextIsSelectable(false);
}
- private void displayEmojiMessage(final ViewHolder viewHolder, final String body) {
+ private void displayEmojiMessage(final ViewHolder viewHolder, final String body, final boolean darkBackground) {
viewHolder.download_button.setVisibility(View.GONE);
viewHolder.audioPlayer.setVisibility(View.GONE);
viewHolder.image.setVisibility(View.GONE);
viewHolder.messageBody.setVisibility(View.VISIBLE);
+ if (darkBackground) {
+ viewHolder.messageBody.setTextAppearance(getContext(), R.style.TextAppearance_Conversations_Body1_OnDark);
+ } else {
+ viewHolder.messageBody.setTextAppearance(getContext(), R.style.TextAppearance_Conversations_Body1);
+ }
Spannable span = new SpannableString(body);
float size = Emoticons.isEmoji(body) ? 3.0f : 2.0f;
span.setSpan(new RelativeSizeSpan(size), 0, body.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
@@ -869,7 +888,7 @@ public class MessageAdapter extends ArrayAdapter<Message> implements CopyTextVie
}
}
- boolean darkBackground = false; // default: (type == SENT && (!isInValidSession || !mUseWhiteBackground));
+ boolean darkBackground = type == SENT && !isInValidSession || activity.isDarkTheme();
if (type == DATE_SEPARATOR) {
if (UIHelper.today(message.getTimeSent())) {
@@ -959,13 +978,7 @@ public class MessageAdapter extends ArrayAdapter<Message> implements CopyTextVie
}
} else {
displayInfoMessage(viewHolder, activity.getString(R.string.install_openkeychain), darkBackground);
- viewHolder.message_box.setOnClickListener(new OnClickListener() {
-
- @Override
- public void onClick(View v) {
- activity.showInstallPgpDialog();
- }
- });
+ viewHolder.message_box.setOnClickListener(v -> activity.showInstallPgpDialog());
}
} else if (message.getEncryption() == Message.ENCRYPTION_DECRYPTION_FAILED) {
displayDecryptionFailed(viewHolder, darkBackground);
@@ -973,7 +986,7 @@ public class MessageAdapter extends ArrayAdapter<Message> implements CopyTextVie
if (message.isGeoUri()) {
displayLocationMessage(viewHolder, message);
} else if (message.bodyIsOnlyEmojis() && message.getType() != Message.TYPE_PRIVATE) {
- displayEmojiMessage(viewHolder, message.getBody().trim());
+ displayEmojiMessage(viewHolder, message.getBody().trim(), darkBackground);
} else if (message.isXmppUri()) {
displayXmppMessage(viewHolder, message.getBody().trim());
} else if (message.treatAsDownloadable()) {
@@ -997,12 +1010,14 @@ public class MessageAdapter extends ArrayAdapter<Message> implements CopyTextVie
if (type == RECEIVED) {
if (isInValidSession) {
- viewHolder.message_box.setBackgroundResource(R.drawable.message_bubble_received_white);
+ viewHolder.message_box.setBackgroundResource(R.drawable.message_bubble_received_light);
viewHolder.encryption.setVisibility(View.GONE);
} else {
- viewHolder.message_box.setBackgroundResource(R.drawable.message_bubble_received_lightred);
+ viewHolder.message_box.setBackgroundResource(R.drawable.message_bubble_received_warning);
viewHolder.encryption.setVisibility(View.VISIBLE);
- viewHolder.encryption.setTextColor(activity.getWarningTextColor());
+ if (!darkBackground) {
+ viewHolder.encryption.setTextColor(activity.getWarningTextColor());
+ }
if (omemoEncryption && !message.isTrusted()) {
viewHolder.encryption.setText(R.string.not_trusted);
} else {
@@ -1012,11 +1027,7 @@ public class MessageAdapter extends ArrayAdapter<Message> implements CopyTextVie
}
if (type == SENT) {
- if (mUseWhiteBackground) {
- viewHolder.message_box.setBackgroundResource(R.drawable.message_bubble_sent_white);
- } else {
- viewHolder.message_box.setBackgroundResource(R.drawable.message_bubble_sent_lightblue);
- }
+ viewHolder.message_box.setBackgroundResource(R.drawable.message_bubble_sent_blue);
}
displayStatus(viewHolder, message, type, darkBackground);
@@ -1144,7 +1155,6 @@ public class MessageAdapter extends ArrayAdapter<Message> implements CopyTextVie
public void updatePreferences() {
SharedPreferences p = PreferenceManager.getDefaultSharedPreferences(activity);
this.mIndicateReceived = p.getBoolean("indicate_received", activity.getResources().getBoolean(R.bool.indicate_received));
- this.mUseWhiteBackground = p.getBoolean("use_white_background", activity.getResources().getBoolean(R.bool.use_white_background));
}
public void loadAvatar(Message message, ImageView imageView, int size) {