allow to remove treatments from GUI

This commit is contained in:
Milos Kozak 2017-02-14 21:13:13 +01:00
parent a75c62be35
commit dda95dc275
3 changed files with 58 additions and 4 deletions

View file

@ -230,6 +230,16 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper {
scheduleTreatmentChange(); scheduleTreatmentChange();
} }
public void delete(Treatment treatment) {
try {
getDaoTreatments().delete(treatment);
latestTreatmentChange = treatment.getTimeIndex();
} catch (SQLException e) {
e.printStackTrace();
}
scheduleTreatmentChange();
}
public int delete(String _id) { public int delete(String _id) {
Treatment stored = findTreatmentById(_id); Treatment stored = findTreatmentById(_id);
int removed = 0; int removed = 0;

View file

@ -1,9 +1,11 @@
package info.nightscout.androidaps.plugins.Treatments; package info.nightscout.androidaps.plugins.Treatments;
import android.app.Activity; import android.app.Activity;
import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.graphics.Paint;
import android.os.Bundle; import android.os.Bundle;
import android.preference.PreferenceManager; import android.preference.PreferenceManager;
import android.support.v4.app.Fragment; import android.support.v4.app.Fragment;
@ -55,7 +57,9 @@ public class TreatmentsFragment extends Fragment implements View.OnClickListener
TextView activityTotal; TextView activityTotal;
Button refreshFromNS; Button refreshFromNS;
public static class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.TreatmentsViewHolder> { Context context;
public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.TreatmentsViewHolder> {
List<Treatment> treatments; List<Treatment> treatments;
@ -88,6 +92,7 @@ public class TreatmentsFragment extends Fragment implements View.OnClickListener
holder.dateLinearLayout.setBackgroundColor(ContextCompat.getColor(MainApp.instance(), R.color.colorAffectingIOB)); holder.dateLinearLayout.setBackgroundColor(ContextCompat.getColor(MainApp.instance(), R.color.colorAffectingIOB));
else else
holder.dateLinearLayout.setBackgroundColor(ContextCompat.getColor(MainApp.instance(), R.color.cardColorBackground)); holder.dateLinearLayout.setBackgroundColor(ContextCompat.getColor(MainApp.instance(), R.color.cardColorBackground));
holder.remove.setTag(treatments.get(position));
} }
@Override @Override
@ -100,7 +105,7 @@ public class TreatmentsFragment extends Fragment implements View.OnClickListener
super.onAttachedToRecyclerView(recyclerView); super.onAttachedToRecyclerView(recyclerView);
} }
public static class TreatmentsViewHolder extends RecyclerView.ViewHolder { public class TreatmentsViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
CardView cv; CardView cv;
TextView date; TextView date;
TextView insulin; TextView insulin;
@ -109,6 +114,7 @@ public class TreatmentsFragment extends Fragment implements View.OnClickListener
TextView activity; TextView activity;
TextView mealOrCorrection; TextView mealOrCorrection;
LinearLayout dateLinearLayout; LinearLayout dateLinearLayout;
TextView remove;
TreatmentsViewHolder(View itemView) { TreatmentsViewHolder(View itemView) {
super(itemView); super(itemView);
@ -120,6 +126,35 @@ public class TreatmentsFragment extends Fragment implements View.OnClickListener
activity = (TextView) itemView.findViewById(R.id.treatments_activity); activity = (TextView) itemView.findViewById(R.id.treatments_activity);
mealOrCorrection = (TextView) itemView.findViewById(R.id.treatments_mealorcorrection); mealOrCorrection = (TextView) itemView.findViewById(R.id.treatments_mealorcorrection);
dateLinearLayout = (LinearLayout) itemView.findViewById(R.id.treatments_datelinearlayout); dateLinearLayout = (LinearLayout) itemView.findViewById(R.id.treatments_datelinearlayout);
remove = (TextView) itemView.findViewById(R.id.treatments_remove);
remove.setOnClickListener(this);
remove.setPaintFlags(remove.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
}
@Override
public void onClick(View v) {
final Treatment treatment = (Treatment) v.getTag();
final Context finalContext = context;
switch (v.getId()) {
case R.id.treatments_remove:
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle(MainApp.sResources.getString(R.string.confirmation));
builder.setMessage(MainApp.sResources.getString(R.string.removerecord) + "\n" + DateUtil.dateAndTimeString(treatment.created_at));
builder.setPositiveButton(MainApp.sResources.getString(R.string.ok), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
final String _id = treatment._id;
if (_id != null && !_id.equals("")) {
MainApp.getConfigBuilder().removeCareportalEntryFromNS(_id);
}
MainApp.getDbHelper().delete(treatment);
treatmentsPlugin.initializeData();
updateGUI();
}
});
builder.setNegativeButton(MainApp.sResources.getString(R.string.cancel), null);
builder.show();
break;
}
} }
} }
} }
@ -143,6 +178,8 @@ public class TreatmentsFragment extends Fragment implements View.OnClickListener
refreshFromNS = (Button) view.findViewById(R.id.treatments_reshreshfromnightscout); refreshFromNS = (Button) view.findViewById(R.id.treatments_reshreshfromnightscout);
refreshFromNS.setOnClickListener(this); refreshFromNS.setOnClickListener(this);
context = getContext();
updateGUI(); updateGUI();
return view; return view;
} }

View file

@ -134,6 +134,13 @@
android:layout_marginRight="30dp" android:layout_marginRight="30dp"
android:textStyle="bold" /> android:textStyle="bold" />
<TextView
android:text="@string/overview_quickwizard_item_remove_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/treatments_remove"
android:textAlignment="viewEnd"
android:textColor="@android:color/holo_orange_light" />
</LinearLayout> </LinearLayout>