aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/ui
diff options
context:
space:
mode:
authorChristian Schneppe <christian.schneppe@pix-art.de>2019-11-15 21:30:32 +0100
committerChristian Schneppe <christian.schneppe@pix-art.de>2019-11-15 21:30:32 +0100
commit78c85da03cb0c8336db9b910fae3c499ebae5f0a (patch)
treeffc184636ed805d7c413c5b66da451e46209845b /src/main/java/de/pixart/messenger/ui
parentba225074d5dc89173b8058660535d417c156de2e (diff)
introduce new orange theme color
Diffstat (limited to '')
-rw-r--r--src/main/java/de/pixart/messenger/ui/ConversationFragment.java4
-rw-r--r--src/main/java/de/pixart/messenger/ui/SettingsActivity.java3
-rw-r--r--src/main/java/de/pixart/messenger/ui/XmppActivity.java8
-rw-r--r--src/main/java/de/pixart/messenger/ui/adapter/MessageAdapter.java33
-rw-r--r--src/main/java/de/pixart/messenger/ui/widget/UnreadCountCustomView.java13
5 files changed, 45 insertions, 16 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java
index 37b283ecd..0858c7c03 100644
--- a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java
+++ b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java
@@ -1184,7 +1184,7 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
this.binding.textinput.setCustomInsertionActionModeCallback(new EditMessageActionModeCallback(this.binding.textinput));
}
-
+
return binding.getRoot();
}
@@ -3095,7 +3095,7 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke
}
private int messageInputBubble(final boolean isPrivate) {
- return isPrivate ? activity.isDarkTheme() ? R.drawable.message_bubble_sent_dark_private : R.drawable.message_bubble_sent_private : activity.isDarkTheme() ? R.drawable.message_bubble_sent_dark : R.drawable.message_bubble_sent;
+ return isPrivate ? activity.isOrangeTheme() ? activity.isDarkTheme() ? R.drawable.message_bubble_sent_dark_orange_private : R.drawable.message_bubble_sent_orange_private : activity.isDarkTheme() ? R.drawable.message_bubble_sent_dark_private : R.drawable.message_bubble_sent_private : activity.isOrangeTheme() ? activity.isDarkTheme() ? R.drawable.message_bubble_sent_dark_orange : R.drawable.message_bubble_sent_orange : activity.isDarkTheme() ? R.drawable.message_bubble_sent_dark : R.drawable.message_bubble_sent;
}
public Conversation getConversation() {
diff --git a/src/main/java/de/pixart/messenger/ui/SettingsActivity.java b/src/main/java/de/pixart/messenger/ui/SettingsActivity.java
index a9ffe12bd..24c782dfb 100644
--- a/src/main/java/de/pixart/messenger/ui/SettingsActivity.java
+++ b/src/main/java/de/pixart/messenger/ui/SettingsActivity.java
@@ -55,6 +55,7 @@ public class SettingsActivity extends XmppActivity implements
public static final String WARN_UNENCRYPTED_CHAT = "warn_unencrypted_chat";
public static final String HIDE_YOU_ARE_NOT_PARTICIPATING = "hide_you_are_not_participating";
public static final String THEME = "theme";
+ public static final String THEME_COLOR = "theme_color";
public static final String SHOW_DYNAMIC_TAGS = "show_dynamic_tags";
public static final String OMEMO_SETTING = "omemo";
public static final String SHOW_FOREGROUND_SERVICE = "show_foreground_service";
@@ -506,7 +507,7 @@ public class SettingsActivity extends XmppActivity implements
xmppConnectionService.reinitializeMuclumbusService();
} else if (name.equals(AUTOMATIC_MESSAGE_DELETION)) {
xmppConnectionService.expireOldMessages(true);
- } else if (name.equals(THEME)) {
+ } else if (name.equals(THEME) || name.equals(THEME_COLOR)) {
updateTheme();
}
}
diff --git a/src/main/java/de/pixart/messenger/ui/XmppActivity.java b/src/main/java/de/pixart/messenger/ui/XmppActivity.java
index ab0c53078..18604d4e5 100644
--- a/src/main/java/de/pixart/messenger/ui/XmppActivity.java
+++ b/src/main/java/de/pixart/messenger/ui/XmppActivity.java
@@ -422,6 +422,10 @@ public abstract class XmppActivity extends ActionBarActivity {
return ThemeHelper.isDark(mTheme);
}
+ public boolean isOrangeTheme() {
+ return getStringPreference("theme_color", R.string.theme_color).equals("orange");
+ }
+
public int getThemeResource(int r_attr_name, int r_drawable_def) {
int[] attrs = {r_attr_name};
TypedArray ta = this.getTheme().obtainStyledAttributes(attrs);
@@ -467,6 +471,10 @@ public abstract class XmppActivity extends ActionBarActivity {
return getPreferences().getBoolean(name, getResources().getBoolean(res));
}
+ protected String getStringPreference(String name, int res) {
+ return getPreferences().getString(name, getResources().getString(res));
+ }
+
public void switchToConversation(Conversation conversation) {
switchToConversation(conversation, null);
}
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 aed314288..6e277f0f2 100644
--- a/src/main/java/de/pixart/messenger/ui/adapter/MessageAdapter.java
+++ b/src/main/java/de/pixart/messenger/ui/adapter/MessageAdapter.java
@@ -70,6 +70,7 @@ import de.pixart.messenger.ui.text.DividerSpan;
import de.pixart.messenger.ui.text.QuoteSpan;
import de.pixart.messenger.ui.util.AvatarWorkerTask;
import de.pixart.messenger.ui.util.MyLinkify;
+import de.pixart.messenger.ui.util.StyledAttributes;
import de.pixart.messenger.ui.util.ViewUtil;
import de.pixart.messenger.ui.widget.ClickableMovementMethod;
import de.pixart.messenger.ui.widget.CopyTextView;
@@ -199,7 +200,7 @@ public class MessageAdapter extends ArrayAdapter<Message> implements CopyTextVie
}
private int getMessageTextColorPrivate() {
- return ContextCompat.getColor(activity, R.color.accent);
+ return StyledAttributes.getColor(activity, R.attr.colorAccent);
}
private int getWarningTextColor(boolean onDark) {
@@ -470,7 +471,12 @@ public class MessageAdapter extends ArrayAdapter<Message> implements CopyTextVie
body.insert(end, "\n");
body.setSpan(new DividerSpan(false), end, end + 2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
- int color = darkBackground ? this.getMessageTextColor(darkBackground, false) : ContextCompat.getColor(activity, R.color.bubble);
+ int color;
+ if (activity.isOrangeTheme()) {
+ color = darkBackground ? this.getMessageTextColor(darkBackground, false) : ContextCompat.getColor(activity, R.color.darkorange);
+ } else {
+ color = darkBackground ? this.getMessageTextColor(darkBackground, false) : ContextCompat.getColor(activity, R.color.darkblue);
+ }
DisplayMetrics metrics = getContext().getResources().getDisplayMetrics();
body.setSpan(new QuoteSpan(color, metrics), start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
@@ -539,7 +545,7 @@ public class MessageAdapter extends ArrayAdapter<Message> implements CopyTextVie
} else {
viewHolder.messageBody.setTextAppearance(getContext(), R.style.TextAppearance_Conversations_Body1);
}
- viewHolder.messageBody.setHighlightColor(darkBackground ? type == SENT ? ContextCompat.getColor(activity, R.color.accent) : ContextCompat.getColor(activity, R.color.accent) : ContextCompat.getColor(activity, R.color.accent));
+ viewHolder.messageBody.setHighlightColor(darkBackground ? type == SENT ? StyledAttributes.getColor(activity, R.attr.colorAccent) : StyledAttributes.getColor(activity, R.attr.colorAccent) : StyledAttributes.getColor(activity, R.attr.colorAccent));
viewHolder.messageBody.setTypeface(null, Typeface.NORMAL);
if (message.getBody() != null) {
final String nick = UIHelper.getMessageDisplayName(message);
@@ -794,7 +800,7 @@ public class MessageAdapter extends ArrayAdapter<Message> implements CopyTextVie
viewHolder.download_button.setVisibility(View.GONE);
final RelativeLayout audioPlayer = viewHolder.audioPlayer;
audioPlayer.setVisibility(View.VISIBLE);
- AudioPlayer.ViewHolder.get(audioPlayer).setDarkBackground(darkBackground);
+ AudioPlayer.ViewHolder.get(audioPlayer).setTheme(darkBackground, activity.isOrangeTheme());
this.audioPlayer.init(audioPlayer, message);
}
@@ -994,6 +1000,7 @@ public class MessageAdapter extends ArrayAdapter<Message> implements CopyTextVie
}
boolean darkBackground = activity.isDarkTheme();
+ boolean isOrange = activity.isOrangeTheme();
if (type == DATE_SEPARATOR) {
if (UIHelper.today(message.getTimeSent())) {
@@ -1134,7 +1141,11 @@ public class MessageAdapter extends ArrayAdapter<Message> implements CopyTextVie
if (type == RECEIVED) {
if (isInValidSession) {
if (message.isPrivateMessage()) {
- viewHolder.message_box.setBackgroundResource(darkBackground ? R.drawable.message_bubble_received_light_dark_private : R.drawable.message_bubble_received_light_private);
+ if (activity.isOrangeTheme()) {
+ viewHolder.message_box.setBackgroundResource(darkBackground ? R.drawable.message_bubble_received_light_orange_dark_private : R.drawable.message_bubble_received_light_orange_private);
+ } else {
+ viewHolder.message_box.setBackgroundResource(darkBackground ? R.drawable.message_bubble_received_light_dark_private : R.drawable.message_bubble_received_light_private);
+ }
} else {
viewHolder.message_box.setBackgroundResource(darkBackground ? R.drawable.message_bubble_received_light_dark : R.drawable.message_bubble_received_light);
}
@@ -1158,9 +1169,17 @@ public class MessageAdapter extends ArrayAdapter<Message> implements CopyTextVie
if (type == SENT) {
if (message.isPrivateMessage()) {
- viewHolder.message_box.setBackgroundResource(activity.isDarkTheme() ? R.drawable.message_bubble_sent_dark_private : R.drawable.message_bubble_sent_private);
+ if (activity.isOrangeTheme()) {
+ viewHolder.message_box.setBackgroundResource(activity.isDarkTheme() ? R.drawable.message_bubble_sent_dark_orange_private : R.drawable.message_bubble_sent_orange_private);
+ } else {
+ viewHolder.message_box.setBackgroundResource(activity.isDarkTheme() ? R.drawable.message_bubble_sent_dark_private : R.drawable.message_bubble_sent_private);
+ }
} else {
- viewHolder.message_box.setBackgroundResource(activity.isDarkTheme() ? R.drawable.message_bubble_sent_dark : R.drawable.message_bubble_sent);
+ if (activity.isOrangeTheme()) {
+ viewHolder.message_box.setBackgroundResource(activity.isDarkTheme() ? R.drawable.message_bubble_sent_dark_orange : R.drawable.message_bubble_sent_orange );
+ } else {
+ viewHolder.message_box.setBackgroundResource(activity.isDarkTheme() ? R.drawable.message_bubble_sent_dark : R.drawable.message_bubble_sent);
+ }
}
}
displayStatus(viewHolder, message, type, darkBackground);
diff --git a/src/main/java/de/pixart/messenger/ui/widget/UnreadCountCustomView.java b/src/main/java/de/pixart/messenger/ui/widget/UnreadCountCustomView.java
index ae6c968f9..70d6ca5bd 100644
--- a/src/main/java/de/pixart/messenger/ui/widget/UnreadCountCustomView.java
+++ b/src/main/java/de/pixart/messenger/ui/widget/UnreadCountCustomView.java
@@ -11,6 +11,7 @@ import android.util.AttributeSet;
import android.view.View;
import de.pixart.messenger.R;
+import de.pixart.messenger.ui.util.StyledAttributes;
public class UnreadCountCustomView extends View {
@@ -20,31 +21,31 @@ public class UnreadCountCustomView extends View {
public UnreadCountCustomView(Context context) {
super(context);
- init();
+ init(context);
}
public UnreadCountCustomView(Context context, AttributeSet attrs) {
super(context, attrs);
initXMLAttrs(context, attrs);
- init();
+ init(context);
}
public UnreadCountCustomView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
initXMLAttrs(context, attrs);
- init();
+ init(context);
}
private void initXMLAttrs(Context context, AttributeSet attrs) {
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.UnreadCountCustomView);
//setBackgroundColor(a.getColor(a.getIndex(0), ContextCompat.getColor(context, R.color.accent)));
- setBackgroundColor(ContextCompat.getColor(context, R.color.accent));
+ setBackgroundColor(StyledAttributes.getColor(context, R.attr.colorAccent));
a.recycle();
}
- void init() {
+ void init(Context context) {
paint = new Paint();
- paint.setColor(backgroundColor);
+ paint.setColor(StyledAttributes.getColor(context, R.attr.colorAccent));
paint.setAntiAlias(true);
textPaint = new Paint();
textPaint.setColor(Color.WHITE);