导航菜单

页面标题

页面副标题

xDrip+ v04633772025.07.16 - CalibrationDataTable.java 源代码

正在查看: xDrip+ v04633772025.07.16 应用的 CalibrationDataTable.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.eveningoutpost.dexdrip.tables;

import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.graphics.Color;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import androidx.drawerlayout.widget.DrawerLayout;
import com.eveningoutpost.dexdrip.BaseListActivity;
import com.eveningoutpost.dexdrip.NavigationDrawerFragment;
import com.eveningoutpost.dexdrip.models.Calibration;
import com.eveningoutpost.dexdrip.models.JoH;
import com.eveningoutpost.dexdrip.utilitymodels.BgGraphBuilder;
import com.eveningoutpost.dexdrip.xdrip;
import java.util.ArrayList;
import java.util.List;

public class CalibrationDataTable extends BaseListActivity implements NavigationDrawerFragment.NavigationDrawerCallbacks {
    private NavigationDrawerFragment mNavigationDrawerFragment;

    @Override
    public void onCreate(Bundle bundle) {
        setTheme(2131820787);
        super.onCreate(bundle);
        setContentView(2131493067);
    }

    @Override
    protected void onResume() {
        super.onResume();
        NavigationDrawerFragment navigationDrawerFragment = (NavigationDrawerFragment) getFragmentManager().findFragmentById(2131296801);
        this.mNavigationDrawerFragment = navigationDrawerFragment;
        navigationDrawerFragment.setUp(2131296801, (DrawerLayout) findViewById(2131296561), "Calibration Data Table", this);
        getData();
    }

    @Override
    public void onNavigationDrawerItemSelected(int i) {
        this.mNavigationDrawerFragment.swapContext(i);
    }

    private void getData() {
        setListAdapter(new CalibrationDataCursorAdapter(this, Calibration.latest(50)));
    }

    public static class CalibrationDataCursorAdapterViewHolder {
        TextView raw_data_id;
        TextView raw_data_slope;
        TextView raw_data_timestamp;
        TextView raw_data_value;

        public CalibrationDataCursorAdapterViewHolder(View view) {
            this.raw_data_id = (TextView) view.findViewById(2131296877);
            this.raw_data_value = (TextView) view.findViewById(2131296881);
            this.raw_data_slope = (TextView) view.findViewById(2131296879);
            this.raw_data_timestamp = (TextView) view.findViewById(2131296880);
        }
    }

    public static class CalibrationDataCursorAdapter extends BaseAdapter {
        private final List<Calibration> calibrations;
        private final Context context;

        CalibrationDataCursorAdapter(Context context, List<Calibration> list) {
            this.context = context;
            this.calibrations = list == null ? new ArrayList<>() : list;
        }

        View newView(Context context, ViewGroup viewGroup) {
            View inflate = LayoutInflater.from(context).inflate(2131493068, viewGroup, false);
            inflate.setTag(new CalibrationDataCursorAdapterViewHolder(inflate));
            return inflate;
        }

        void bindView(View view, final Context context, final Calibration calibration) {
            CalibrationDataCursorAdapterViewHolder calibrationDataCursorAdapterViewHolder = (CalibrationDataCursorAdapterViewHolder) view.getTag();
            calibrationDataCursorAdapterViewHolder.raw_data_id.setText(JoH.qs(calibration.bg, 4) + "    " + BgGraphBuilder.unitized_string_static(calibration.bg));
            calibrationDataCursorAdapterViewHolder.raw_data_value.setText("raw: " + JoH.qs(calibration.estimate_raw_at_time_of_calibration, 4));
            calibrationDataCursorAdapterViewHolder.raw_data_slope.setText("slope: " + JoH.qs(calibration.slope, 4) + " intercept: " + JoH.qs(calibration.intercept, 4));
            calibrationDataCursorAdapterViewHolder.raw_data_timestamp.setText(JoH.dateTimeText(calibration.timestamp) + "  (" + JoH.dateTimeText(calibration.raw_timestamp) + ")");
            if (calibration.isNote()) {
                view.setBackgroundColor(Color.parseColor("#004400"));
            } else if (!calibration.isValid()) {
                view.setBackgroundColor(Color.parseColor("#660000"));
            } else {
                view.setBackgroundColor(Color.parseColor("#212121"));
            }
            view.setLongClickable(true);
            view.setOnLongClickListener(new View.OnLongClickListener() {
                @Override
                public boolean onLongClick(View view2) {
                    DialogInterface.OnClickListener onClickListener = new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {
                            if (i != -1) {
                                return;
                            }
                            Calibration.clear_byuuid(calibration.uuid, false);
                            CalibrationDataCursorAdapter.this.notifyDataSetChanged();
                        }
                    };
                    new AlertDialog.Builder(context).setMessage("Disable this calibration?\nFlagged calibrations will no longer have an effect.").setPositiveButton(xdrip.gs(2131757071), onClickListener).setNegativeButton(xdrip.gs(2131755900), onClickListener).show();
                    return true;
                }
            });
        }

        @Override
        public int getCount() {
            return this.calibrations.size();
        }

        @Override
        public Calibration getItem(int i) {
            return this.calibrations.get(i);
        }

        @Override
        public long getItemId(int i) {
            return getItem(i).getId().longValue();
        }

        @Override
        public View getView(int i, View view, ViewGroup viewGroup) {
            if (view == null) {
                view = newView(this.context, viewGroup);
            }
            bindView(view, this.context, getItem(i));
            return view;
        }
    }
}