Add Obsidian theme
This commit is contained in:
parent
7671d5e42e
commit
1ab4ee326e
|
@ -0,0 +1,182 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="36"
|
||||||
|
height="26"
|
||||||
|
id="svg2"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
|
||||||
|
sodipodi:docname="message_bubble_received_obsidian.svg">
|
||||||
|
<defs
|
||||||
|
id="defs4">
|
||||||
|
<filter
|
||||||
|
x="-0.25"
|
||||||
|
y="-0.25"
|
||||||
|
width="1.5"
|
||||||
|
height="1.5"
|
||||||
|
inkscape:label="Drop Shadow"
|
||||||
|
id="filter3811"
|
||||||
|
color-interpolation-filters="sRGB">
|
||||||
|
<feFlood
|
||||||
|
flood-opacity="0.25"
|
||||||
|
flood-color="rgb(0,0,0)"
|
||||||
|
result="flood"
|
||||||
|
id="feFlood3813" />
|
||||||
|
<feComposite
|
||||||
|
in="flood"
|
||||||
|
in2="SourceGraphic"
|
||||||
|
operator="in"
|
||||||
|
result="composite1"
|
||||||
|
id="feComposite3815" />
|
||||||
|
<feGaussianBlur
|
||||||
|
stdDeviation="0.5"
|
||||||
|
result="blur"
|
||||||
|
id="feGaussianBlur3817" />
|
||||||
|
<feOffset
|
||||||
|
dx="0"
|
||||||
|
dy="1"
|
||||||
|
result="offset"
|
||||||
|
id="feOffset3819" />
|
||||||
|
<feComposite
|
||||||
|
in="SourceGraphic"
|
||||||
|
in2="offset"
|
||||||
|
operator="over"
|
||||||
|
result="composite2"
|
||||||
|
id="feComposite3821" />
|
||||||
|
</filter>
|
||||||
|
<linearGradient
|
||||||
|
id="paint0_linear"
|
||||||
|
x1="1260"
|
||||||
|
y1="1570.41"
|
||||||
|
x2="618.987"
|
||||||
|
y2="488.325"
|
||||||
|
gradientUnits="userSpaceOnUse">
|
||||||
|
<stop
|
||||||
|
stop-color="#7D01DD"
|
||||||
|
id="stop1226" />
|
||||||
|
<stop
|
||||||
|
offset="1"
|
||||||
|
stop-color="#8301E9"
|
||||||
|
id="stop1228" />
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="22.627417"
|
||||||
|
inkscape:cx="10.265754"
|
||||||
|
inkscape:cy="15.902718"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="layer"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:window-width="2354"
|
||||||
|
inkscape:window-height="1060"
|
||||||
|
inkscape:window-x="1478"
|
||||||
|
inkscape:window-y="1092"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
showguides="true"
|
||||||
|
inkscape:guide-bbox="true"
|
||||||
|
guidecolor="#000000"
|
||||||
|
guideopacity="0.49803922"
|
||||||
|
inkscape:document-rotation="0"
|
||||||
|
inkscape:snap-global="true">
|
||||||
|
<inkscape:grid
|
||||||
|
type="xygrid"
|
||||||
|
id="grid2985"
|
||||||
|
empspacing="4"
|
||||||
|
visible="true"
|
||||||
|
enabled="true"
|
||||||
|
snapvisiblegridlinesonly="true"
|
||||||
|
spacingx="1"
|
||||||
|
spacingy="1"
|
||||||
|
originx="0"
|
||||||
|
originy="0"
|
||||||
|
color="#0000ff"
|
||||||
|
opacity="0.03137255" />
|
||||||
|
<sodipodi:guide
|
||||||
|
orientation="1,0"
|
||||||
|
position="20,26"
|
||||||
|
id="guide3060" />
|
||||||
|
<sodipodi:guide
|
||||||
|
orientation="1,0"
|
||||||
|
position="24,26"
|
||||||
|
id="guide3062" />
|
||||||
|
<sodipodi:guide
|
||||||
|
orientation="0,1"
|
||||||
|
position="36,22"
|
||||||
|
id="guide3064" />
|
||||||
|
<sodipodi:guide
|
||||||
|
orientation="0,1"
|
||||||
|
position="36,6"
|
||||||
|
id="guide3066" />
|
||||||
|
<sodipodi:guide
|
||||||
|
orientation="1,0"
|
||||||
|
position="26,0"
|
||||||
|
id="guide3068" />
|
||||||
|
<sodipodi:guide
|
||||||
|
orientation="1,0"
|
||||||
|
position="18,0"
|
||||||
|
id="guide3070" />
|
||||||
|
<sodipodi:guide
|
||||||
|
orientation="0,1"
|
||||||
|
position="0,10"
|
||||||
|
id="guide3074" />
|
||||||
|
<sodipodi:guide
|
||||||
|
orientation="0,1"
|
||||||
|
position="0,8"
|
||||||
|
id="guide3076" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<metadata
|
||||||
|
id="metadata7">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer"
|
||||||
|
transform="translate(0,-2)">
|
||||||
|
<g
|
||||||
|
id="g3759"
|
||||||
|
style="fill:#1e0036;fill-opacity:1;stroke:none;fill-rule:nonzero;filter:url(#filter3811)">
|
||||||
|
<path
|
||||||
|
style="display:none;fill:#1e0036;fill-opacity:1"
|
||||||
|
d="m 8,6 c 2,2 4,6 4,10 L 16,6 z"
|
||||||
|
id="path3805"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
transform="translate(0,2)"
|
||||||
|
sodipodi:nodetypes="cccc" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path2989"
|
||||||
|
d="M 4,4 16,16 16,4 z"
|
||||||
|
sodipodi:nodetypes="cccc"
|
||||||
|
style="fill:#1e0036;fill-opacity:1" />
|
||||||
|
<rect
|
||||||
|
ry="2"
|
||||||
|
y="4"
|
||||||
|
x="12"
|
||||||
|
height="20"
|
||||||
|
width="20"
|
||||||
|
id="rect2987"
|
||||||
|
style="fill:#1e0036;fill-opacity:1" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 4.6 KiB |
|
@ -304,6 +304,22 @@
|
||||||
</item>
|
</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<style name="ConversationsTheme.Obsidian" parent="ConversationsTheme.Dark">
|
||||||
|
<item name="colorPrimary">#1E0036</item>
|
||||||
|
<item name="colorPrimaryDark">#1E0036</item>
|
||||||
|
<item name="colorAccent">@color/yeller</item>
|
||||||
|
|
||||||
|
<item name="message_bubble_received_monochrome" type="reference">
|
||||||
|
@drawable/message_bubble_received_grey
|
||||||
|
</item>
|
||||||
|
<item name="message_bubble_sent" type="reference">@drawable/message_bubble_sent_grey</item>
|
||||||
|
<item name="message_bubble_received_green" type="reference">
|
||||||
|
@drawable/message_bubble_received_obsidian
|
||||||
|
</item>
|
||||||
|
|
||||||
|
<item name="unread_count">#1E0036</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
<style name="ConversationsTheme.Medium" parent="ConversationsTheme">
|
<style name="ConversationsTheme.Medium" parent="ConversationsTheme">
|
||||||
<item name="TextSizeCaption">14sp</item>
|
<item name="TextSizeCaption">14sp</item>
|
||||||
<item name="TextSizeBody1">16sp</item>
|
<item name="TextSizeBody1">16sp</item>
|
||||||
|
@ -328,6 +344,18 @@
|
||||||
<item name="IconSize">20sp</item>
|
<item name="IconSize">20sp</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<style name="ConversationsTheme.Obsidian.Medium" parent="ConversationsTheme.Obsidian">
|
||||||
|
<item name="TextSizeCaption">14sp</item>
|
||||||
|
<item name="TextSizeBody1">16sp</item>
|
||||||
|
<item name="TextSizeBody2">16sp</item>
|
||||||
|
<item name="TextSizeSubhead">18sp</item>
|
||||||
|
<item name="TextSizeTitle">22sp</item>
|
||||||
|
<item name="TextSizeDisplay2">47sp</item>
|
||||||
|
<item name="TextSizeInput">18sp</item>
|
||||||
|
<item name="TextSeparation">6sp</item>
|
||||||
|
<item name="IconSize">20sp</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
<style name="ConversationsTheme.Dark.Large" parent="ConversationsTheme.Dark">
|
<style name="ConversationsTheme.Dark.Large" parent="ConversationsTheme.Dark">
|
||||||
<item name="TextSizeCaption">16sp</item>
|
<item name="TextSizeCaption">16sp</item>
|
||||||
<item name="TextSizeBody1">18sp</item>
|
<item name="TextSizeBody1">18sp</item>
|
||||||
|
@ -340,6 +368,18 @@
|
||||||
<item name="IconSize">22sp</item>
|
<item name="IconSize">22sp</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<style name="ConversationsTheme.Obsidian.Large" parent="ConversationsTheme.Obsidian">
|
||||||
|
<item name="TextSizeCaption">16sp</item>
|
||||||
|
<item name="TextSizeBody1">18sp</item>
|
||||||
|
<item name="TextSizeBody2">18sp</item>
|
||||||
|
<item name="TextSizeSubhead">20sp</item>
|
||||||
|
<item name="TextSizeTitle">24sp</item>
|
||||||
|
<item name="TextSizeDisplay2">48sp</item>
|
||||||
|
<item name="TextSizeInput">20sp</item>
|
||||||
|
<item name="TextSeparation">7sp</item>
|
||||||
|
<item name="IconSize">22sp</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
<style name="ConversationsTheme.Large" parent="ConversationsTheme">
|
<style name="ConversationsTheme.Large" parent="ConversationsTheme">
|
||||||
<item name="TextSizeCaption">16sp</item>
|
<item name="TextSizeCaption">16sp</item>
|
||||||
<item name="TextSizeBody1">18sp</item>
|
<item name="TextSizeBody1">18sp</item>
|
||||||
|
|
|
@ -52,14 +52,18 @@ public class ThemeHelper {
|
||||||
public static int find(final Context context) {
|
public static int find(final Context context) {
|
||||||
final SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
|
final SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
|
||||||
final Resources resources = context.getResources();
|
final Resources resources = context.getResources();
|
||||||
|
final String setting = sharedPreferences.getString(SettingsActivity.THEME, resources.getString(R.string.theme));
|
||||||
final boolean dark = isDark(sharedPreferences, resources);
|
final boolean dark = isDark(sharedPreferences, resources);
|
||||||
final String fontSize = sharedPreferences.getString("font_size", resources.getString(R.string.default_font_size));
|
final String fontSize = sharedPreferences.getString("font_size", resources.getString(R.string.default_font_size));
|
||||||
switch (fontSize) {
|
switch (fontSize) {
|
||||||
case "medium":
|
case "medium":
|
||||||
|
if ("obsidian".equals(setting)) return R.style.ConversationsTheme_Obsidian_Medium;
|
||||||
return dark ? R.style.ConversationsTheme_Dark_Medium : R.style.ConversationsTheme_Medium;
|
return dark ? R.style.ConversationsTheme_Dark_Medium : R.style.ConversationsTheme_Medium;
|
||||||
case "large":
|
case "large":
|
||||||
|
if ("obsidian".equals(setting)) return R.style.ConversationsTheme_Obsidian_Large;
|
||||||
return dark ? R.style.ConversationsTheme_Dark_Large : R.style.ConversationsTheme_Large;
|
return dark ? R.style.ConversationsTheme_Dark_Large : R.style.ConversationsTheme_Large;
|
||||||
default:
|
default:
|
||||||
|
if ("obsidian".equals(setting)) return R.style.ConversationsTheme_Obsidian;
|
||||||
return dark ? R.style.ConversationsTheme_Dark : R.style.ConversationsTheme;
|
return dark ? R.style.ConversationsTheme_Dark : R.style.ConversationsTheme;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -84,7 +88,7 @@ public class ThemeHelper {
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && "automatic".equals(setting)) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && "automatic".equals(setting)) {
|
||||||
return (resources.getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK) == Configuration.UI_MODE_NIGHT_YES;
|
return (resources.getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK) == Configuration.UI_MODE_NIGHT_YES;
|
||||||
} else {
|
} else {
|
||||||
return "dark".equals(setting);
|
return "dark".equals(setting) || "obsidian".equals(setting);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -93,6 +97,9 @@ public class ThemeHelper {
|
||||||
case R.style.ConversationsTheme_Dark:
|
case R.style.ConversationsTheme_Dark:
|
||||||
case R.style.ConversationsTheme_Dark_Large:
|
case R.style.ConversationsTheme_Dark_Large:
|
||||||
case R.style.ConversationsTheme_Dark_Medium:
|
case R.style.ConversationsTheme_Dark_Medium:
|
||||||
|
case R.style.ConversationsTheme_Obsidian:
|
||||||
|
case R.style.ConversationsTheme_Obsidian_Large:
|
||||||
|
case R.style.ConversationsTheme_Obsidian_Medium:
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 586 B |
Binary file not shown.
After Width: | Height: | Size: 905 B |
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
Binary file not shown.
After Width: | Height: | Size: 1.6 KiB |
|
@ -6,11 +6,13 @@
|
||||||
<item>@string/pref_theme_automatic</item>
|
<item>@string/pref_theme_automatic</item>
|
||||||
<item>@string/pref_theme_light</item>
|
<item>@string/pref_theme_light</item>
|
||||||
<item>@string/pref_theme_dark</item>
|
<item>@string/pref_theme_dark</item>
|
||||||
|
<item>@string/pref_theme_obsidian</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
<string-array name="themes_values" tools:ignore="InconsistentArrays">
|
<string-array name="themes_values" tools:ignore="InconsistentArrays">
|
||||||
<item>automatic</item>
|
<item>automatic</item>
|
||||||
<item>light</item>
|
<item>light</item>
|
||||||
<item>dark</item>
|
<item>dark</item>
|
||||||
|
<item>obsidian</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -574,6 +574,7 @@
|
||||||
<string name="pref_theme_automatic">Automatic</string>
|
<string name="pref_theme_automatic">Automatic</string>
|
||||||
<string name="pref_theme_light">Light</string>
|
<string name="pref_theme_light">Light</string>
|
||||||
<string name="pref_theme_dark">Dark</string>
|
<string name="pref_theme_dark">Dark</string>
|
||||||
|
<string name="pref_theme_obsidian">Obsidian</string>
|
||||||
<string name="pref_use_green_background">Purple Background</string>
|
<string name="pref_use_green_background">Purple Background</string>
|
||||||
<string name="pref_use_green_background_summary">Use purple background for received messages</string>
|
<string name="pref_use_green_background_summary">Use purple background for received messages</string>
|
||||||
<string name="unable_to_connect_to_keychain">Could not connect to OpenKeychain</string>
|
<string name="unable_to_connect_to_keychain">Could not connect to OpenKeychain</string>
|
||||||
|
|
|
@ -5,10 +5,12 @@
|
||||||
<string-array name="themes">
|
<string-array name="themes">
|
||||||
<item>@string/pref_theme_light</item>
|
<item>@string/pref_theme_light</item>
|
||||||
<item>@string/pref_theme_dark</item>
|
<item>@string/pref_theme_dark</item>
|
||||||
|
<item>@string/pref_theme_obsidian</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
<string-array name="themes_values">
|
<string-array name="themes_values">
|
||||||
<item>light</item>
|
<item>light</item>
|
||||||
<item>dark</item>
|
<item>dark</item>
|
||||||
|
<item>obsidian</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
Loading…
Reference in New Issue