diff --git a/app/src/androidTest/assets/views-v21/CheckmarkView/checked.png b/app/src/androidTest/assets/views-v21/CheckmarkView/checked.png deleted file mode 100644 index b54e5707d..000000000 Binary files a/app/src/androidTest/assets/views-v21/CheckmarkView/checked.png and /dev/null differ diff --git a/app/src/androidTest/assets/views-v21/CheckmarkView/implicitly_checked.png b/app/src/androidTest/assets/views-v21/CheckmarkView/implicitly_checked.png deleted file mode 100644 index 39d8e87f3..000000000 Binary files a/app/src/androidTest/assets/views-v21/CheckmarkView/implicitly_checked.png and /dev/null differ diff --git a/app/src/androidTest/assets/views-v21/CheckmarkView/large_size.png b/app/src/androidTest/assets/views-v21/CheckmarkView/large_size.png deleted file mode 100644 index 99e439e72..000000000 Binary files a/app/src/androidTest/assets/views-v21/CheckmarkView/large_size.png and /dev/null differ diff --git a/app/src/androidTest/assets/views-v21/CheckmarkView/unchecked.png b/app/src/androidTest/assets/views-v21/CheckmarkView/unchecked.png deleted file mode 100644 index 2dc0f531a..000000000 Binary files a/app/src/androidTest/assets/views-v21/CheckmarkView/unchecked.png and /dev/null differ diff --git a/app/src/androidTest/assets/views/CheckmarkView/checked.png b/app/src/androidTest/assets/views/CheckmarkView/checked.png index 7884c804f..37b14c980 100644 Binary files a/app/src/androidTest/assets/views/CheckmarkView/checked.png and b/app/src/androidTest/assets/views/CheckmarkView/checked.png differ diff --git a/app/src/androidTest/assets/views/CheckmarkView/implicitly_checked.png b/app/src/androidTest/assets/views/CheckmarkView/implicitly_checked.png index 3096be180..d17171132 100644 Binary files a/app/src/androidTest/assets/views/CheckmarkView/implicitly_checked.png and b/app/src/androidTest/assets/views/CheckmarkView/implicitly_checked.png differ diff --git a/app/src/androidTest/assets/views/CheckmarkView/large_size.png b/app/src/androidTest/assets/views/CheckmarkView/large_size.png index 79152fb18..437e8a0e2 100644 Binary files a/app/src/androidTest/assets/views/CheckmarkView/large_size.png and b/app/src/androidTest/assets/views/CheckmarkView/large_size.png differ diff --git a/app/src/androidTest/assets/views/CheckmarkView/unchecked.png b/app/src/androidTest/assets/views/CheckmarkView/unchecked.png index b0d90c5c0..581f5b603 100644 Binary files a/app/src/androidTest/assets/views/CheckmarkView/unchecked.png and b/app/src/androidTest/assets/views/CheckmarkView/unchecked.png differ diff --git a/app/src/androidTest/assets/views/HabitFrequencyView/renderTransparent.png b/app/src/androidTest/assets/views/HabitFrequencyView/renderTransparent.png index 6de22cf86..70ec73c84 100644 Binary files a/app/src/androidTest/assets/views/HabitFrequencyView/renderTransparent.png and b/app/src/androidTest/assets/views/HabitFrequencyView/renderTransparent.png differ diff --git a/app/src/androidTest/assets/views/HabitScoreView/renderTransparent.png b/app/src/androidTest/assets/views/HabitScoreView/renderTransparent.png index f50bd2685..0c9e18712 100644 Binary files a/app/src/androidTest/assets/views/HabitScoreView/renderTransparent.png and b/app/src/androidTest/assets/views/HabitScoreView/renderTransparent.png differ diff --git a/app/src/androidTest/assets/views/HabitStreakView/renderTransparent.png b/app/src/androidTest/assets/views/HabitStreakView/renderTransparent.png index 2255c156d..4bab05b52 100644 Binary files a/app/src/androidTest/assets/views/HabitStreakView/renderTransparent.png and b/app/src/androidTest/assets/views/HabitStreakView/renderTransparent.png differ diff --git a/app/src/androidTest/assets/views/RingView/render.png b/app/src/androidTest/assets/views/RingView/render.png index b951f0316..0bf125778 100644 Binary files a/app/src/androidTest/assets/views/RingView/render.png and b/app/src/androidTest/assets/views/RingView/render.png differ diff --git a/app/src/androidTest/assets/views/RingView/renderDifferentParams.png b/app/src/androidTest/assets/views/RingView/renderDifferentParams.png index 356bae29d..87874ba92 100644 Binary files a/app/src/androidTest/assets/views/RingView/renderDifferentParams.png and b/app/src/androidTest/assets/views/RingView/renderDifferentParams.png differ diff --git a/app/src/androidTest/assets/views/RingView/renderLongLabel.png b/app/src/androidTest/assets/views/RingView/renderLongLabel.png deleted file mode 100644 index e8e832499..000000000 Binary files a/app/src/androidTest/assets/views/RingView/renderLongLabel.png and /dev/null differ diff --git a/app/src/androidTest/java/org/isoron/uhabits/unit/views/RingViewTest.java b/app/src/androidTest/java/org/isoron/uhabits/unit/views/RingViewTest.java index df0a0c422..9f831ba49 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/unit/views/RingViewTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/unit/views/RingViewTest.java @@ -19,6 +19,7 @@ package org.isoron.uhabits.unit.views; +import android.graphics.Color; import android.support.test.runner.AndroidJUnit4; import android.test.suitebuilder.annotation.SmallTest; @@ -42,10 +43,11 @@ public class RingViewTest extends ViewTest super.setup(); view = new RingView(targetContext); -// view.setLabel("Hello world"); view.setPercentage(0.6f); + view.setText("60%"); view.setColor(ColorHelper.CSV_PALETTE[0]); -// view.setMaxDiameter(dpToPixels(100)); + view.setBackgroundColor(Color.WHITE); + view.setThickness(dpToPixels(3)); } @Test @@ -55,21 +57,10 @@ public class RingViewTest extends ViewTest assertRenders(view, "RingView/render.png"); } - @Test - public void testRender_withLongLabel() throws IOException - { -// view.setLabel("The quick brown fox jumps over the lazy fox"); - - measureView(dpToPixels(100), dpToPixels(100), view); - assertRenders(view, "RingView/renderLongLabel.png"); - } - @Test public void testRender_withDifferentParams() throws IOException { -// view.setLabel("Habit Strength"); view.setPercentage(0.25f); -// view.setMaxDiameter(dpToPixels(50)); view.setColor(ColorHelper.CSV_PALETTE[5]); measureView(dpToPixels(200), dpToPixels(200), view); diff --git a/app/src/main/java/org/isoron/uhabits/views/CheckmarkWidgetView.java b/app/src/main/java/org/isoron/uhabits/views/CheckmarkWidgetView.java index 5d0e5c7e0..01cf98a19 100644 --- a/app/src/main/java/org/isoron/uhabits/views/CheckmarkWidgetView.java +++ b/app/src/main/java/org/isoron/uhabits/views/CheckmarkWidgetView.java @@ -123,7 +123,6 @@ public class CheckmarkWidgetView extends HabitWidgetView implements HabitDataVie } ring.setPercentage(percentage); - ring.setPrecision(0.125f); ring.setColor(foregroundColor); ring.setBackgroundColor(backgroundColor); ring.setText(text); 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 e71808f42..1579f29d3 100644 --- a/app/src/main/java/org/isoron/uhabits/views/HabitScoreView.java +++ b/app/src/main/java/org/isoron/uhabits/views/HabitScoreView.java @@ -175,11 +175,14 @@ public class HabitScoreView extends ScrollableDataView implements HabitDataView pGrid.setStrokeWidth(baseSize * 0.025f); if(isTransparencyEnabled) - { - if (drawingCache != null) drawingCache.recycle(); - drawingCache = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); - cacheCanvas = new Canvas(drawingCache); - } + initCache(width, height); + } + + private void initCache(int width, int height) + { + if (drawingCache != null) drawingCache.recycle(); + drawingCache = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); + cacheCanvas = new Canvas(drawingCache); } public void refreshData() @@ -222,6 +225,8 @@ public class HabitScoreView extends ScrollableDataView implements HabitDataView if(isTransparencyEnabled) { + if(drawingCache == null) initCache(getWidth(), getHeight()); + activeCanvas = cacheCanvas; drawingCache.eraseColor(Color.TRANSPARENT); } 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 942ba4a9a..de7ee345a 100644 --- a/app/src/main/java/org/isoron/uhabits/views/RingView.java +++ b/app/src/main/java/org/isoron/uhabits/views/RingView.java @@ -19,7 +19,6 @@ package org.isoron.uhabits.views; -import android.annotation.SuppressLint; import android.content.Context; import android.graphics.Bitmap; import android.graphics.Canvas; @@ -41,22 +40,22 @@ public class RingView extends View public static final PorterDuffXfermode XFERMODE_CLEAR = new PorterDuffXfermode(PorterDuff.Mode.CLEAR); - private float precision; - private boolean enableFontAwesome; - private int color; + private float precision; private float percentage; - private TextPaint pRing; - private RectF rect; - private int diameter; - private float textSize; private float thickness; + private RectF rect; + private TextPaint pRing; + private Integer backgroundColor; private Integer inactiveColor; + private float em; private String text; + private float textSize; + private boolean enableFontAwesome; private Bitmap drawingCache; private Canvas cacheCanvas; @@ -65,6 +64,14 @@ public class RingView extends View public RingView(Context context) { super(context); + + percentage = 0.0f; + precision = 0.01f; + color = ColorHelper.CSV_PALETTE[0]; + thickness = UIHelper.dpToPixels(getContext(), 2); + text = ""; + textSize = context.getResources().getDimension(R.dimen.smallTextSize); + init(); } @@ -149,7 +156,6 @@ public class RingView extends View } @Override - @SuppressLint("DrawAllocation") protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); diff --git a/run_tests b/run_tests index a27bad97f..b3c51fada 100755 --- a/run_tests +++ b/run_tests @@ -40,6 +40,7 @@ grep -q "FAILURES\!\!\!" ${OUTPUT_DIR}/runner.txt && failed=1 info "Fetching failed generated files..." mkdir -p ${OUTPUT_DIR}/failed +adb pull /mnt/sdcard/test-screenshots/ ${OUTPUT_DIR}/failed >> $LOG 2>> $LOG adb pull /sdcard/Android/data/${PACKAGE_NAME}/files/test-screenshots/ \ ${OUTPUT_DIR}/failed >> $LOG 2>> $LOG adb shell rm -r /sdcard/Android/data/${PACKAGE_NAME}/files/test-screenshots/ >> $LOG 2>> $LOG