Search in sources :

Example 16 with BgGraphBuilder

use of com.eveningoutpost.dexdrip.UtilityModels.BgGraphBuilder in project xDrip-plus by jamorham.

the class PebbleWatchSync method onCreate.

@Override
public void onCreate() {
    super.onCreate();
    context = getApplicationContext();
    bgGraphBuilder = new BgGraphBuilder(context);
    initPebbleDisplays();
    PebbleUtil.pebbleDisplayType = getCurrentBroadcastToPebbleSetting();
    Log.d(TAG, "onCreate for: " + PebbleUtil.pebbleDisplayType.toString());
    currentWatchFaceUUID = getActivePebbleDisplay().watchfaceUUID();
    init();
}
Also used : BgGraphBuilder(com.eveningoutpost.dexdrip.UtilityModels.BgGraphBuilder)

Example 17 with BgGraphBuilder

use of com.eveningoutpost.dexdrip.UtilityModels.BgGraphBuilder in project xDrip-plus by jamorham.

the class WatchUpdaterService method sendData.

private void sendData() {
    BgReading bg = BgReading.last();
    if (bg != null) {
        forceGoogleApiConnect();
        if (wear_integration) {
            final int battery = PowerStateReceiver.getBatteryLevel(getApplicationContext());
            new SendToDataLayerThread(WEARABLE_DATA_PATH, googleApiClient).executeOnExecutor(xdrip.executor, dataMap(bg, mPrefs, new BgGraphBuilder(getApplicationContext()), battery));
        }
    }
}
Also used : BgReading(com.eveningoutpost.dexdrip.Models.BgReading) BgGraphBuilder(com.eveningoutpost.dexdrip.UtilityModels.BgGraphBuilder)

Example 18 with BgGraphBuilder

use of com.eveningoutpost.dexdrip.UtilityModels.BgGraphBuilder in project xDrip-plus by jamorham.

the class Home method setupCharts.

private void setupCharts() {
    bgGraphBuilder = new BgGraphBuilder(this);
    updateStuff = false;
    chart = (LineChartView) findViewById(R.id.chart);
    if (BgGraphBuilder.isXLargeTablet(getApplicationContext())) {
        ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) chart.getLayoutParams();
        params.topMargin = 130;
        chart.setLayoutParams(params);
    }
    chart.setBackgroundColor(getCol(X.color_home_chart_background));
    chart.setZoomType(ZoomType.HORIZONTAL);
    // Transmitter Battery Level
    final Sensor sensor = Sensor.currentSensor();
    // ????????? what about tomato here ?????
    if (sensor != null && sensor.latest_battery_level != 0 && !DexCollectionService.getBestLimitterHardwareName().equalsIgnoreCase("BlueReader") && sensor.latest_battery_level <= Dex_Constants.TRANSMITTER_BATTERY_LOW && !Pref.getBoolean("disable_battery_warning", false)) {
        Drawable background = new Drawable() {

            @Override
            public void draw(Canvas canvas) {
                DisplayMetrics metrics = getApplicationContext().getResources().getDisplayMetrics();
                int px = (int) (30 * (metrics.densityDpi / 160f));
                Paint paint = new Paint();
                paint.setTextSize(px);
                paint.setAntiAlias(true);
                paint.setColor(Color.parseColor("#FFFFAA"));
                paint.setStyle(Paint.Style.STROKE);
                paint.setAlpha(100);
                canvas.drawText(getString(R.string.transmitter_battery), 10, chart.getHeight() / 3 - (int) (1.2 * px), paint);
                if (sensor.latest_battery_level <= Dex_Constants.TRANSMITTER_BATTERY_EMPTY) {
                    paint.setTextSize((int) (px * 1.5));
                    canvas.drawText(getString(R.string.very_low), 10, chart.getHeight() / 3, paint);
                } else {
                    canvas.drawText(getString(R.string.low), 10, chart.getHeight() / 3, paint);
                }
            }

            @Override
            public void setAlpha(int alpha) {
            }

            @Override
            public void setColorFilter(ColorFilter cf) {
            }

            @Override
            public int getOpacity() {
                // TODO Which pixel format should this be?
                return 0;
            }
        };
        chart.setBackground(background);
    }
    previewChart = (PreviewLineChartView) findViewById(R.id.chart_preview);
    chart.setLineChartData(bgGraphBuilder.lineData());
    chart.setOnValueTouchListener(bgGraphBuilder.getOnValueSelectTooltipListener(mActivity));
    previewChart.setBackgroundColor(getCol(X.color_home_chart_background));
    previewChart.setZoomType(ZoomType.HORIZONTAL);
    previewChart.setLineChartData(bgGraphBuilder.previewLineData(chart.getLineChartData()));
    previewChart.setViewportCalculationEnabled(true);
    previewChart.setViewportChangeListener(new ViewportListener());
    chart.setViewportCalculationEnabled(true);
    chart.setViewportChangeListener(new ChartViewPortListener());
    updateStuff = true;
    setViewport();
    if (small_height) {
        previewChart.setVisibility(View.GONE);
        // quick test
        Viewport moveViewPort = new Viewport(chart.getMaximumViewport());
        float tempwidth = (float) moveViewPort.width() / 4;
        holdViewport.left = moveViewPort.right - tempwidth;
        holdViewport.right = moveViewPort.right + (moveViewPort.width() / 24);
        holdViewport.top = moveViewPort.top;
        holdViewport.bottom = moveViewPort.bottom;
        chart.setCurrentViewport(holdViewport);
        previewChart.setCurrentViewport(holdViewport);
    } else {
        if (homeShelf.get("time_buttons")) {
            final long which_hour = PersistentStore.getLong("home-locked-hours");
            if (which_hour > 0) {
                hours = which_hour;
                setHoursViewPort();
            } else {
                hours = DEFAULT_CHART_HOURS;
            }
        } else {
            hours = DEFAULT_CHART_HOURS;
        }
        previewChart.setVisibility(homeShelf.get("chart_preview") ? View.VISIBLE : View.GONE);
    }
    if (insulinset || glucoseset || carbsset || timeset) {
        if (chart != null) {
            chart.setAlpha((float) 0.10);
        // TODO also set buttons alpha
        }
    }
}
Also used : ViewGroup(android.view.ViewGroup) Canvas(android.graphics.Canvas) ColorDrawable(android.graphics.drawable.ColorDrawable) Drawable(android.graphics.drawable.Drawable) Viewport(lecho.lib.hellocharts.model.Viewport) Paint(android.graphics.Paint) DisplayMetrics(android.util.DisplayMetrics) Paint(android.graphics.Paint) Point(android.graphics.Point) BgGraphBuilder(com.eveningoutpost.dexdrip.UtilityModels.BgGraphBuilder) ColorFilter(android.graphics.ColorFilter) Sensor(com.eveningoutpost.dexdrip.Models.Sensor)

Aggregations

BgGraphBuilder (com.eveningoutpost.dexdrip.UtilityModels.BgGraphBuilder)18 BgReading (com.eveningoutpost.dexdrip.Models.BgReading)6 BgSparklineBuilder (com.eveningoutpost.dexdrip.UtilityModels.BgSparklineBuilder)6 Bitmap (android.graphics.Bitmap)4 Paint (android.graphics.Paint)4 Date (java.util.Date)4 Viewport (lecho.lib.hellocharts.model.Viewport)4 Canvas (android.graphics.Canvas)2 ColorFilter (android.graphics.ColorFilter)2 Point (android.graphics.Point)2 ColorDrawable (android.graphics.drawable.ColorDrawable)2 Drawable (android.graphics.drawable.Drawable)2 DisplayMetrics (android.util.DisplayMetrics)2 ViewGroup (android.view.ViewGroup)2 Sensor (com.eveningoutpost.dexdrip.Models.Sensor)2 PebbleDictionary (com.getpebble.android.kit.util.PebbleDictionary)2 DataMap (com.google.android.gms.wearable.DataMap)2 BufferedOutputStream (java.io.BufferedOutputStream)2 FileNotFoundException (java.io.FileNotFoundException)2 FileOutputStream (java.io.FileOutputStream)2