mirror of
https://github.com/oxen-io/session-android.git
synced 2025-02-20 08:48:25 +00:00
parent
29af1669e1
commit
cbe394025d
@ -34,6 +34,7 @@
|
|||||||
<color name="transparent_white_20">#20ffffff</color>
|
<color name="transparent_white_20">#20ffffff</color>
|
||||||
<color name="transparent_white_30">#30ffffff</color>
|
<color name="transparent_white_30">#30ffffff</color>
|
||||||
<color name="transparent_white_40">#40ffffff</color>
|
<color name="transparent_white_40">#40ffffff</color>
|
||||||
|
<color name="transparent_white_60">#60ffffff</color>
|
||||||
<color name="transparent_white_70">#70ffffff</color>
|
<color name="transparent_white_70">#70ffffff</color>
|
||||||
<color name="transparent_white_aa">#aaffffff</color>
|
<color name="transparent_white_aa">#aaffffff</color>
|
||||||
|
|
||||||
|
@ -3,18 +3,19 @@ package org.thoughtcrime.securesms.color;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import android.util.TypedValue;
|
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
|
|
||||||
|
import static org.thoughtcrime.securesms.util.ThemeUtil.isDarkTheme;
|
||||||
|
|
||||||
public enum MaterialColor {
|
public enum MaterialColor {
|
||||||
RED (R.color.red_400, R.color.red_700, R.color.red_700, R.color.red_900, "red"),
|
RED (R.color.red_400, R.color.red_700, R.color.red_700, R.color.red_900, "red"),
|
||||||
PINK (R.color.pink_400, R.color.pink_700, R.color.pink_700, R.color.pink_900, "pink"),
|
PINK (R.color.pink_400, R.color.pink_700, R.color.pink_700, R.color.pink_900, "pink"),
|
||||||
PURPLE (R.color.purple_400, R.color.purple_700, R.color.purple_700, R.color.purple_900, "purple"),
|
PURPLE (R.color.purple_400, R.color.purple_700, R.color.purple_700, R.color.purple_900, "purple"),
|
||||||
DEEP_PURPLE(R.color.deep_purple_400, R.color.deep_purple_700, R.color.deep_purple_700, R.color.deep_purple_900, "deep_purple"),
|
DEEP_PURPLE(R.color.deep_purple_400, R.color.deep_purple_700, R.color.deep_purple_700, R.color.deep_purple_900, "deep_purple"),
|
||||||
INDIGO (R.color.indigo_400, R.color.indigo_700, R.color.indigo_700, R.color.indigo_900, "indigo"),
|
INDIGO (R.color.indigo_400, R.color.indigo_700, R.color.indigo_700, R.color.indigo_900, "indigo"),
|
||||||
BLUE (R.color.blue_500, R.color.blue_700, R.color.blue_700, R.color.blue_900, "blue"),
|
BLUE (R.color.blue_500, R.color.blue_800, R.color.blue_700, R.color.blue_900, "blue"),
|
||||||
LIGHT_BLUE (R.color.light_blue_500, R.color.light_blue_700, R.color.light_blue_700, R.color.light_blue_900, "light_blue"),
|
LIGHT_BLUE (R.color.light_blue_500, R.color.light_blue_800, R.color.light_blue_700, R.color.light_blue_900, "light_blue"),
|
||||||
CYAN (R.color.cyan_500, R.color.cyan_700, R.color.cyan_700, R.color.cyan_900, "cyan"),
|
CYAN (R.color.cyan_500, R.color.cyan_700, R.color.cyan_700, R.color.cyan_900, "cyan"),
|
||||||
TEAL (R.color.teal_500, R.color.teal_700, R.color.teal_700, R.color.teal_900, "teal"),
|
TEAL (R.color.teal_500, R.color.teal_700, R.color.teal_700, R.color.teal_900, "teal"),
|
||||||
GREEN (R.color.green_500, R.color.green_700, R.color.green_700, R.color.green_900, "green"),
|
GREEN (R.color.green_500, R.color.green_700, R.color.green_700, R.color.green_900, "green"),
|
||||||
@ -89,9 +90,13 @@ public enum MaterialColor {
|
|||||||
|
|
||||||
public int toQuoteBackgroundColor(@NonNull Context context, boolean outgoing) {
|
public int toQuoteBackgroundColor(@NonNull Context context, boolean outgoing) {
|
||||||
if (outgoing) {
|
if (outgoing) {
|
||||||
|
if (isDarkTheme(context)) {
|
||||||
|
return context.getResources().getColor(R.color.transparent_white_60);
|
||||||
|
} else {
|
||||||
int color = toConversationColor(context);
|
int color = toConversationColor(context);
|
||||||
return Color.argb(0x44, Color.red(color), Color.green(color), Color.blue(color));
|
return Color.argb(0x44, Color.red(color), Color.green(color), Color.blue(color));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return context.getResources().getColor(isDarkTheme(context) ? R.color.transparent_white_70
|
return context.getResources().getColor(isDarkTheme(context) ? R.color.transparent_white_70
|
||||||
: R.color.transparent_white_aa);
|
: R.color.transparent_white_aa);
|
||||||
}
|
}
|
||||||
@ -128,20 +133,6 @@ public enum MaterialColor {
|
|||||||
return serialized;
|
return serialized;
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getAttribute(Context context, int attribute, String defaultValue) {
|
|
||||||
TypedValue outValue = new TypedValue();
|
|
||||||
|
|
||||||
if (context.getTheme().resolveAttribute(attribute, outValue, true)) {
|
|
||||||
return outValue.coerceToString().toString();
|
|
||||||
} else {
|
|
||||||
return defaultValue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean isDarkTheme(@NonNull Context context) {
|
|
||||||
return getAttribute(context, R.attr.theme_type, "light").equals("dark");
|
|
||||||
}
|
|
||||||
|
|
||||||
public static MaterialColor fromSerialized(String serialized) throws UnknownColorException {
|
public static MaterialColor fromSerialized(String serialized) throws UnknownColorException {
|
||||||
for (MaterialColor color : MaterialColor.values()) {
|
for (MaterialColor color : MaterialColor.values()) {
|
||||||
if (color.serialized.equals(serialized)) return color;
|
if (color.serialized.equals(serialized)) return color;
|
||||||
|
@ -36,6 +36,7 @@ import org.thoughtcrime.securesms.mms.SlideDeck;
|
|||||||
import org.thoughtcrime.securesms.mms.VideoSlide;
|
import org.thoughtcrime.securesms.mms.VideoSlide;
|
||||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||||
import org.thoughtcrime.securesms.recipients.RecipientModifiedListener;
|
import org.thoughtcrime.securesms.recipients.RecipientModifiedListener;
|
||||||
|
import org.thoughtcrime.securesms.util.ThemeUtil;
|
||||||
import org.thoughtcrime.securesms.util.Util;
|
import org.thoughtcrime.securesms.util.Util;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -263,6 +264,10 @@ public class QuoteView extends LinearLayout implements RecipientModifiedListener
|
|||||||
attachmentIconContainerView.setVisibility(GONE);
|
attachmentIconContainerView.setVisibility(GONE);
|
||||||
dismissView.setBackgroundDrawable(null);
|
dismissView.setBackgroundDrawable(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ThemeUtil.isDarkTheme(getContext())) {
|
||||||
|
dismissView.setBackgroundResource(R.drawable.circle_alpha);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public long getQuoteId() {
|
public long getQuoteId() {
|
||||||
|
25
src/org/thoughtcrime/securesms/util/ThemeUtil.java
Normal file
25
src/org/thoughtcrime/securesms/util/ThemeUtil.java
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
package org.thoughtcrime.securesms.util;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.support.annotation.NonNull;
|
||||||
|
import android.util.TypedValue;
|
||||||
|
|
||||||
|
import org.thoughtcrime.securesms.R;
|
||||||
|
|
||||||
|
public class ThemeUtil {
|
||||||
|
|
||||||
|
public static boolean isDarkTheme(@NonNull Context context) {
|
||||||
|
return getAttribute(context, R.attr.theme_type, "light").equals("dark");
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String getAttribute(Context context, int attribute, String defaultValue) {
|
||||||
|
TypedValue outValue = new TypedValue();
|
||||||
|
|
||||||
|
if (context.getTheme().resolveAttribute(attribute, outValue, true)) {
|
||||||
|
return outValue.coerceToString().toString();
|
||||||
|
} else {
|
||||||
|
return defaultValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user