diff --git a/.idea/misc.xml b/.idea/misc.xml index 5d19981032..fbb68289f4 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -37,7 +37,7 @@ - + diff --git a/app/build.gradle b/app/build.gradle index da35bd40a7..9740cf7335 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -43,8 +43,8 @@ android { applicationId "info.nightscout.androidaps" minSdkVersion 21 targetSdkVersion 23 - versionCode 1020 - versionName "1.0.20" + versionCode 1100 + versionName "1.1" buildConfigField "String", "BUILDVERSION", generateGitBuild() } lintOptions { diff --git a/app/src/main/java/info/nightscout/androidaps/Services/DataService.java b/app/src/main/java/info/nightscout/androidaps/Services/DataService.java index 734e3defaf..7ba381f130 100644 --- a/app/src/main/java/info/nightscout/androidaps/Services/DataService.java +++ b/app/src/main/java/info/nightscout/androidaps/Services/DataService.java @@ -346,7 +346,6 @@ public class DataService extends IntentService { handleAddedTreatment(trstr); } } - scheduleTreatmentChange(); } catch (Exception e) { e.printStackTrace(); } @@ -368,7 +367,6 @@ public class DataService extends IntentService { handleChangedTreatment(trstr); } } - scheduleTreatmentChange(); } catch (Exception e) { e.printStackTrace(); } @@ -392,7 +390,6 @@ public class DataService extends IntentService { removeTreatmentFromDb(_id); } } - scheduleTreatmentChange(); } catch (Exception e) { e.printStackTrace(); } @@ -471,6 +468,7 @@ public class DataService extends IntentService { int updated = MainApp.getDbHelper().getDaoTreatments().update(stored); if (Config.logIncommingData) log.debug("Records updated: " + updated); + scheduleTreatmentChange(); } } else { if (Config.logIncommingData) @@ -494,6 +492,7 @@ public class DataService extends IntentService { } catch (SQLException e) { e.printStackTrace(); } + scheduleTreatmentChange(); } } @@ -547,6 +546,7 @@ public class DataService extends IntentService { } catch (SQLException e) { e.printStackTrace(); } + scheduleTreatmentChange(); } public void handleDanaRHistoryRecords(JSONObject trJson) throws JSONException, SQLException { diff --git a/app/src/main/java/info/nightscout/androidaps/db/TempBasal.java b/app/src/main/java/info/nightscout/androidaps/db/TempBasal.java index 835fec8a59..649ada3738 100644 --- a/app/src/main/java/info/nightscout/androidaps/db/TempBasal.java +++ b/app/src/main/java/info/nightscout/androidaps/db/TempBasal.java @@ -6,14 +6,13 @@ import com.j256.ormlite.table.DatabaseTable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.text.DateFormat; -import java.text.SimpleDateFormat; import java.util.Date; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.data.Iob; import info.nightscout.androidaps.plugins.OpenAPSMA.IobTotal; import info.nightscout.client.data.NSProfile; +import info.nightscout.utils.DateUtil; import info.nightscout.utils.DecimalFormatter; @DatabaseTable(tableName = DatabaseHelper.DATABASE_TEMPBASALS) @@ -190,16 +189,15 @@ public class TempBasal { } public String toString() { - DateFormat formatDateToJustTime = new SimpleDateFormat("HH:mm"); String extended = isExtended ? "E " : ""; if (isAbsolute) { return extended + DecimalFormatter.to2Decimal(absolute) + "U/h @" + - formatDateToJustTime.format(timeStart) + + DateUtil.timeString(timeStart) + " " + getRealDuration() + "/" + duration + "min"; } else { // percent return percent + "% @" + - formatDateToJustTime.format(timeStart) + + DateUtil.timeString(timeStart) + " " + getRealDuration() + "/" + duration + "min"; } } diff --git a/app/src/main/java/info/nightscout/androidaps/db/Treatment.java b/app/src/main/java/info/nightscout/androidaps/db/Treatment.java index f7a40284d6..f8c2f3b829 100644 --- a/app/src/main/java/info/nightscout/androidaps/db/Treatment.java +++ b/app/src/main/java/info/nightscout/androidaps/db/Treatment.java @@ -13,9 +13,8 @@ import java.util.List; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.data.Iob; -import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderFragment; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; -import info.nightscout.androidaps.plugins.Overview.GraphSeriesExtension.DataPointWithLabelInterface; +import info.nightscout.androidaps.plugins.Overview.graphExtensions.DataPointWithLabelInterface; import info.nightscout.client.data.NSProfile; import info.nightscout.utils.DateUtil; import info.nightscout.utils.DecimalFormatter; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java index 43b383f33a..b941cdb4c2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java @@ -33,7 +33,6 @@ import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.text.DateFormat; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.Calendar; @@ -197,10 +196,8 @@ public class NewNSTreatmentDialog extends DialogFragment implements View.OnClick eventTime = new Date(); dateButton = (Button) view.findViewById(R.id.careportal_newnstreatment_eventdate); timeButton = (Button) view.findViewById(R.id.careportal_newnstreatment_eventtime); - DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT); - DateFormat tf = DateFormat.getTimeInstance(DateFormat.SHORT); - dateButton.setText(df.format(eventTime)); - timeButton.setText(tf.format(eventTime)); + dateButton.setText(DateUtil.dateString(eventTime)); + timeButton.setText(DateUtil.timeString(eventTime)); dateButton.setOnClickListener(this); timeButton.setOnClickListener(this); @@ -330,8 +327,7 @@ public class NewNSTreatmentDialog extends DialogFragment implements View.OnClick eventTime.setYear(year - 1900); eventTime.setMonth(monthOfYear); eventTime.setDate(dayOfMonth); - DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT); - dateButton.setText(df.format(eventTime)); + dateButton.setText(DateUtil.dateString(eventTime)); } @Override @@ -339,8 +335,7 @@ public class NewNSTreatmentDialog extends DialogFragment implements View.OnClick eventTime.setHours(hourOfDay); eventTime.setMinutes(minute); eventTime.setSeconds(second); - DateFormat tf = DateFormat.getTimeInstance(DateFormat.SHORT); - timeButton.setText(tf.format(eventTime)); + timeButton.setText(DateUtil.timeString(eventTime)); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/DanaRFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/DanaRFragment.java index 63186fc4db..b7fae2a125 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/DanaRFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/DanaRFragment.java @@ -20,7 +20,6 @@ import com.squareup.otto.Subscribe; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.text.DateFormat; import java.util.Date; import info.nightscout.androidaps.MainApp; @@ -32,6 +31,7 @@ import info.nightscout.androidaps.plugins.DanaR.Dialogs.ProfileViewDialog; import info.nightscout.androidaps.plugins.DanaR.History.DanaRHistoryActivity; import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRConnectionStatus; import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRNewStatus; +import info.nightscout.utils.DateUtil; import info.nightscout.utils.DecimalFormatter; import info.nightscout.utils.SetWarnColor; @@ -188,8 +188,6 @@ public class DanaRFragment extends Fragment implements FragmentBase { // GUI functions private void updateGUI() { - final DateFormat formatTime = DateFormat.getTimeInstance(DateFormat.SHORT); - Activity activity = getActivity(); if (activity != null && basaBasalRateView != null) activity.runOnUiThread(new Runnable() { @@ -200,14 +198,14 @@ public class DanaRFragment extends Fragment implements FragmentBase { if (DanaRPlugin.getDanaRPump().lastConnection.getTime() != 0) { Long agoMsec = new Date().getTime() - DanaRPlugin.getDanaRPump().lastConnection.getTime(); int agoMin = (int) (agoMsec / 60d / 1000d); - lastConnectionView.setText(formatTime.format(DanaRPlugin.getDanaRPump().lastConnection) + " (" + String.format(MainApp.sResources.getString(R.string.minago), agoMin) + ")"); + lastConnectionView.setText(DateUtil.timeString(DanaRPlugin.getDanaRPump().lastConnection) + " (" + String.format(MainApp.sResources.getString(R.string.minago), agoMin) + ")"); SetWarnColor.setColor(lastConnectionView, agoMin, 16d, 31d); } if (DanaRPlugin.getDanaRPump().lastBolusTime.getTime() != 0) { Long agoMsec = new Date().getTime() - DanaRPlugin.getDanaRPump().lastBolusTime.getTime(); double agoHours = agoMsec / 60d / 60d / 1000d; if (agoHours < 6) // max 6h back - lastBolusView.setText(formatTime.format(DanaRPlugin.getDanaRPump().lastBolusTime) + " (" + DecimalFormatter.to1Decimal(agoHours) + " " + getString(R.string.hoursago) + ") " + DecimalFormatter.to2Decimal(getPlugin().getDanaRPump().lastBolusAmount) + " U"); + lastBolusView.setText(DateUtil.timeString(DanaRPlugin.getDanaRPump().lastBolusTime) + " (" + DecimalFormatter.to1Decimal(agoHours) + " " + getString(R.string.hoursago) + ") " + DecimalFormatter.to2Decimal(getPlugin().getDanaRPump().lastBolusAmount) + " U"); else lastBolusView.setText(""); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/History/DanaRHistoryActivity.java b/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/History/DanaRHistoryActivity.java index 1fe6acf43d..4056943e70 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/History/DanaRHistoryActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/History/DanaRHistoryActivity.java @@ -31,7 +31,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.sql.SQLException; -import java.text.DateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -46,6 +45,7 @@ import info.nightscout.androidaps.plugins.DanaR.comm.RecordTypes; import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRConnectionStatus; import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRSyncStatus; import info.nightscout.client.data.NSProfile; +import info.nightscout.utils.DateUtil; import info.nightscout.utils.DecimalFormatter; import info.nightscout.utils.ToastUtils; @@ -274,9 +274,8 @@ public class DanaRHistoryActivity extends Activity { @Override public void onBindViewHolder(HistoryViewHolder holder, int position) { - DateFormat df = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT); DanaRHistoryRecord record = historyList.get(position); - holder.time.setText(df.format(new Date(record.getRecordDate()))); + holder.time.setText(DateUtil.dateAndTimeString(record.getRecordDate())); holder.value.setText(DecimalFormatter.to2Decimal(record.getRecordValue())); holder.stringvalue.setText(record.getStringRecordValue()); holder.bolustype.setText(record.getBolusType()); @@ -306,11 +305,10 @@ public class DanaRHistoryActivity extends Activity { holder.alarm.setVisibility(View.GONE); break; case RecordTypes.RECORD_TYPE_DAILY: - df = DateFormat.getDateInstance(DateFormat.SHORT); holder.dailybasal.setText(DecimalFormatter.to2Decimal(record.getRecordDailyBasal()) + "U"); holder.dailybolus.setText(DecimalFormatter.to2Decimal(record.getRecordDailyBolus()) + "U"); holder.dailytotal.setText(DecimalFormatter.to2Decimal(record.getRecordDailyBolus()+ record.getRecordDailyBasal()) + "U"); - holder.time.setText(df.format(new Date(record.getRecordDate()))); + holder.time.setText(DateUtil.dateString(record.getRecordDate())); holder.time.setVisibility(View.VISIBLE); holder.value.setVisibility(View.GONE); holder.stringvalue.setVisibility(View.GONE); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryAll.java b/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryAll.java index 13e1b48cd2..c00f7f6c8e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryAll.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryAll.java @@ -6,12 +6,12 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.sql.SQLException; -import java.text.DateFormat; import java.util.Date; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.db.DanaRHistoryRecord; import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRSyncStatus; +import info.nightscout.utils.DateUtil; public class MsgHistoryAll extends MessageBase { private static Logger log = LoggerFactory.getLogger(MsgHistoryAll.class); @@ -150,8 +150,7 @@ public class MsgHistoryAll extends MessageBase { log.error(e.getMessage(), e); } - DateFormat df = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT); - ev.message = df.format(new Date(danaRHistoryRecord.getRecordDate())); + ev.message = DateUtil.dateAndTimeString(danaRHistoryRecord.getRecordDate()); ev.message += " " + messageType; MainApp.bus().post(ev); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/DanaRKoreanFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/DanaRKoreanFragment.java index 94beeea1f3..907718f636 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/DanaRKoreanFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/DanaRKoreanFragment.java @@ -20,7 +20,6 @@ import com.squareup.otto.Subscribe; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.text.DateFormat; import java.util.Date; import info.nightscout.androidaps.MainApp; @@ -32,6 +31,7 @@ import info.nightscout.androidaps.plugins.DanaR.Dialogs.ProfileViewDialog; import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRConnectionStatus; import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRNewStatus; import info.nightscout.androidaps.plugins.DanaRKorean.History.DanaRHistoryActivity; +import info.nightscout.utils.DateUtil; import info.nightscout.utils.DecimalFormatter; import info.nightscout.utils.SetWarnColor; @@ -185,7 +185,6 @@ public class DanaRKoreanFragment extends Fragment implements FragmentBase { // GUI functions private void updateGUI() { - final DateFormat formatTime = DateFormat.getTimeInstance(DateFormat.SHORT); Activity activity = getActivity(); if (activity != null && basaBasalRateView != null) @@ -197,7 +196,7 @@ public class DanaRKoreanFragment extends Fragment implements FragmentBase { if (DanaRKoreanPlugin.getDanaRPump().lastConnection.getTime() != 0) { Long agoMsec = new Date().getTime() - DanaRKoreanPlugin.getDanaRPump().lastConnection.getTime(); int agoMin = (int) (agoMsec / 60d / 1000d); - lastConnectionView.setText(formatTime.format(DanaRKoreanPlugin.getDanaRPump().lastConnection) + " (" + String.format(MainApp.sResources.getString(R.string.minago), agoMin) + ")"); + lastConnectionView.setText(DateUtil.timeString(DanaRKoreanPlugin.getDanaRPump().lastConnection) + " (" + String.format(MainApp.sResources.getString(R.string.minago), agoMin) + ")"); SetWarnColor.setColor(lastConnectionView, agoMin, 16d, 31d); } // if (DanaRKoreanPlugin.getDanaRPump().lastBolusTime.getTime() != 0) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/History/DanaRHistoryActivity.java b/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/History/DanaRHistoryActivity.java index 1b2f8165cf..d23cff488b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/History/DanaRHistoryActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/History/DanaRHistoryActivity.java @@ -31,7 +31,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.sql.SQLException; -import java.text.DateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -47,6 +46,7 @@ import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRConnectionStatu import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRSyncStatus; import info.nightscout.androidaps.plugins.DanaRKorean.Services.ExecutionService; import info.nightscout.client.data.NSProfile; +import info.nightscout.utils.DateUtil; import info.nightscout.utils.DecimalFormatter; import info.nightscout.utils.ToastUtils; @@ -273,9 +273,8 @@ public class DanaRHistoryActivity extends Activity { @Override public void onBindViewHolder(HistoryViewHolder holder, int position) { - DateFormat df = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT); DanaRHistoryRecord record = historyList.get(position); - holder.time.setText(df.format(new Date(record.getRecordDate()))); + holder.time.setText(DateUtil.dateAndTimeString(record.getRecordDate())); holder.value.setText(DecimalFormatter.to2Decimal(record.getRecordValue())); holder.stringvalue.setText(record.getStringRecordValue()); holder.bolustype.setText(record.getBolusType()); @@ -305,11 +304,10 @@ public class DanaRHistoryActivity extends Activity { holder.alarm.setVisibility(View.GONE); break; case RecordTypes.RECORD_TYPE_DAILY: - df = DateFormat.getDateInstance(DateFormat.SHORT); holder.dailybasal.setText(DecimalFormatter.to2Decimal(record.getRecordDailyBasal()) + "U"); holder.dailybolus.setText(DecimalFormatter.to2Decimal(record.getRecordDailyBolus()) + "U"); holder.dailytotal.setText(DecimalFormatter.to2Decimal(record.getRecordDailyBolus()+ record.getRecordDailyBasal()) + "U"); - holder.time.setText(df.format(new Date(record.getRecordDate()))); + holder.time.setText(DateUtil.dateString(record.getRecordDate())); holder.time.setVisibility(View.VISIBLE); holder.value.setVisibility(View.GONE); holder.stringvalue.setVisibility(View.GONE); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/EditQuickWizardDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/EditQuickWizardDialog.java index 4cc94432d5..a86740cdfd 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/EditQuickWizardDialog.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/EditQuickWizardDialog.java @@ -15,7 +15,6 @@ import android.widget.Spinner; import org.json.JSONException; -import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -62,15 +61,14 @@ public class EditQuickWizardDialog extends DialogFragment implements View.OnClic int posFrom = 0; int posTo = 95; ArrayList timeList = new ArrayList<>(); - DateFormat df = new SimpleDateFormat("HH:mm"); int pos = 0; for (int t = 0; t < 24 * 60 * 60; t += 15 * 60) { - timeList.add(df.format(DateUtil.toDate(t))); + timeList.add(DateUtil.timeString(DateUtil.toDate(t))); if (entry.validFrom() == t) posFrom = pos; if (entry.validTo() == t) posTo = pos; pos++; } - timeList.add(df.format(DateUtil.toDate(24 * 60 * 60 - 60))); + timeList.add(DateUtil.timeString(DateUtil.toDate(24 * 60 * 60 - 60))); ArrayAdapter adapter = new ArrayAdapter(getContext(), android.R.layout.simple_spinner_item, timeList); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java index 5cfd090a0c..1cb7ae9b59 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java @@ -38,7 +38,6 @@ import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.text.DateFormat; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.Calendar; @@ -73,9 +72,10 @@ import info.nightscout.androidaps.plugins.Objectives.ObjectivesPlugin; import info.nightscout.androidaps.plugins.OpenAPSMA.IobTotal; import info.nightscout.androidaps.plugins.Overview.Dialogs.NewTreatmentDialog; import info.nightscout.androidaps.plugins.Overview.Dialogs.WizardDialog; -import info.nightscout.androidaps.plugins.Overview.GraphSeriesExtension.PointsWithLabelGraphSeries; +import info.nightscout.androidaps.plugins.Overview.graphExtensions.PointsWithLabelGraphSeries; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; +import info.nightscout.androidaps.plugins.Overview.graphExtensions.TimeAsXAxisLabelFormatter; import info.nightscout.client.data.NSProfile; import info.nightscout.utils.BolusWizard; import info.nightscout.utils.DateUtil; @@ -822,11 +822,10 @@ public class OverviewFragment extends Fragment { @Override public void onBindViewHolder(NotificationsViewHolder holder, int position) { - DateFormat df = DateFormat.getTimeInstance(DateFormat.SHORT); Notification notification = notificationsList.get(position); holder.dismiss.setTag(notification); holder.text.setText(notification.text); - holder.time.setText(df.format(notification.date)); + holder.time.setText(DateUtil.timeString(notification.date)); if (notification.level == Notification.URGENT) holder.cv.setBackgroundColor(MainApp.instance().getResources().getColor(R.color.notificationUrgent)); else if (notification.level == Notification.NORMAL) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/activities/QuickWizardListActivity.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/activities/QuickWizardListActivity.java index dafd0766d1..ef2ebe240c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/activities/QuickWizardListActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/activities/QuickWizardListActivity.java @@ -15,17 +15,15 @@ import android.widget.TextView; import com.squareup.otto.Subscribe; -import java.text.DateFormat; import java.text.SimpleDateFormat; -import info.nightscout.androidaps.AgreementActivity; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.plugins.Overview.Dialogs.EditQuickWizardDialog; import info.nightscout.androidaps.plugins.Overview.OverviewPlugin; import info.nightscout.androidaps.plugins.Overview.QuickWizard; import info.nightscout.androidaps.plugins.Overview.events.EventQuickWizardChange; -import info.nightscout.androidaps.plugins.TempBasals.TempBasalsFragment; +import info.nightscout.utils.DateUtil; import info.nightscout.utils.DecimalFormatter; public class QuickWizardListActivity extends AppCompatActivity implements View.OnClickListener { @@ -54,9 +52,8 @@ public class QuickWizardListActivity extends AppCompatActivity implements View.O @Override public void onBindViewHolder(QuickWizardEntryViewHolder holder, int position) { - DateFormat df = new SimpleDateFormat("HH:mm"); - holder.from.setText(df.format(qvData.get(position).validFromDate())); - holder.to.setText(df.format(qvData.get(position).validToDate())); + holder.from.setText(DateUtil.timeString(qvData.get(position).validFromDate())); + holder.to.setText(DateUtil.timeString(qvData.get(position).validToDate())); holder.buttonText.setText(qvData.get(position).buttonText()); holder.carbs.setText(DecimalFormatter.to0Decimal(qvData.get(position).carbs()) + " g"); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/GraphSeriesExtension/DataPointWithLabelInterface.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphExtensions/DataPointWithLabelInterface.java similarity index 95% rename from app/src/main/java/info/nightscout/androidaps/plugins/Overview/GraphSeriesExtension/DataPointWithLabelInterface.java rename to app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphExtensions/DataPointWithLabelInterface.java index af6c61272c..1c02eb66d7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/GraphSeriesExtension/DataPointWithLabelInterface.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphExtensions/DataPointWithLabelInterface.java @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.Overview.GraphSeriesExtension; +package info.nightscout.androidaps.plugins.Overview.graphExtensions; /** * GraphView * Copyright (C) 2014 Jonas Gehring diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/GraphSeriesExtension/PointsWithLabelGraphSeries.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphExtensions/PointsWithLabelGraphSeries.java similarity index 98% rename from app/src/main/java/info/nightscout/androidaps/plugins/Overview/GraphSeriesExtension/PointsWithLabelGraphSeries.java rename to app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphExtensions/PointsWithLabelGraphSeries.java index 44c07ef6c8..7671813090 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/GraphSeriesExtension/PointsWithLabelGraphSeries.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphExtensions/PointsWithLabelGraphSeries.java @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.Overview.GraphSeriesExtension; +package info.nightscout.androidaps.plugins.Overview.graphExtensions; /** * GraphView @@ -25,7 +25,6 @@ package info.nightscout.androidaps.plugins.Overview.GraphSeriesExtension; */ import android.graphics.Canvas; -import android.graphics.Color; import android.graphics.Paint; import android.graphics.Path; import android.graphics.Point; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/TimeAsXAxisLabelFormatter.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphExtensions/TimeAsXAxisLabelFormatter.java similarity index 92% rename from app/src/main/java/info/nightscout/androidaps/plugins/Overview/TimeAsXAxisLabelFormatter.java rename to app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphExtensions/TimeAsXAxisLabelFormatter.java index f108c631e1..c8ba40369d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/TimeAsXAxisLabelFormatter.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphExtensions/TimeAsXAxisLabelFormatter.java @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.Overview; +package info.nightscout.androidaps.plugins.Overview.graphExtensions; import android.content.Context; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/SmsCommunicator/SmsCommunicatorFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/SmsCommunicator/SmsCommunicatorFragment.java index 852562ddda..83973e83ff 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/SmsCommunicator/SmsCommunicatorFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/SmsCommunicator/SmsCommunicatorFragment.java @@ -15,13 +15,13 @@ import com.squareup.otto.Subscribe; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.text.DateFormat; import java.util.Collections; import java.util.Comparator; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.plugins.SmsCommunicator.events.EventSmsCommunicatorUpdateGui; +import info.nightscout.utils.DateUtil; /** * A simple {@link Fragment} subclass. @@ -89,15 +89,14 @@ public class SmsCommunicatorFragment extends Fragment { int messagesToShow = 40; int start = Math.max(0, getPlugin().messages.size() - messagesToShow); - DateFormat df = DateFormat.getTimeInstance(DateFormat.SHORT); String logText = ""; for (int x = start; x < getPlugin().messages.size(); x++) { SmsCommunicatorPlugin.Sms sms = getPlugin().messages.get(x); if (sms.received) { - logText += df.format(sms.date) + " <<< " + (sms.processed ? "● " : "○ ") + sms.phoneNumber + " " + sms.text + "
"; + logText += DateUtil.timeString(sms.date) + " <<< " + (sms.processed ? "● " : "○ ") + sms.phoneNumber + " " + sms.text + "
"; } else if (sms.sent) { - logText += df.format(sms.date) + " >>> " + (sms.processed ? "● " : "○ ") + sms.phoneNumber + " " + sms.text + "
"; + logText += DateUtil.timeString(sms.date) + " >>> " + (sms.processed ? "● " : "○ ") + sms.phoneNumber + " " + sms.text + "
"; } } logView.setText(Html.fromHtml(logText)); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/TempBasals/TempBasalsFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/TempBasals/TempBasalsFragment.java index f194c3a53a..f661cc4a5b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/TempBasals/TempBasalsFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/TempBasals/TempBasalsFragment.java @@ -17,7 +17,6 @@ import com.squareup.otto.Subscribe; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.text.DateFormat; import java.util.Date; import java.util.List; @@ -27,6 +26,7 @@ import info.nightscout.androidaps.db.TempBasal; import info.nightscout.androidaps.events.EventTempBasalChange; import info.nightscout.androidaps.interfaces.FragmentBase; import info.nightscout.androidaps.plugins.OpenAPSMA.IobTotal; +import info.nightscout.utils.DateUtil; import info.nightscout.utils.DecimalFormatter; @@ -61,13 +61,11 @@ public class TempBasalsFragment extends Fragment implements FragmentBase { @Override public void onBindViewHolder(TempBasalsViewHolder holder, int position) { - DateFormat df = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.SHORT); - DateFormat enddf = DateFormat.getTimeInstance(DateFormat.SHORT); TempBasal tempBasal = tempBasalList.get(position); if (tempBasal.timeEnd != null) { - holder.date.setText(df.format(tempBasal.timeStart) + " - " + enddf.format(tempBasalList.get(position).timeEnd)); + holder.date.setText(DateUtil.dateAndTimeString(tempBasal.timeStart) + " - " + DateUtil.timeString(tempBasalList.get(position).timeEnd)); } else { - holder.date.setText(df.format(tempBasal.timeStart)); + holder.date.setText(DateUtil.dateAndTimeString(tempBasal.timeStart)); } holder.duration.setText(DecimalFormatter.to0Decimal(tempBasal.duration) + " min"); if (tempBasal.isAbsolute) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsFragment.java index 0c36451573..818d33f245 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsFragment.java @@ -23,7 +23,6 @@ import com.squareup.otto.Subscribe; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.text.DateFormat; import java.util.Date; import java.util.List; @@ -35,6 +34,7 @@ import info.nightscout.androidaps.db.Treatment; import info.nightscout.androidaps.events.EventTreatmentChange; import info.nightscout.androidaps.interfaces.FragmentBase; import info.nightscout.client.data.NSProfile; +import info.nightscout.utils.DateUtil; import info.nightscout.utils.DecimalFormatter; import info.nightscout.utils.ToastUtils; @@ -76,8 +76,7 @@ public class TreatmentsFragment extends Fragment implements View.OnClickListener NSProfile profile = MainApp.getConfigBuilder().getActiveProfile().getProfile(); if (profile == null) return; - DateFormat df = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.SHORT); - holder.date.setText(df.format(treatments.get(position).created_at)); + holder.date.setText(DateUtil.dateAndTimeString(treatments.get(position).created_at)); holder.insulin.setText(DecimalFormatter.to2Decimal(treatments.get(position).insulin) + " U"); holder.carbs.setText(DecimalFormatter.to0Decimal(treatments.get(position).carbs) + " g"); Iob iob = treatments.get(position).iobCalc(new Date(), profile.getDia()); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/persistentnotification/PersistentNotificationPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/persistentnotification/PersistentNotificationPlugin.java index dffe461ead..653bc6e7b6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/persistentnotification/PersistentNotificationPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/persistentnotification/PersistentNotificationPlugin.java @@ -176,7 +176,9 @@ public class PersistentNotificationPlugin implements PluginBase{ if(fragmentEnabled){ MainApp.bus().register(this); } else { - MainApp.bus().unregister(this); + try { + MainApp.bus().unregister(this); + } catch (Exception e) {} } } diff --git a/app/src/main/java/info/nightscout/utils/DateUtil.java b/app/src/main/java/info/nightscout/utils/DateUtil.java index fb12986b7d..c4efa45f93 100644 --- a/app/src/main/java/info/nightscout/utils/DateUtil.java +++ b/app/src/main/java/info/nightscout/utils/DateUtil.java @@ -1,5 +1,7 @@ package info.nightscout.utils; +import android.text.format.DateUtils; + import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; @@ -9,6 +11,8 @@ import java.util.TimeZone; import java.util.regex.Matcher; import java.util.regex.Pattern; +import info.nightscout.androidaps.MainApp; + /** * The Class DateUtil. A simple wrapper around SimpleDateFormat to ease the handling of iso date string <-> date obj * with TZ @@ -81,4 +85,30 @@ public class DateUtil { return retval; } + public static String dateString(Date date) { + //return DateUtils.formatDateTime(MainApp.instance(), date.getTime(), DateUtils.FORMAT_SHOW_DATE); this provide month name not number + DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT); + return df.format(date); + } + + public static String dateString(long mills) { + //return DateUtils.formatDateTime(MainApp.instance(), mills, DateUtils.FORMAT_SHOW_DATE); this provide month name not number + DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT); + return df.format(mills); + } + + public static String timeString(Date date) { + return DateUtils.formatDateTime(MainApp.instance(), date.getTime(), DateUtils.FORMAT_SHOW_TIME); + } + + public static String timeString(long mills) { + return DateUtils.formatDateTime(MainApp.instance(), mills, DateUtils.FORMAT_SHOW_TIME); + } + + public static String dateAndTimeString(Date date) { + return dateString(date) + " " + timeString(date); + } + public static String dateAndTimeString(long mills) { + return dateString(mills) + " " + timeString(mills); + } } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/utils/TimeListEdit.java b/app/src/main/java/info/nightscout/utils/TimeListEdit.java index f3975e3e7a..811bec61fe 100644 --- a/app/src/main/java/info/nightscout/utils/TimeListEdit.java +++ b/app/src/main/java/info/nightscout/utils/TimeListEdit.java @@ -23,9 +23,7 @@ import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.text.DateFormat; import java.text.NumberFormat; -import java.text.SimpleDateFormat; import java.util.ArrayList; import info.nightscout.androidaps.MainApp; @@ -224,10 +222,9 @@ public class TimeListEdit { public void fillSpinner(Spinner spinner, int secondsFromMidnight, int previous, int next) { int posInList = 0; ArrayList timeList = new ArrayList<>(); - DateFormat df = new SimpleDateFormat("HH:mm"); int pos = 0; for (int t = previous + ONEHOURINSECONDS; t < next; t += ONEHOURINSECONDS) { - timeList.add(df.format(DateUtil.toDate(t))); + timeList.add(DateUtil.timeString(DateUtil.toDate(t))); if (secondsFromMidnight == t) posInList = pos; pos++; } @@ -332,10 +329,9 @@ public class TimeListEdit { } void log() { - DateFormat df = new SimpleDateFormat("HH:mm"); for (int i = 0; i < data1.length(); i++) { int pos = 0; - log.debug(i + ": @" + df.format(DateUtil.toDate(secondFromMidnight(i))) + " " + value1(i) + (data2 != null ? " " + value2(i) : "")); + log.debug(i + ": @" + DateUtil.timeString(DateUtil.toDate(secondFromMidnight(i))) + " " + value1(i) + (data2 != null ? " " + value2(i) : "")); } } }