diff --git a/app/src/main/java/info/nightscout/androidaps/Constants.java b/app/src/main/java/info/nightscout/androidaps/Constants.java index 6765b15558..9022020828 100644 --- a/app/src/main/java/info/nightscout/androidaps/Constants.java +++ b/app/src/main/java/info/nightscout/androidaps/Constants.java @@ -54,7 +54,7 @@ public class Constants { //Screen: Threshold for width/height to go into small width/height layout public static final int SMALL_WIDTH = 320; - public static final int SMALL_HEIGHT = 320; + public static final int SMALL_HEIGHT = 480; //Autosens public static final double DEVIATION_TO_BE_EQUAL = 2.0; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java index f06baaaed6..8e3c2cb29e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java @@ -192,8 +192,8 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm); int screen_width = dm.widthPixels; int screen_height = dm.heightPixels; - smallWidth = screen_width < Constants.SMALL_WIDTH; - smallHeight = screen_height < Constants.SMALL_HEIGHT; + smallWidth = screen_width <= Constants.SMALL_WIDTH; + smallHeight = screen_height <= Constants.SMALL_HEIGHT; boolean landscape = screen_height < screen_width; View view; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphData/GraphData.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphData/GraphData.java index 9171cd81e7..8bead45e85 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphData/GraphData.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphData/GraphData.java @@ -194,7 +194,7 @@ public class GraphData { basalsLineSeries = new LineGraphSeries<>(basalLine); Paint paint = new Paint(); paint.setStyle(Paint.Style.STROKE); - paint.setStrokeWidth(2); + paint.setStrokeWidth(MainApp.instance().getApplicationContext().getResources().getDisplayMetrics().scaledDensity*2); paint.setPathEffect(new DashPathEffect(new float[]{2, 4}, 0)); paint.setColor(MainApp.sResources.getColor(R.color.basal)); basalsLineSeries.setCustomPaint(paint); @@ -204,7 +204,7 @@ public class GraphData { absoluteBasalsLineSeries = new LineGraphSeries<>(absoluteBasalLine); Paint absolutePaint = new Paint(); absolutePaint.setStyle(Paint.Style.STROKE); - absolutePaint.setStrokeWidth(4); + absolutePaint.setStrokeWidth(MainApp.instance().getApplicationContext().getResources().getDisplayMetrics().scaledDensity*2); absolutePaint.setColor(MainApp.sResources.getColor(R.color.basal)); absoluteBasalsLineSeries.setCustomPaint(absolutePaint); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphExtensions/PointsWithLabelGraphSeries.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphExtensions/PointsWithLabelGraphSeries.java index 970aaa8385..f264a22382 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphExtensions/PointsWithLabelGraphSeries.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphExtensions/PointsWithLabelGraphSeries.java @@ -30,7 +30,10 @@ import android.graphics.Path; import android.graphics.Point; import android.graphics.Rect; import android.graphics.Typeface; - +import android.util.TypedValue; +// Added by Rumen for scalable text +import android.content.Context; +import info.nightscout.androidaps.MainApp; import com.jjoe64.graphview.GraphView; import com.jjoe64.graphview.series.BaseSeries; @@ -44,6 +47,13 @@ import java.util.Iterator; * @author jjoe64 */ public class PointsWithLabelGraphSeries extends BaseSeries { + // Default spSize + int spSize = 12; + // Convert the sp to pixels + Context context = MainApp.instance().getApplicationContext(); + float scaledTextSize = spSize * context.getResources().getDisplayMetrics().scaledDensity; + float scaledPxSize = context.getResources().getDisplayMetrics().scaledDensity * 1.5f; + /** * choose a predefined shape to render for * each data point. @@ -193,22 +203,22 @@ public class PointsWithLabelGraphSeries e if (!overdraw) { if (value.getShape() == Shape.POINT) { mPaint.setStrokeWidth(0); - canvas.drawCircle(endX, endY, value.getSize(), mPaint); + canvas.drawCircle(endX, endY, scaledPxSize, mPaint); } else if (value.getShape() == Shape.RECTANGLE) { - canvas.drawRect(endX-value.getSize(), endY-value.getSize(), endX+value.getSize(), endY+value.getSize(), mPaint); + canvas.drawRect(endX-scaledPxSize, endY-scaledPxSize, endX+scaledPxSize, endY+scaledPxSize, mPaint); } else if (value.getShape() == Shape.TRIANGLE) { mPaint.setStrokeWidth(0); Point[] points = new Point[3]; - points[0] = new Point((int)endX, (int)(endY-value.getSize())); - points[1] = new Point((int)(endX+value.getSize()), (int)(endY+value.getSize()*0.67)); - points[2] = new Point((int)(endX-value.getSize()), (int)(endY+value.getSize()*0.67)); + points[0] = new Point((int)endX, (int)(endY-scaledPxSize)); + points[1] = new Point((int)(endX+scaledPxSize), (int)(endY+scaledPxSize*0.67)); + points[2] = new Point((int)(endX-scaledPxSize), (int)(endY+scaledPxSize*0.67)); drawArrows(points, canvas, mPaint); } else if (value.getShape() == Shape.BOLUS) { mPaint.setStrokeWidth(0); Point[] points = new Point[3]; - points[0] = new Point((int)endX, (int)(endY-value.getSize())); - points[1] = new Point((int)(endX+value.getSize()), (int)(endY+value.getSize()*0.67)); - points[2] = new Point((int)(endX-value.getSize()), (int)(endY+value.getSize()*0.67)); + points[0] = new Point((int)endX, (int)(endY-scaledPxSize)); + points[1] = new Point((int)(endX+scaledPxSize), (int)(endY+scaledPxSize*0.67)); + points[2] = new Point((int)(endX-scaledPxSize), (int)(endY+scaledPxSize*0.67)); mPaint.setStyle(Paint.Style.FILL_AND_STROKE); drawArrows(points, canvas, mPaint); if (value.getLabel() != null) { @@ -220,7 +230,7 @@ public class PointsWithLabelGraphSeries e Rect bounds = new Rect((int)endX, (int)endY + 3, (int) (xpluslength), (int) endY + 8); mPaint.setStyle(Paint.Style.FILL_AND_STROKE); canvas.drawRect(bounds, mPaint); - mPaint.setTextSize((int) (value.getSize() * 2.5)); + mPaint.setTextSize((int) (scaledTextSize * 2.5)); mPaint.setTypeface(Typeface.create(Typeface.DEFAULT, Typeface.NORMAL)); mPaint.setFakeBoldText(true); canvas.drawText(value.getLabel(), endX, endY, mPaint); @@ -228,7 +238,8 @@ public class PointsWithLabelGraphSeries e } else if (value.getShape() == Shape.PROFILE) { mPaint.setStrokeWidth(0); if (value.getLabel() != null) { - mPaint.setTextSize((int) (value.getSize() * 3)); + //mPaint.setTextSize((int) (scaledPxSize * 3)); + mPaint.setTextSize((float) (scaledTextSize*1.2)); mPaint.setTypeface(Typeface.create(Typeface.DEFAULT, Typeface.BOLD)); Rect bounds = new Rect(); mPaint.getTextBounds(value.getLabel(), 0, value.getLabel().length(), bounds); @@ -245,25 +256,25 @@ public class PointsWithLabelGraphSeries e mPaint.setStyle(Paint.Style.STROKE); mPaint.setStrokeWidth(5); float w = mPaint.getStrokeWidth(); - canvas.drawCircle(endX, endY, value.getSize(), mPaint); + canvas.drawCircle(endX, endY, scaledPxSize, mPaint); } else if (value.getShape() == Shape.BGCHECK) { mPaint.setStyle(Paint.Style.FILL_AND_STROKE); mPaint.setStrokeWidth(0); - canvas.drawCircle(endX, endY, value.getSize(), mPaint); + canvas.drawCircle(endX, endY, scaledPxSize, mPaint); if (value.getLabel() != null) { drawLabel45(endX, endY, value, canvas); } } else if (value.getShape() == Shape.ANNOUNCEMENT) { mPaint.setStyle(Paint.Style.FILL_AND_STROKE); mPaint.setStrokeWidth(0); - canvas.drawCircle(endX, endY, value.getSize(), mPaint); + canvas.drawCircle(endX, endY, scaledPxSize, mPaint); if (value.getLabel() != null) { drawLabel45(endX, endY, value, canvas); } } else if (value.getShape() == Shape.GENERAL) { mPaint.setStyle(Paint.Style.FILL_AND_STROKE); mPaint.setStrokeWidth(0); - canvas.drawCircle(endX, endY, value.getSize(), mPaint); + canvas.drawCircle(endX, endY, scaledPxSize, mPaint); if (value.getLabel() != null) { drawLabel45(endX, endY, value, canvas); } @@ -271,7 +282,7 @@ public class PointsWithLabelGraphSeries e mPaint.setStrokeWidth(0); if (value.getLabel() != null) { mPaint.setStrokeWidth(0); - mPaint.setTextSize((int) (value.getSize() * 3)); + mPaint.setTextSize((int) (scaledTextSize * 3)); mPaint.setTypeface(Typeface.create(Typeface.DEFAULT, Typeface.BOLD)); Rect bounds = new Rect(); mPaint.getTextBounds(value.getLabel(), 0, value.getLabel().length(), bounds); @@ -286,7 +297,7 @@ public class PointsWithLabelGraphSeries e mPaint.setStrokeWidth(0); if (value.getLabel() != null) { mPaint.setStrokeWidth(0); - mPaint.setTextSize((int) (value.getSize() * 3)); + mPaint.setTextSize(scaledTextSize); mPaint.setTypeface(Typeface.create(Typeface.DEFAULT, Typeface.BOLD)); Rect bounds = new Rect(); mPaint.getTextBounds(value.getLabel(), 0, value.getLabel().length(), bounds); @@ -301,7 +312,7 @@ public class PointsWithLabelGraphSeries e mPaint.setStrokeWidth(0); if (value.getLabel() != null) { mPaint.setStrokeWidth(0); - mPaint.setTextSize((int) (value.getSize() * 3)); + mPaint.setTextSize(scaledTextSize * 3); mPaint.setTypeface(Typeface.create(Typeface.DEFAULT, Typeface.BOLD)); Rect bounds = new Rect(); mPaint.getTextBounds(value.getLabel(), 0, value.getLabel().length(), bounds); @@ -352,26 +363,26 @@ public class PointsWithLabelGraphSeries e void drawLabel45(float endX, float endY, E value, Canvas canvas) { if (value.getLabel().startsWith("~")) { float px = endX; - float py = endY + value.getSize(); + float py = endY + scaledPxSize; canvas.save(); canvas.rotate(-45, px, py); - mPaint.setTextSize((int) (value.getSize() * 2.5)); + mPaint.setTextSize((float) (scaledTextSize*0.8)); mPaint.setTypeface(Typeface.create(Typeface.DEFAULT, Typeface.NORMAL)); mPaint.setFakeBoldText(true); mPaint.setTextAlign(Paint.Align.RIGHT); - canvas.drawText(value.getLabel().substring(1), px - value.getSize(), py, mPaint); + canvas.drawText(value.getLabel().substring(1), px - scaledPxSize, py, mPaint); mPaint.setTextAlign(Paint.Align.LEFT); canvas.restore(); } else { float px = endX; - float py = endY - value.getSize(); + float py = endY - scaledPxSize; canvas.save(); canvas.rotate(-45, px, py); - mPaint.setTextSize((int) (value.getSize() * 2.5)); + mPaint.setTextSize((float) (scaledTextSize*0.8)); mPaint.setTypeface(Typeface.create(Typeface.DEFAULT, Typeface.NORMAL)); mPaint.setFakeBoldText(true); - canvas.drawText(value.getLabel(), px + value.getSize(), py, mPaint); + canvas.drawText(value.getLabel(), px + scaledPxSize, py, mPaint); canvas.restore(); } } -} +}