Theming: chart use default design background color.

This commit is contained in:
Dennis Guse
2020-09-15 20:09:36 +02:00
parent 240cb4b363
commit caec5e7c45
2 changed files with 29 additions and 2 deletions
@@ -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<ChartPoint> chartPoints = new ArrayList<>();
private final List<Marker> 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();
@@ -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);
}
}