From 1b7ae4e70449b1f9eb6f7ff882ac86d8665899e2 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Thu, 23 Jun 2022 10:58:29 +0200 Subject: [PATCH] RL: code cleanup --- .../common/hw/rileylink/RileyLinkUtil.java | 38 ----- .../service/data/ServiceCommand.java | 67 -------- .../service/data/ServiceMessage.java | 40 ----- .../service/data/ServiceNotification.java | 48 ------ .../rileylink/service/data/ServiceResult.java | 96 ----------- .../service/data/ServiceTransport.java | 150 ------------------ .../service/data/ServiceTransportType.java | 15 -- .../service/tasks/DiscoverGattServicesTask.kt | 1 - .../hw/rileylink/service/tasks/PumpTask.kt | 1 - .../hw/rileylink/service/tasks/ServiceTask.kt | 3 +- .../service/tasks/ServiceTaskExecutor.kt | 6 - 11 files changed, 1 insertion(+), 464 deletions(-) delete mode 100644 rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/data/ServiceCommand.java delete mode 100644 rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/data/ServiceMessage.java delete mode 100644 rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/data/ServiceNotification.java delete mode 100644 rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/data/ServiceResult.java delete mode 100644 rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/data/ServiceTransport.java delete mode 100644 rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/data/ServiceTransportType.java diff --git a/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/RileyLinkUtil.java b/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/RileyLinkUtil.java index 7d80b7d907..8f478d36f2 100644 --- a/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/RileyLinkUtil.java +++ b/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/RileyLinkUtil.java @@ -20,9 +20,6 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.data.enco import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.RileyLinkEncodingType; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.data.BleAdvertisedData; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.data.RLHistoryItem; -import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.data.ServiceResult; -import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.data.ServiceTransport; -import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks.ServiceTask; import info.nightscout.shared.logging.AAPSLogger; /** @@ -33,7 +30,6 @@ import info.nightscout.shared.logging.AAPSLogger; public class RileyLinkUtil { private final List historyRileyLink = new ArrayList<>(); - private ServiceTask currentTask; private RileyLinkEncodingType encoding; private Encoding4b6b encoding4b6b; @@ -63,40 +59,6 @@ public class RileyLinkUtil { LocalBroadcastManager.getInstance(context).sendBroadcast(intent); } - // FIXME remove ? - public void setCurrentTask(ServiceTask task) { - if (currentTask == null) { - currentTask = task; - } else { - //LOG.error("setCurrentTask: Cannot replace current task"); - } - } - - - public void finishCurrentTask(ServiceTask task) { - if (task != currentTask) { - //LOG.error("finishCurrentTask: task does not match"); - } - // hack to force deep copy of transport contents - ServiceTransport transport = task.getServiceTransport().clone(); - - if (transport.hasServiceResult()) { - sendServiceTransportResponse(transport, transport.getServiceResult()); - } - currentTask = null; - } - - - private static void sendServiceTransportResponse(ServiceTransport transport, ServiceResult serviceResult) { - // get the key (hashcode) of the client who requested this - Integer clientHashcode = transport.getSenderHashcode(); - // make a new bundle to send as the message data - transport.setServiceResult(serviceResult); - // FIXME - // transport.setTransportType(RT2Const.IPC.MSG_ServiceResult); - // rileyLinkIPCConnection.sendTransport(transport, clientHashcode); - } - public static boolean isSame(Double d1, Double d2) { double diff = d1 - d2; diff --git a/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/data/ServiceCommand.java b/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/data/ServiceCommand.java deleted file mode 100644 index 4f43013328..0000000000 --- a/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/data/ServiceCommand.java +++ /dev/null @@ -1,67 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.data; - -import android.os.Bundle; - -/** - * Created by geoff on 6/25/16. - */ -public class ServiceCommand extends ServiceMessage { - - public ServiceCommand() { - map = new Bundle(); - } - - - // commandID is a string that the client can set on the message. - // The service does not use this value, but passes it back with the result - // so that the client can identify it. - public ServiceCommand(String commandName, String commandID) { - init(); - map.putString("command", commandName); - map.putString("commandID", commandID); - } - - - public ServiceCommand(Bundle commandBundle) { - if (commandBundle != null) { - map = commandBundle; - } else { - map = new Bundle(); - init(); - map.putString("command", "(null)"); - map.putString("commandID", "(null"); - } - } - - - @Override - public void init() { - map.putString("ServiceMessageType", "ServiceCommand"); - } - - - public String getCommandID() { - return map.getString("commandID"); - } - - - public String getCommandName() { - return map.getString("command"); - } - - - public boolean isPumpCommand() { - switch (getCommandName()) { - case "FetchPumpHistory": - case "ReadPumpClock": - case "RetrieveHistoryPage": - case "ReadISFProfile": - case "ReadBolusWizardCarbProfile": - case "UpdatePumpStatus": - case "WakeAndTune": - return true; - default: - return false; - } - } -} diff --git a/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/data/ServiceMessage.java b/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/data/ServiceMessage.java deleted file mode 100644 index 83e2f57ade..0000000000 --- a/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/data/ServiceMessage.java +++ /dev/null @@ -1,40 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.data; - -import android.os.Bundle; - -/** - * Created by geoff on 7/4/16. - *

- * Base class for all messages passed between service and client - */ -public class ServiceMessage { - - protected Bundle map = new Bundle(); - - - public ServiceMessage() { - init(); - } - - - public void init() { - map.putString("ServiceMessageClass", this.getClass().getCanonicalName()); - map.putString("ServiceMessageType", this.getClass().getSimpleName()); - } - - - public Bundle getMap() { - return map; - } - - - public void setMap(Bundle map) { - this.map = map; - } - - - public String getServiceMessageType() { - return map.getString("ServiceMessageType"); - } - -} diff --git a/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/data/ServiceNotification.java b/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/data/ServiceNotification.java deleted file mode 100644 index aad45093f1..0000000000 --- a/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/data/ServiceNotification.java +++ /dev/null @@ -1,48 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.data; - -import android.os.Bundle; - -/** - * Created by geoff on 7/6/16. - *

- * These are "one liner" messages between client and service. Must still be contained within ServiceTransports - */ -public class ServiceNotification extends ServiceMessage { - - public ServiceNotification() { - } - - - public ServiceNotification(Bundle b) { - if (b != null) { - if ("ServiceNotification".equals(b.getString("ServiceMessageType"))) { - setMap(b); - } else { - throw new IllegalArgumentException(); - } - } - } - - - public ServiceNotification(String notificationType) { - setNotificationType(notificationType); - } - - - @Override - public void init() { - super.init(); - map.putString("ServiceMessageType", "ServiceNotification"); - } - - - public String getNotificationType() { - return map.getString("NotificationType", ""); - } - - - public void setNotificationType(String notificationType) { - map.putString("NotificationType", notificationType); - } - -} diff --git a/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/data/ServiceResult.java b/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/data/ServiceResult.java deleted file mode 100644 index ecf7d54f99..0000000000 --- a/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/data/ServiceResult.java +++ /dev/null @@ -1,96 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.data; - -import android.os.Bundle; - -/** - * Created by geoff on 6/25/16. - */ -public class ServiceResult extends ServiceMessage { - - public static final int ERROR_MALFORMED_PUMP_RESPONSE = 1; - public static final int ERROR_NULL_PUMP_RESPONSE = 2; - public static final int ERROR_INVALID_PUMP_RESPONSE = 3; - public static final int ERROR_PUMP_BUSY = 4; - - - public ServiceResult() { - init(); - } - - - public ServiceResult(Bundle resultBundle) { - if (resultBundle != null) { - setMap(resultBundle); - } else { - init(); - } - } - - - public static final String getErrorDescription(int errorCode) { - switch (errorCode) { - case ERROR_MALFORMED_PUMP_RESPONSE: - return "Malformed Pump Response"; - case ERROR_NULL_PUMP_RESPONSE: - return "Null pump response"; - case ERROR_INVALID_PUMP_RESPONSE: - return "Invalid pump response"; - case ERROR_PUMP_BUSY: - return "A pump command session is already in progress"; - default: - return "Unknown error code (" + errorCode + ")"; - } - } - - - @Override - public void init() { - super.init(); - map.putString("ServiceMessageType", "ServiceResult"); - setServiceResultType(this.getClass().getSimpleName()); - setResultError(0, "Uninitialized ServiceResult"); - } - - - public String getServiceResultType() { - return map.getString("ServiceResultType", "ServiceResult"); - } - - - public void setServiceResultType(String serviceResultType) { - map.putString("ServiceResultType", serviceResultType); - } - - - public void setResultOK() { - map.putString("result", "OK"); - } - - - public void setResultError(int errorCode) { - setResultError(errorCode, getErrorDescription(errorCode)); - } - - - public void setResultError(int errorCode, String errorDescription) { - map.putString("result", "error"); - map.putInt("errorCode", errorCode); - map.putString("errorDescription", errorDescription); - } - - - public boolean resultIsOK() { - return ("OK".equals(map.getString("result", ""))); - } - - - public String getErrorDescription() { - return map.getString("errorDescription", ""); - } - - - public String getResult() { - return map.getString("result", ""); - } - -} diff --git a/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/data/ServiceTransport.java b/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/data/ServiceTransport.java deleted file mode 100644 index 99fa32f5e9..0000000000 --- a/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/data/ServiceTransport.java +++ /dev/null @@ -1,150 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.data; - -import android.os.Bundle; -import android.os.Parcel; - -/** - * Created by geoff on 7/6/16. - *

- * This class exists to hold a ServiceCommand along with transport variables such as time sent, time received, sender. - * May also contain result, if the command is completed. - */ -public class ServiceTransport extends ServiceMessage { - - private ServiceTransportType serviceTransportType = ServiceTransportType.Undefined; - - - public ServiceTransport() { - } - - - public ServiceTransport(Bundle b) { - if (b != null) { - if ("ServiceTransport".equals(b.getString("ServiceMessageType"))) { - setMap(b); - } else { - throw new IllegalArgumentException(); - } - } - } - - - @Override - public void init() { - super.init(); - map.putString("ServiceMessageType", "ServiceTransport"); - setTransportType("unknown"); - setSenderHashcode(0); - } - - - public Integer getSenderHashcode() { - return map.getInt("senderHashCode", 0); - } - - - public void setSenderHashcode(Integer senderHashcode) { - map.putInt("senderHashcode", senderHashcode); - } - - - public ServiceCommand getServiceCommand() { - return new ServiceCommand(map.getBundle("ServiceCommand")); - } - - - public void setServiceCommand(ServiceCommand serviceCommand) { - map.putBundle("ServiceCommand", serviceCommand.getMap()); - this.serviceTransportType = ServiceTransportType.ServiceCommand; - } - - - public boolean hasServiceCommand() { - return (getMap().containsKey("ServiceCommand")); - } - - - public String getTransportType() { - return map.getString("transportType", "unknown"); - } - - - // On remote end, this will be converted to the "action" of a local Intent, - // so can be used for separating types of messages to different internal handlers. - public void setTransportType(String transportType) { - map.putString("transportType", transportType); - } - - - public ServiceResult getServiceResult() { - return new ServiceResult(map.getBundle("ServiceResult")); - } - - - public void setServiceResult(ServiceResult serviceResult) { - map.putBundle("ServiceResult", serviceResult.getMap()); - this.serviceTransportType = ServiceTransportType.ServiceResult; - } - - - public boolean hasServiceResult() { - return (getMap().containsKey("ServiceResult")); - } - - - public ServiceNotification getServiceNotification() { - return new ServiceNotification(map.getBundle("ServiceNotification")); - } - - - public void setServiceNotification(ServiceNotification notification) { - map.putBundle("ServiceNotification", notification.getMap()); - this.serviceTransportType = ServiceTransportType.ServiceNotification; - } - - - public boolean hasServiceNotification() { - return (map.containsKey("ServiceNotification")); - } - - - public boolean commandDidCompleteOK() { - return getServiceResult().resultIsOK(); - } - - - public String getOriginalCommandName() { - return getServiceCommand().getCommandName(); - } - - - public String describeContentsShort() { - String rval = ""; - rval += getTransportType(); - - if (this.serviceTransportType == ServiceTransportType.ServiceNotification) { - rval += "note: " + getServiceNotification().getNotificationType(); - } else if (this.serviceTransportType == ServiceTransportType.ServiceCommand) { - rval += ", cmd=" + getOriginalCommandName(); - } else if (this.serviceTransportType == ServiceTransportType.ServiceResult) { - rval += ", cmd=" + getOriginalCommandName(); - rval += ", rslt=" + getServiceResult().getResult(); - rval += ", err=" + getServiceResult().getErrorDescription(); - } - return rval; - } - - - @Override public ServiceTransport clone() { - Parcel p = Parcel.obtain(); - Parcel p2 = Parcel.obtain(); - getMap().writeToParcel(p, 0); - byte[] bytes = p.marshall(); - p2.unmarshall(bytes, 0, bytes.length); - p2.setDataPosition(0); - Bundle b = p2.readBundle(); - ServiceTransport rval = new ServiceTransport(); - rval.setMap(b); - return rval; - } -} diff --git a/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/data/ServiceTransportType.java b/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/data/ServiceTransportType.java deleted file mode 100644 index 135c217996..0000000000 --- a/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/data/ServiceTransportType.java +++ /dev/null @@ -1,15 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.data; - -/** - * Created by andy on 31/05/18. - */ - -public enum ServiceTransportType { - - Undefined, // - ServiceNotification, // - - ServiceCommand, // - ServiceResult - -} diff --git a/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/DiscoverGattServicesTask.kt b/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/DiscoverGattServicesTask.kt index b0a6123970..e3d5a121b7 100644 --- a/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/DiscoverGattServicesTask.kt +++ b/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/DiscoverGattServicesTask.kt @@ -1,7 +1,6 @@ package info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.data.ServiceTransport import info.nightscout.shared.logging.AAPSLogger import javax.inject.Inject diff --git a/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/PumpTask.kt b/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/PumpTask.kt index b32b36b338..53cca2a306 100644 --- a/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/PumpTask.kt +++ b/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/PumpTask.kt @@ -1,7 +1,6 @@ package info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.data.ServiceTransport open class PumpTask(injector: HasAndroidInjector) : ServiceTask(injector) diff --git a/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/ServiceTask.kt b/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/ServiceTask.kt index 81e1024244..34fdf4e050 100644 --- a/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/ServiceTask.kt +++ b/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/ServiceTask.kt @@ -3,11 +3,10 @@ package info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.task import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkPumpDevice -import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.data.ServiceTransport import javax.inject.Inject @Suppress("LeakingThis") -open class ServiceTask constructor(val injector: HasAndroidInjector, val serviceTransport: ServiceTransport = ServiceTransport()) : Runnable { +open class ServiceTask constructor(val injector: HasAndroidInjector) : Runnable { @Inject lateinit var activePlugin: ActivePlugin diff --git a/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/ServiceTaskExecutor.kt b/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/ServiceTaskExecutor.kt index 704439a490..36494bb17b 100644 --- a/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/ServiceTaskExecutor.kt +++ b/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/ServiceTaskExecutor.kt @@ -1,6 +1,5 @@ package info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks -import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil import info.nightscout.shared.logging.AAPSLogger import info.nightscout.shared.logging.LTag import java.util.concurrent.LinkedBlockingQueue @@ -12,7 +11,6 @@ import javax.inject.Singleton @Singleton class ServiceTaskExecutor @Inject constructor() : ThreadPoolExecutor(1, 1, 10000, TimeUnit.MILLISECONDS, taskQueue) { - @Inject lateinit var rileyLinkUtil: RileyLinkUtil @Inject lateinit var aapsLogger: AAPSLogger companion object { @@ -25,21 +23,17 @@ class ServiceTaskExecutor @Inject constructor() : ThreadPoolExecutor(1, 1, 10000 return task } - // FIXME override fun beforeExecute(t: Thread, r: Runnable) { // This is run on either caller UI thread or Service UI thread. val task = r as ServiceTask aapsLogger.debug(LTag.PUMPBTCOMM, "About to run task ${task.javaClass.simpleName}") - rileyLinkUtil.setCurrentTask(task) task.preOp() } - // FIXME override fun afterExecute(r: Runnable, t: Throwable) { // This is run on either caller UI thread or Service UI thread. val task = r as ServiceTask task.postOp() aapsLogger.debug(LTag.PUMPBTCOMM, "Finishing task ${task.javaClass.simpleName}") - rileyLinkUtil.finishCurrentTask(task) } } \ No newline at end of file