正在查看: xDrip+ v04633772025.07.16 应用的 BgReadingTable.java JAVA 源代码文件
本页面展示 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;
}
}
}