diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 18e1367b6..f04101065 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -40,7 +40,7 @@ android:backupAgent=".HabitsBackupAgent" android:icon="@mipmap/ic_launcher" android:label="@string/main_activity_title" - android:theme="@style/AppBaseTheme" + android:theme="@style/AppBaseThemeDark" android:supportsRtl="true"> = 21) - view.setBackgroundResource(R.drawable.ripple_white); + view.setBackgroundResource(R.drawable.ripple); else view.setBackgroundResource(R.drawable.card_background); } } diff --git a/app/src/main/java/org/isoron/uhabits/helpers/UIHelper.java b/app/src/main/java/org/isoron/uhabits/helpers/UIHelper.java index 8a708f1a3..e9b178525 100644 --- a/app/src/main/java/org/isoron/uhabits/helpers/UIHelper.java +++ b/app/src/main/java/org/isoron/uhabits/helpers/UIHelper.java @@ -22,6 +22,7 @@ package org.isoron.uhabits.helpers; import android.content.Context; import android.content.SharedPreferences; import android.content.res.Resources; +import android.content.res.TypedArray; import android.graphics.Typeface; import android.os.Build; import android.os.Debug; @@ -170,4 +171,14 @@ public abstract class UIHelper return context.getResources().getDisplayMetrics().widthPixels; } + public static int getStyledColor(Context context, int attrId) + { + int[] attrs = new int[]{ attrId }; + TypedArray ta = context.obtainStyledAttributes(attrs); + int color = ta.getColor(0, 0); + ta.recycle(); + + return color; + } + } diff --git a/app/src/main/java/org/isoron/uhabits/views/HabitScoreView.java b/app/src/main/java/org/isoron/uhabits/views/HabitScoreView.java index 4e1ae4c7c..a2c84fa4b 100644 --- a/app/src/main/java/org/isoron/uhabits/views/HabitScoreView.java +++ b/app/src/main/java/org/isoron/uhabits/views/HabitScoreView.java @@ -32,6 +32,7 @@ import android.util.AttributeSet; import org.isoron.uhabits.R; import org.isoron.uhabits.helpers.ColorHelper; import org.isoron.uhabits.helpers.DateHelper; +import org.isoron.uhabits.helpers.UIHelper; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.models.Score; @@ -74,6 +75,7 @@ public class HabitScoreView extends ScrollableDataView implements HabitDataView private boolean isBackgroundTransparent; private int bucketSize = 7; private int footerHeight; + private int backgroundColor; public HabitScoreView(Context context) { @@ -123,7 +125,8 @@ public class HabitScoreView extends ScrollableDataView implements HabitDataView else { textColor = Color.argb(64, 0, 0, 0); - dimmedTextColor = Color.argb(16, 0, 0, 0); + dimmedTextColor = UIHelper.getStyledColor(getContext(), R.attr.fadedTextColor); + backgroundColor = UIHelper.getStyledColor(getContext(), R.attr.cardBackgroundColor); } } @@ -345,7 +348,7 @@ public class HabitScoreView extends ScrollableDataView implements HabitDataView private void drawMarker(Canvas canvas, RectF rect) { rect.inset(baseSize * 0.15f, baseSize * 0.15f); - setModeOrColor(pGraph, XFERMODE_CLEAR, Color.WHITE); + setModeOrColor(pGraph, XFERMODE_CLEAR, backgroundColor); canvas.drawOval(rect, pGraph); rect.inset(baseSize * 0.1f, baseSize * 0.1f); @@ -353,7 +356,7 @@ public class HabitScoreView extends ScrollableDataView implements HabitDataView canvas.drawOval(rect, pGraph); rect.inset(baseSize * 0.1f, baseSize * 0.1f); - setModeOrColor(pGraph, XFERMODE_CLEAR, Color.WHITE); + setModeOrColor(pGraph, XFERMODE_CLEAR, backgroundColor); canvas.drawOval(rect, pGraph); if(isBackgroundTransparent) diff --git a/app/src/main/java/org/isoron/uhabits/views/HabitStreakView.java b/app/src/main/java/org/isoron/uhabits/views/HabitStreakView.java index 37d2e16c9..4e21b0934 100644 --- a/app/src/main/java/org/isoron/uhabits/views/HabitStreakView.java +++ b/app/src/main/java/org/isoron/uhabits/views/HabitStreakView.java @@ -29,6 +29,7 @@ import android.view.View; import org.isoron.uhabits.R; import org.isoron.uhabits.helpers.ColorHelper; +import org.isoron.uhabits.helpers.UIHelper; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.models.Streak; @@ -150,7 +151,7 @@ public class HabitStreakView extends View implements HabitDataView colors[2] = Color.argb(192, red, green, blue); colors[1] = Color.argb(96, red, green, blue); colors[0] = Color.argb(32, 0, 0, 0); - textColor = Color.argb(64, 0, 0, 0); + textColor = UIHelper.getStyledColor(getContext(), R.attr.fadedTextColor); } } diff --git a/app/src/main/java/org/isoron/uhabits/views/RingView.java b/app/src/main/java/org/isoron/uhabits/views/RingView.java index 0d63ff958..8ab1c4fce 100644 --- a/app/src/main/java/org/isoron/uhabits/views/RingView.java +++ b/app/src/main/java/org/isoron/uhabits/views/RingView.java @@ -51,6 +51,7 @@ public class RingView extends View private float maxDiameter; private float textSize; private int fadedTextColor; + private int backgroundColor; public RingView(Context context) { @@ -97,7 +98,8 @@ public class RingView extends View pRing.setColor(color); pRing.setTextAlign(Paint.Align.CENTER); - fadedTextColor = getResources().getColor(R.color.fadedTextColor); + backgroundColor = UIHelper.getStyledColor(getContext(), R.attr.cardBackgroundColor); + fadedTextColor = UIHelper.getStyledColor(getContext(), R.attr.fadedTextColor); textSize = getResources().getDimension(R.dimen.smallTextSize); rect = new RectF(); @@ -139,7 +141,7 @@ public class RingView extends View pRing.setColor(Color.argb(255, 230, 230, 230)); canvas.drawArc(rect, 360 * percentage - 90 + 2, 360 * (1 - percentage) - 4, true, pRing); - pRing.setColor(Color.WHITE); + pRing.setColor(backgroundColor); rect.inset(thickness, thickness); canvas.drawArc(rect, -90, 360, true, pRing); diff --git a/app/src/main/res/drawable-v21/ripple_white.xml b/app/src/main/res/drawable-v21/ripple.xml similarity index 93% rename from app/src/main/res/drawable-v21/ripple_white.xml rename to app/src/main/res/drawable-v21/ripple.xml index 5721b50cb..18e2c0fb9 100644 --- a/app/src/main/res/drawable-v21/ripple_white.xml +++ b/app/src/main/res/drawable-v21/ripple.xml @@ -20,5 +20,5 @@ - + \ No newline at end of file diff --git a/app/src/main/res/layout/about.xml b/app/src/main/res/layout/about.xml index de0ba9a23..d9267e95e 100644 --- a/app/src/main/res/layout/about.xml +++ b/app/src/main/res/layout/about.xml @@ -21,7 +21,7 @@ diff --git a/app/src/main/res/layout/show_habit.xml b/app/src/main/res/layout/show_habit.xml index 8b95cb9e1..ebcbe5ce7 100644 --- a/app/src/main/res/layout/show_habit.xml +++ b/app/src/main/res/layout/show_habit.xml @@ -22,7 +22,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="wrap_content" - android:background="@color/windowBackground" + android:background="?windowBackgroundColor" android:fillViewport="true"> + + + + @@ -102,7 +102,7 @@ wrap_content 8dp 8dp - @color/fadedTextColor + ?fadedTextColor diff --git a/app/src/main/res/values/styles_dialog.xml b/app/src/main/res/values/styles_dialog.xml index 3f45780de..89786814a 100644 --- a/app/src/main/res/values/styles_dialog.xml +++ b/app/src/main/res/values/styles_dialog.xml @@ -45,19 +45,19 @@