diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/driver/comm/AapsOmnipodManager.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/driver/comm/AapsOmnipodManager.java
index f8ca563156..354ffc3f48 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/driver/comm/AapsOmnipodManager.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/driver/comm/AapsOmnipodManager.java
@@ -39,6 +39,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.comm.OmnipodManager;
import info.nightscout.androidaps.plugins.pump.omnipod.comm.SetupActionResult;
import info.nightscout.androidaps.plugins.pump.omnipod.comm.exception.IllegalMessageAddressException;
import info.nightscout.androidaps.plugins.pump.omnipod.comm.exception.IllegalMessageSequenceNumberException;
+import info.nightscout.androidaps.plugins.pump.omnipod.comm.exception.IllegalVersionResponseTypeException;
import info.nightscout.androidaps.plugins.pump.omnipod.comm.message.response.StatusResponse;
import info.nightscout.androidaps.plugins.pump.omnipod.comm.message.response.podinfo.PodInfoRecentPulseLog;
import info.nightscout.androidaps.plugins.pump.omnipod.comm.message.response.podinfo.PodInfoResponse;
@@ -607,7 +608,11 @@ public class AapsOmnipodManager implements OmnipodCommunicationManagerInterface
if (ex instanceof ActionInitializationException || ex instanceof CommandInitializationException) {
comment = getStringResource(R.string.omnipod_driver_error_invalid_parameters);
} else if (ex instanceof CommunicationException) {
- comment = getStringResource(R.string.omnipod_driver_error_communication_failed);
+ if(((CommunicationException) ex).getType() == CommunicationException.Type.TIMEOUT) {
+ comment = getStringResource(R.string.omnipod_driver_error_communication_failed_timeout);
+ } else {
+ comment = getStringResource(R.string.omnipod_driver_error_communication_failed_unexpected_exception);
+ }
} else if (ex instanceof CrcMismatchException) {
comment = getStringResource(R.string.omnipod_driver_error_crc_mismatch);
} else if (ex instanceof IllegalPacketTypeException) {
@@ -615,6 +620,8 @@ public class AapsOmnipodManager implements OmnipodCommunicationManagerInterface
} else if (ex instanceof IllegalPodProgressException || ex instanceof IllegalSetupProgressException
|| ex instanceof IllegalDeliveryStatusException) {
comment = getStringResource(R.string.omnipod_driver_error_invalid_progress_state);
+ } else if (ex instanceof IllegalVersionResponseTypeException) {
+ comment = getStringResource(R.string.omnipod_driver_error_invalid_response);
} else if (ex instanceof IllegalResponseException) {
comment = getStringResource(R.string.omnipod_driver_error_invalid_response);
} else if (ex instanceof IllegalMessageSequenceNumberException) {
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index b112907813..0a6d531f62 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1749,9 +1749,10 @@
No active pod.
Command verification failed.
- An unexpected error occured. Please report! (type: %1$s).
+ An unexpected error occurred. Please report! (type: %1$s).
Communication failed: received invalid input parameters.
- Communication failed.
+ Communication failed: timeout.
+ Communication failed: an unexpected error occurred. Please report!
Communication failed: message integrity verification failed.
Communication failed: received an invalid packet from the Pod.
Communication failed: the Pod is in a wrong state.