导航菜单

页面标题

页面副标题

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

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

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


package com.eveningoutpost.dexdrip.tables;

import android.content.Context;
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.BgReading;
import com.eveningoutpost.dexdrip.models.JoH;
import com.eveningoutpost.dexdrip.utils.DexCollectionType;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;

public class BgReadingTable extends BaseListActivity implements NavigationDrawerFragment.NavigationDrawerCallbacks {
    private int backfilled;
    private NavigationDrawerFragment mNavigationDrawerFragment;
    private String menu_name = "BG Data Table";
    private int missing;
    private int total;

    @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), this.menu_name, this);
        getData();
    }

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

    private void getData() {
        List<BgReading> latest = BgReading.latest(5000);
        try {
            parseDataForStats(latest);
            setListAdapter(new BgReadingAdapter(this, latest));
            if (this.total > 0) {
                getActionBar().setSubtitle(String.format(Locale.getDefault(), "%d in 24h, bf:%d%% mis:%d", Integer.valueOf(this.total), Integer.valueOf((this.backfilled * 100) / this.total), Integer.valueOf(this.missing)));
            }
        } catch (NullPointerException unused) {
        }
    }

    private void parseDataForStats(List<BgReading> list) {
        long tsl = JoH.tsl() - 86400000;
        long j = 0;
        for (BgReading bgReading : list) {
            long j2 = bgReading.timestamp;
            if (j2 < tsl) {
                break;
            }
            this.total++;
            if (bgReading.source_info != null && bgReading.source_info.contains("Backfill")) {
                this.backfilled++;
            }
            j = j2;
        }
        if (this.total > 0) {
            this.missing = (int) (((JoH.tsl() - j) / DexCollectionType.getCurrentSamplePeriod()) - this.total);
        }
    }

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

        public BgReadingCursorAdapterViewHolder(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 BgReadingAdapter extends BaseAdapter {
        private final Context context;
        private final List<BgReading> readings;

        public BgReadingAdapter(Context context, List<BgReading> list) {
            this.context = context;
            this.readings = list == null ? new ArrayList<>() : list;
        }

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

        void bindView(android.view.View r12, final android.content.Context r13, final com.eveningoutpost.dexdrip.models.BgReading r14) {
            throw new UnsupportedOperationException("Method not decompiled: com.eveningoutpost.dexdrip.tables.BgReadingTable.BgReadingAdapter.bindView(android.view.View, android.content.Context, com.eveningoutpost.dexdrip.models.BgReading):void");
        }

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

        @Override
        public BgReading getItem(int i) {
            return this.readings.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;
        }
    }
}