导航菜单

页面标题

页面副标题

xDrip+ v04633772025.07.16 - NightscoutBackfillActivity.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();
    }
}