diff --git a/src/main/java/de/dennisguse/opentracks/chart/ChartView.java b/src/main/java/de/dennisguse/opentracks/chart/ChartView.java index 8aab49dc9..0e07c51ee 100644 --- a/src/main/java/de/dennisguse/opentracks/chart/ChartView.java +++ b/src/main/java/de/dennisguse/opentracks/chart/ChartView.java @@ -19,7 +19,6 @@ package de.dennisguse.opentracks.chart; import android.content.Context; import android.content.Intent; import android.graphics.Canvas; -import android.graphics.Color; import android.graphics.DashPathEffect; import android.graphics.Paint; import android.graphics.Paint.Align; @@ -47,6 +46,7 @@ import de.dennisguse.opentracks.stats.ExtremityMonitor; import de.dennisguse.opentracks.util.IntentUtils; import de.dennisguse.opentracks.util.MarkerUtils; import de.dennisguse.opentracks.util.StringUtils; +import de.dennisguse.opentracks.util.ThemeUtils; import de.dennisguse.opentracks.util.UnitConversions; /** @@ -89,6 +89,7 @@ public class ChartView extends View { private final List chartPoints = new ArrayList<>(); private final List waypoints = new ArrayList<>(); private final ExtremityMonitor xExtremityMonitor = new ExtremityMonitor(); + private final int backgroundColor; private final Paint axisPaint; private final Paint xAxisMarkerPaint; private final Paint gridPaint; @@ -306,6 +307,8 @@ public class ChartView extends View { } }); + backgroundColor = ThemeUtils.getBackgroundColor(context); + float scale = context.getResources().getDisplayMetrics().density; axisPaint = new Paint(); @@ -538,7 +541,7 @@ public class ChartView extends View { synchronized (chartPoints) { canvas.save(); - canvas.drawColor(Color.WHITE); + canvas.drawColor(backgroundColor); canvas.save(); diff --git a/src/main/java/de/dennisguse/opentracks/util/ThemeUtils.java b/src/main/java/de/dennisguse/opentracks/util/ThemeUtils.java new file mode 100644 index 000000000..9334f2812 --- /dev/null +++ b/src/main/java/de/dennisguse/opentracks/util/ThemeUtils.java @@ -0,0 +1,24 @@ +package de.dennisguse.opentracks.util; + +import android.content.Context; +import android.content.res.Resources; +import android.util.TypedValue; + +import androidx.core.content.ContextCompat; + +public class ThemeUtils { + + private ThemeUtils() { + } + + /** + * Get the material design default background color. + */ + public static int getBackgroundColor(Context context) { + TypedValue typedValue = new TypedValue(); + Resources.Theme theme = context.getTheme(); + theme.resolveAttribute(android.R.attr.colorBackground, typedValue, true); + + return ContextCompat.getColor(context, typedValue.resourceId); + } +}