diff --git a/mastodon/build.gradle b/mastodon/build.gradle
index 3757881ba..8748c8369 100644
--- a/mastodon/build.gradle
+++ b/mastodon/build.gradle
@@ -13,7 +13,7 @@ android {
applicationId "org.joinmastodon.android"
minSdk 23
targetSdk 34
- versionCode 122
+ versionCode 123
versionName "2.7.3"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/text/BaseMonospaceSpan.java b/mastodon/src/main/java/org/joinmastodon/android/ui/text/BaseMonospaceSpan.java
index 84fa9ba04..8425cc441 100644
--- a/mastodon/src/main/java/org/joinmastodon/android/ui/text/BaseMonospaceSpan.java
+++ b/mastodon/src/main/java/org/joinmastodon/android/ui/text/BaseMonospaceSpan.java
@@ -21,7 +21,7 @@ public abstract class BaseMonospaceSpan extends TypefaceSpan{
@Override
public void updateDrawState(@NonNull TextPaint paint){
super.updateDrawState(paint);
- paint.setColor(UiUtils.getThemeColor(context, R.attr.colorM3Tertiary));
+ paint.setColor(UiUtils.getThemeColor(context, R.attr.colorRichTextText));
paint.setTextSize(paint.getTextSize()*0.9375f);
paint.baselineShift=V.dp(-1);
}
diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/text/BlockQuoteSpan.java b/mastodon/src/main/java/org/joinmastodon/android/ui/text/BlockQuoteSpan.java
index 5cfb7495e..434beac81 100644
--- a/mastodon/src/main/java/org/joinmastodon/android/ui/text/BlockQuoteSpan.java
+++ b/mastodon/src/main/java/org/joinmastodon/android/ui/text/BlockQuoteSpan.java
@@ -3,7 +3,9 @@ package org.joinmastodon.android.ui.text;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
+import android.graphics.PorterDuff;
import android.graphics.drawable.Drawable;
+import android.os.Build;
import android.text.Layout;
import android.text.Spanned;
import android.text.TextPaint;
@@ -24,10 +26,8 @@ public class BlockQuoteSpan extends CharacterStyle implements LeadingMarginSpan{
public BlockQuoteSpan(Context context, boolean firstLevel){
this.context=context;
- icon=context.getResources().getDrawable(R.drawable.quote, context.getTheme());
+ icon=context.getResources().getDrawable(R.drawable.quote, context.getTheme()).mutate();
this.firstLevel=firstLevel;
- paint.setColor(UiUtils.getThemeColor(context, R.attr.colorM3TertiaryContainer));
- paint.setAlpha(51);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(V.dp(3));
}
@@ -41,21 +41,34 @@ public class BlockQuoteSpan extends CharacterStyle implements LeadingMarginSpan{
@Override
public void drawLeadingMargin(@NonNull Canvas c, @NonNull Paint p, int x, int dir, int top, int baseline, int bottom, @NonNull CharSequence text, int start, int end, boolean first, @NonNull Layout layout){
if(text instanceof Spanned s && s.getSpanStart(this)==start){
+ int color;
+ if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.S && UiUtils.isDarkTheme()){
+ color=UiUtils.alphaBlendColors(
+ context.getColor(android.R.color.system_accent3_700),
+ context.getColor(android.R.color.system_accent3_800),
+ 0.5f
+ );
+ }else{
+ color=UiUtils.getThemeColor(context, R.attr.colorRichTextDecorations);
+ }
int level=s.getSpans(start, end, LeadingMarginSpan.class).length-1;
if(dir<0){ // RTL
-// c.drawText(this.text, layout.getWidth()-V.dp(32*level)-p.measureText(this.text), baseline, p);
if(level==0){
+ icon.setColorFilter(color, PorterDuff.Mode.SRC_IN);
icon.setBounds(layout.getWidth()-icon.getIntrinsicWidth(), top, layout.getWidth(), top+icon.getIntrinsicHeight());
icon.draw(c);
}else{
+ paint.setColor(color);
float xOffset=layout.getWidth()-V.dp(32+18*(level-1)+1.5f);
c.drawLine(xOffset, top, xOffset, layout.getLineBottom(layout.getLineForOffset(s.getSpanEnd(this))), paint);
}
}else{
if(level==0){
+ icon.setColorFilter(color, PorterDuff.Mode.SRC_IN);
icon.setBounds(x, top, x+icon.getIntrinsicWidth(), top+icon.getIntrinsicHeight());
icon.draw(c);
}else{
+ paint.setColor(color);
float xOffset=x+V.dp(32+18*(level-1)+1.5f);
c.drawLine(xOffset, top, xOffset, layout.getLineBottom(layout.getLineForOffset(s.getSpanEnd(this))), paint);
}
@@ -65,6 +78,6 @@ public class BlockQuoteSpan extends CharacterStyle implements LeadingMarginSpan{
@Override
public void updateDrawState(TextPaint tp){
- tp.setColor(UiUtils.getThemeColor(context, R.attr.colorM3Tertiary));
+ tp.setColor(UiUtils.getThemeColor(context, R.attr.colorRichTextText));
}
}
diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/views/LinkedTextView.java b/mastodon/src/main/java/org/joinmastodon/android/ui/views/LinkedTextView.java
index acc11bc4e..e3044d581 100644
--- a/mastodon/src/main/java/org/joinmastodon/android/ui/views/LinkedTextView.java
+++ b/mastodon/src/main/java/org/joinmastodon/android/ui/views/LinkedTextView.java
@@ -68,8 +68,7 @@ public class LinkedTextView extends TextView{
currentActionMode=null;
}
});
- bgPaint.setColor(UiUtils.getThemeColor(context, R.attr.colorM3TertiaryContainer));
- bgPaint.setAlpha(20);
+ bgPaint.setColor(UiUtils.getThemeColor(context, R.attr.colorRichTextContainer));
bgPaint.setPathEffect(new CornerPathEffect(V.dp(2)));
}
diff --git a/mastodon/src/main/res/drawable/quote.xml b/mastodon/src/main/res/drawable/quote.xml
index 2ec877eec..9452b05e6 100644
--- a/mastodon/src/main/res/drawable/quote.xml
+++ b/mastodon/src/main/res/drawable/quote.xml
@@ -4,7 +4,6 @@
android:viewportWidth="24"
android:viewportHeight="20">
diff --git a/mastodon/src/main/res/values-v31/colors.xml b/mastodon/src/main/res/values-v31/colors.xml
index f87cf2e00..ec9b15396 100644
--- a/mastodon/src/main/res/values-v31/colors.xml
+++ b/mastodon/src/main/res/values-v31/colors.xml
@@ -45,4 +45,11 @@
@android:color/system_neutral2_200
@android:color/system_neutral2_400
@android:color/system_neutral2_700
+
+ @android:color/system_accent3_700
+ @android:color/system_accent3_100
+ @android:color/system_accent3_200
+ @android:color/system_accent3_200
+ @android:color/system_accent3_800
+ #0f0
diff --git a/mastodon/src/main/res/values/attrs.xml b/mastodon/src/main/res/values/attrs.xml
index 960bce24c..c756146dd 100644
--- a/mastodon/src/main/res/values/attrs.xml
+++ b/mastodon/src/main/res/values/attrs.xml
@@ -33,6 +33,9 @@
+
+
+
diff --git a/mastodon/src/main/res/values/colors.xml b/mastodon/src/main/res/values/colors.xml
index 01eb175ca..c3de36865 100644
--- a/mastodon/src/main/res/values/colors.xml
+++ b/mastodon/src/main/res/values/colors.xml
@@ -104,5 +104,12 @@
#FFFFFF
#FFFFFF
+ #6C3646
+ #FFD9E1
+ #FDB2C5
+ #FDB2C5
+ #512030
+ #7A4152
+
- 0.12
\ No newline at end of file
diff --git a/mastodon/src/main/res/values/styles.xml b/mastodon/src/main/res/values/styles.xml
index 7db971633..79b4541c1 100644
--- a/mastodon/src/main/res/values/styles.xml
+++ b/mastodon/src/main/res/values/styles.xml
@@ -58,6 +58,9 @@
- #FFF
- @color/ext_favorite_light
- @color/ext_boost_light
+ - @color/ext_rich_text_text_light
+ - @color/ext_rich_text_container_light
+ - @color/ext_rich_text_decoration_light
- ?colorM3Background
- @color/navigation_bar_bg_light
@@ -126,6 +129,9 @@
- #000
- @color/ext_favorite_dark
- @color/ext_boost_dark
+ - @color/ext_rich_text_text_dark
+ - @color/ext_rich_text_container_dark
+ - @color/ext_rich_text_decoration_dark
- ?colorM3Background
- ?colorM3Background