Merge pull request #1119 from jotomo/delete-future-treatments
Treatments tab: add button (if applicable) to delete future treatments.
This commit is contained in:
commit
7bed827f4b
3 changed files with 66 additions and 22 deletions
|
@ -43,6 +43,8 @@ import info.nightscout.utils.DecimalFormatter;
|
|||
import info.nightscout.utils.NSUpload;
|
||||
import info.nightscout.utils.SP;
|
||||
|
||||
import static info.nightscout.utils.DateUtil.now;
|
||||
|
||||
public class TreatmentsBolusFragment extends SubscriberFragment implements View.OnClickListener {
|
||||
private static Logger log = LoggerFactory.getLogger(TreatmentsBolusFragment.class);
|
||||
|
||||
|
@ -52,6 +54,7 @@ public class TreatmentsBolusFragment extends SubscriberFragment implements View.
|
|||
TextView iobTotal;
|
||||
TextView activityTotal;
|
||||
Button refreshFromNS;
|
||||
Button deleteFutureTreatments;
|
||||
|
||||
Context context;
|
||||
|
||||
|
@ -89,7 +92,7 @@ public class TreatmentsBolusFragment extends SubscriberFragment implements View.
|
|||
holder.iob.setTextColor(ContextCompat.getColor(MainApp.instance(), R.color.colorActive));
|
||||
else
|
||||
holder.iob.setTextColor(holder.carbs.getCurrentTextColor());
|
||||
if (t.date > DateUtil.now())
|
||||
if (t.date > now())
|
||||
holder.date.setTextColor(ContextCompat.getColor(MainApp.instance(), R.color.colorScheduled));
|
||||
else
|
||||
holder.date.setTextColor(holder.carbs.getCurrentTextColor());
|
||||
|
@ -189,6 +192,9 @@ public class TreatmentsBolusFragment extends SubscriberFragment implements View.
|
|||
refreshFromNS = (Button) view.findViewById(R.id.treatments_reshreshfromnightscout);
|
||||
refreshFromNS.setOnClickListener(this);
|
||||
|
||||
deleteFutureTreatments = (Button) view.findViewById(R.id.treatments_delete_future_treatments);
|
||||
deleteFutureTreatments.setOnClickListener(this);
|
||||
|
||||
boolean nsUploadOnly = SP.getBoolean(R.string.key_ns_upload_only, false);
|
||||
if (nsUploadOnly)
|
||||
refreshFromNS.setVisibility(View.GONE);
|
||||
|
@ -201,17 +207,37 @@ public class TreatmentsBolusFragment extends SubscriberFragment implements View.
|
|||
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
AlertDialog.Builder builder;
|
||||
switch (view.getId()) {
|
||||
case R.id.treatments_reshreshfromnightscout:
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(this.getContext());
|
||||
builder = new AlertDialog.Builder(this.getContext());
|
||||
builder.setTitle(MainApp.gs(R.string.confirmation));
|
||||
builder.setMessage(MainApp.gs(R.string.refresheventsfromnightscout) + "?");
|
||||
builder.setPositiveButton(MainApp.gs(R.string.ok), new DialogInterface.OnClickListener() {
|
||||
public void onClick(DialogInterface dialog, int id) {
|
||||
builder.setPositiveButton(MainApp.gs(R.string.ok), (dialog, id) -> {
|
||||
TreatmentsPlugin.getPlugin().getService().resetTreatments();
|
||||
Intent restartNSClient = new Intent(Intents.ACTION_RESTART);
|
||||
MainApp.instance().getApplicationContext().sendBroadcast(restartNSClient);
|
||||
});
|
||||
builder.setNegativeButton(MainApp.gs(R.string.cancel), null);
|
||||
builder.show();
|
||||
break;
|
||||
case R.id.treatments_delete_future_treatments:
|
||||
builder = new AlertDialog.Builder(this.getContext());
|
||||
builder.setTitle(MainApp.gs(R.string.confirmation));
|
||||
builder.setMessage(MainApp.gs(R.string.deletefuturetreatments) + "?");
|
||||
builder.setPositiveButton(MainApp.gs(R.string.ok), (dialog, id) -> {
|
||||
final List<Treatment> futureTreatments = TreatmentsPlugin.getPlugin().getService()
|
||||
.getTreatmentDataFromTime(now() + 1000, true);
|
||||
for (Treatment treatment : futureTreatments) {
|
||||
final String _id = treatment._id;
|
||||
if (NSUpload.isIdValid(_id)) {
|
||||
NSUpload.removeCareportalEntryFromNS(_id);
|
||||
} else {
|
||||
UploadQueue.removeID("dbAdd", _id);
|
||||
}
|
||||
TreatmentsPlugin.getPlugin().getService().delete(treatment);
|
||||
}
|
||||
updateGUI();
|
||||
});
|
||||
builder.setNegativeButton(MainApp.gs(R.string.cancel), null);
|
||||
builder.show();
|
||||
|
@ -233,14 +259,16 @@ public class TreatmentsBolusFragment extends SubscriberFragment implements View.
|
|||
protected void updateGUI() {
|
||||
Activity activity = getActivity();
|
||||
if (activity != null)
|
||||
activity.runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
activity.runOnUiThread(() -> {
|
||||
recyclerView.swapAdapter(new RecyclerViewAdapter(TreatmentsPlugin.getPlugin().getTreatmentsFromHistory()), false);
|
||||
if (TreatmentsPlugin.getPlugin().getLastCalculationTreatments() != null) {
|
||||
iobTotal.setText(DecimalFormatter.to2Decimal(TreatmentsPlugin.getPlugin().getLastCalculationTreatments().iob) + " U");
|
||||
activityTotal.setText(DecimalFormatter.to3Decimal(TreatmentsPlugin.getPlugin().getLastCalculationTreatments().activity) + " U");
|
||||
iobTotal.setText(DecimalFormatter.to2Decimal(TreatmentsPlugin.getPlugin().getLastCalculationTreatments().iob) + " " + MainApp.gs(R.string.insulin_unit_shortname));
|
||||
activityTotal.setText(DecimalFormatter.to3Decimal(TreatmentsPlugin.getPlugin().getLastCalculationTreatments().activity) + " " + MainApp.gs(R.string.insulin_unit_shortname));
|
||||
}
|
||||
if (!TreatmentsPlugin.getPlugin().getService().getTreatmentDataFromTime(now() + 1000, true).isEmpty()) {
|
||||
deleteFutureTreatments.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
deleteFutureTreatments.setVisibility(View.GONE);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -50,6 +50,11 @@
|
|||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<Button
|
||||
android:id="@+id/treatments_reshreshfromnightscout"
|
||||
style="?android:attr/buttonStyle"
|
||||
|
@ -58,6 +63,16 @@
|
|||
android:layout_gravity="center_horizontal"
|
||||
android:text="@string/nav_refreshtreatments"/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/treatments_delete_future_treatments"
|
||||
style="?android:attr/buttonStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:text="@string/deletefuturetreatments" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<android.support.v7.widget.RecyclerView
|
||||
android:id="@+id/treatments_recyclerview"
|
||||
android:layout_width="match_parent"
|
||||
|
|
|
@ -437,6 +437,7 @@
|
|||
<string name="openapsma_scriptdebugdata_label">Script debug</string>
|
||||
<string name="openapsama_useautosens">Use AMA autosens feature</string>
|
||||
<string name="refresheventsfromnightscout">Refresh events from NS</string>
|
||||
<string name="deletefuturetreatments">Delete treatments in the future</string>
|
||||
<string name="eatingsoon">Eating Soon</string>
|
||||
<string name="hypo">Hypo</string>
|
||||
<string name="activity">Activity</string>
|
||||
|
|
Loading…
Reference in a new issue