68 lines
3.4 KiB
Kotlin
68 lines
3.4 KiB
Kotlin
package info.nightscout.androidaps
|
|
|
|
import dagger.android.HasAndroidInjector
|
|
import info.nightscout.androidaps.data.DetailedBolusInfo
|
|
import info.nightscout.androidaps.interfaces.Profile
|
|
import info.nightscout.androidaps.data.PumpEnactResult
|
|
import info.nightscout.androidaps.interfaces.PumpDescription
|
|
import info.nightscout.androidaps.interfaces.Pump
|
|
import info.nightscout.androidaps.interfaces.PumpSync
|
|
import info.nightscout.androidaps.plugins.common.ManufacturerType
|
|
import info.nightscout.androidaps.plugins.pump.common.defs.PumpType
|
|
import info.nightscout.androidaps.utils.TimeChangeType
|
|
import org.json.JSONObject
|
|
|
|
@Suppress("MemberVisibilityCanBePrivate")
|
|
class TestPumpPlugin(val injector: HasAndroidInjector) : Pump {
|
|
|
|
var connected = false
|
|
var isProfileSet = true
|
|
|
|
override fun isConnected() = connected
|
|
override fun isConnecting() = false
|
|
override fun isHandshakeInProgress() = false
|
|
val lastData = 0L
|
|
|
|
val baseBasal = 0.0
|
|
override val pumpDescription = PumpDescription()
|
|
|
|
override fun isInitialized(): Boolean = true
|
|
override fun isSuspended(): Boolean = false
|
|
override fun isBusy(): Boolean = false
|
|
override fun connect(reason: String) {
|
|
connected = true
|
|
}
|
|
|
|
override fun disconnect(reason: String) {
|
|
connected = false
|
|
}
|
|
|
|
override fun stopConnecting() {
|
|
connected = false
|
|
}
|
|
|
|
override fun waitForDisconnectionInSeconds(): Int = 0
|
|
override fun getPumpStatus(reason: String) {}
|
|
override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResult(injector)
|
|
override fun isThisProfileSet(profile: Profile): Boolean = isProfileSet
|
|
override fun lastDataTime(): Long = lastData
|
|
override val baseBasalRate: Double = baseBasal
|
|
override val reservoirLevel: Double = 0.0
|
|
override val batteryLevel: Int = 0
|
|
override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResult(injector).success(true)
|
|
override fun stopBolusDelivering() {}
|
|
override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = PumpEnactResult(injector).success(true)
|
|
override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = PumpEnactResult(injector).success(true)
|
|
override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResult(injector).success(true)
|
|
override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResult(injector).success(true)
|
|
override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResult(injector).success(true)
|
|
override fun getJSONStatus(profile: Profile, profileName: String, version: String): JSONObject = JSONObject()
|
|
override fun manufacturer(): ManufacturerType = ManufacturerType.AndroidAPS
|
|
override fun model(): PumpType = PumpType.GENERIC_AAPS
|
|
override fun serialNumber(): String = "1"
|
|
override fun shortStatus(veryShort: Boolean): String = ""
|
|
override val isFakingTempsByExtendedBoluses: Boolean = false
|
|
override fun loadTDDs(): PumpEnactResult = PumpEnactResult(injector).success(true)
|
|
override fun canHandleDST(): Boolean = true
|
|
override fun timezoneOrDSTChanged(timeChangeType: TimeChangeType) {}
|
|
} |