Change coloring scheme to Material Theming

pull/193/head
proletarius101 5 years ago
parent 6679c36810
commit bd5fc90251

@ -108,7 +108,7 @@
android:resizeableActivity="true"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppThemeBlueOrangeLight">
android:theme="@style/AppThemeBlueOrange">
<!-- https://developer.samsung.com/samsung-dex/modify-optimizing.html -->
<!-- https://developer.android.com/guide/webapps/managing-webview#metrics -->

@ -108,7 +108,7 @@
android:resizeableActivity="true"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppThemeBlueOrangeLight">
android:theme="@style/AppThemeBlueOrange">
<!-- https://developer.samsung.com/samsung-dex/modify-optimizing.html -->
<!-- https://developer.android.com/guide/webapps/managing-webview#metrics -->

@ -43,6 +43,7 @@ import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatDelegate;
import androidx.core.content.FileProvider;
import androidx.documentfile.provider.DocumentFile;
import androidx.lifecycle.Lifecycle;
@ -103,48 +104,50 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc
switch (theme) {
// Light
case "light":
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
case "blue_orange_light":
setTheme(R.style.AppThemeBlueOrangeLight);
setTheme(R.style.AppThemeBlueOrange);
break;
case "orange_blue_light":
setTheme(R.style.AppThemeOrangeBlueLight);
setTheme(R.style.AppThemeOrangeBlue);
break;
case "yellow_purple_light":
setTheme(R.style.AppThemeYellowPurpleLight);
setTheme(R.style.AppThemeYellowPurple);
break;
case "purple_yellow_light":
setTheme(R.style.AppThemePurpleYellowLight);
setTheme(R.style.AppThemePurpleYellow);
break;
case "red_green_light":
setTheme(R.style.AppThemeRedGreenLight);
setTheme(R.style.AppThemeRedGreen);
break;
case "green_red_light":
setTheme(R.style.AppThemeGreenRedLight);
setTheme(R.style.AppThemeGreenRed);
break;
// Dark
case "dark":
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
case "blue_orange_dark":
setTheme(R.style.AppThemeBlueOrangeDark);
setTheme(R.style.AppThemeBlueOrange);
break;
case "orange_blue_dark":
setTheme(R.style.AppThemeOrangeBlueDark);
setTheme(R.style.AppThemeOrangeBlue);
break;
case "yellow_purple_dark":
setTheme(R.style.AppThemeYellowPurpleDark);
setTheme(R.style.AppThemeYellowPurple);
break;
case "purple_yellow_dark":
setTheme(R.style.AppThemePurpleYellowDark);
setTheme(R.style.AppThemePurpleYellow);
break;
case "red_green_dark":
setTheme(R.style.AppThemeRedGreenDark);
setTheme(R.style.AppThemeRedGreen);
break;
case "green_red_dark":
setTheme(R.style.AppThemeGreenRedDark);
setTheme(R.style.AppThemeGreenRed);
break;
// Black
@ -169,10 +172,10 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc
// Grey
case "grey_light":
setTheme(R.style.AppThemeGreySteelBlueLight);
setTheme(R.style.AppThemeGreySteelBlue);
break;
case "grey_dark":
setTheme(R.style.AppThemeGreySteelBlueDark);
setTheme(R.style.AppThemeGreySteelBlue);
break;
// Black
@ -186,69 +189,67 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc
// System
case "system":
// `Set by Battery Saver` for Q above (inclusive), `Use system default` for Q below
// https://medium.com/androiddevelopers/appcompat-v23-2-daynight-d10f90c83e94
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.P) {
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_AUTO_BATTERY);
} else {
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM);
}
case "blue_orange_system":
setTheme(night
? R.style.AppThemeBlueOrangeDark : R.style.AppThemeBlueOrangeLight);
? R.style.AppThemeBlueOrange : R.style.AppThemeBlueOrange);
break;
case "blue_orange_system_black":
setTheme(night
? R.style.AppThemeBlueOrangeBlack : R.style.AppThemeBlueOrangeLight);
? R.style.AppThemeBlueOrangeBlack : R.style.AppThemeBlueOrange);
break;
case "orange_blue_system":
setTheme(night
? R.style.AppThemeOrangeBlueDark : R.style.AppThemeOrangeBlueLight);
? R.style.AppThemeOrangeBlue : R.style.AppThemeOrangeBlue);
break;
case "orange_blue_system_black":
setTheme(night
? R.style.AppThemeOrangeBlueBlack : R.style.AppThemeOrangeBlueLight);
? R.style.AppThemeOrangeBlueBlack : R.style.AppThemeOrangeBlue);
break;
case "yellow_purple_system":
setTheme(night
? R.style.AppThemeYellowPurpleDark : R.style.AppThemeYellowPurpleLight);
? R.style.AppThemeYellowPurple : R.style.AppThemeYellowPurple);
break;
case "yellow_purple_system_black":
setTheme(night
? R.style.AppThemeYellowPurpleBlack : R.style.AppThemeYellowPurpleLight);
? R.style.AppThemeYellowPurpleBlack : R.style.AppThemeYellowPurple);
break;
case "purple_yellow_system":
setTheme(night
? R.style.AppThemePurpleYellowDark : R.style.AppThemePurpleYellowLight);
? R.style.AppThemePurpleYellow : R.style.AppThemePurpleYellow);
break;
case "purple_yellow_system_black":
setTheme(night
? R.style.AppThemePurpleYellowBlack : R.style.AppThemePurpleYellowLight);
? R.style.AppThemePurpleYellowBlack : R.style.AppThemePurpleYellow);
break;
case "red_green_system":
setTheme(night
? R.style.AppThemeRedGreenDark : R.style.AppThemeRedGreenLight);
? R.style.AppThemeRedGreen : R.style.AppThemeRedGreen);
break;
case "red_green_system_black":
setTheme(night
? R.style.AppThemeRedGreenBlack : R.style.AppThemeRedGreenLight);
? R.style.AppThemeRedGreenBlack : R.style.AppThemeRedGreen);
break;
case "green_red_system":
setTheme(night
? R.style.AppThemeGreenRedDark : R.style.AppThemeGreenRedLight);
? R.style.AppThemeGreenRed : R.style.AppThemeGreenRed);
break;
case "green_red_system_black":
setTheme(night
? R.style.AppThemeGreenRedBlack : R.style.AppThemeGreenRedLight);
? R.style.AppThemeGreenRedBlack : R.style.AppThemeGreenRed);
break;
case "grey_system":
setTheme(night
? R.style.AppThemeGreySteelBlueDark : R.style.AppThemeGreySteelBlueLight);
? R.style.AppThemeGreySteelBlue : R.style.AppThemeGreySteelBlue);
break;
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
boolean dark = Helper.isDarkTheme(this);
Window window = getWindow();
View view = window.getDecorView();
int flags = view.getSystemUiVisibility();
if (dark)
flags &= ~View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
view.setSystemUiVisibility(flags);
}
}
prefs.registerOnSharedPreferenceChangeListener(this);
@ -259,7 +260,7 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc
if (navbar_colorize) {
Window window = getWindow();
if (window != null)
window.setNavigationBarColor(Helper.resolveColor(this, R.attr.colorPrimaryDark));
window.setNavigationBarColor(Helper.resolveColor(this, R.attr.colorPrimary));
}
super.onCreate(savedInstanceState);

@ -41,7 +41,7 @@ public class ActivityMain extends ActivityBase implements FragmentManager.OnBack
getSupportFragmentManager().addOnBackStackChangedListener(this);
if (!Log.isSupportedDevice() && Helper.isPlayStoreInstall()) {
setTheme(R.style.AppThemeBlueOrangeLight);
setTheme(R.style.AppThemeBlueOrange);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_unsupported);
return;
@ -181,7 +181,7 @@ public class ActivityMain extends ActivityBase implements FragmentManager.OnBack
else
prefs.edit().putBoolean("compact", true).apply();
setTheme(R.style.AppThemeBlueOrangeLight);
setTheme(R.style.AppThemeBlueOrange);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

@ -74,7 +74,7 @@ public class AdapterContact extends RecyclerView.Adapter<AdapterContact.ViewHold
private LifecycleOwner owner;
private LayoutInflater inflater;
private boolean contacts;
private int colorAccent;
private int colorSecondary;
private int textColorSecondary;
private String search = null;
@ -154,7 +154,7 @@ public class AdapterContact extends RecyclerView.Adapter<AdapterContact.ViewHold
ivFavorite.setImageResource(contact.state == EntityContact.STATE_FAVORITE
? R.drawable.twotone_star_24 : R.drawable.twotone_star_border_24);
ivFavorite.setImageTintList(ColorStateList.valueOf(
contact.state == EntityContact.STATE_FAVORITE ? colorAccent : textColorSecondary));
contact.state == EntityContact.STATE_FAVORITE ? colorSecondary : textColorSecondary));
ivFavorite.setContentDescription(contact.state == EntityContact.STATE_FAVORITE
? context.getString(R.string.title_accessibility_flagged) : null);
@ -350,7 +350,7 @@ public class AdapterContact extends RecyclerView.Adapter<AdapterContact.ViewHold
this.inflater = LayoutInflater.from(context);
this.contacts = Helper.hasPermission(context, Manifest.permission.READ_CONTACTS);
this.colorAccent = Helper.resolveColor(context, R.attr.colorAccent);
this.colorSecondary = Helper.resolveColor(context, R.attr.colorSecondary);
this.textColorSecondary = Helper.resolveColor(context, android.R.attr.textColorSecondary);
setHasStableIds(true);

@ -212,7 +212,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
private boolean suitable;
private boolean unmetered;
private int colorAccent;
private int colorSecondary;
private int textColorPrimary;
private int textColorSecondary;
private int colorUnread;
@ -1069,7 +1069,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
ibSnoozed.setImageResource(snoozy);
}
if (message.ui_unsnoozed)
ibSnoozed.setColorFilter(colorAccent);
ibSnoozed.setColorFilter(colorSecondary);
else
ibSnoozed.clearColorFilter();
@ -1108,7 +1108,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
tvCount.setText(NF.format(message.visible));
if (selected)
ivThread.setColorFilter(colorAccent);
ivThread.setColorFilter(colorSecondary);
else
ivThread.clearColorFilter();
}
@ -1429,7 +1429,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
private void bindFlagged(TupleMessageEx message, boolean expanded) {
boolean pro = ActivityBilling.isPro(context);
boolean flagged = (message.count - message.unflagged) > 0;
int color = (message.color == null || !pro ? colorAccent : message.color);
int color = (message.color == null || !pro ? colorSecondary : message.color);
int tint = (flagged ? color : textColorSecondary);
if (!Objects.equals(ibFlagged.getTag(), flagged)) {
@ -2279,7 +2279,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
@Override
public Drawable getDrawable() {
Drawable d = context.getDrawable(R.drawable.twotone_format_quote_24);
d.setTint(colorAccent);
d.setTint(colorSecondary);
d.setBounds(0, 0, px, px);
return d;
}
@ -5305,7 +5305,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
this.suitable = state.isSuitable();
this.unmetered = state.isUnmetered();
this.colorAccent = Helper.resolveColor(context, R.attr.colorAccent);
this.colorSecondary = Helper.resolveColor(context, R.attr.colorSecondary);
this.textColorPrimary = Helper.resolveColor(context, android.R.attr.textColorPrimary);
this.textColorSecondary = Helper.resolveColor(context, android.R.attr.textColorSecondary);

@ -4,6 +4,7 @@ import android.app.Dialog;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
@ -15,6 +16,7 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatDelegate;
import androidx.appcompat.widget.SwitchCompat;
import androidx.preference.PreferenceManager;

@ -289,7 +289,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
private boolean addresses;
private int colorPrimary;
private int colorAccent;
private int colorSecondary;
private long primary;
private boolean connected;
@ -398,7 +398,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
addresses = prefs.getBoolean("addresses", false);
colorPrimary = Helper.resolveColor(getContext(), R.attr.colorPrimary);
colorAccent = Helper.resolveColor(getContext(), R.attr.colorAccent);
colorSecondary = Helper.resolveColor(getContext(), R.attr.colorSecondary);
if (criteria == null)
if (thread == null) {
@ -1202,7 +1202,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
sbThread.setProgress(size - 1 - position);
sbThread.getProgressDrawable().setAlpha(0);
sbThread.getThumb().setColorFilter(
position == 0 || position == size - 1 ? colorAccent : colorPrimary,
position == 0 || position == size - 1 ? colorSecondary : colorPrimary,
PorterDuff.Mode.SRC_IN);
sbThread.setVisibility(size > 1 ? View.VISIBLE : View.GONE);
}
@ -3990,7 +3990,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
: MenuItem.SHOW_AS_ACTION_NEVER);
MenuItemCompat.setIconTintList(menuFilter,
folder && filter_active ?
ColorStateList.valueOf(Helper.resolveColor(getContext(), R.attr.colorAccent)) : null);
ColorStateList.valueOf(Helper.resolveColor(getContext(), R.attr.colorSecondary)) : null);
menuFilter.setIcon(folder && filter_active ? R.drawable.twotone_filter_alt_24 : R.drawable.twotone_filter_list_24);
MenuItem menuSearch = menu.findItem(R.id.menu_search);

@ -289,7 +289,7 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
prefs.edit().putBoolean("navbar_colorize", checked).apply();
setNavigationBarColor(
checked ? Helper.resolveColor(getContext(), R.attr.colorPrimaryDark) : Color.BLACK);
checked ? Helper.resolveColor(getContext(), R.attr.colorPrimaryVariant) : Color.BLACK);
}
});
@ -371,7 +371,7 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer
public void onClick(View v) {
Context context = getContext();
int editTextColor = Helper.resolveColor(context, android.R.attr.editTextColor);
int highlightColor = prefs.getInt("highlight_color", Helper.resolveColor(context, R.attr.colorAccent));
int highlightColor = prefs.getInt("highlight_color", Helper.resolveColor(context, R.attr.colorSecondary));
ColorPickerDialogBuilder builder = ColorPickerDialogBuilder
.with(context)
@ -393,7 +393,7 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer
@Override
public void onClick(DialogInterface dialog, int which) {
prefs.edit().remove("highlight_color").apply();
btnHighlightColor.setColor(Helper.resolveColor(context, R.attr.colorAccent));
btnHighlightColor.setColor(Helper.resolveColor(context, R.attr.colorSecondary));
}
});

@ -645,7 +645,7 @@ public class Helper {
CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
builder.setDefaultColorSchemeParams(new CustomTabColorSchemeParams.Builder()
.setToolbarColor(resolveColor(context, R.attr.colorPrimary))
.setSecondaryToolbarColor(resolveColor(context, R.attr.colorPrimaryDark))
.setSecondaryToolbarColor(resolveColor(context, R.attr.colorPrimaryVariant))
.build());
builder.setColorScheme(Helper.isDarkTheme(context)
? CustomTabsIntent.COLOR_SCHEME_DARK

@ -1841,14 +1841,14 @@ public class HtmlHelper {
}
static Spanned highlightHeaders(Context context, String headers) {
int colorAccent = Helper.resolveColor(context, R.attr.colorAccent);
int colorSecondary = Helper.resolveColor(context, R.attr.colorSecondary);
SpannableStringBuilder ssb = new SpannableStringBuilder(headers);
int index = 0;
for (String line : headers.split("\n")) {
if (line.length() > 0 && !Character.isWhitespace(line.charAt(0))) {
int colon = line.indexOf(':');
if (colon > 0)
ssb.setSpan(new ForegroundColorSpan(colorAccent), index, index + colon, 0);
ssb.setSpan(new ForegroundColorSpan(colorSecondary), index, index + colon, 0);
}
index += line.length() + 1;
}
@ -1939,7 +1939,7 @@ public class HtmlHelper {
boolean monospaced_pre = prefs.getBoolean("monospaced_pre", false);
final int colorPrimary = Helper.resolveColor(context, R.attr.colorPrimary);
final int colorAccent = Helper.resolveColor(context, R.attr.colorAccent);
final int colorSecondary = Helper.resolveColor(context, R.attr.colorSecondary);
final int colorSeparator = Helper.resolveColor(context, R.attr.colorSeparator);
final int dp3 = Helper.dp2pixels(context, 3);
final int dp6 = Helper.dp2pixels(context, 6);
@ -2315,9 +2315,9 @@ public class HtmlHelper {
parent = parent.parent();
if (parent == null || "ul".equals(parent.tagName()))
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.P)
setSpan(ssb, new BulletSpan(dp6, colorAccent), start, ssb.length());
setSpan(ssb, new BulletSpan(dp6, colorSecondary), start, ssb.length());
else
setSpan(ssb, new BulletSpan(dp6, colorAccent, dp3), start, ssb.length());
setSpan(ssb, new BulletSpan(dp6, colorSecondary, dp3), start, ssb.length());
else {
// https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ol
int index = 0;
@ -2333,7 +2333,7 @@ public class HtmlHelper {
}
}
setSpan(ssb, new NumberSpan(dp6, colorAccent, textSize, index), start, ssb.length());
setSpan(ssb, new NumberSpan(dp6, colorSecondary, textSize, index), start, ssb.length());
}
break;
case "pre":

@ -267,7 +267,7 @@ public class StyleHelper {
private boolean setList(MenuItem item) {
Context context = etBody.getContext();
int colorAccent = Helper.resolveColor(context, R.attr.colorAccent);
int colorSecondary = Helper.resolveColor(context, R.attr.colorSecondary);
int dp3 = Helper.dp2pixels(context, 3);
int dp6 = Helper.dp2pixels(context, 6);
@ -292,11 +292,11 @@ public class StyleHelper {
Log.i("Insert " + i + "..." + (j + 1) + " size=" + end);
if (item.getItemId() == R.id.menu_style_list_bullets)
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.P)
t.setSpan(new BulletSpan(dp6, colorAccent), i, j + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE | Spanned.SPAN_PARAGRAPH);
t.setSpan(new BulletSpan(dp6, colorSecondary), i, j + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE | Spanned.SPAN_PARAGRAPH);
else
t.setSpan(new BulletSpan(dp6, colorAccent, dp3), i, j + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE | Spanned.SPAN_PARAGRAPH);
t.setSpan(new BulletSpan(dp6, colorSecondary, dp3), i, j + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE | Spanned.SPAN_PARAGRAPH);
else
t.setSpan(new NumberSpan(dp6, colorAccent, textSize, index++), i, j + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE | Spanned.SPAN_PARAGRAPH);
t.setSpan(new NumberSpan(dp6, colorSecondary, textSize, index++), i, j + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE | Spanned.SPAN_PARAGRAPH);
i = j + 1;
}
@ -509,14 +509,14 @@ public class StyleHelper {
} else if (NumberSpan.class.isAssignableFrom(type)) {
NumberSpan n = (NumberSpan) span;
int dp6 = Helper.dp2pixels(context, 6);
int colorAccent = Helper.resolveColor(context, R.attr.colorAccent);
return (T) new NumberSpan(dp6, colorAccent, n.getTextSize(), n.getIndex() + 1);
int colorSecondary = Helper.resolveColor(context, R.attr.colorSecondary);
return (T) new NumberSpan(dp6, colorSecondary, n.getTextSize(), n.getIndex() + 1);
} else if (BulletSpan.class.isAssignableFrom(type)) {
BulletSpan b = (BulletSpan) span;
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.P) {
int dp6 = Helper.dp2pixels(context, 6);
int colorAccent = Helper.resolveColor(context, R.attr.colorAccent);
return (T) new BulletSpan(dp6, colorAccent);
int colorSecondary = Helper.resolveColor(context, R.attr.colorSecondary);
return (T) new BulletSpan(dp6, colorSecondary);
} else
return (T) new BulletSpan(b.getGapWidth(), b.getColor(), b.getBulletRadius());
@ -526,7 +526,7 @@ public class StyleHelper {
static void renumber(Editable text, boolean clean, Context context) {
int dp6 = Helper.dp2pixels(context, 6);
int colorAccent = Helper.resolveColor(context, R.attr.colorAccent);
int colorSecondary = Helper.resolveColor(context, R.attr.colorSecondary);
Log.i("Renumber clean=" + clean + " text=" + text);
@ -557,7 +557,7 @@ public class StyleHelper {
NumberSpan ns = (NumberSpan) span;
if (index != ns.getIndex()) {
NumberSpan clone = new NumberSpan(dp6, colorAccent, ns.getTextSize(), index);
NumberSpan clone = new NumberSpan(dp6, colorSecondary, ns.getTextSize(), index);
text.removeSpan(span);
text.setSpan(clone, start, end, flags);
}

@ -2,7 +2,7 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape android:shape="rectangle">
<solid android:color="?attr/colorAccent" />
<solid android:color="?attr/colorSecondary" />
<size android:width="6dp" android:height="60dp" />
</shape>
</item>

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="?attr/colorAccent" />
<solid android:color="?attr/colorSecondary" />
</shape>

@ -40,7 +40,7 @@
android:layout_height="wrap_content"
android:contentDescription="@string/title_legend_thread"
android:padding="12dp"
android:tint="?attr/colorAccent"
android:tint="?attr/colorSecondary"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/ivThread"
app:srcCompat="@drawable/twotone_message_24" />

@ -54,7 +54,7 @@
android:layout_width="0dp"
android:layout_height="0dp"
android:alpha="0.1"
android:background="?attr/colorAccent"
android:background="?attr/colorSecondary"
app:layout_constraintBottom_toTopOf="@id/vSeparatorAccount"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"

@ -8,7 +8,7 @@
android:id="@+id/vwColor"
android:layout_width="6dp"
android:layout_height="0dp"
android:background="?attr/colorAccent"
android:background="?attr/colorSecondary"
app:layout_constraintBottom_toBottomOf="@+id/paddingBottom"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

@ -7,7 +7,7 @@
android:id="@+id/vwColor"
android:layout_width="6dp"
android:layout_height="0dp"
android:background="?attr/colorAccent"
android:background="?attr/colorSecondary"
app:layout_constraintBottom_toBottomOf="@+id/paddingBottom"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

@ -19,7 +19,7 @@
android:id="@+id/vwColor"
android:layout_width="6dp"
android:layout_height="0dp"
android:background="?attr/colorAccent"
android:background="?attr/colorSecondary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

@ -20,7 +20,7 @@
android:id="@+id/vwColor"
android:layout_width="6dp"
android:layout_height="0dp"
android:background="?attr/colorAccent"
android:background="?attr/colorSecondary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

@ -17,7 +17,7 @@
android:id="@+id/vwColor"
android:layout_width="6dp"
android:layout_height="0dp"
android:background="?attr/colorAccent"
android:background="?attr/colorSecondary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

@ -19,7 +19,7 @@
android:id="@+id/vwColor"
android:layout_width="6dp"
android:layout_height="0dp"
android:background="?attr/colorAccent"
android:background="?attr/colorSecondary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

@ -0,0 +1,209 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppThemeBase" parent="Theme.MaterialComponents.DayNight">
<item name="themeName">dark</item>
<item name="android:windowDisablePreview">true</item>
<item name="android:windowAnimationStyle">@style/activityAnimationStyle</item>
<item name="android:navigationBarColor">@color/black</item>
<item name="colorRead">@color/colorReadDark</item>
<item name="colorUnread">@color/colorUnreadDark</item>
<item name="colorHighlight">@color/colorHighlightDark</item>
<item name="colorEncrypt">@color/colorEncryptDark</item>
<item name="colorSeparator">@color/darkColorSeparator</item>
<item name="colorThumb">@color/darkColorThumb</item>
<item name="colorWarning">@color/darkColorWarning</item>
<item name="colorDrawerScrim">@color/darkColorDrawerScrim</item>
<item name="colorDrawerText">@color/darkColorDrawerText</item>
<item name="colorDrawerBackground">@color/darkColorDrawerBackground</item>
<item name="colorCardBackground">@color/darkColorCardBackground</item>
<item name="colorActionForeground">@color/darkActionForeground</item>
<item name="colorActionForegroundDisabled">@color/darkActionForegroundDisabled</item>
<item name="colorActionBackground">@color/darkActionBackground</item>
<item name="colorFabForeground">@color/white</item>
<item name="activatableItemBackground">@drawable/activatable_item_background_dark</item>
<item name="android:checkboxStyle">@style/checkboxStyle</item>
<item name="android:buttonStyle">@style/buttonStyle</item>
<item name="android:buttonStyleSmall">@style/buttonStyleSmall</item>
<item name="android:buttonStyleToggle">@style/buttonStyleToggle</item>
<item name="android:radioButtonStyle">@style/radioButtonStyle</item>
<item name="android:scrollbarSize">6dp</item>
<item name="android:scrollbarThumbVertical">@drawable/scroll_thumb</item>
<item name="android:scrollbarTrackVertical">@drawable/scroll_track</item>
<item name="android:scrollbarFadeDuration">5000</item>
</style>
<style name="AppThemeBlueOrange" parent="AppThemeBase">
<item name="colorPrimary">@color/darkBluePrimary</item>
<item name="colorPrimary">@color/darkBluePrimaryDark</item>
<item name="colorSecondary">@color/darkAmberSecondary</item>
<item name="colorUnreadHighlight">@color/darkAmberSecondary</item>
<item name="colorFabBackground">@color/darkAmberSecondary</item>
<item name="colorInfoForeground">@color/white</item>
<item name="colorInfoBackground">@color/darkBluePrimary</item>
</style>
<style name="AppThemeOrangeBlue" parent="AppThemeBase">
<item name="colorPrimary">@color/darkAmberPrimary</item>
<item name="colorPrimary">@color/darkAmberPrimaryDark</item>
<item name="colorSecondary">@color/darkBlueSecondary</item>
<item name="colorUnreadHighlight">@color/darkBlueSecondary</item>
<item name="colorFabBackground">@color/darkBlueSecondary</item>
<item name="colorInfoForeground">@color/white</item>
<item name="colorInfoBackground">@color/darkAmberPrimary</item>
</style>
<style name="AppThemeYellowPurple" parent="AppThemeBase">
<item name="colorPrimary">@color/darkYellowPrimary</item>
<item name="colorPrimary">@color/darkYellowPrimaryDark</item>
<item name="colorSecondary">@color/darkPurpleSecondary</item>
<item name="colorUnreadHighlight">@color/darkPurpleSecondary</item>
<item name="colorFabBackground">@color/darkPurpleSecondary</item>
<item name="colorInfoForeground">@color/white</item>
<item name="colorInfoBackground">@color/darkYellowPrimary</item>
<item name="android:textColorLink">@color/darkPurpleSecondary</item>
</style>
<style name="AppThemePurpleYellow" parent="AppThemeBase">
<item name="colorPrimary">@color/darkPurplePrimary</item>
<item name="colorPrimary">@color/darkPurplePrimaryDark</item>
<item name="colorSecondary">@color/darkYellowSecondary</item>
<item name="colorUnreadHighlight">@color/darkYellowSecondary</item>
<item name="colorFabBackground">@color/darkYellowSecondary</item>
<item name="colorInfoForeground">@color/white</item>
<item name="colorInfoBackground">@color/darkPurplePrimary</item>
<item name="android:textColorLink">@color/darkYellowSecondary</item>
</style>
<style name="AppThemeRedGreen" parent="AppThemeBase">
<item name="colorPrimary">@color/darkRedPrimary</item>
<item name="colorPrimary">@color/darkRedPrimaryDark</item>
<item name="colorSecondary">@color/darkGreenSecondary</item>
<item name="colorUnreadHighlight">@color/darkGreenSecondary</item>
<item name="colorFabBackground">@color/darkGreenSecondary</item>
<item name="colorInfoForeground">@color/white</item>
<item name="colorInfoBackground">@color/darkRedPrimary</item>
<item name="android:textColorLink">@color/darkGreenSecondary</item>
</style>
<style name="AppThemeGreenRed" parent="AppThemeBase">
<item name="colorPrimary">@color/darkGreenPrimary</item>
<item name="colorPrimary">@color/darkGreenPrimaryDark</item>
<item name="colorSecondary">@color/darkRedSecondary</item>
<item name="colorUnreadHighlight">@color/darkRedSecondary</item>
<item name="colorFabBackground">@color/darkRedSecondary</item>
<item name="colorInfoForeground">@color/white</item>
<item name="colorInfoBackground">@color/darkGreenPrimary</item>
<item name="android:textColorLink">@color/darkRedSecondary</item>
</style>
<!-- Black -->
<style name="AppThemeBlueOrangeBlack" parent="AppThemeBlueOrange">
<item name="themeName">black</item>
<item name="android:windowBackground">@drawable/black_background</item>
<item name="colorDrawerBackground">@color/black</item>
</style>
<style name="AppThemeOrangeBlueBlack" parent="AppThemeOrangeBlue">
<item name="themeName">black</item>
<item name="android:windowBackground">@drawable/black_background</item>
<item name="colorDrawerBackground">@color/black</item>
</style>
<style name="AppThemeYellowPurpleBlack" parent="AppThemeYellowPurple">
<item name="themeName">black</item>
<item name="android:windowBackground">@drawable/black_background</item>
<item name="colorDrawerBackground">@color/black</item>
</style>
<style name="AppThemePurpleYellowBlack" parent="AppThemePurpleYellow">
<item name="themeName">black</item>
<item name="android:windowBackground">@drawable/black_background</item>
<item name="colorDrawerBackground">@color/black</item>
</style>
<style name="AppThemeRedGreenBlack" parent="AppThemeRedGreen">
<item name="themeName">black</item>
<item name="android:windowBackground">@drawable/black_background</item>
<item name="colorDrawerBackground">@color/black</item>
</style>
<style name="AppThemeGreenRedBlack" parent="AppThemeGreenRed">
<item name="themeName">black</item>
<item name="android:windowBackground">@drawable/black_background</item>
<item name="colorDrawerBackground">@color/black</item>
</style>
<!-- Other -->
<style name="AppThemeBlack" parent="AppThemeBlueOrange">
<item name="themeName">black</item>
<item name="colorPrimary">@color/blackPrimary</item>
<item name="colorPrimary">@color/blackPrimaryDark</item>
<item name="colorSecondary">@color/blackSecondary</item>
<item name="colorInfoForeground">@color/white</item>
<item name="colorInfoBackground">@color/blackPrimary</item>
<item name="android:windowBackground">@drawable/black_background</item>
<item name="colorDrawerBackground">@color/black</item>
</style>
<style name="AppThemeGreySteelBlue" parent="AppThemeBase">
<item name="themeName">black</item>
<item name="colorPrimary">@color/greyPrimary</item>
<item name="colorPrimary">@color/greyPrimaryDark</item>
<item name="colorSecondary">@color/greySecondary</item>
<item name="colorUnreadHighlight">@color/greyAccentLight</item>
<item name="colorSeparator">@color/greyPrimary</item>
<item name="colorActionBackground">@color/greyPrimary</item>
<item name="colorFabBackground">@color/greyAccentDark</item>
<item name="colorInfoForeground">@color/white</item>
<item name="colorInfoBackground">@color/greyPrimary</item>
<item name="android:windowBackground">@drawable/black_background</item>
<item name="colorDrawerBackground">@color/black</item>
</style>
</resources>

@ -58,68 +58,68 @@
<!-- Light blue 600 / Amber 600 -->
<color name="lightBluePrimary">#039be5</color>
<color name="lightBluePrimaryDark">#006db3</color>
<color name="lightAmberAccent">#ffb300</color>
<color name="lightAmberSecondary">#ffb300</color>
<color name="lightAmberAccentDark">#c68400</color>
<!-- Amber 600 / Light blue 600 -->
<color name="lightAmberPrimary">#ffb300</color>
<color name="lightAmberPrimaryDark">#c68400</color>
<color name="lightBlueAccent">#039be5</color>
<color name="lightBlueSecondary">#039be5</color>
<!-- Yellow 600 / Purple 600 -->
<color name="lightYellowPrimary">#fdd835</color>
<color name="lightYellowPrimaryDark">#c6a700</color>
<color name="lightPurpleAccent">#8e24aa</color>
<color name="lightPurpleSecondary">#8e24aa</color>
<!-- Purple 600 / Yellow 800 -->
<color name="lightPurplePrimary">#8e24aa</color>
<color name="lightPurplePrimaryDark">#5c007a</color>
<color name="lightYellowAccent">#f9a825</color>
<color name="lightYellowSecondary">#f9a825</color>
<!-- Red 600 / Green 600 -->
<color name="lightRedPrimary">#e53935</color>
<color name="lightRedPrimaryDark">#ab000d</color>
<color name="lightGreenAccent">#43a047</color>
<color name="lightGreenSecondary">#43a047</color>
<!-- Green 600 / Red 600 -->
<color name="lightGreenPrimary">#43a047</color>
<color name="lightGreenPrimaryDark">#00701a</color>
<color name="lightRedAccent">#e53935</color>
<color name="lightRedSecondary">#e53935</color>
<!-- Light blue 900 / Amber 600 -->
<color name="darkBluePrimary">#01579b</color>
<color name="darkBluePrimaryDark">#002f6c</color>
<color name="darkAmberAccent">#ffb300</color>
<color name="darkAmberSecondary">#ffb300</color>
<!-- Amber 900 / Light blue 300-->
<color name="darkAmberPrimary">#ff6f00</color>
<color name="darkAmberPrimaryDark">#c43e00</color>
<color name="darkBlueAccent">#4fc3f7</color>
<color name="darkBlueSecondary">#4fc3f7</color>
<!-- Yellow 900 / Purple 300 -->
<color name="darkYellowPrimary">#f57f17</color>
<color name="darkYellowPrimaryDark">#bc5100</color>
<color name="darkPurpleAccent">#ba68c8</color>
<color name="darkPurpleSecondary">#ba68c8</color>
<!-- Purple 900 / Yellow 600 -->
<color name="darkPurplePrimary">#4a148c</color>
<color name="darkPurplePrimaryDark">#12005e</color>
<color name="darkYellowAccent">#fdd835</color>
<color name="darkYellowSecondary">#fdd835</color>
<!-- Red 900 / Green 300 -->
<color name="darkRedPrimary">#b71c1c</color>
<color name="darkRedPrimaryDark">#7f0000</color>
<color name="darkGreenAccent">#81c784</color>
<color name="darkGreenSecondary">#81c784</color>
<!-- Green 900 / Red 300 -->
<color name="darkGreenPrimary">#1b5e20</color>
<color name="darkGreenPrimaryDark">#003300</color>
<color name="darkRedAccent">#e57373</color>
<color name="darkRedSecondary">#e57373</color>
<!-- Grey 800 / Amber 800 -->
<color name="blackPrimary">#424242</color>
<color name="blackPrimaryDark">#1b1b1b</color>
<color name="blackAccent">#ff8f00</color>
<color name="blackSecondary">#ff8f00</color>
<!-- Grey 900 -->
<color name="blackAndWhitePrimary">#212121</color>
@ -129,7 +129,7 @@
<!-- Grey 800 / Blue grey 300 -->
<color name="greyPrimary">#424242</color>
<color name="greyPrimaryDark">#1b1b1b</color>
<color name="greyAccent">#90a4ae</color>
<color name="greySecondary">#90a4ae</color>
<color name="greyAccentDark">#62757f</color>
<color name="greyAccentLight">#c1d5e0</color>

@ -1,414 +1,5 @@
<resources>
<attr name="themeName" format="string" />
<attr name="colorRead" format="reference" />
<attr name="colorUnread" format="reference" />
<attr name="colorUnreadHighlight" format="reference" />
<attr name="colorHighlight" format="reference" />
<attr name="colorEncrypt" format="reference" />
<attr name="colorSeparator" format="reference" />
<attr name="colorThumb" format="reference" />
<attr name="colorWarning" format="reference" />
<attr name="colorDrawerScrim" format="reference" />
<attr name="colorDrawerText" format="reference" />
<attr name="colorDrawerBackground" format="reference" />
<attr name="colorCardBackground" format="reference" />
<attr name="colorActionForeground" format="reference" />
<attr name="colorActionForegroundDisabled" format="reference" />
<attr name="colorActionBackground" format="reference" />
<attr name="colorFabForeground" format="reference" />
<attr name="colorFabBackground" format="reference" />
<attr name="colorInfoForeground" format="reference" />
<attr name="colorInfoBackground" format="reference" />
<attr name="activatableItemBackground" format="reference" />
<style name="AppThemeBaseLight" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<item name="themeName">light</item>
<item name="android:windowDisablePreview">true</item>
<item name="android:windowAnimationStyle">@style/activityAnimationStyle</item>
<item name="colorRead">@color/colorReadLight</item>
<item name="colorUnread">@color/colorUnreadLight</item>
<item name="colorHighlight">@color/colorHighlightLight</item>
<item name="colorEncrypt">@color/colorEncryptLight</item>
<item name="colorSeparator">@color/lightColorSeparator</item>
<item name="colorThumb">@color/lightColorThumb</item>
<item name="colorWarning">@color/lightColorWarning</item>
<item name="colorDrawerScrim">@color/lightColorDrawerScrim</item>
<item name="colorDrawerText">@color/lightColorDrawerText</item>
<item name="colorDrawerBackground">@color/lightColorDrawerBackground</item>
<item name="colorCardBackground">@color/lightColorCardBackground</item>
<item name="colorActionForeground">@color/lightActionForeground</item>
<item name="colorActionForegroundDisabled">@color/lightActionForegroundDisabled</item>
<item name="colorActionBackground">@color/lightActionBackground</item>
<item name="colorFabForeground">@color/white</item>
<item name="activatableItemBackground">@drawable/activatable_item_background_light</item>
<item name="android:checkboxStyle">@style/checkboxStyle</item>
<item name="android:buttonStyle">@style/buttonStyle</item>
<item name="android:buttonStyleSmall">@style/buttonStyleSmall</item>
<item name="android:buttonStyleToggle">@style/buttonStyleToggle</item>
<item name="android:radioButtonStyle">@style/radioButtonStyle</item>
<item name="android:scrollbarSize">6dp</item>
<item name="android:scrollbarThumbVertical">@drawable/scroll_thumb</item>
<item name="android:scrollbarTrackVertical">@drawable/scroll_track</item>
<item name="android:scrollbarFadeDuration">5000</item>
</style>
<style name="AppThemeBaseDark" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<item name="themeName">dark</item>
<item name="android:windowDisablePreview">true</item>
<item name="android:windowAnimationStyle">@style/activityAnimationStyle</item>
<item name="android:navigationBarColor">@color/black</item>
<item name="colorRead">@color/colorReadDark</item>
<item name="colorUnread">@color/colorUnreadDark</item>
<item name="colorHighlight">@color/colorHighlightDark</item>
<item name="colorEncrypt">@color/colorEncryptDark</item>
<item name="colorSeparator">@color/darkColorSeparator</item>
<item name="colorThumb">@color/darkColorThumb</item>
<item name="colorWarning">@color/darkColorWarning</item>
<item name="colorDrawerScrim">@color/darkColorDrawerScrim</item>
<item name="colorDrawerText">@color/darkColorDrawerText</item>
<item name="colorDrawerBackground">@color/darkColorDrawerBackground</item>
<item name="colorCardBackground">@color/darkColorCardBackground</item>
<item name="colorActionForeground">@color/darkActionForeground</item>
<item name="colorActionForegroundDisabled">@color/darkActionForegroundDisabled</item>
<item name="colorActionBackground">@color/darkActionBackground</item>
<item name="colorFabForeground">@color/white</item>
<item name="activatableItemBackground">@drawable/activatable_item_background_dark</item>
<item name="android:checkboxStyle">@style/checkboxStyle</item>
<item name="android:buttonStyle">@style/buttonStyle</item>
<item name="android:buttonStyleSmall">@style/buttonStyleSmall</item>
<item name="android:buttonStyleToggle">@style/buttonStyleToggle</item>
<item name="android:radioButtonStyle">@style/radioButtonStyle</item>
<item name="android:scrollbarSize">6dp</item>
<item name="android:scrollbarThumbVertical">@drawable/scroll_thumb</item>
<item name="android:scrollbarTrackVertical">@drawable/scroll_track</item>
<item name="android:scrollbarFadeDuration">5000</item>
</style>
<!-- Light -->
<style name="AppThemeBlueOrangeLight" parent="AppThemeBaseLight">
<item name="colorPrimary">@color/lightBluePrimary</item>
<item name="colorPrimaryDark">@color/lightBluePrimaryDark</item>
<item name="colorAccent">@color/lightAmberAccent</item>
<item name="colorUnreadHighlight">@color/lightAmberAccentDark</item>
<item name="colorWarning">@color/lightAmberAccent</item>
<item name="colorFabBackground">@color/lightAmberAccent</item>
<item name="colorInfoForeground">@color/white</item>
<item name="colorInfoBackground">@color/lightBluePrimary</item>
<item name="android:textColorLink">@color/lightAmberAccentDark</item>
</style>
<style name="AppThemeOrangeBlueLight" parent="AppThemeBaseLight">
<item name="colorPrimary">@color/lightAmberPrimary</item>
<item name="colorPrimaryDark">@color/lightAmberPrimaryDark</item>
<item name="colorAccent">@color/lightBlueAccent</item>
<item name="colorUnreadHighlight">@color/lightBlueAccent</item>
<item name="colorFabBackground">@color/lightBlueAccent</item>
<item name="colorInfoForeground">@color/white</item>
<item name="colorInfoBackground">@color/lightAmberPrimary</item>
<item name="android:textColorLink">@color/lightBlueAccent</item>
</style>
<style name="AppThemeYellowPurpleLight" parent="AppThemeBaseLight">
<item name="colorPrimary">@color/lightYellowPrimary</item>
<item name="colorPrimaryDark">@color/lightYellowPrimaryDark</item>
<item name="colorAccent">@color/lightPurpleAccent</item>
<item name="colorUnreadHighlight">@color/lightPurpleAccent</item>
<item name="colorFabBackground">@color/lightPurpleAccent</item>
<item name="colorInfoForeground">@color/white</item>
<item name="colorInfoBackground">@color/lightYellowPrimary</item>
<item name="android:textColorLink">@color/lightPurpleAccent</item>
</style>
<style name="AppThemePurpleYellowLight" parent="AppThemeBaseLight">
<item name="colorPrimary">@color/lightPurplePrimary</item>
<item name="colorPrimaryDark">@color/lightPurplePrimaryDark</item>
<item name="colorAccent">@color/lightYellowAccent</item>
<item name="colorUnreadHighlight">@color/lightYellowAccent</item>
<item name="colorFabBackground">@color/lightYellowAccent</item>
<item name="colorInfoForeground">@color/white</item>
<item name="colorInfoBackground">@color/lightPurplePrimary</item>
<item name="android:textColorLink">@color/lightYellowAccent</item>
</style>
<style name="AppThemeRedGreenLight" parent="AppThemeBaseLight">
<item name="colorPrimary">@color/lightRedPrimary</item>
<item name="colorPrimaryDark">@color/lightRedPrimaryDark</item>
<item name="colorAccent">@color/lightGreenAccent</item>
<item name="colorUnreadHighlight">@color/lightGreenAccent</item>
<item name="colorFabBackground">@color/lightGreenAccent</item>
<item name="colorInfoForeground">@color/white</item>
<item name="colorInfoBackground">@color/lightRedPrimary</item>
<item name="android:textColorLink">@color/lightGreenAccent</item>
</style>
<style name="AppThemeGreenRedLight" parent="AppThemeBaseLight">
<item name="colorPrimary">@color/lightGreenPrimary</item>
<item name="colorPrimaryDark">@color/lightGreenPrimaryDark</item>
<item name="colorAccent">@color/lightRedAccent</item>
<item name="colorUnreadHighlight">@color/lightRedAccent</item>
<item name="colorFabBackground">@color/lightRedAccent</item>
<item name="colorInfoForeground">@color/white</item>
<item name="colorInfoBackground">@color/lightGreenPrimary</item>
<item name="android:textColorLink">@color/lightRedAccent</item>
</style>
<!-- Dark -->
<style name="AppThemeBlueOrangeDark" parent="AppThemeBaseDark">
<item name="colorPrimary">@color/darkBluePrimary</item>
<item name="colorPrimaryDark">@color/darkBluePrimaryDark</item>
<item name="colorAccent">@color/darkAmberAccent</item>
<item name="colorUnreadHighlight">@color/darkAmberAccent</item>
<item name="colorFabBackground">@color/darkAmberAccent</item>
<item name="colorInfoForeground">@color/white</item>
<item name="colorInfoBackground">@color/darkBluePrimary</item>
</style>
<style name="AppThemeOrangeBlueDark" parent="AppThemeBaseDark">
<item name="colorPrimary">@color/darkAmberPrimary</item>
<item name="colorPrimaryDark">@color/darkAmberPrimaryDark</item>
<item name="colorAccent">@color/darkBlueAccent</item>
<item name="colorUnreadHighlight">@color/darkBlueAccent</item>
<item name="colorFabBackground">@color/darkBlueAccent</item>
<item name="colorInfoForeground">@color/white</item>
<item name="colorInfoBackground">@color/darkAmberPrimary</item>
</style>
<style name="AppThemeYellowPurpleDark" parent="AppThemeBaseDark">
<item name="colorPrimary">@color/darkYellowPrimary</item>
<item name="colorPrimaryDark">@color/darkYellowPrimaryDark</item>
<item name="colorAccent">@color/darkPurpleAccent</item>
<item name="colorUnreadHighlight">@color/darkPurpleAccent</item>
<item name="colorFabBackground">@color/darkPurpleAccent</item>
<item name="colorInfoForeground">@color/white</item>
<item name="colorInfoBackground">@color/darkYellowPrimary</item>
<item name="android:textColorLink">@color/darkPurpleAccent</item>
</style>
<style name="AppThemePurpleYellowDark" parent="AppThemeBaseDark">
<item name="colorPrimary">@color/darkPurplePrimary</item>
<item name="colorPrimaryDark">@color/darkPurplePrimaryDark</item>
<item name="colorAccent">@color/darkYellowAccent</item>
<item name="colorUnreadHighlight">@color/darkYellowAccent</item>
<item name="colorFabBackground">@color/darkYellowAccent</item>
<item name="colorInfoForeground">@color/white</item>
<item name="colorInfoBackground">@color/darkPurplePrimary</item>
<item name="android:textColorLink">@color/darkYellowAccent</item>
</style>
<style name="AppThemeRedGreenDark" parent="AppThemeBaseDark">
<item name="colorPrimary">@color/darkRedPrimary</item>
<item name="colorPrimaryDark">@color/darkRedPrimaryDark</item>
<item name="colorAccent">@color/darkGreenAccent</item>
<item name="colorUnreadHighlight">@color/darkGreenAccent</item>
<item name="colorFabBackground">@color/darkGreenAccent</item>
<item name="colorInfoForeground">@color/white</item>
<item name="colorInfoBackground">@color/darkRedPrimary</item>
<item name="android:textColorLink">@color/darkGreenAccent</item>
</style>
<style name="AppThemeGreenRedDark" parent="AppThemeBaseDark">
<item name="colorPrimary">@color/darkGreenPrimary</item>
<item name="colorPrimaryDark">@color/darkGreenPrimaryDark</item>
<item name="colorAccent">@color/darkRedAccent</item>
<item name="colorUnreadHighlight">@color/darkRedAccent</item>
<item name="colorFabBackground">@color/darkRedAccent</item>
<item name="colorInfoForeground">@color/white</item>
<item name="colorInfoBackground">@color/darkGreenPrimary</item>
<item name="android:textColorLink">@color/darkRedAccent</item>
</style>
<!-- Black -->
<style name="AppThemeBlueOrangeBlack" parent="AppThemeBlueOrangeDark">
<item name="themeName">black</item>
<item name="android:windowBackground">@drawable/black_background</item>
<item name="colorDrawerBackground">@color/black</item>
</style>
<style name="AppThemeOrangeBlueBlack" parent="AppThemeOrangeBlueDark">
<item name="themeName">black</item>
<item name="android:windowBackground">@drawable/black_background</item>
<item name="colorDrawerBackground">@color/black</item>
</style>
<style name="AppThemeYellowPurpleBlack" parent="AppThemeYellowPurpleDark">
<item name="themeName">black</item>
<item name="android:windowBackground">@drawable/black_background</item>
<item name="colorDrawerBackground">@color/black</item>
</style>
<style name="AppThemePurpleYellowBlack" parent="AppThemePurpleYellowDark">
<item name="themeName">black</item>
<item name="android:windowBackground">@drawable/black_background</item>
<item name="colorDrawerBackground">@color/black</item>
</style>
<style name="AppThemeRedGreenBlack" parent="AppThemeRedGreenDark">
<item name="themeName">black</item>
<item name="android:windowBackground">@drawable/black_background</item>
<item name="colorDrawerBackground">@color/black</item>
</style>
<style name="AppThemeGreenRedBlack" parent="AppThemeGreenRedDark">
<item name="themeName">black</item>
<item name="android:windowBackground">@drawable/black_background</item>
<item name="colorDrawerBackground">@color/black</item>
</style>
<!-- Other -->
<style name="AppThemeBlack" parent="AppThemeBlueOrangeDark">
<item name="themeName">black</item>
<item name="colorPrimary">@color/blackPrimary</item>
<item name="colorPrimaryDark">@color/blackPrimaryDark</item>
<item name="colorAccent">@color/blackAccent</item>
<item name="colorInfoForeground">@color/white</item>
<item name="colorInfoBackground">@color/blackPrimary</item>
<item name="android:windowBackground">@drawable/black_background</item>
<item name="colorDrawerBackground">@color/black</item>
</style>
<style name="AppThemeBlackAndWhite" parent="AppThemeBlack">
<item name="colorPrimary">@color/blackAndWhitePrimary</item>
<item name="colorPrimaryDark">@color/blackAndWhitePrimaryDark</item>
<item name="colorAccent">@color/white</item>
<item name="android:textColor">@color/bw_textcolor</item>
<item name="android:textColorPrimary">@color/bw_textcolor</item>
<item name="android:textColorSecondary">@color/bw_textcolor</item>
<item name="android:textColorTertiary">@color/bw_textcolor</item>
<item name="android:textColorPrimaryInverse">@color/bw_textcolor_inverse</item>
<item name="android:textColorSecondaryInverse">@color/bw_textcolor_inverse</item>
<item name="android:textColorTertiaryInverse">@color/bw_textcolor_inverse</item>
<item name="android:textColorLink">@color/lightBluePrimary</item>
<item name="colorWarning">@color/lightColorWarning</item>
<item name="colorRead">@color/white</item>
<item name="colorUnread">@color/white</item>
<item name="colorUnreadHighlight">@color/white</item>
<item name="colorFabForeground">@color/white</item>
<item name="colorFabBackground">@color/blackAndWhitePrimaryLight</item>
</style>
<style name="AppThemeGreySteelBlueLight" parent="AppThemeBaseLight">
<item name="colorPrimary">@color/greyPrimary</item>
<item name="colorPrimaryDark">@color/greyPrimaryDark</item>
<item name="colorAccent">@color/greyAccent</item>
<item name="colorUnreadHighlight">@color/greyAccentDark</item>
<item name="colorEncrypt">@color/colorEncryptDark</item>
<item name="colorFabBackground">@color/greyAccent</item>
<item name="colorInfoForeground">@color/white</item>
<item name="colorInfoBackground">@color/greyPrimary</item>
</style>
<style name="AppThemeGreySteelBlueDark" parent="AppThemeBaseDark">
<item name="themeName">black</item>
<item name="colorPrimary">@color/greyPrimary</item>
<item name="colorPrimaryDark">@color/greyPrimaryDark</item>
<item name="colorAccent">@color/greyAccent</item>
<item name="colorUnreadHighlight">@color/greyAccentLight</item>
<item name="colorSeparator">@color/greyPrimary</item>
<item name="colorActionBackground">@color/greyPrimary</item>
<item name="colorFabBackground">@color/greyAccentDark</item>
<item name="colorInfoForeground">@color/white</item>
<item name="colorInfoBackground">@color/greyPrimary</item>
<item name="android:windowBackground">@drawable/black_background</item>
<item name="colorDrawerBackground">@color/black</item>
</style>
<style name="Theme.AppCompat.Translucent" parent="Theme.AppCompat.NoActionBar">
<item name="android:background">@color/transparent</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@android:style/Animation</item>
</style>
<style name="activityAnimationStyle" parent="@android:style/Animation.Activity">
<item name="android:activityOpenEnterAnimation">@anim/activity_open_enter</item>
@ -428,26 +19,26 @@
<item name="android:textColor">?android:attr/textColorSecondary</item>
</style>
<style name="buttonStyle" parent="Base.Widget.AppCompat.Button">
<item name="android:textAppearance">@style/TextAppearance.AppCompat.Medium</item>
<style name="buttonStyle" parent="Widget.MaterialComponents.Button">
<item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Button</item>
</style>
<style name="buttonStyleSmall" parent="Base.Widget.AppCompat.Button.Small">
<item name="android:textAppearance">@style/TextAppearance.AppCompat.Small</item>
<style name="buttonStyleSmall" parent="Widget.MaterialComponents.Button">
<item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Body2</item>
<item name="android:minHeight">0dp</item>
<item name="android:minWidth">0dp</item>
</style>
<style name="buttonStyleToggle" parent="Base.Widget.AppCompat.Button">
<style name="buttonStyleToggle" parent="Widget.MaterialComponents.Button">
<item name="android:textAppearance">@style/TextAppearance.AppCompat.Medium</item>
</style>
<style name="radioButtonStyle" parent="Base.Widget.AppCompat.CompoundButton.RadioButton">
<style name="radioButtonStyle" parent="Widget.MaterialComponents.Button">
<item name="android:textAppearance">@style/TextAppearance.AppCompat.Small</item>
<item name="android:textColor">?android:attr/textColorSecondary</item>
</style>
<style name="popupMenuStyle" parent="Base.Widget.AppCompat.PopupMenu">
<style name="popupMenuStyle" parent="ThemeOverlay.MaterialComponents.MaterialAlertDialog">
<item name="android:scrollbarSize">6dp</item>
<item name="android:scrollbarThumbVertical">@drawable/scroll_thumb_popup</item>
<item name="android:scrollbarTrackVertical">@drawable/scroll_track_popup</item>

@ -0,0 +1,231 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<attr name="themeName" format="string" />
<attr name="colorRead" format="reference" />
<attr name="colorUnread" format="reference" />
<attr name="colorUnreadHighlight" format="reference" />
<attr name="colorHighlight" format="reference" />
<attr name="colorEncrypt" format="reference" />
<attr name="colorSeparator" format="reference" />
<attr name="colorThumb" format="reference" />
<attr name="colorWarning" format="reference" />
<attr name="colorDrawerScrim" format="reference" />
<attr name="colorDrawerText" format="reference" />
<attr name="colorDrawerBackground" format="reference" />
<attr name="colorCardBackground" format="reference" />
<attr name="colorActionForeground" format="reference" />
<attr name="colorActionForegroundDisabled" format="reference" />
<attr name="colorActionBackground" format="reference" />
<attr name="colorFabForeground" format="reference" />
<attr name="colorFabBackground" format="reference" />
<attr name="colorInfoForeground" format="reference" />
<attr name="colorInfoBackground" format="reference" />
<attr name="activatableItemBackground" format="reference" />
<style name="AppThemeBase" parent="Theme.MaterialComponents.DayNight">
<item name="themeName">light</item>
<item name="android:windowDisablePreview">true</item>
<item name="android:windowAnimationStyle">@style/activityAnimationStyle</item>
<item name="colorRead">@color/colorReadLight</item>
<item name="colorUnread">@color/colorUnreadLight</item>
<item name="colorHighlight">@color/colorHighlightLight</item>
<item name="colorEncrypt">@color/colorEncryptLight</item>
<item name="colorSeparator">@color/lightColorSeparator</item>
<item name="colorThumb">@color/lightColorThumb</item>
<item name="colorWarning">@color/lightColorWarning</item>
<item name="colorDrawerScrim">@color/lightColorDrawerScrim</item>
<item name="colorDrawerText">@color/lightColorDrawerText</item>
<item name="colorDrawerBackground">@color/lightColorDrawerBackground</item>
<item name="colorCardBackground">@color/lightColorCardBackground</item>
<item name="colorActionForeground">@color/lightActionForeground</item>
<item name="colorActionForegroundDisabled">@color/lightActionForegroundDisabled</item>
<item name="colorActionBackground">@color/lightActionBackground</item>
<item name="colorFabForeground">@color/white</item>
<item name="activatableItemBackground">@drawable/activatable_item_background_light</item>
<item name="toolbarStyle">@style/Widget.MaterialComponents.Toolbar.Primary</item>
<item name="android:checkboxStyle">@style/checkboxStyle</item>
<item name="android:buttonStyle">@style/buttonStyle</item>
<item name="android:buttonStyleSmall">@style/buttonStyleSmall</item>
<item name="android:buttonStyleToggle">@style/buttonStyleToggle</item>
<item name="android:radioButtonStyle">@style/radioButtonStyle</item>
<item name="android:scrollbarSize">6dp</item>
<item name="android:scrollbarThumbVertical">@drawable/scroll_thumb</item>
<item name="android:scrollbarTrackVertical">@drawable/scroll_track</item>
<item name="android:scrollbarFadeDuration">5000</item>
</style>
<!-- Light -->
<style name="AppThemeBlueOrange" parent="AppThemeBase">
<item name="colorPrimary">@color/lightBluePrimary</item>
<item name="colorPrimaryVariant">@color/lightBluePrimaryDark</item>
<item name="colorSecondary">@color/lightAmberSecondary</item>
<item name="colorUnreadHighlight">@color/lightAmberAccentDark</item>
<item name="colorWarning">@color/lightAmberSecondary</item>
<item name="colorFabBackground">@color/lightAmberSecondary</item>
<item name="colorInfoForeground">@color/white</item>
<item name="colorInfoBackground">@color/lightBluePrimary</item>
<item name="android:textColorLink">@color/lightAmberAccentDark</item>
</style>
<style name="AppThemeOrangeBlue" parent="AppThemeBase">
<item name="colorPrimary">@color/lightAmberPrimary</item>
<item name="colorPrimaryVariant">@color/lightAmberPrimaryDark</item>
<item name="colorSecondary">@color/lightBlueSecondary</item>
<item name="colorUnreadHighlight">@color/lightBlueSecondary</item>
<item name="colorFabBackground">@color/lightBlueSecondary</item>
<item name="colorInfoForeground">@color/white</item>
<item name="colorInfoBackground">@color/lightAmberPrimary</item>
<item name="android:textColorLink">@color/lightBlueSecondary</item>
</style>
<style name="AppThemeYellowPurple" parent="AppThemeBase">
<item name="colorPrimary">@color/lightYellowPrimary</item>
<item name="colorPrimaryVariant">@color/lightYellowPrimaryDark</item>
<item name="colorSecondary">@color/lightPurpleSecondary</item>
<item name="colorUnreadHighlight">@color/lightPurpleSecondary</item>
<item name="colorFabBackground">@color/lightPurpleSecondary</item>
<item name="colorInfoForeground">@color/white</item>
<item name="colorInfoBackground">@color/lightYellowPrimary</item>
<item name="android:textColorLink">@color/lightPurpleSecondary</item>
</style>
<style name="AppThemePurpleYellow" parent="AppThemeBase">
<item name="colorPrimary">@color/lightPurplePrimary</item>
<item name="colorPrimaryVariant">@color/lightPurplePrimaryDark</item>
<item name="colorSecondary">@color/lightYellowSecondary</item>
<item name="colorUnreadHighlight">@color/lightYellowSecondary</item>
<item name="colorFabBackground">@color/lightYellowSecondary</item>
<item name="colorInfoForeground">@color/white</item>
<item name="colorInfoBackground">@color/lightPurplePrimary</item>
<item name="android:textColorLink">@color/lightYellowSecondary</item>
</style>
<style name="AppThemeRedGreen" parent="AppThemeBase">
<item name="colorPrimary">@color/lightRedPrimary</item>
<item name="colorPrimaryVariant">@color/lightRedPrimaryDark</item>
<item name="colorSecondary">@color/lightGreenSecondary</item>
<item name="colorUnreadHighlight">@color/lightGreenSecondary</item>
<item name="colorFabBackground">@color/lightGreenSecondary</item>
<item name="colorInfoForeground">@color/white</item>
<item name="colorInfoBackground">@color/lightRedPrimary</item>
<item name="android:textColorLink">@color/lightGreenSecondary</item>
</style>
<style name="AppThemeGreenRed" parent="AppThemeBase">
<item name="colorPrimary">@color/lightGreenPrimary</item>
<item name="colorPrimaryVariant">@color/lightGreenPrimaryDark</item>
<item name="colorSecondary">@color/lightRedSecondary</item>
<item name="colorUnreadHighlight">@color/lightRedSecondary</item>
<item name="colorFabBackground">@color/lightRedSecondary</item>
<item name="colorInfoForeground">@color/white</item>
<item name="colorInfoBackground">@color/lightGreenPrimary</item>
<item name="android:textColorLink">@color/lightRedSecondary</item>
</style>
<!-- Dark -->
<style name="AppThemeGreySteelBlue" parent="AppThemeBase">
<item name="colorPrimary">@color/greyPrimary</item>
<item name="colorPrimaryVariant">@color/greyPrimaryDark</item>
<item name="colorSecondary">@color/greySecondary</item>
<item name="colorUnreadHighlight">@color/greyAccentDark</item>
<item name="colorEncrypt">@color/colorEncryptDark</item>
<item name="colorFabBackground">@color/greySecondary</item>
<item name="colorInfoForeground">@color/white</item>
<item name="colorInfoBackground">@color/greyPrimary</item>
</style>
<!-- Other -->
<style name="Theme.AppCompat.Translucent" parent="Theme.MaterialComponents.DayNight">
<item name="android:background">@color/transparent</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@android:style/Animation</item>
</style>
<!-- Black -->
<style name="AppThemeBlack" parent="AppThemeBlueOrange"/>
<style name="AppThemeBlueOrangeBlack" parent="AppThemeBlueOrange" />
<style name="AppThemeOrangeBlueBlack" parent="AppThemeOrangeBlue" />
<style name="AppThemeYellowPurpleBlack" parent="AppThemeYellowPurple" />
<style name="AppThemePurpleYellowBlack" parent="AppThemePurpleYellow" />
<style name="AppThemeRedGreenBlack" parent="AppThemeRedGreen" />
<style name="AppThemeGreenRedBlack" parent="AppThemeGreenRed" />
<style name="AppThemeBlackAndWhite" parent="AppThemeBlack">
<item name="colorPrimary">@color/blackAndWhitePrimary</item>
<item name="colorPrimary">@color/blackAndWhitePrimaryDark</item>
<item name="colorSecondary">@color/white</item>
<item name="android:textColor">@color/bw_textcolor</item>
<item name="android:textColorPrimary">@color/bw_textcolor</item>
<item name="android:textColorSecondary">@color/bw_textcolor</item>
<item name="android:textColorTertiary">@color/bw_textcolor</item>
<item name="android:textColorPrimaryInverse">@color/bw_textcolor_inverse</item>
<item name="android:textColorSecondaryInverse">@color/bw_textcolor_inverse</item>
<item name="android:textColorTertiaryInverse">@color/bw_textcolor_inverse</item>
<item name="android:textColorLink">@color/lightBluePrimary</item>
<item name="colorWarning">@color/lightColorWarning</item>
<item name="colorRead">@color/white</item>
<item name="colorUnread">@color/white</item>
<item name="colorUnreadHighlight">@color/white</item>
<item name="colorFabForeground">@color/white</item>
<item name="colorFabBackground">@color/blackAndWhitePrimaryLight</item>
</style>
</resources>
Loading…
Cancel
Save