正在查看: xDrip+ v04633772025.07.16 应用的 NightscoutBackfillActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: xDrip+ v04633772025.07.16 应用的 NightscoutBackfillActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.eveningoutpost.dexdrip;
import android.os.Bundle;
import android.os.PowerManager;
import android.view.View;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;
import androidx.drawerlayout.widget.DrawerLayout;
import com.eveningoutpost.dexdrip.NavigationDrawerFragment;
import com.eveningoutpost.dexdrip.models.BgReading;
import com.eveningoutpost.dexdrip.models.JoH;
import com.eveningoutpost.dexdrip.models.Treatments;
import com.eveningoutpost.dexdrip.profileeditor.DatePickerFragment;
import com.eveningoutpost.dexdrip.profileeditor.ProfileAdapter;
import com.eveningoutpost.dexdrip.services.SyncService;
import com.eveningoutpost.dexdrip.utilitymodels.PersistentStore;
import com.eveningoutpost.dexdrip.utilitymodels.UploaderQueue;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Iterator;
import java.util.List;
public class NightscoutBackfillActivity extends AppCompatActivity implements NavigationDrawerFragment.NavigationDrawerCallbacks {
private static long locked;
private Calendar calendar;
private Button dateButton;
private Button doitButton;
private NavigationDrawerFragment mNavigationDrawerFragment;
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(2131492930);
JoH.fixActionBar(this);
this.dateButton = (Button) findViewById(2131296372);
this.doitButton = (Button) findViewById(2131297019);
Calendar calendar = Calendar.getInstance();
this.calendar = calendar;
calendar.setTimeInMillis(JoH.tsl() - 86400000);
updateDateButton();
}
public void updateDateButton() {
this.dateButton.setText(new SimpleDateFormat("MMMM d, yyyy h:mm a").format(this.calendar.getTime()));
}
@Override
protected void onResume() {
xdrip.checkForcedEnglish(this);
setTitle("Nightscout Backfill");
super.onResume();
NavigationDrawerFragment navigationDrawerFragment = (NavigationDrawerFragment) getFragmentManager().findFragmentById(2131296801);
this.mNavigationDrawerFragment = navigationDrawerFragment;
navigationDrawerFragment.setUp(2131296801, (DrawerLayout) findViewById(2131296561), "Nightscout Backfill", this);
if (JoH.msSince(locked) < 3600000) {
JoH.static_toast_long(xdrip.gs(2131756429));
finish();
}
}
@Override
public void onNavigationDrawerItemSelected(int i) {
this.mNavigationDrawerFragment.swapContext(i);
}
public void backfillCancel(View view) {
finish();
}
public void backfillPick(View view) {
DatePickerFragment datePickerFragment = new DatePickerFragment();
datePickerFragment.setAllowFuture(false);
datePickerFragment.setInitiallySelectedDate(this.calendar.getTimeInMillis());
datePickerFragment.setTitle("How far back?");
datePickerFragment.setDateCallback(new ProfileAdapter.DatePickerCallbacks() {
@Override
public void onDateSet(int i, int i2, int i3) {
NightscoutBackfillActivity.this.calendar.set(i, i2, i3);
NightscoutBackfillActivity.this.updateDateButton();
}
});
datePickerFragment.show(getFragmentManager(), "DatePicker");
}
public synchronized void backfillRun(View view) {
locked = JoH.tsl();
this.doitButton.setVisibility(4);
JoH.static_toast_long(xdrip.gs(2131756023));
new Thread(new Runnable() {
@Override
public void run() {
long j;
PowerManager.WakeLock wakeLock = JoH.getWakeLock("nightscout-backfill", 600000);
try {
List<BgReading> latestForGraphAsc = BgReading.latestForGraphAsc(500000, NightscoutBackfillActivity.this.calendar.getTimeInMillis(), JoH.tsl());
if (latestForGraphAsc != null && latestForGraphAsc.size() > 0) {
PersistentStore.setBoolean("backfilling-nightscout", true);
long size = latestForGraphAsc.size();
Iterator<BgReading> it = latestForGraphAsc.iterator();
while (it.hasNext()) {
UploaderQueue.newEntry("update", it.next());
}
List<Treatments> latestForGraph = Treatments.latestForGraph(50000, NightscoutBackfillActivity.this.calendar.getTimeInMillis(), JoH.tsl());
if (latestForGraph == null || latestForGraph.size() <= 0) {
j = 0;
} else {
j = latestForGraph.size();
Iterator<Treatments> it2 = latestForGraph.iterator();
while (it2.hasNext()) {
UploaderQueue.newEntry("update", it2.next());
}
}
JoH.static_toast_long("Queued " + size + " glucose readings and " + j + " treatments!");
SyncService.startSyncService(500L);
long unused = NightscoutBackfillActivity.locked = 0L;
} else {
JoH.static_toast_long(xdrip.gs(2131755443));
}
} finally {
JoH.releaseWakeLock(wakeLock);
}
}
}).start();
finish();
}
}