Implement a color picker (#124)

* Proper implementation on the color picker.
* Disabling the icons for the color picker menu
* Adding a green theme
* Making the green theme more readable
* More polishes over the green theme
* Adding blue theme and refactoring styles.xml
* Make badged settings icon follow accent colors
* Adding an icon to the color picker setting
* Fix readability issue on the light blue theme
* Adding orange theme, tweaking the blue and green theme
* Adding yellow theme
* Making it so that the fab follows the theme
* Fixing the TrueBlack themes for everything
* Make it so that the publish button also follows the theme
* Editing some drawable files to make them also follow the theme
* Making it so that the boost icon is also following the theme when clicked
* Make follow requests icon badge follow the color scheme and also make it that the profile top bar menu also follows the theme. This should be it

Co-authored-by: sk <sk22@mailbox.org>
This commit is contained in:
LucasGGamerM 2022-12-07 14:13:13 -03:00 committed by GitHub
parent 0806d0c5ea
commit e274b7e6d5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
25 changed files with 805 additions and 34 deletions

View File

@ -14,8 +14,9 @@ public class GlobalUserPreferences{
public static boolean showInteractionCounts;
public static boolean alwaysExpandContentWarnings;
public static boolean disableMarquee;
public static ThemePreference theme;
public static boolean voteButtonForSingleChoice;
public static ThemePreference theme;
public static ColorPreference color;
private static SharedPreferences getPrefs(){
return MastodonApp.context.getSharedPreferences("global", Context.MODE_PRIVATE);
@ -35,6 +36,7 @@ public class GlobalUserPreferences{
disableMarquee=prefs.getBoolean("disableMarquee", false);
voteButtonForSingleChoice=prefs.getBoolean("voteButtonForSingleChoice", true);
theme=ThemePreference.values()[prefs.getInt("theme", 0)];
color=ColorPreference.values()[prefs.getInt("color", 0)];
}
public static void save(){
@ -50,12 +52,23 @@ public class GlobalUserPreferences{
.putBoolean("alwaysExpandContentWarnings", alwaysExpandContentWarnings)
.putBoolean("disableMarquee", disableMarquee)
.putInt("theme", theme.ordinal())
.putInt("color", color.ordinal())
.apply();
}
public enum ColorPreference{
PINK,
PURPLE,
GREEN,
BLUE,
BROWN,
YELLOW
}
public enum ThemePreference{
AUTO,
LIGHT,
DARK
}
}

View File

@ -99,6 +99,7 @@ public class SettingsFragment extends MastodonToolbarFragment{
GlobalUserPreferences.disableMarquee=i.checked;
GlobalUserPreferences.save();
}));
items.add(new ColorPicker());
items.add(new HeaderItem(R.string.settings_behavior));
items.add(new SwitchItem(R.string.settings_gif, R.drawable.ic_fluent_gif_24_regular, GlobalUserPreferences.playGifs, i->{
@ -235,6 +236,12 @@ public class SettingsFragment extends MastodonToolbarFragment{
restartActivityToApplyNewTheme();
}
private void onColorPreferenceClick(GlobalUserPreferences.ColorPreference color){
GlobalUserPreferences.color=color;
GlobalUserPreferences.save();
restartActivityToApplyNewTheme();
}
private void onTrueBlackThemeChanged(SwitchItem item){
GlobalUserPreferences.trueBlackTheme=item.checked;
GlobalUserPreferences.save();
@ -438,6 +445,13 @@ public class SettingsFragment extends MastodonToolbarFragment{
}
}
public class ColorPicker extends Item{
@Override
public int getViewType(){
return 8;
}
}
private static class ThemeItem extends Item{
@Override
@ -522,6 +536,7 @@ public class SettingsFragment extends MastodonToolbarFragment{
case 5 -> new HeaderViewHolder(true);
case 6 -> new FooterViewHolder();
case 7 -> new UpdateViewHolder();
case 8 -> new ColorPickerViewHolder();
default -> throw new IllegalStateException("Unexpected value: "+viewType);
};
}
@ -650,6 +665,68 @@ public class SettingsFragment extends MastodonToolbarFragment{
}
}
}
private class ColorPickerViewHolder extends BindableViewHolder<ColorPicker>{
private final Button button;
private final PopupMenu popupMenu;
private final ImageView icon;
@SuppressLint("ClickableViewAccessibility")
public ColorPickerViewHolder(){
super(getActivity(), R.layout.item_settings_color_picker, list);
icon=findViewById(R.id.icon);
button=findViewById(R.id.color_picker_button);
popupMenu=new PopupMenu(getActivity(), button, Gravity.CENTER_HORIZONTAL);
popupMenu.inflate(R.menu.color_picker);
popupMenu.setOnMenuItemClickListener(item->{
GlobalUserPreferences.ColorPreference pref;
int id=item.getItemId();
if(id==R.id.pink_color) {
pref = GlobalUserPreferences.ColorPreference.PINK;
onColorPreferenceClick(pref);
}
else if(id==R.id.purple_color) {
pref = GlobalUserPreferences.ColorPreference.PURPLE;
onColorPreferenceClick(pref);
}
else if(id==R.id.green_color) {
pref = GlobalUserPreferences.ColorPreference.GREEN;
onColorPreferenceClick(pref);
}
else if(id==R.id.blue_color) {
pref = GlobalUserPreferences.ColorPreference.BLUE;
onColorPreferenceClick(pref);
}
else if(id==R.id.brown_color) {
pref = GlobalUserPreferences.ColorPreference.BROWN;
onColorPreferenceClick(pref);
}
else if(id==R.id.yellow_color) {
pref = GlobalUserPreferences.ColorPreference.YELLOW;
onColorPreferenceClick(pref);
}
else
return false;
return true;
});
// UiUtils.enablePopupMenuIcons(getActivity(), popupMenu);
button.setOnTouchListener(popupMenu.getDragToOpenListener());
button.setOnClickListener(v->popupMenu.show());
}
@Override
public void onBind(ColorPicker item){
icon.setImageResource(R.drawable.ic_fluent_color_24_regular);
button.setText(switch(GlobalUserPreferences.color){
case PINK -> R.string.sk_color_theme_pink;
case PURPLE -> R.string.sk_color_theme_purple;
case GREEN -> R.string.sk_color_theme_green;
case BLUE -> R.string.sk_color_theme_blue;
case BROWN -> R.string.sk_color_theme_brown;
case YELLOW -> R.string.sk_color_theme_yellow;
});
}
}
private class NotificationPolicyViewHolder extends BindableViewHolder<NotificationPolicyItem>{
private final Button button;

View File

@ -20,6 +20,7 @@ import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.provider.OpenableColumns;
import android.provider.Settings;
import android.text.SpannableStringBuilder;
import android.text.Spanned;
import android.view.Menu;
@ -655,13 +656,71 @@ public class UiUtils{
}
public static void setUserPreferredTheme(Context context){
// boolean isDarkTheme = isDarkTheme();
switch(GlobalUserPreferences.color){
case PINK:
context.setTheme(switch(GlobalUserPreferences.theme){
case AUTO -> GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_AutoLightDark_TrueBlack : R.style.Theme_Mastodon_AutoLightDark;
case LIGHT -> R.style.Theme_Mastodon_Light;
case DARK -> GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_Dark_TrueBlack : R.style.Theme_Mastodon_Dark;
case AUTO ->
GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_AutoLightDark_TrueBlack : R.style.Theme_Mastodon_AutoLightDark;
case LIGHT ->
R.style.Theme_Mastodon_Light;
case DARK ->
GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_Dark_TrueBlack : R.style.Theme_Mastodon_Dark;
});
break;
case PURPLE:
context.setTheme(switch(GlobalUserPreferences.theme){
case AUTO ->
GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_AutoLightDark_TrueBlack_Original : R.style.Theme_Mastodon_AutoLightDark_Original;
case LIGHT ->
R.style.Theme_Mastodon_Light_Original;
case DARK ->
GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_Dark_TrueBlack_Original : R.style.Theme_Mastodon_Dark_Original;
});
break;
case GREEN:
context.setTheme(switch(GlobalUserPreferences.theme){
case AUTO ->
GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_AutoLightDark_TrueBlack_Green : R.style.Theme_Mastodon_AutoLightDark_Green;
case LIGHT ->
R.style.Theme_Mastodon_Light_Green;
case DARK ->
GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_Dark_TrueBlack_Green : R.style.Theme_Mastodon_Dark_Green;
});
break;
case BLUE:
context.setTheme(switch(GlobalUserPreferences.theme){
case AUTO ->
GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_AutoLightDark_TrueBlack_Blue : R.style.Theme_Mastodon_AutoLightDark_Blue;
case LIGHT ->
R.style.Theme_Mastodon_Light_Blue;
case DARK ->
GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_Dark_TrueBlack_Blue : R.style.Theme_Mastodon_Dark_Blue;
});
break;
case BROWN:
context.setTheme(switch(GlobalUserPreferences.theme){
case AUTO ->
GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_AutoLightDark_TrueBlack_Brown : R.style.Theme_Mastodon_AutoLightDark_Brown;
case LIGHT ->
R.style.Theme_Mastodon_Light_Brown;
case DARK ->
GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_Dark_TrueBlack_Brown : R.style.Theme_Mastodon_Dark_Brown;
});
break;
case YELLOW:
context.setTheme(switch(GlobalUserPreferences.theme){
case AUTO ->
GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_AutoLightDark_TrueBlack_Yellow : R.style.Theme_Mastodon_AutoLightDark_Yellow;
case LIGHT ->
R.style.Theme_Mastodon_Light_Yellow;
case DARK ->
GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_Dark_TrueBlack_Yellow : R.style.Theme_Mastodon_Dark_Yellow;
});
break;
}
}
public static boolean isDarkTheme(){
if(GlobalUserPreferences.theme==GlobalUserPreferences.ThemePreference.AUTO)
return (MastodonApp.context.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK)==Configuration.UI_MODE_NIGHT_YES;

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/boost_selected" android:state_selected="true"/>
<item android:color="?android:colorAccent" android:state_selected="true"/>
<item android:color="?android:textColorSecondary" android:state_enabled="true"/>
<item android:color="?android:textColorSecondary" android:alpha="0.3"/>
</selector>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/gray_800" android:state_enabled="true"/>
<item android:color="@color/gray_300"/>
<item android:color="?android:colorPrimary" android:state_enabled="true"/>
<item android:color="?colorPollVoted"/>
</selector>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/gray_100" android:state_enabled="true"/>
<item android:color="@color/gray_500"/>
<item android:color="?colorSecondary" android:state_enabled="true"/>
<item android:color="?colorPollVoted"/>
</selector>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/gray_600" android:state_enabled="true"/>
<item android:color="@color/gray_300"/>
<item android:color="?colorPollVoted" android:state_enabled="true"/>
<item android:color="?colorSearchHint"/>
</selector>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/gray_50" android:state_enabled="true"/>
<item android:color="@color/gray_400"/>
<item android:color="?colorSecondary" android:state_enabled="true"/>
<item android:color="?colorTabInactive"/>
</selector>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/gray_800" android:state_enabled="true"/>
<item android:color="@color/gray_400"/>
<item android:color="?colorButtonText" android:state_enabled="true"/>
<item android:color="?colorTabInactive"/>
</selector>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/gray_800" android:state_enabled="true"/>
<item android:color="@color/gray_400"/>
<item android:color="?android:colorPrimary" android:state_enabled="true"/>
<item android:color="?colorTabInactive"/>
</selector>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/gray_50"/>
<item android:color="?colorSecondary"/>
</selector>

View File

@ -2,7 +2,7 @@
<ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/highlight_over_dark">
<item>
<shape android:shape="oval">
<solid android:color="@color/gray_600"/>
<solid android:color="?colorSearchHint"/>
</shape>
</item>
</ripple>

View File

@ -0,0 +1,3 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="24" android:viewportHeight="24">
<path android:pathData="M3.839 5.858c2.94-3.916 9.03-5.055 13.364-2.36 4.28 2.66 5.854 7.777 4.1 12.577-1.655 4.533-6.016 6.328-9.159 4.048-1.177-0.854-1.634-1.925-1.854-3.664l-0.106-0.987-0.045-0.398c-0.123-0.934-0.311-1.352-0.705-1.572C8.9 13.204 8.542 13.197 7.84 13.47l-0.351 0.146-0.179 0.078c-1.014 0.44-1.688 0.595-2.541 0.416l-0.2-0.047-0.164-0.047c-2.79-0.865-3.203-4.648-0.565-8.158zm0.984 6.716l0.123 0.037 0.134 0.03c0.439 0.087 0.814 0.015 1.437-0.242l0.602-0.257c1.202-0.493 1.985-0.54 3.046 0.05 0.917 0.512 1.275 1.298 1.457 2.66l0.053 0.459 0.055 0.532 0.047 0.422c0.172 1.361 0.485 2.09 1.248 2.644 2.275 1.65 5.534 0.309 6.87-3.349 1.516-4.152 0.174-8.514-3.484-10.789-3.675-2.284-8.899-1.306-11.373 1.987-2.075 2.763-1.82 5.28-0.215 5.816zm11.225-1.994c-0.18-0.667 0.217-1.353 0.883-1.531 0.667-0.179 1.353 0.217 1.531 0.884 0.18 0.667-0.217 1.352-0.884 1.53-0.666 0.18-1.352-0.216-1.53-0.883zm0.494 3.488c-0.179-0.666 0.217-1.352 0.884-1.53 0.667-0.18 1.352 0.216 1.531 0.883 0.179 0.667-0.217 1.353-0.884 1.531-0.667 0.179-1.352-0.217-1.53-0.884zM14.07 7.577c-0.179-0.667 0.217-1.352 0.884-1.53 0.667-0.18 1.352 0.216 1.53 0.883 0.18 0.667-0.216 1.352-0.883 1.53-0.667 0.18-1.352-0.216-1.53-0.883zm-0.028 8.998c-0.18-0.666 0.217-1.352 0.883-1.53 0.667-0.18 1.353 0.216 1.531 0.883 0.18 0.667-0.217 1.353-0.883 1.531-0.667 0.179-1.353-0.217-1.531-0.884zm-3.497-9.97c-0.179-0.666 0.217-1.352 0.883-1.53 0.667-0.18 1.353 0.217 1.532 0.883 0.178 0.667-0.218 1.353-0.884 1.531-0.667 0.179-1.353-0.217-1.531-0.884z" android:fillColor="@color/fluent_default_icon_tint"/>
</vector>

View File

@ -4,7 +4,7 @@
<item android:width="14dp" android:height="14dp" android:gravity="top|right">
<shape android:shape="oval">
<stroke android:color="?android:colorPrimary" android:width="2dp"/>
<solid android:color="@color/primary_600"/>
<solid android:color="?android:colorAccent"/>
</shape>
</item>
</layer-list>

View File

@ -4,7 +4,7 @@
<item android:width="14dp" android:height="14dp" android:gravity="top|right">
<shape android:shape="oval">
<stroke android:color="?android:colorPrimary" android:width="2dp"/>
<solid android:color="@color/primary_600"/>
<solid android:color="?android:colorAccent"/>
</shape>
</item>
</layer-list>

View File

@ -2,7 +2,7 @@
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="oval">
<stroke android:color="@color/gray_50" android:width="4dp"/>
<stroke android:color="?colorSecondary" android:width="4dp"/>
<solid android:color="#80000000"/>
<size android:width="52dp" android:height="52dp"/>
</shape>

View File

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<org.joinmastodon.android.ui.views.AutoOrientationLinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="48dp"
android:gravity="center_vertical"
android:layoutDirection="locale">
<ImageView
android:id="@+id/icon"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="32dp"
android:importantForAccessibility="no"
android:tint="?android:textColorPrimary"
tools:src="@drawable/ic_color_theme_preference"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:gravity="center_vertical"
android:textColor="?android:textColorPrimary"
android:textSize="16sp"
android:singleLine="true"
android:ellipsize="end"
android:text="@string/sk_settings_color_picker"/>
<Button
android:id="@+id/color_picker_button"
android:layout_width="wrap_content"
android:layout_height="32dp"
android:background="@drawable/bg_inline_button"
android:elevation="0dp"
android:ellipsize="middle"
android:fontFamily="sans-serif-medium"
android:singleLine="true"
android:stateListAnimator="@null"
android:textColor="?android:textColorPrimary"
android:textSize="16sp"
tools:text="@string/sk_color_theme_pink" />
</org.joinmastodon.android.ui.views.AutoOrientationLinearLayout>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/pink_color" android:title="@string/sk_color_theme_pink"/>
<item android:id="@+id/purple_color" android:title="@string/sk_color_theme_purple"/>
<item android:id="@+id/green_color" android:title="@string/sk_color_theme_green"/>
<item android:id="@+id/blue_color" android:title="@string/sk_color_theme_blue"/>
<item android:id="@+id/brown_color" android:title="@string/sk_color_theme_brown"/>
<item android:id="@+id/yellow_color" android:title="@string/sk_color_theme_yellow"/>
</menu>

View File

@ -2,4 +2,19 @@
<resources>
<style name="Theme.Mastodon.AutoLightDark" parent="Theme.Mastodon.Dark"/>
<style name="Theme.Mastodon.AutoLightDark.TrueBlack" parent="Theme.Mastodon.Dark.TrueBlack"/>
<style name="Theme.Mastodon.AutoLightDark.Original" parent="Theme.Mastodon.Dark.Original"/>
<style name="Theme.Mastodon.AutoLightDark.TrueBlack.Original" parent="Theme.Mastodon.Dark.TrueBlack.Original"/>
<style name="Theme.Mastodon.AutoLightDark.Green" parent="Theme.Mastodon.Dark.Green"/>
<style name="Theme.Mastodon.AutoLightDark.TrueBlack.Green" parent="Theme.Mastodon.Dark.TrueBlack.Green"/>
<style name="Theme.Mastodon.AutoLightDark.Blue" parent="Theme.Mastodon.Dark.Blue"/>
<style name="Theme.Mastodon.AutoLightDark.TrueBlack.Blue" parent="Theme.Mastodon.Dark.TrueBlack.Blue"/>
<style name="Theme.Mastodon.AutoLightDark.Brown" parent="Theme.Mastodon.Dark.Brown"/>
<style name="Theme.Mastodon.AutoLightDark.TrueBlack.Brown" parent="Theme.Mastodon.Dark.TrueBlack.Brown"/>
<style name="Theme.Mastodon.AutoLightDark.Yellow" parent="Theme.Mastodon.Dark.Yellow"/>
<style name="Theme.Mastodon.AutoLightDark.TrueBlack.Yellow" parent="Theme.Mastodon.Dark.TrueBlack.Yellow"/>
</resources>

View File

@ -20,7 +20,7 @@
<string name="time_hours">%dh</string>
<string name="time_days">%dd</string>
<string name="share_toot_title">Compartilhar</string>
<string name="settings">Confirgurações</string>
<string name="settings">Configurações</string>
<string name="publish">Publicar</string>
<string name="discard_draft">Descartar rascunho?</string>
<string name="discard">Descartar</string>

View File

@ -1,4 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="navigation_bar_bg">@color/gray_50</color>
<color name="green_navigation_bar_bg">@color/green_gray_50</color>
<color name="blue_navigation_bar_bg">@color/blue_gray_50</color>
<color name="brown_navigation_bar_bg">@color/brown_gray_50</color>
<color name="yellow_navigation_bar_bg">@color/yellow_gray_50</color>
</resources>

View File

@ -30,6 +30,106 @@
<color name="primary_700">#d92aad</color>
<color name="primary_800">#ae218a</color>
<color name="primary_900">#6d1556</color>
<color name="original_primary_25">#fafaff</color>
<color name="original_primary_50">#f4f3ff</color>
<color name="original_primary_100">#ebebff</color>
<color name="original_primary_200">#d7d7ff</color>
<color name="original_primary_300">#c2c2ff</color>
<color name="original_primary_400">#9999ff</color>
<color name="original_primary_500">#6364ff</color>
<color name="original_primary_600">#562cfc</color>
<color name="original_primary_700">#431cbb</color>
<color name="original_primary_800">#2f0c7a</color>
<color name="original_primary_900">#17063b</color>
<color name="green_primary_25">#fafaff</color>
<color name="green_primary_50">#d1feaf</color>
<color name="green_primary_100">#bbf294</color>
<color name="green_primary_200">#a0d57b</color>
<color name="green_primary_300">#85b962</color>
<color name="green_primary_400">#6c9e4b</color>
<color name="green_primary_500">#528232</color>
<color name="green_primary_600">#3b6a1c</color>
<color name="green_primary_700">#245103</color>
<color name="green_primary_800">#163800</color>
<color name="green_primary_900">#0a2100</color>
<color name="blue_primary_25">#fafaff</color>
<color name="blue_primary_50">#e8f2ff</color>
<color name="blue_primary_100">#cee5ff</color>
<color name="blue_primary_200">#97cbff</color>
<color name="blue_primary_300">#65b1f4</color>
<color name="blue_primary_400">#4796d7</color>
<color name="blue_primary_500">#227bba</color>
<color name="blue_primary_600">#00639b</color>
<color name="blue_primary_700">#004a76</color>
<color name="blue_primary_800">#003354</color>
<color name="blue_primary_900">#001d33</color>
<color name="brown_primary_25">#fafaff</color>
<color name="brown_primary_50">#ffeedf</color>
<color name="brown_primary_100">#ffdcbb</color>
<color name="brown_primary_200">#ffb869</color>
<color name="brown_primary_300">#e89a3b</color>
<color name="brown_primary_400">#c98121</color>
<color name="brown_primary_500">#a96700</color>
<color name="brown_primary_600">#885200</color>
<color name="brown_primary_700">#673d00</color>
<color name="brown_primary_800">#482900</color>
<color name="brown_primary_900">#2b1700</color>
<color name="yellow_primary_25">#fafaff</color>
<color name="yellow_primary_50">#fff0ca</color>
<color name="yellow_primary_100">#ffe084</color>
<color name="yellow_primary_200">#e8c349</color>
<color name="yellow_primary_300">#cba82f</color>
<color name="yellow_primary_400">#ae8d10</color>
<color name="yellow_primary_500">#8f7300</color>
<color name="yellow_primary_600">#735c00</color>
<color name="yellow_primary_700">#574500</color>
<color name="yellow_primary_800">#3c2f00</color>
<color name="yellow_primary_900">#231b00</color>
<color name="custom_gray_900">#000000</color>
<color name="custom_gray_800t">#cc171717</color>
<color name="custom_gray_800">#171717</color>
<color name="custom_gray_700">#191919</color>
<color name="custom_gray_600">#212121</color>
<color name="custom_gray_500">#242424</color>
<color name="green_gray_400">#a2b095</color>
<color name="green_gray_300">#bdcbaf</color>
<color name="green_gray_200">#d9e7ca</color>
<color name="green_gray_100">#d9e7ca</color>
<color name="green_gray_50t">#cce8f8d8</color>
<color name="green_gray_50">#e8f5d8</color>
<color name="green_gray_25">#f7f8fa</color>
<color name="blue_gray_400">#9eadbe</color>
<color name="blue_gray_300">#b9c8da</color>
<color name="blue_gray_200">#d5e4f7</color>
<color name="blue_gray_100">#e8f2ff</color>
<color name="blue_gray_50t">#cce8f2ff</color>
<color name="blue_gray_50">#e8f2ff</color>
<color name="blue_gray_25">#f7f8fa</color>
<color name="brown_gray_400">#c3a689</color>
<color name="brown_gray_300">#e0c1a3</color>
<color name="brown_gray_200">#feddbd</color>
<color name="brown_gray_100">#ffeedf</color>
<color name="brown_gray_50t">#ccffeedf</color>
<color name="brown_gray_50">#ffeedf</color>
<color name="brown_gray_25">#f7f8fa</color>
<color name="yellow_gray_400">#b8aa87</color>
<color name="yellow_gray_300">#d4c5a1</color>
<color name="yellow_gray_200">#f1e1bb</color>
<color name="yellow_gray_100">#fff0ca</color>
<color name="yellow_gray_50t">#ccfff0ca</color>
<color name="yellow_gray_50">#fff0ca</color>
<color name="yellow_gray_25">#f7f8fa</color>
<color name="error_25">#FFFBFA</color>
<color name="error_50">#FEF3F2</color>
<color name="error_100">#FEE4E2</color>

View File

@ -40,4 +40,11 @@
<string name="sk_settings_show_federated_timeline">Show federated timeline</string>
<string name="sk_notification_type_status">Posts</string>
<string name="sk_notify_posts">Post notifications</string>
<string name="sk_settings_color_picker">Color theme</string>
<string name="sk_color_theme_pink">Pink</string>
<string name="sk_color_theme_purple">Purple</string>
<string name="sk_color_theme_green">Green</string>
<string name="sk_color_theme_blue">Blue</string>
<string name="sk_color_theme_brown">Brown</string>
<string name="sk_color_theme_yellow">Yellow</string>
</resources>

View File

@ -70,6 +70,7 @@
<item name="colorM3PressedOverlay">@color/m3_sys_light_on_primary</item>
</style>
<style name="Theme.Mastodon.Dark" parent="Theme.AppKit">
<!-- needed to disable scrim on API 29+ -->
<item name="android:enforceNavigationBarContrast" tools:ignore="NewApi">false</item>
@ -161,6 +162,437 @@
<style name="Theme.Mastodon.AutoLightDark" parent="Theme.Mastodon.Light"/>
<style name="Theme.Mastodon.AutoLightDark.TrueBlack" parent="Theme.Mastodon.Light"/>
<style name="Theme.Mastodon.Light.CustomBase" parent="Theme.Mastodon.Light">
<!-- needed to disable scrim on API 29+ -->
<item name="android:colorPrimary">@color/custom_gray_800</item>
<item name="android:textColorPrimary">@color/custom_gray_800</item>
<item name="android:textColorSecondary">@color/custom_gray_500</item>
<item name="colorDarkIcon">@color/custom_gray_900</item>
<item name="colorSearchHint">@color/custom_gray_600</item>
<item name="profileHeaderBackground">@color/custom_gray_500</item>
</style>
<style name="Theme.Mastodon.Dark.CustomBase" parent="Theme.Mastodon.Dark">
<!-- needed to disable scrim on API 29+ -->
<item name="android:colorBackground">@color/custom_gray_700</item>
<item name="colorButtonText">@color/custom_gray_800</item>
<item name="colorBackgroundLight">@color/custom_gray_700</item>
<item name="colorBackgroundLightest">@color/custom_gray_900</item>
<item name="colorBackgroundPopup">@color/custom_gray_900</item>
<item name="colorDarkIcon">@color/gray_25</item>
<item name="colorWindowBackground">@color/custom_gray_800</item>
<item name="android:statusBarColor">@color/custom_gray_800</item>
<item name="android:navigationBarColor">@color/custom_gray_800</item>
<item name="colorPollVoted">@color/custom_gray_600</item>
<item name="profileHeaderBackground">?colorWindowBackground</item>
<item name="android:actionBarTheme">@style/Theme.Mastodon.Toolbar.Dark.CustomBase</item>
<!-- TODO dark colors -->
<item name="colorSearchField">@color/custom_gray_700</item>
</style>
<style name="Theme.Mastodon.Dark.TrueBlack.CustomBase">
<item name="colorPollVoted">@color/custom_gray_800</item>
<item name="colorSearchField">@color/custom_gray_900</item>
<item name="colorBackgroundPopup">@color/custom_gray_900</item>
<item name="android:navigationBarColor">@color/black</item>
<item name="android:colorBackground">@color/black</item>
<item name="android:statusBarColor">@color/black</item>
<item name="android:actionBarTheme">@style/Theme.Mastodon.Toolbar.Dark.TrueBlack</item>
<item name="colorBackgroundLight">@color/black</item>
<item name="colorWindowBackground">@color/black</item>
<item name="colorButtonText">@color/black</item>
<item name="colorBackgroundLightest">@color/black</item>
</style>
<style name="Theme.Mastodon.Light.Green" parent="Theme.Mastodon.Light.CustomBase">
<item name="android:colorAccent">@color/green_primary_700</item>
<item name="android:colorBackground">@color/green_gray_100</item>
<item name="colorButtonText">@color/green_gray_50</item>
<item name="colorBackgroundLight">@color/green_gray_50</item>
<item name="colorBackgroundLightest">@color/green_gray_25</item>
<item name="android:statusBarColor">@color/green_gray_50</item>
<item name="android:navigationBarColor">@color/green_navigation_bar_bg</item>
<item name="android:actionBarTheme">@style/Theme.Mastodon.Toolbar.Green</item>
<item name="android:alertDialogTheme">@style/Theme.Mastodon.Dialog.Alert.Green</item>
<item name="colorPollMostVoted">@color/green_primary_500</item>
<item name="colorPollVoted">@color/green_gray_300</item>
<item name="colorAccentLight">@color/green_primary_600</item>
<item name="colorSearchField">@color/green_gray_200</item>
<item name="colorTabInactive">@color/green_gray_400</item>
<item name="colorAccentLightest">@color/green_primary_100</item>
<item name="colorSecondary">@color/green_gray_50</item>
</style>
<style name="Theme.Mastodon.Dark.Green" parent="Theme.Mastodon.Dark.CustomBase">
<item name="android:colorAccent">@color/green_primary_400</item>
<item name="android:colorPrimary">@color/green_gray_50</item>
<item name="android:textColorPrimary">@color/green_gray_50</item>
<item name="android:textColorSecondary">@color/green_gray_400</item>
<item name="android:alertDialogTheme">@style/Theme.Mastodon.Dialog.Alert.Dark.Green</item>
<item name="colorPollMostVoted">@color/green_primary_700</item>
<item name="colorAccentLight">@color/green_primary_600</item>
<item name="colorAccentLightest">@color/green_primary_800</item>
<item name="colorTabInactive">@color/green_gray_400</item>
<item name="colorSearchHint">@color/green_gray_300</item>
<item name="colorSecondary">@color/green_gray_50</item>
</style>
<style name="Theme.Mastodon.Dark.TrueBlack.Green" parent="Theme.Mastodon.Dark.Green">
<item name="android:colorAccent">@color/green_primary_400</item>
<item name="colorPollMostVoted">@color/green_primary_700</item>
<item name="colorAccentLight">@color/green_primary_600</item>
<item name="colorAccentLightest">@color/green_primary_800</item>
<item name="colorSecondary">@color/green_gray_50</item>
<item name="colorPollVoted">@color/custom_gray_800</item>
<item name="colorSearchField">@color/custom_gray_900</item>
<item name="colorBackgroundPopup">@color/custom_gray_900</item>
<item name="android:navigationBarColor">@color/black</item>
<item name="android:colorBackground">@color/black</item>
<item name="android:statusBarColor">@color/black</item>
<item name="android:actionBarTheme">@style/Theme.Mastodon.Toolbar.Dark.TrueBlack</item>
<item name="colorBackgroundLight">@color/black</item>
<item name="colorWindowBackground">@color/black</item>
<item name="colorButtonText">@color/black</item>
<item name="colorBackgroundLightest">@color/black</item>
</style>
<style name="Theme.Mastodon.AutoLightDark.Green" parent="Theme.Mastodon.Light.Green"/>
<style name="Theme.Mastodon.AutoLightDark.TrueBlack.Green" parent="Theme.Mastodon.Light.Green"/>
<style name="Theme.Mastodon.Dialog.Alert.Dark.Green" parent="android:Theme.Material.Dialog.Alert">
<item name="android:windowTitleStyle">@style/alert_title</item>
<item name="android:dialogPreferredPadding">24dp</item>
<item name="android:windowBackground">@drawable/bg_alert</item>
<item name="android:buttonBarButtonStyle">@style/Widget.Mastodon.ButtonBarButton</item>
<!-- colors -->
<item name="android:colorAccent">@color/green_primary_600</item>
<item name="android:colorPrimary">@color/green_gray_50</item>
<item name="android:colorBackground">@color/custom_gray_700</item>
<item name="android:textColorPrimary">@color/green_gray_50</item>
<item name="android:textColorSecondary">@color/green_gray_400</item>
</style>
<style name="Theme.Mastodon.Dialog.Alert.Green" parent="android:Theme.Material.Light.Dialog.Alert">
<item name="android:windowTitleStyle">@style/alert_title</item>
<item name="android:dialogPreferredPadding">24dp</item>
<item name="android:windowBackground">@drawable/bg_alert</item>
<item name="android:buttonBarButtonStyle">@style/Widget.Mastodon.ButtonBarButton</item>
<!-- colors -->
<item name="android:colorAccent">@color/green_primary_700</item>
<item name="android:colorPrimary">@color/custom_gray_800</item>
<item name="android:colorBackground">@color/green_gray_100</item>
<item name="android:textColorPrimary">@color/custom_gray_800</item>
<item name="android:textColorSecondary">@color/custom_gray_500</item>
</style>
<style name="Theme.Mastodon.Toolbar.Green" parent="android:ThemeOverlay.Material.ActionBar">
<item name="android:colorPrimary">@color/green_gray_50</item>
<item name="android:textColorPrimary">@color/custom_gray_800</item>
<item name="android:textColorSecondary">@color/custom_gray_800</item>
</style>
<style name="Theme.Mastodon.Light.Blue" parent="Theme.Mastodon.Light.CustomBase">
<item name="android:colorAccent">@color/blue_primary_700</item>
<item name="android:colorBackground">@color/blue_gray_100</item>
<item name="colorButtonText">@color/blue_gray_50</item>
<item name="colorBackgroundLight">@color/blue_gray_50</item>
<item name="colorBackgroundLightest">@color/blue_gray_25</item>
<item name="android:statusBarColor">@color/blue_gray_50</item>
<item name="android:navigationBarColor">@color/blue_navigation_bar_bg</item>
<item name="android:actionBarTheme">@style/Theme.Mastodon.Toolbar.Blue</item>
<item name="android:alertDialogTheme">@style/Theme.Mastodon.Dialog.Alert.Blue</item>
<item name="colorPollMostVoted">@color/blue_primary_500</item>
<item name="colorPollVoted">@color/blue_gray_300</item>
<item name="colorAccentLight">@color/blue_primary_600</item>
<item name="colorSearchField">@color/blue_gray_200</item>
<item name="colorTabInactive">@color/blue_gray_400</item>
<item name="colorAccentLightest">@color/blue_primary_100</item>
<item name="colorSecondary">@color/blue_gray_50</item>
</style>
<style name="Theme.Mastodon.Dark.Blue" parent="Theme.Mastodon.Dark.CustomBase">
<item name="android:colorAccent">@color/blue_primary_400</item>
<item name="android:colorPrimary">@color/blue_gray_50</item>
<item name="android:textColorPrimary">@color/blue_gray_50</item>
<item name="android:textColorSecondary">@color/blue_gray_400</item>
<item name="android:alertDialogTheme">@style/Theme.Mastodon.Dialog.Alert.Dark.Blue</item>
<item name="colorPollMostVoted">@color/blue_primary_700</item>
<item name="colorAccentLight">@color/blue_primary_600</item>
<item name="colorAccentLightest">@color/blue_primary_800</item>
<item name="colorTabInactive">@color/blue_gray_400</item>
<item name="colorSearchHint">@color/blue_gray_300</item>
<item name="colorSecondary">@color/blue_gray_50</item>
</style>
<style name="Theme.Mastodon.Dark.TrueBlack.Blue" parent="Theme.Mastodon.Dark.Blue">
<item name="android:colorAccent">@color/blue_primary_400</item>
<item name="colorPollMostVoted">@color/blue_primary_700</item>
<item name="colorAccentLight">@color/blue_primary_600</item>
<item name="colorAccentLightest">@color/blue_primary_800</item>
<item name="colorSecondary">@color/blue_gray_50</item>
<item name="colorPollVoted">@color/custom_gray_800</item>
<item name="colorSearchField">@color/custom_gray_900</item>
<item name="colorBackgroundPopup">@color/custom_gray_900</item>
<item name="android:navigationBarColor">@color/black</item>
<item name="android:colorBackground">@color/black</item>
<item name="android:statusBarColor">@color/black</item>
<item name="android:actionBarTheme">@style/Theme.Mastodon.Toolbar.Dark.TrueBlack</item>
<item name="colorBackgroundLight">@color/black</item>
<item name="colorWindowBackground">@color/black</item>
<item name="colorButtonText">@color/black</item>
<item name="colorBackgroundLightest">@color/black</item>
</style>
<style name="Theme.Mastodon.AutoLightDark.Blue" parent="Theme.Mastodon.Light.Blue"/>
<style name="Theme.Mastodon.AutoLightDark.TrueBlack.Blue" parent="Theme.Mastodon.Light.Blue"/>
<style name="Theme.Mastodon.Dialog.Alert.Dark.Blue" parent="android:Theme.Material.Dialog.Alert">
<item name="android:windowTitleStyle">@style/alert_title</item>
<item name="android:dialogPreferredPadding">24dp</item>
<item name="android:windowBackground">@drawable/bg_alert</item>
<item name="android:buttonBarButtonStyle">@style/Widget.Mastodon.ButtonBarButton</item>
<!-- colors -->
<item name="android:colorAccent">@color/blue_primary_600</item>
<item name="android:colorPrimary">@color/blue_gray_50</item>
<item name="android:colorBackground">@color/custom_gray_700</item>
<item name="android:textColorPrimary">@color/blue_gray_50</item>
<item name="android:textColorSecondary">@color/blue_gray_400</item>
</style>
<style name="Theme.Mastodon.Dialog.Alert.Blue" parent="android:Theme.Material.Light.Dialog.Alert">
<item name="android:windowTitleStyle">@style/alert_title</item>
<item name="android:dialogPreferredPadding">24dp</item>
<item name="android:windowBackground">@drawable/bg_alert</item>
<item name="android:buttonBarButtonStyle">@style/Widget.Mastodon.ButtonBarButton</item>
<!-- colors -->
<item name="android:colorAccent">@color/blue_primary_700</item>
<item name="android:colorPrimary">@color/custom_gray_800</item>
<item name="android:colorBackground">@color/blue_gray_100</item>
<item name="android:textColorPrimary">@color/custom_gray_800</item>
<item name="android:textColorSecondary">@color/custom_gray_500</item>
</style>
<style name="Theme.Mastodon.Toolbar.Blue" parent="android:ThemeOverlay.Material.ActionBar">
<item name="android:colorPrimary">@color/blue_gray_50</item>
<item name="android:textColorPrimary">@color/custom_gray_800</item>
<item name="android:textColorSecondary">@color/custom_gray_800</item>
</style>
<style name="Theme.Mastodon.Light.Brown" parent="Theme.Mastodon.Light.CustomBase">
<item name="android:colorAccent">@color/brown_primary_700</item>
<item name="android:colorBackground">@color/brown_gray_100</item>
<item name="colorButtonText">@color/brown_gray_50</item>
<item name="colorBackgroundLight">@color/brown_gray_50</item>
<item name="colorBackgroundLightest">@color/brown_gray_25</item>
<item name="android:statusBarColor">@color/brown_gray_50</item>
<item name="android:navigationBarColor">@color/brown_navigation_bar_bg</item>
<item name="android:actionBarTheme">@style/Theme.Mastodon.Toolbar.Brown</item>
<item name="android:alertDialogTheme">@style/Theme.Mastodon.Dialog.Alert.Brown</item>
<item name="colorPollMostVoted">@color/brown_primary_500</item>
<item name="colorPollVoted">@color/brown_gray_200</item>
<item name="colorAccentLight">@color/brown_primary_600</item>
<item name="colorSearchField">@color/brown_gray_200</item>
<item name="colorTabInactive">@color/brown_gray_400</item>
<item name="colorAccentLightest">@color/brown_primary_100</item>
<item name="colorSecondary">@color/brown_gray_50</item>
</style>
<style name="Theme.Mastodon.Dark.Brown" parent="Theme.Mastodon.Dark.CustomBase">
<item name="android:colorAccent">@color/brown_primary_400</item>
<item name="android:colorPrimary">@color/brown_gray_50</item>
<item name="android:textColorPrimary">@color/brown_gray_50</item>
<item name="android:textColorSecondary">@color/brown_gray_400</item>
<item name="android:alertDialogTheme">@style/Theme.Mastodon.Dialog.Alert.Dark.Brown</item>
<item name="colorPollMostVoted">@color/brown_primary_700</item>
<item name="colorAccentLight">@color/brown_primary_600</item>
<item name="colorAccentLightest">@color/brown_primary_800</item>
<item name="colorTabInactive">@color/brown_gray_400</item>
<item name="colorSearchHint">@color/brown_gray_300</item>
<item name="colorSecondary">@color/brown_gray_50</item>
</style>
<style name="Theme.Mastodon.Dark.TrueBlack.Brown" parent="Theme.Mastodon.Dark.Brown">
<item name="android:colorAccent">@color/brown_primary_400</item>
<item name="colorPollMostVoted">@color/brown_primary_700</item>
<item name="colorAccentLight">@color/brown_primary_600</item>
<item name="colorAccentLightest">@color/brown_primary_800</item>
<item name="colorSecondary">@color/brown_gray_50</item>
<item name="colorPollVoted">@color/custom_gray_800</item>
<item name="colorSearchField">@color/custom_gray_900</item>
<item name="colorBackgroundPopup">@color/custom_gray_900</item>
<item name="android:navigationBarColor">@color/black</item>
<item name="android:colorBackground">@color/black</item>
<item name="android:statusBarColor">@color/black</item>
<item name="android:actionBarTheme">@style/Theme.Mastodon.Toolbar.Dark.TrueBlack</item>
<item name="colorBackgroundLight">@color/black</item>
<item name="colorWindowBackground">@color/black</item>
<item name="colorButtonText">@color/black</item>
<item name="colorBackgroundLightest">@color/black</item>
</style>
<style name="Theme.Mastodon.AutoLightDark.Brown" parent="Theme.Mastodon.Light.Brown"/>
<style name="Theme.Mastodon.AutoLightDark.TrueBlack.Brown" parent="Theme.Mastodon.Light.Brown"/>
<style name="Theme.Mastodon.Dialog.Alert.Dark.Brown" parent="android:Theme.Material.Dialog.Alert">
<item name="android:windowTitleStyle">@style/alert_title</item>
<item name="android:dialogPreferredPadding">24dp</item>
<item name="android:windowBackground">@drawable/bg_alert</item>
<item name="android:buttonBarButtonStyle">@style/Widget.Mastodon.ButtonBarButton</item>
<!-- colors -->
<item name="android:colorAccent">@color/brown_primary_600</item>
<item name="android:colorPrimary">@color/brown_gray_50</item>
<item name="android:colorBackground">@color/custom_gray_700</item>
<item name="android:textColorPrimary">@color/brown_gray_50</item>
<item name="android:textColorSecondary">@color/brown_gray_400</item>
</style>
<style name="Theme.Mastodon.Dialog.Alert.Brown" parent="android:Theme.Material.Light.Dialog.Alert">
<item name="android:windowTitleStyle">@style/alert_title</item>
<item name="android:dialogPreferredPadding">24dp</item>
<item name="android:windowBackground">@drawable/bg_alert</item>
<item name="android:buttonBarButtonStyle">@style/Widget.Mastodon.ButtonBarButton</item>
<!-- colors -->
<item name="android:colorAccent">@color/brown_primary_700</item>
<item name="android:colorPrimary">@color/custom_gray_800</item>
<item name="android:colorBackground">@color/brown_gray_100</item>
<item name="android:textColorPrimary">@color/custom_gray_800</item>
<item name="android:textColorSecondary">@color/custom_gray_500</item>
</style>
<style name="Theme.Mastodon.Toolbar.Brown" parent="android:ThemeOverlay.Material.ActionBar">
<item name="android:colorPrimary">@color/brown_gray_50</item>
<item name="android:textColorPrimary">@color/custom_gray_800</item>
<item name="android:textColorSecondary">@color/custom_gray_800</item>
</style>
<style name="Theme.Mastodon.Light.Yellow" parent="Theme.Mastodon.Light.CustomBase">
<item name="android:colorAccent">@color/yellow_primary_700</item>
<item name="android:colorBackground">@color/yellow_gray_100</item>
<item name="colorButtonText">@color/yellow_gray_50</item>
<item name="colorBackgroundLight">@color/yellow_gray_50</item>
<item name="colorBackgroundLightest">@color/yellow_gray_25</item>
<item name="android:statusBarColor">@color/yellow_gray_50</item>
<item name="android:navigationBarColor">@color/yellow_navigation_bar_bg</item>
<item name="android:actionBarTheme">@style/Theme.Mastodon.Toolbar.Yellow</item>
<item name="android:alertDialogTheme">@style/Theme.Mastodon.Dialog.Alert.Yellow</item>
<item name="colorPollMostVoted">@color/yellow_primary_500</item>
<item name="colorPollVoted">@color/yellow_gray_300</item>
<item name="colorAccentLight">@color/yellow_primary_600</item>
<item name="colorSearchField">@color/yellow_gray_200</item>
<item name="colorTabInactive">@color/yellow_gray_400</item>
<item name="colorAccentLightest">@color/yellow_primary_100</item>
<item name="colorSecondary">@color/yellow_gray_50</item>
</style>
<style name="Theme.Mastodon.Dark.Yellow" parent="Theme.Mastodon.Dark.CustomBase">
<item name="android:colorAccent">@color/yellow_primary_400</item>
<item name="android:colorPrimary">@color/yellow_gray_50</item>
<item name="android:textColorPrimary">@color/yellow_gray_50</item>
<item name="android:textColorSecondary">@color/yellow_gray_400</item>
<item name="android:alertDialogTheme">@style/Theme.Mastodon.Dialog.Alert.Dark.Yellow</item>
<item name="colorPollMostVoted">@color/yellow_primary_700</item>
<item name="colorAccentLight">@color/yellow_primary_600</item>
<item name="colorAccentLightest">@color/yellow_primary_800</item>
<item name="colorTabInactive">@color/yellow_gray_400</item>
<item name="colorSearchHint">@color/yellow_gray_300</item>
<item name="colorSecondary">@color/yellow_gray_50</item>
</style>
<style name="Theme.Mastodon.Dark.TrueBlack.Yellow" parent="Theme.Mastodon.Dark.Yellow">
<item name="android:colorAccent">@color/yellow_primary_400</item>
<item name="colorPollMostVoted">@color/yellow_primary_700</item>
<item name="colorAccentLight">@color/yellow_primary_600</item>
<item name="colorAccentLightest">@color/yellow_primary_800</item>
<item name="colorSecondary">@color/yellow_gray_50</item>
<item name="colorPollVoted">@color/custom_gray_800</item>
<item name="colorSearchField">@color/custom_gray_900</item>
<item name="colorBackgroundPopup">@color/custom_gray_900</item>
<item name="android:navigationBarColor">@color/black</item>
<item name="android:colorBackground">@color/black</item>
<item name="android:statusBarColor">@color/black</item>
<item name="android:actionBarTheme">@style/Theme.Mastodon.Toolbar.Dark.TrueBlack</item>
<item name="colorBackgroundLight">@color/black</item>
<item name="colorWindowBackground">@color/black</item>
<item name="colorButtonText">@color/black</item>
<item name="colorBackgroundLightest">@color/black</item>
</style>
<style name="Theme.Mastodon.AutoLightDark.Yellow" parent="Theme.Mastodon.Light.Yellow"/>
<style name="Theme.Mastodon.AutoLightDark.TrueBlack.Yellow" parent="Theme.Mastodon.Light.Yellow"/>
<style name="Theme.Mastodon.Dialog.Alert.Dark.Yellow" parent="android:Theme.Material.Dialog.Alert">
<item name="android:windowTitleStyle">@style/alert_title</item>
<item name="android:dialogPreferredPadding">24dp</item>
<item name="android:windowBackground">@drawable/bg_alert</item>
<item name="android:buttonBarButtonStyle">@style/Widget.Mastodon.ButtonBarButton</item>
<!-- colors -->
<item name="android:colorAccent">@color/yellow_primary_600</item>
<item name="android:colorPrimary">@color/yellow_gray_50</item>
<item name="android:colorBackground">@color/custom_gray_700</item>
<item name="android:textColorPrimary">@color/yellow_gray_50</item>
<item name="android:textColorSecondary">@color/yellow_gray_400</item>
</style>
<style name="Theme.Mastodon.Dialog.Alert.Yellow" parent="android:Theme.Material.Light.Dialog.Alert">
<item name="android:windowTitleStyle">@style/alert_title</item>
<item name="android:dialogPreferredPadding">24dp</item>
<item name="android:windowBackground">@drawable/bg_alert</item>
<item name="android:buttonBarButtonStyle">@style/Widget.Mastodon.ButtonBarButton</item>
<!-- colors -->
<item name="android:colorAccent">@color/yellow_primary_700</item>
<item name="android:colorPrimary">@color/custom_gray_800</item>
<item name="android:colorBackground">@color/yellow_gray_100</item>
<item name="android:textColorPrimary">@color/custom_gray_800</item>
<item name="android:textColorSecondary">@color/custom_gray_500</item>
</style>
<style name="Theme.Mastodon.Toolbar.Yellow" parent="android:ThemeOverlay.Material.ActionBar">
<item name="android:colorPrimary">@color/yellow_gray_50</item>
<item name="android:textColorPrimary">@color/custom_gray_800</item>
<item name="android:textColorSecondary">@color/custom_gray_800</item>
</style>
<style name="Theme.Mastodon.Dark.Original" parent="Theme.Mastodon.Dark">
<item name="android:colorAccent">@color/original_primary_400</item>
<item name="colorPollMostVoted">@color/original_primary_700</item>
<item name="colorAccentLight">@color/original_primary_600</item>
<item name="colorAccentLightest">@color/original_primary_800</item>
</style>
<style name="Theme.Mastodon.Dark.TrueBlack.Original" parent="Theme.Mastodon.Dark.TrueBlack">
<item name="android:colorAccent">@color/original_primary_400</item>
<item name="colorPollMostVoted">@color/original_primary_700</item>
<item name="colorAccentLight">@color/original_primary_600</item>
<item name="colorAccentLightest">@color/original_primary_800</item>
</style>
<style name="Theme.Mastodon.Light.Original" parent="Theme.Mastodon.Light">
<item name="android:colorAccent">@color/original_primary_400</item>
<item name="colorPollMostVoted">@color/original_primary_700</item>
<item name="colorAccentLight">@color/original_primary_600</item>
<item name="colorAccentLightest">@color/original_primary_800</item>
</style>
<style name="Theme.Mastodon.AutoLightDark.Original" parent="Theme.Mastodon.Light.Original"/>
<style name="Theme.Mastodon.AutoLightDark.TrueBlack.Original" parent="Theme.Mastodon.Light.Original"/>
<style name="Theme.Mastodon.Toolbar" parent="android:ThemeOverlay.Material.ActionBar">
<item name="android:colorPrimary">@color/gray_50</item>
<item name="android:textColorPrimary">@color/gray_800</item>
@ -181,19 +613,25 @@
<item name="android:titleMarginStart">0dp</item>
</style>
<style name="Theme.Mastodon.Toolbar.Dark.CustomBase" parent="android:ThemeOverlay.Material.Dark.ActionBar">
<item name="android:colorPrimary">@color/custom_gray_800</item>
<item name="android:textColorPrimary">@color/gray_50</item>
<item name="android:textColorSecondary">@color/gray_50</item>
</style>
<style name="Theme.Mastodon.Toolbar.Dark.TrueBlack" parent="android:ThemeOverlay.Material.Dark.ActionBar">
<item name="android:colorPrimary">@color/black</item>
</style>
<style name="Theme.Mastodon.Toolbar.Profile">
<item name="android:textColorPrimary">@color/gray_50</item>
<item name="android:textColorSecondary">@color/gray_50</item>
<item name="android:drawableTint">@color/gray_50</item>
<item name="android:popupTheme">@style/Theme.Mastodon.AutoLightDark</item>
<item name="android:textColorPrimary">?android:colorPrimary</item>
<item name="android:textColorSecondary">?android:colorPrimary</item>
<item name="android:drawableTint">?android:colorPrimary</item>
<item name="android:popupTheme">?android:actionBarTheme</item>
<item name="android:titleTextAppearance">@style/m3_title_medium</item>
<item name="android:titleTextColor">@color/gray_50</item>
<item name="android:titleTextColor">?android:colorPrimary</item>
<item name="android:subtitleTextAppearance">@style/m3_body_medium</item>
<item name="android:subtitleTextColor">@color/gray_50</item>
<item name="android:subtitleTextColor">?android:colorPrimary</item>
</style>
<style name="Widget.Mastodon.Button" parent="android:Widget.Material.Button">