正在查看: xDrip+ v04633772025.07.16 应用的 StartNewSensor.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: xDrip+ v04633772025.07.16 应用的 StartNewSensor.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.eveningoutpost.dexdrip;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import com.eveningoutpost.dexdrip.g5model.DexSyncKeeper;
import com.eveningoutpost.dexdrip.g5model.DexTimeKeeper;
import com.eveningoutpost.dexdrip.g5model.FirmwareCapability;
import com.eveningoutpost.dexdrip.g5model.Ob1G5StateMachine;
import com.eveningoutpost.dexdrip.models.JoH;
import com.eveningoutpost.dexdrip.models.Sensor;
import com.eveningoutpost.dexdrip.models.Treatments;
import com.eveningoutpost.dexdrip.models.UserError;
import com.eveningoutpost.dexdrip.profileeditor.DatePickerFragment;
import com.eveningoutpost.dexdrip.profileeditor.ProfileAdapter;
import com.eveningoutpost.dexdrip.profileeditor.TimePickerFragment;
import com.eveningoutpost.dexdrip.services.Ob1G5CollectionService;
import com.eveningoutpost.dexdrip.ui.dialog.G6CalibrationCodeDialog;
import com.eveningoutpost.dexdrip.ui.dialog.G6EndOfLifeDialog;
import com.eveningoutpost.dexdrip.utilitymodels.CollectionServiceStarter;
import com.eveningoutpost.dexdrip.utilitymodels.Pref;
import com.eveningoutpost.dexdrip.utils.ActivityWithMenu;
import com.eveningoutpost.dexdrip.utils.DexCollectionHelper;
import com.eveningoutpost.dexdrip.utils.DexCollectionType;
import com.eveningoutpost.dexdrip.utils.LocationHelper;
import com.eveningoutpost.dexdrip.wearintegration.WatchUpdaterService;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
public class StartNewSensor extends ActivityWithMenu {
private Button button;
final Activity activity = this;
Calendar ucalendar = Calendar.getInstance();
private int transmitterAgeInDays() {
return DexTimeKeeper.getTransmitterAgeInDays(Ob1G5CollectionService.getTransmitterID());
}
private void activitySetupView() {
JoH.fixActionBar(this);
setContentView(2131492942);
this.button = (Button) findViewById(2131297018);
}
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
if (DexCollectionType.isG7()) {
activitySetupView();
getIntent().putExtra("FINISH_ON_DIALOG_DISMISS", true);
DexCollectionHelper.assistance(this, DexCollectionType.DexcomG5);
} else if (!Sensor.isActive()) {
activitySetupView();
addListenerOnButton();
} else {
startActivity(new Intent(this, (Class<?>) StopSensor.class));
finish();
}
}
@Override
public String getMenuName() {
return getString(2131756417);
}
public void addListenerOnButton() {
Button button = (Button) findViewById(2131297018);
this.button = button;
button.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
StartNewSensor.this.lambda$addListenerOnButton$0(view);
}
});
}
public void lambda$addListenerOnButton$0(View view) {
if (DexCollectionType.hasBluetooth()) {
if (!LocationHelper.locationPermission(this).booleanValue()) {
LocationHelper.requestLocationForBluetooth(this);
return;
} else {
sensorButtonClick();
return;
}
}
sensorButtonClick();
}
private void sensorButtonClick() {
this.ucalendar = Calendar.getInstance();
if (Ob1G5CollectionService.usingNativeMode()) {
if (!DexSyncKeeper.isReady(Pref.getString("dex_txid", "NULL")) || transmitterAgeInDays() == -1) {
JoH.static_toast_long("Need to connect to transmitter before we can start sensor");
UserError.Log.e("StartNewSensor", "Need to connect to transmitter before we can start sensor");
MegaStatus.startStatus("Dex Status");
return;
}
startSensorOrAskForG6Code();
return;
}
AlertDialog.Builder builder = new AlertDialog.Builder(this.activity);
builder.setTitle(xdrip.gs(2131755442));
builder.setMessage(xdrip.gs(2131757023));
builder.setPositiveButton(xdrip.gs(2131757080), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
StartNewSensor.this.askSensorInsertionTime();
}
});
builder.setNegativeButton(xdrip.gs(2131755927), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
if (DexCollectionType.hasLibre()) {
StartNewSensor.this.ucalendar.add(5, -1);
StartNewSensor.this.startSensorOrAskForG6Code();
return;
}
DatePickerFragment datePickerFragment = new DatePickerFragment();
datePickerFragment.setAllowFuture(false);
if (!Home.get_engineering_mode()) {
datePickerFragment.setEarliestDate(JoH.tsl() - 2592000000L);
}
datePickerFragment.setTitle(xdrip.gs(2131757036));
datePickerFragment.setDateCallback(new ProfileAdapter.DatePickerCallbacks() {
@Override
public void onDateSet(int i2, int i3, int i4) {
StartNewSensor.this.ucalendar.set(i2, i3, i4);
if (Home.get_engineering_mode() || JoH.tsl() - StartNewSensor.this.ucalendar.getTimeInMillis() <= 2.5056E8d) {
StartNewSensor.this.askSensorInsertionTime();
} else {
StartNewSensor.this.startSensorOrAskForG6Code();
}
}
});
datePickerFragment.show(StartNewSensor.this.activity.getFragmentManager(), "DatePicker");
}
});
builder.create().show();
}
public void askSensorInsertionTime() {
Calendar calendar = Calendar.getInstance();
TimePickerFragment timePickerFragment = new TimePickerFragment();
timePickerFragment.setTime(calendar.get(11), calendar.get(12));
timePickerFragment.setTitle(xdrip.gs(2131757030));
timePickerFragment.setTimeCallback(new ProfileAdapter.TimePickerCallbacks() {
@Override
public void onTimeUpdated(int i) {
int i2 = i % 60;
Calendar calendar2 = StartNewSensor.this.ucalendar;
calendar2.set(calendar2.get(1), StartNewSensor.this.ucalendar.get(2), StartNewSensor.this.ucalendar.get(5), (i - i2) / 60, i2);
StartNewSensor.this.startSensorOrAskForG6Code();
}
});
timePickerFragment.show(this.activity.getFragmentManager(), "TimePicker");
}
public void startSensorOrAskForG6Code() {
if (Ob1G5CollectionService.getTransmitterID().length() == 4) {
Sensor.createDefaultIfMissing();
finish();
}
if (Ob1G5CollectionService.usingCollector() && Ob1G5StateMachine.usingG6()) {
boolean z = false;
if (!JoH.pratelimit("dex-stop-start", 20)) {
JoH.static_toast_long(String.format(Locale.ENGLISH, getString(2131756025), 20));
return;
}
JoH.clearRatelimit("dex-stop-start");
int transmitterAgeInDays = transmitterAgeInDays();
boolean isTransmitterModified = FirmwareCapability.isTransmitterModified(Ob1G5CollectionService.getTransmitterID());
if (transmitterAgeInDays >= 180 || (!isTransmitterModified && transmitterAgeInDays >= 100)) {
z = true;
}
if (transmitterAgeInDays < 70 || (isTransmitterModified && transmitterAgeInDays < 150)) {
G6CalibrationCodeDialog.ask(this, new StartNewSensor$$ExternalSyntheticLambda1(this));
return;
} else {
G6EndOfLifeDialog.show(this.activity, new Runnable() {
@Override
public final void run() {
StartNewSensor.this.lambda$startSensorOrAskForG6Code$1();
}
}, z, isTransmitterModified, transmitterAgeInDays);
return;
}
}
startSensorAndSetIntent();
}
public void lambda$startSensorOrAskForG6Code$1() {
G6CalibrationCodeDialog.ask(this, new StartNewSensor$$ExternalSyntheticLambda1(this));
}
public void startSensorAndSetIntent() {
long time = this.ucalendar.getTime().getTime();
UserError.Log.d("StartNewSensor", "Starting sensor time: " + JoH.dateTimeText(this.ucalendar.getTime().getTime()));
if (new Date().getTime() + 900000 < time) {
Toast.makeText(this, xdrip.gs(2131755538), 1).show();
return;
}
startSensorForTime(time);
startActivity(new Intent(getApplicationContext(), (Class<?>) Home.class));
finish();
}
public static void startSensorForTime(long j) {
Sensor.create(j);
UserError.Log.ueh("NEW SENSOR", "Sensor started at " + JoH.dateTimeText(j));
JoH.static_toast_long(xdrip.gs(2131755881));
Home.startWatchUpdaterService(xdrip.getAppContext(), WatchUpdaterService.ACTION_SYNC_SENSOR, "StartNewSensor");
LibreAlarmReceiver.clearSensorStats();
Treatments.sensorStart(Long.valueOf(j), "Started by xDrip");
CollectionServiceStarter.restartCollectionServiceBackground();
Ob1G5StateMachine.startSensor(j);
JoH.clearCache();
Home.staticRefreshBGCharts();
}
@Override
public void onRequestPermissionsResult(int i, String[] strArr, int[] iArr) {
super.onRequestPermissionsResult(i, strArr, iArr);
for (int i2 = 0; i2 < strArr.length; i2++) {
if (strArr[i2].equals("android.permission.ACCESS_FINE_LOCATION") && iArr[i2] == 0) {
Ob1G5CollectionService.clearScanError();
sensorButtonClick();
}
}
}
}