DiaconnG8UserOptionsActivity: toolbar

This commit is contained in:
Milos Kozak 2023-08-19 14:16:54 +02:00
parent b0d6580f9a
commit e342df2a2b
7 changed files with 33 additions and 62 deletions

View file

@ -14,7 +14,7 @@
<activity <activity
android:name=".activities.DiaconnG8UserOptionsActivity" android:name=".activities.DiaconnG8UserOptionsActivity"
android:exported="false" android:exported="false"
android:theme="@style/AppTheme.NoActionBar" /> android:theme="@style/AppTheme" />
<activity <activity
android:name=".activities.DiaconnG8BLEScanActivity" android:name=".activities.DiaconnG8BLEScanActivity"
android:exported="false" android:exported="false"

View file

@ -69,13 +69,7 @@ class DiaconnG8Pump @Inject constructor(
var tempBasalStart: Long = 0 var tempBasalStart: Long = 0
var tempBasalDuration: Long = 0 // in milliseconds var tempBasalDuration: Long = 0 // in milliseconds
var tempBasalAbsoluteRate: Double = 0.0 var tempBasalAbsoluteRate: Double = 0.0
var tempBasalPercent: Int = 0
var tempBasalTotalSec: Long
set(durationInSec) {
tempBasalDuration = T.secs(durationInSec).msecs()
}
get() = T.msecs(tempBasalDuration).mins()
var isTempBasalInProgress: Boolean var isTempBasalInProgress: Boolean
get() = tempBasalStart != 0L && dateUtil.now() in tempBasalStart..tempBasalStart + tempBasalDuration get() = tempBasalStart != 0L && dateUtil.now() in tempBasalStart..tempBasalStart + tempBasalDuration
set(isRunning) { set(isRunning) {
@ -161,7 +155,6 @@ class DiaconnG8Pump @Inject constructor(
} }
} }
// Profile // Profile
var units = 0
var activeProfile = 0 var activeProfile = 0
var pumpProfiles: Array<Array<Double>>? = null var pumpProfiles: Array<Array<Double>>? = null
@ -172,7 +165,7 @@ class DiaconnG8Pump @Inject constructor(
// User settings // User settings
var setUserOptionType = 0 // ALARM:0, LCD:1, LANG:2, BOLUS_SPEED:3 var setUserOptionType = 0 // ALARM:0, LCD:1, LANG:2, BOLUS_SPEED:3
var beepAndAlarm = 0 var beepAndAlarm = 0
var alarmIntesity = 0 var alarmIntensity = 0
var lcdOnTimeSec = 0 var lcdOnTimeSec = 0
var selectedLanguage = 0 var selectedLanguage = 0
var bolusSpeed = 0 var bolusSpeed = 0
@ -180,7 +173,6 @@ class DiaconnG8Pump @Inject constructor(
var resultErrorCode: Int = 0 // last start bolus erroCode var resultErrorCode: Int = 0 // last start bolus erroCode
// Bolus settings // Bolus settings
var historyDoneReceived: Boolean = false // true when last history message is received
var bolusingTreatment: EventOverviewBolusProgress.Treatment? = null // actually delivered treatment var bolusingTreatment: EventOverviewBolusProgress.Treatment? = null // actually delivered treatment
var bolusAmountToBeDelivered = 0.0 // amount to be delivered var bolusAmountToBeDelivered = 0.0 // amount to be delivered
var bolusProgressLastTimeStamp: Long = 0 // timestamp of last bolus progress message var bolusProgressLastTimeStamp: Long = 0 // timestamp of last bolus progress message
@ -188,11 +180,6 @@ class DiaconnG8Pump @Inject constructor(
var bolusStopForced = false // bolus forced to stop by user var bolusStopForced = false // bolus forced to stop by user
var bolusDone = false // success end var bolusDone = false // success end
// LGS Status
var lgsStatus: Int = 0 // LGS Status(1=LGS_ON, 2=LGS_OFF)
var lgsTime:Int = 0 // LGS Setting time (0~255 min)
var lgsElapsedTime:Int = 0 // LGS Passed Time (0~255 min)
val pumpUid: String val pumpUid: String
get() = "$country-$productType-$makeYear-${makeMonth.toString().padStart(2,'0')}-${makeDay.toString().padStart(2, '0')}-${lotNo.toString().padStart(3,'0')}-${serialNo.toString().padStart(5,'0')}" get() = "$country-$productType-$makeYear-${makeMonth.toString().padStart(2,'0')}-${makeDay.toString().padStart(2, '0')}-${lotNo.toString().padStart(3,'0')}-${serialNo.toString().padStart(5,'0')}"
@ -259,7 +246,6 @@ class DiaconnG8Pump @Inject constructor(
var pumpWrappingCount = 0 // wrapping 카운트(0~255) var pumpWrappingCount = 0 // wrapping 카운트(0~255)
var apslastLogNum = 0 // 앱에서 처리한 마지막 로그 번호. var apslastLogNum = 0 // 앱에서 처리한 마지막 로그 번호.
var apsWrappingCount = 0 // 앱에서 처리한 마지막 로그 번호. var apsWrappingCount = 0 // 앱에서 처리한 마지막 로그 번호.
var isProgressPumpLogSync = false // 로그 동기화 진행 여부
var isPlatformUploadStarted = false // 플랫폼 로그 동기화 진행 여부 var isPlatformUploadStarted = false // 플랫폼 로그 동기화 진행 여부
// 6. bolus speed status. // 6. bolus speed status.
@ -271,7 +257,6 @@ class DiaconnG8Pump @Inject constructor(
var tbTime = 0 // 임시기저 시간 var tbTime = 0 // 임시기저 시간
var tbInjectRateRatio = 0 // 임시기저 주입량/률 1000(0.00U)~1600(6.00U), 50000(0%)~50250(250%), 50000이상이면 주입률로 판정 var tbInjectRateRatio = 0 // 임시기저 주입량/률 1000(0.00U)~1600(6.00U), 50000(0%)~50250(250%), 50000이상이면 주입률로 판정
var tbElapsedTime = 0 // 임시기저 경과 시간(0~1425분) var tbElapsedTime = 0 // 임시기저 경과 시간(0~1425분)
var tbInjectAbsoluteValue = 0.0 // 임시기저 주입량/률 1000(0.00U)~2500(15.00U)
// 8. Basal status // 8. Basal status
var baseStatus = 0 // 주입상태 var baseStatus = 0 // 주입상태

View file

@ -2,9 +2,13 @@ package info.nightscout.pump.diaconn.activities
import android.content.Context import android.content.Context
import android.os.Bundle import android.os.Bundle
import android.view.Menu
import android.view.MenuInflater
import android.view.MenuItem
import android.view.View import android.view.View
import android.widget.AdapterView import android.widget.AdapterView
import android.widget.ArrayAdapter import android.widget.ArrayAdapter
import androidx.core.view.MenuProvider
import info.nightscout.core.ui.activities.TranslatedDaggerAppCompatActivity import info.nightscout.core.ui.activities.TranslatedDaggerAppCompatActivity
import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.core.ui.toast.ToastUtils
import info.nightscout.core.utils.fabric.FabricPrivacy import info.nightscout.core.utils.fabric.FabricPrivacy
@ -55,6 +59,10 @@ class DiaconnG8UserOptionsActivity : TranslatedDaggerAppCompatActivity() {
binding = DiaconnG8UserOptionsActivityBinding.inflate(layoutInflater) binding = DiaconnG8UserOptionsActivityBinding.inflate(layoutInflater)
setContentView(binding.root) setContentView(binding.root)
title = rh.gs(R.string.diaconng8_pump_settings)
supportActionBar?.setDisplayHomeAsUpEnabled(true)
supportActionBar?.setDisplayShowHomeEnabled(true)
binding.saveAlarm.setOnClickListener { onSaveAlarmClick() } binding.saveAlarm.setOnClickListener { onSaveAlarmClick() }
binding.saveLcdOnTime.setOnClickListener { onSaveLcdOnTimeClick() } binding.saveLcdOnTime.setOnClickListener { onSaveLcdOnTimeClick() }
binding.saveLang.setOnClickListener { onSaveLangClick() } binding.saveLang.setOnClickListener { onSaveLangClick() }
@ -69,7 +77,7 @@ class DiaconnG8UserOptionsActivity : TranslatedDaggerAppCompatActivity() {
LTag.PUMP, LTag.PUMP,
"UserOptionsLoaded:" + (System.currentTimeMillis() - diaconnG8Pump.lastConnection) / 1000 + " s ago" "UserOptionsLoaded:" + (System.currentTimeMillis() - diaconnG8Pump.lastConnection) / 1000 + " s ago"
+ "\nbeepAndAlarm:" + diaconnG8Pump.beepAndAlarm + "\nbeepAndAlarm:" + diaconnG8Pump.beepAndAlarm
+ "\nalarmIntesity:" + diaconnG8Pump.alarmIntesity + "\nalarmIntensity:" + diaconnG8Pump.alarmIntensity
+ "\nlanguage:" + diaconnG8Pump.selectedLanguage + "\nlanguage:" + diaconnG8Pump.selectedLanguage
+ "\nlcdOnTimeSec:" + diaconnG8Pump.lcdOnTimeSec + "\nlcdOnTimeSec:" + diaconnG8Pump.lcdOnTimeSec
) )
@ -78,7 +86,7 @@ class DiaconnG8UserOptionsActivity : TranslatedDaggerAppCompatActivity() {
fillSoundSubCategory() fillSoundSubCategory()
binding.beepAndAlarm.setSelection(diaconnG8Pump.beepAndAlarm - 1) binding.beepAndAlarm.setSelection(diaconnG8Pump.beepAndAlarm - 1)
binding.alarmIntesity.setSelection(diaconnG8Pump.alarmIntesity - 1) binding.alarmIntesity.setSelection(diaconnG8Pump.alarmIntensity - 1)
binding.beepAndAlarm.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { binding.beepAndAlarm.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) { override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
@ -99,6 +107,20 @@ class DiaconnG8UserOptionsActivity : TranslatedDaggerAppCompatActivity() {
2 -> binding.pumplangKorean.isChecked = true 2 -> binding.pumplangKorean.isChecked = true
3 -> binding.pumplangEnglish.isChecked = true 3 -> binding.pumplangEnglish.isChecked = true
} }
// Add menu items without overriding methods in the Activity
addMenuProvider(object : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean =
when (menuItem.itemId) {
android.R.id.home -> {
onBackPressedDispatcher.onBackPressed()
true
}
else -> false
}
})
} }
private fun onSaveAlarmClick() { private fun onSaveAlarmClick() {
@ -106,7 +128,7 @@ class DiaconnG8UserOptionsActivity : TranslatedDaggerAppCompatActivity() {
diaconnG8Pump.setUserOptionType = DiaconnG8Pump.ALARM diaconnG8Pump.setUserOptionType = DiaconnG8Pump.ALARM
diaconnG8Pump.beepAndAlarm = binding.beepAndAlarm.selectedItemPosition + 1 diaconnG8Pump.beepAndAlarm = binding.beepAndAlarm.selectedItemPosition + 1
diaconnG8Pump.alarmIntesity = binding.alarmIntesity.selectedItemPosition + 1 diaconnG8Pump.alarmIntensity = binding.alarmIntesity.selectedItemPosition + 1
onSaveClick() onSaveClick()
} }

View file

@ -173,7 +173,7 @@ class BigAPSMainInfoInquireResponsePacket(
// 18. pump sound // 18. pump sound
diaconnG8Pump.beepAndAlarm = getByteToInt(bufferData) -1 diaconnG8Pump.beepAndAlarm = getByteToInt(bufferData) -1
diaconnG8Pump.alarmIntesity = getByteToInt(bufferData) -1 diaconnG8Pump.alarmIntensity = getByteToInt(bufferData) -1
// 19. pump light time // 19. pump light time
diaconnG8Pump.lcdOnTimeSec = getByteToInt(bufferData) // kind (1=30 sec, 2=40 sec, 3=50 sec) diaconnG8Pump.lcdOnTimeSec = getByteToInt(bufferData) // kind (1=30 sec, 2=40 sec, 3=50 sec)
@ -324,7 +324,7 @@ class BigAPSMainInfoInquireResponsePacket(
aapsLogger.debug(LTag.PUMPCOMM, "maxBolusePerDay > " + diaconnG8Pump.maxBolusePerDay) aapsLogger.debug(LTag.PUMPCOMM, "maxBolusePerDay > " + diaconnG8Pump.maxBolusePerDay)
aapsLogger.debug(LTag.PUMPCOMM, "mealLimitTime > " + diaconnG8Pump.mealLimitTime) aapsLogger.debug(LTag.PUMPCOMM, "mealLimitTime > " + diaconnG8Pump.mealLimitTime)
aapsLogger.debug(LTag.PUMPCOMM, "beepAndAlarm > " + diaconnG8Pump.beepAndAlarm) aapsLogger.debug(LTag.PUMPCOMM, "beepAndAlarm > " + diaconnG8Pump.beepAndAlarm)
aapsLogger.debug(LTag.PUMPCOMM, "alarmIntesity > " + diaconnG8Pump.alarmIntesity) aapsLogger.debug(LTag.PUMPCOMM, "alarmIntesity > " + diaconnG8Pump.alarmIntensity)
aapsLogger.debug(LTag.PUMPCOMM, "lcdOnTimeSec > " + diaconnG8Pump.lcdOnTimeSec) aapsLogger.debug(LTag.PUMPCOMM, "lcdOnTimeSec > " + diaconnG8Pump.lcdOnTimeSec)
aapsLogger.debug(LTag.PUMPCOMM, "selectedLanguage > " + diaconnG8Pump.selectedLanguage) aapsLogger.debug(LTag.PUMPCOMM, "selectedLanguage > " + diaconnG8Pump.selectedLanguage)
} }

View file

@ -34,11 +34,11 @@ class SoundInquireResponsePacket(injector: HasAndroidInjector) : DiaconnG8Packet
} }
diaconnG8Pump.beepAndAlarm = getByteToInt(bufferData) -1 diaconnG8Pump.beepAndAlarm = getByteToInt(bufferData) -1
diaconnG8Pump.alarmIntesity = getByteToInt(bufferData) -1 diaconnG8Pump.alarmIntensity = getByteToInt(bufferData) -1
aapsLogger.debug(LTag.PUMPCOMM, "Result --> ${diaconnG8Pump.result}") aapsLogger.debug(LTag.PUMPCOMM, "Result --> ${diaconnG8Pump.result}")
aapsLogger.debug(LTag.PUMPCOMM, "beepAndAlarm --> ${diaconnG8Pump.beepAndAlarm}") aapsLogger.debug(LTag.PUMPCOMM, "beepAndAlarm --> ${diaconnG8Pump.beepAndAlarm}")
aapsLogger.debug(LTag.PUMPCOMM, "alarmIntesity --> ${diaconnG8Pump.alarmIntesity}") aapsLogger.debug(LTag.PUMPCOMM, "alarmIntensity --> ${diaconnG8Pump.alarmIntensity}")
} }
override fun getFriendlyName(): String { override fun getFriendlyName(): String {

View file

@ -275,7 +275,7 @@ class DiaconnG8Service : DaggerService() {
val result = PumpEnactResult(injector) val result = PumpEnactResult(injector)
var apsLastLogNum = 9999 var apsLastLogNum = 9999
var apsWrappingCount = -1 var apsWrappingCount = -1
// get saved last loginfo // get saved last log info
val diaconnHistoryRecord = diaconnHistoryRecordDao.getLastRecord(diaconnG8Pump.pumpUid) val diaconnHistoryRecord = diaconnHistoryRecordDao.getLastRecord(diaconnG8Pump.pumpUid)
aapsLogger.debug(LTag.PUMPCOMM, "diaconnHistoryRecord :: $diaconnHistoryRecord") aapsLogger.debug(LTag.PUMPCOMM, "diaconnHistoryRecord :: $diaconnHistoryRecord")
@ -421,7 +421,7 @@ class DiaconnG8Service : DaggerService() {
val result = PumpEnactResult(injector) val result = PumpEnactResult(injector)
val msg: DiaconnG8Packet = when (diaconnG8Pump.setUserOptionType) { val msg: DiaconnG8Packet = when (diaconnG8Pump.setUserOptionType) {
DiaconnG8Pump.ALARM -> SoundSettingPacket(injector, diaconnG8Pump.beepAndAlarm, diaconnG8Pump.alarmIntesity) DiaconnG8Pump.ALARM -> SoundSettingPacket(injector, diaconnG8Pump.beepAndAlarm, diaconnG8Pump.alarmIntensity)
DiaconnG8Pump.LCD -> DisplayTimeoutSettingPacket(injector, diaconnG8Pump.lcdOnTimeSec) DiaconnG8Pump.LCD -> DisplayTimeoutSettingPacket(injector, diaconnG8Pump.lcdOnTimeSec)
DiaconnG8Pump.LANG -> LanguageSettingPacket(injector, diaconnG8Pump.selectedLanguage) DiaconnG8Pump.LANG -> LanguageSettingPacket(injector, diaconnG8Pump.selectedLanguage)
DiaconnG8Pump.BOLUS_SPEED -> BolusSpeedSettingPacket(injector, diaconnG8Pump.bolusSpeed) DiaconnG8Pump.BOLUS_SPEED -> BolusSpeedSettingPacket(injector, diaconnG8Pump.bolusSpeed)

View file

@ -1,5 +1,4 @@
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
@ -13,41 +12,6 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical">
<RelativeLayout
android:id="@+id/header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="?attr/activity_title_backgroundColor"
android:orientation="horizontal"
android:padding="5dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:importantForAccessibility="no"
app:srcCompat="@drawable/ic_user_options" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_gravity="center"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:text="@string/diaconng8_pump_settings"
android:textAlignment="center"
android:textAppearance="?android:attr/textAppearanceLarge" />
</RelativeLayout>
<LinearLayout
android:id="@+id/spacer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="5dp" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"