Commit e7e42806 authored by Thomas's avatar Thomas
Browse files

- Fix: MathJax text color adapts to actual theme background

parent e0e72341
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -823,12 +823,12 @@ public class ComposeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder
                        MathJaxConfig mathJaxConfig = new MathJaxConfig();
                        mathJaxConfig.setAutomaticLinebreaks(true);
                        mathJaxConfig.setInput(TeX);
                        switch (context.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK) {
                            case Configuration.UI_MODE_NIGHT_YES ->
                                    mathJaxConfig.setTextColor("white");
                            case Configuration.UI_MODE_NIGHT_NO ->
                                    mathJaxConfig.setTextColor("black");
                        }
                        int backgroundColor = ThemeHelper.getAttColor(context, android.R.attr.windowBackground);
                        int r = Color.red(backgroundColor);
                        int g = Color.green(backgroundColor);
                        int b = Color.blue(backgroundColor);
                        double luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255;
                        mathJaxConfig.setTextColor(luminance < 0.5 ? "white" : "black");
                        statusList.get(holder.getBindingAdapterPosition()).mathJaxView = new MathJaxView(context, mathJaxConfig);
                        holder.binding.laTexViewContainer.addView(statusList.get(holder.getBindingAdapterPosition()).mathJaxView);
                        holder.binding.laTexViewContainer.setVisibility(View.VISIBLE);
+8 −4
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.graphics.PorterDuff;
import android.graphics.Typeface;
import android.graphics.drawable.BitmapDrawable;
@@ -967,10 +968,13 @@ public class StatusAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
            holder.binding.statusContent.setVisibility(View.GONE);
            holder.binding.statusContentMaths.removeAllViews();
            MathJaxConfig mathJaxConfig = new MathJaxConfig();
            switch (context.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK) {
                case Configuration.UI_MODE_NIGHT_YES -> mathJaxConfig.setTextColor("white");
                case Configuration.UI_MODE_NIGHT_NO -> mathJaxConfig.setTextColor("black");
            }
            int backgroundColor = ThemeHelper.getAttColor(context, android.R.attr.windowBackground);
            // Check if background is dark based on luminance
            int r = Color.red(backgroundColor);
            int g = Color.green(backgroundColor);
            int b = Color.blue(backgroundColor);
            double luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255;
            mathJaxConfig.setTextColor(luminance < 0.5 ? "white" : "black");
            mathJaxConfig.setAutomaticLinebreaks(true);

            MathJaxView mathview = new MathJaxView(context, mathJaxConfig);