OverviewFragment -> jetpack

This commit is contained in:
Milos Kozak 2021-02-04 12:03:34 +01:00
parent f5eba51d5a
commit e16d661183
40 changed files with 718 additions and 653 deletions

View file

@ -11,7 +11,6 @@ buildscript {
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
apply plugin: 'com.google.gms.google-services'
//apply plugin: 'jacoco-android'

View file

@ -148,7 +148,7 @@ class HistoryBrowseActivity : NoSplashAppCompatActivity() {
binding.bggraph.gridLabelRenderer?.reloadStyles()
binding.bggraph.gridLabelRenderer?.labelVerticalWidth = axisWidth
overviewMenus.setupChartMenu(binding.overviewChartMenuButton)
overviewMenus.setupChartMenu(binding.chartMenuButton)
prepareGraphsIfNeeded(overviewMenus.setting.size)
savedInstanceState?.let { bundle ->
rangeToDisplay = bundle.getInt("rangeToDisplay", 0)

View file

@ -28,6 +28,7 @@ import info.nightscout.androidaps.Config
import info.nightscout.androidaps.Constants
import info.nightscout.androidaps.R
import info.nightscout.androidaps.data.Profile
import info.nightscout.androidaps.databinding.OverviewFragmentBinding
import info.nightscout.androidaps.dialogs.*
import info.nightscout.androidaps.events.*
import info.nightscout.androidaps.interfaces.*
@ -64,12 +65,6 @@ import info.nightscout.androidaps.utils.wizard.QuickWizard
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.disposables.CompositeDisposable
import io.reactivex.schedulers.Schedulers
import kotlinx.android.synthetic.main.overview_buttons_layout.*
import kotlinx.android.synthetic.main.overview_fragment.*
import kotlinx.android.synthetic.main.overview_graphs_layout.*
import kotlinx.android.synthetic.main.overview_info_layout.*
import kotlinx.android.synthetic.main.overview_loop_pumpstatus_layout.*
import kotlinx.android.synthetic.main.overview_statuslights_layout.*
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
@ -130,15 +125,19 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
private val graphLock = Object()
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
private var _binding: OverviewFragmentBinding? = null
// This property is only valid between onCreateView and
// onDestroyView.
private val binding get() = _binding!!
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View =
OverviewFragmentBinding.inflate(inflater, container, false).also {
_binding = it
//check screen width
dm = DisplayMetrics()
activity?.windowManager?.defaultDisplay?.getMetrics(dm)
return inflater.inflate(R.layout.overview_fragment, container, false)
}
}.root
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
@ -151,25 +150,25 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
val landscape = screenHeight < screenWidth
skinProvider.activeSkin().preProcessLandscapeOverviewLayout(dm, view, landscape, resourceHelper.gb(R.bool.isTablet), smallHeight)
nsclient_layout?.visibility = config.NSCLIENT.toVisibility()
binding.nsclientLayout.visibility = config.NSCLIENT.toVisibility()
overview_pumpstatus?.setBackgroundColor(resourceHelper.gc(R.color.colorInitializingBorder))
binding.loopPumpStatusLayout.pumpStatus.setBackgroundColor(resourceHelper.gc(R.color.colorInitializingBorder))
overview_notifications?.setHasFixedSize(false)
overview_notifications?.layoutManager = LinearLayoutManager(view.context)
binding.notifications.setHasFixedSize(false)
binding.notifications.layoutManager = LinearLayoutManager(view.context)
axisWidth = if (dm.densityDpi <= 120) 3 else if (dm.densityDpi <= 160) 10 else if (dm.densityDpi <= 320) 35 else if (dm.densityDpi <= 420) 50 else if (dm.densityDpi <= 560) 70 else 80
overview_bggraph?.gridLabelRenderer?.gridColor = resourceHelper.gc(R.color.graphgrid)
overview_bggraph?.gridLabelRenderer?.reloadStyles()
overview_bggraph?.gridLabelRenderer?.labelVerticalWidth = axisWidth
overview_bggraph?.layoutParams?.height = resourceHelper.dpToPx(skinProvider.activeSkin().mainGraphHeight)
binding.graphsLayout.bgGraph.gridLabelRenderer?.gridColor = resourceHelper.gc(R.color.graphgrid)
binding.graphsLayout.bgGraph.gridLabelRenderer?.reloadStyles()
binding.graphsLayout.bgGraph.gridLabelRenderer?.labelVerticalWidth = axisWidth
binding.graphsLayout.bgGraph.layoutParams?.height = resourceHelper.dpToPx(skinProvider.activeSkin().mainGraphHeight)
carbAnimation = overview_carbs_icon?.background as AnimationDrawable?
carbAnimation = binding.infoLayout.carbsIcon.background as AnimationDrawable?
carbAnimation?.setEnterFadeDuration(1200)
carbAnimation?.setExitFadeDuration(1200)
rangeToDisplay = sp.getInt(R.string.key_rangetodisplay, 6)
overview_bggraph?.setOnLongClickListener {
binding.graphsLayout.bgGraph.setOnLongClickListener {
rangeToDisplay += 6
rangeToDisplay = if (rangeToDisplay > 24) 6 else rangeToDisplay
sp.putInt(R.string.key_rangetodisplay, rangeToDisplay)
@ -178,32 +177,34 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
false
}
prepareGraphsIfNeeded(overviewMenus.setting.size)
overviewMenus.setupChartMenu(overview_chartMenuButton)
overviewMenus.setupChartMenu(binding.graphsLayout.chartMenuButton)
overview_activeprofile?.setOnClickListener(this)
overview_activeprofile?.setOnLongClickListener(this)
overview_temptarget?.setOnClickListener(this)
overview_temptarget?.setOnLongClickListener(this)
overview_accepttempbutton?.setOnClickListener(this)
overview_treatmentbutton?.setOnClickListener(this)
overview_wizardbutton?.setOnClickListener(this)
overview_calibrationbutton?.setOnClickListener(this)
overview_cgmbutton?.setOnClickListener(this)
overview_insulinbutton?.setOnClickListener(this)
overview_carbsbutton?.setOnClickListener(this)
overview_quickwizardbutton?.setOnClickListener(this)
overview_quickwizardbutton?.setOnLongClickListener(this)
overview_apsmode?.setOnClickListener(this)
overview_apsmode?.setOnLongClickListener(this)
overview_activeprofile?.setOnLongClickListener(this)
binding.loopPumpStatusLayout.activeProfile.setOnClickListener(this)
binding.loopPumpStatusLayout.activeProfile.setOnLongClickListener(this)
binding.loopPumpStatusLayout.tempTarget.setOnClickListener(this)
binding.loopPumpStatusLayout.tempTarget.setOnLongClickListener(this)
binding.buttonsLayout.acceptTempButton.setOnClickListener(this)
binding.buttonsLayout.treatmentButton.setOnClickListener(this)
binding.buttonsLayout.wizardButton.setOnClickListener(this)
binding.buttonsLayout.calibrationButton.setOnClickListener(this)
binding.buttonsLayout.cgmButton.setOnClickListener(this)
binding.buttonsLayout.insulinButton.setOnClickListener(this)
binding.buttonsLayout.carbsButton.setOnClickListener(this)
binding.buttonsLayout.quickWizardButton.setOnClickListener(this)
binding.buttonsLayout.quickWizardButton.setOnLongClickListener(this)
binding.infoLayout.apsMode.setOnClickListener(this)
binding.infoLayout.apsMode.setOnLongClickListener(this)
binding.loopPumpStatusLayout.activeProfile.setOnLongClickListener(this)
}
@Synchronized
override fun onPause() {
super.onPause()
disposable.clear()
loopHandler.removeCallbacksAndMessages(null)
}
@Synchronized
override fun onResume() {
super.onResume()
disposable.add(rxBus
@ -264,7 +265,7 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
disposable.add(rxBus
.toObservable(EventIobCalculationProgress::class.java)
.observeOn(AndroidSchedulers.mainThread())
.subscribe({ overview_iobcalculationprogess?.text = it.progress }) { fabricPrivacy.logException(it) })
.subscribe({ binding.graphsLayout.iobCalculationProgress.text = it.progress }) { fabricPrivacy.logException(it) })
refreshLoop = Runnable {
scheduleUpdateGUI("refreshLoop")
@ -275,20 +276,26 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
updateGUI("onResume")
}
@Synchronized
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
override fun onClick(v: View) {
// try to fix https://fabric.io/nightscout3/android/apps/info.nightscout.androidaps/issues/5aca7a1536c7b23527eb4be7?time=last-seven-days
// https://stackoverflow.com/questions/14860239/checking-if-state-is-saved-before-committing-a-fragmenttransaction
if (childFragmentManager.isStateSaved) return
activity?.let { activity ->
when (v.id) {
R.id.overview_treatmentbutton -> protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, UIRunnable { if(isAdded) TreatmentDialog().show(childFragmentManager, "Overview") })
R.id.overview_wizardbutton -> protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, UIRunnable { if(isAdded) WizardDialog().show(childFragmentManager, "Overview") })
R.id.overview_insulinbutton -> protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, UIRunnable { if(isAdded) InsulinDialog().show(childFragmentManager, "Overview") })
R.id.overview_quickwizardbutton -> protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, UIRunnable { if(isAdded) onClickQuickWizard() })
R.id.overview_carbsbutton -> protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, UIRunnable { if(isAdded) CarbsDialog().show(childFragmentManager, "Overview") })
R.id.overview_temptarget -> protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, UIRunnable { if(isAdded) TempTargetDialog().show(childFragmentManager, "Overview") })
R.id.treatment_button -> protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, UIRunnable { if (isAdded) TreatmentDialog().show(childFragmentManager, "Overview") })
R.id.wizard_button -> protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, UIRunnable { if (isAdded) WizardDialog().show(childFragmentManager, "Overview") })
R.id.insulin_button -> protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, UIRunnable { if (isAdded) InsulinDialog().show(childFragmentManager, "Overview") })
R.id.quick_wizard_button -> protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, UIRunnable { if (isAdded) onClickQuickWizard() })
R.id.carbs_button -> protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, UIRunnable { if (isAdded) CarbsDialog().show(childFragmentManager, "Overview") })
R.id.temp_target -> protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, UIRunnable { if (isAdded) TempTargetDialog().show(childFragmentManager, "Overview") })
R.id.overview_activeprofile -> {
R.id.active_profile -> {
ProfileViewerDialog().also { pvd ->
pvd.arguments = Bundle().also {
it.putLong("time", DateUtil.now())
@ -297,7 +304,7 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
}.show(childFragmentManager, "ProfileViewDialog")
}
R.id.overview_cgmbutton -> {
R.id.cgm_button -> {
if (xdripPlugin.isEnabled(PluginType.BGSOURCE))
openCgmApp("com.eveningoutpost.dexdrip")
else if (dexcomPlugin.isEnabled(PluginType.BGSOURCE)) {
@ -308,7 +315,7 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
}
}
R.id.overview_calibrationbutton -> {
R.id.calibration_button -> {
if (xdripPlugin.isEnabled(PluginType.BGSOURCE)) {
CalibrationDialog().show(childFragmentManager, "CalibrationDialog")
} else if (dexcomPlugin.isEnabled(PluginType.BGSOURCE)) {
@ -323,7 +330,7 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
}
}
R.id.overview_accepttempbutton -> {
R.id.accept_temp_button -> {
profileFunction.getProfile() ?: return
if (loopPlugin.isEnabled(PluginType.LOOP)) {
val lastRun = loopPlugin.lastRun
@ -333,7 +340,7 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
OKDialog.showConfirmation(activity, resourceHelper.gs(R.string.tempbasal_label), lastRun.constraintsProcessed?.toSpanned()
?: "".toSpanned(), {
aapsLogger.debug("USER ENTRY: ACCEPT TEMP BASAL")
overview_accepttempbutton?.visibility = View.GONE
binding.buttonsLayout.acceptTempButton.visibility = View.GONE
(context?.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager).cancel(Constants.notificationID)
actionStringHandler.handleInitiate("cancelChangeRequest")
loopPlugin.acceptChangeRequest()
@ -343,9 +350,9 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
}
}
R.id.overview_apsmode -> {
R.id.aps_mode -> {
protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, UIRunnable {
if(isAdded) LoopDialog().also { dialog ->
if (isAdded) LoopDialog().also { dialog ->
dialog.arguments = Bundle().also { it.putInt("showOkCancel", 1) }
}.show(childFragmentManager, "Overview")
})
@ -370,12 +377,12 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
override fun onLongClick(v: View): Boolean {
when (v.id) {
R.id.overview_quickwizardbutton -> {
R.id.quick_wizard_button -> {
startActivity(Intent(v.context, QuickWizardListActivity::class.java))
return true
}
R.id.overview_apsmode -> {
R.id.aps_mode -> {
activity?.let { activity ->
protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, UIRunnable {
LoopDialog().also { dialog ->
@ -385,8 +392,8 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
}
}
R.id.overview_temptarget -> v.performClick()
R.id.overview_activeprofile -> activity?.let { activity -> protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, UIRunnable { ProfileSwitchDialog().show(childFragmentManager, "Overview") }) }
R.id.temp_target -> v.performClick()
R.id.active_profile -> activity?.let { activity -> protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, UIRunnable { ProfileSwitchDialog().show(childFragmentManager, "Overview") }) }
}
return false
@ -399,7 +406,7 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
val pump = activePlugin.activePump
val quickWizardEntry = quickWizard.getActive()
if (quickWizardEntry != null && actualBg != null && profile != null) {
overview_quickwizardbutton?.visibility = View.VISIBLE
binding.buttonsLayout.quickWizardButton.visibility = View.VISIBLE
val wizard = quickWizardEntry.doCalc(profile, profileName, actualBg, true)
if (wizard.calculatedTotalInsulin > 0.0 && quickWizardEntry.carbs() > 0.0) {
val carbsAfterConstraints = constraintChecker.applyCarbsConstraints(Constraint(quickWizardEntry.carbs())).value()
@ -417,12 +424,12 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
private fun updatePumpStatus(event: EventPumpStatusChanged) {
val status = event.getStatus(resourceHelper)
if (status != "") {
overview_pumpstatus?.text = status
overview_pumpstatuslayout?.visibility = View.VISIBLE
overview_looplayout?.visibility = View.GONE
binding.loopPumpStatusLayout.pumpStatus.text = status
binding.loopPumpStatusLayout.pumpStatusLayout.visibility = View.VISIBLE
binding.loopPumpStatusLayout.loopLayout.visibility = View.GONE
} else {
overview_pumpstatuslayout?.visibility = View.GONE
overview_looplayout?.visibility = View.VISIBLE
binding.loopPumpStatusLayout.pumpStatusLayout.visibility = View.GONE
binding.loopPumpStatusLayout.loopLayout.visibility = View.VISIBLE
}
}
@ -437,12 +444,12 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
// QuickWizard button
val quickWizardEntry = quickWizard.getActive()
if (quickWizardEntry != null && lastBG != null && profile != null && pump.isInitialized && !pump.isSuspended) {
overview_quickwizardbutton?.visibility = View.VISIBLE
binding.buttonsLayout.quickWizardButton.visibility = View.VISIBLE
val wizard = quickWizardEntry.doCalc(profile, profileName, lastBG, false)
overview_quickwizardbutton?.text = quickWizardEntry.buttonText() + "\n" + resourceHelper.gs(R.string.format_carbs, quickWizardEntry.carbs()) +
binding.buttonsLayout.quickWizardButton.text = quickWizardEntry.buttonText() + "\n" + resourceHelper.gs(R.string.format_carbs, quickWizardEntry.carbs()) +
" " + resourceHelper.gs(R.string.formatinsulinunits, wizard.calculatedTotalInsulin)
if (wizard.calculatedTotalInsulin <= 0) overview_quickwizardbutton?.visibility = View.GONE
} else overview_quickwizardbutton?.visibility = View.GONE
if (wizard.calculatedTotalInsulin <= 0) binding.buttonsLayout.quickWizardButton.visibility = View.GONE
} else binding.buttonsLayout.quickWizardButton.visibility = View.GONE
// **** Temp button ****
val lastRun = loopPlugin.lastRun
@ -454,23 +461,23 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
lastRun.constraintsProcessed?.isChangeRequested == true // change is requested
if (showAcceptButton && pump.isInitialized && !pump.isSuspended && loopPlugin.isEnabled(PluginType.LOOP)) {
overview_accepttempbutton?.visibility = View.VISIBLE
overview_accepttempbutton?.text = "${resourceHelper.gs(R.string.setbasalquestion)}\n${lastRun!!.constraintsProcessed}"
binding.buttonsLayout.acceptTempButton.visibility = View.VISIBLE
binding.buttonsLayout.acceptTempButton.text = "${resourceHelper.gs(R.string.setbasalquestion)}\n${lastRun!!.constraintsProcessed}"
} else {
overview_accepttempbutton?.visibility = View.GONE
binding.buttonsLayout.acceptTempButton.visibility = View.GONE
}
// **** Various treatment buttons ****
overview_carbsbutton?.visibility = ((!activePlugin.activePump.pumpDescription.storesCarbInfo || pump.isInitialized && !pump.isSuspended) && profile != null && sp.getBoolean(R.string.key_show_carbs_button, true)).toVisibility()
overview_treatmentbutton?.visibility = (pump.isInitialized && !pump.isSuspended && profile != null && sp.getBoolean(R.string.key_show_treatment_button, false)).toVisibility()
overview_wizardbutton?.visibility = (pump.isInitialized && !pump.isSuspended && profile != null && sp.getBoolean(R.string.key_show_wizard_button, true)).toVisibility()
overview_insulinbutton?.visibility = (pump.isInitialized && !pump.isSuspended && profile != null && sp.getBoolean(R.string.key_show_insulin_button, true)).toVisibility()
binding.buttonsLayout.carbsButton.visibility = ((!activePlugin.activePump.pumpDescription.storesCarbInfo || pump.isInitialized && !pump.isSuspended) && profile != null && sp.getBoolean(R.string.key_show_carbs_button, true)).toVisibility()
binding.buttonsLayout.treatmentButton.visibility = (pump.isInitialized && !pump.isSuspended && profile != null && sp.getBoolean(R.string.key_show_treatment_button, false)).toVisibility()
binding.buttonsLayout.wizardButton.visibility = (pump.isInitialized && !pump.isSuspended && profile != null && sp.getBoolean(R.string.key_show_wizard_button, true)).toVisibility()
binding.buttonsLayout.insulinButton.visibility = (pump.isInitialized && !pump.isSuspended && profile != null && sp.getBoolean(R.string.key_show_insulin_button, true)).toVisibility()
// **** Calibration & CGM buttons ****
val xDripIsBgSource = xdripPlugin.isEnabled(PluginType.BGSOURCE)
val dexcomIsSource = dexcomPlugin.isEnabled(PluginType.BGSOURCE)
overview_calibrationbutton?.visibility = ((xDripIsBgSource || dexcomIsSource) && actualBG != null && sp.getBoolean(R.string.key_show_calibration_button, true)).toVisibility()
overview_cgmbutton?.visibility = (sp.getBoolean(R.string.key_show_cgm_button, false) && (xDripIsBgSource || dexcomIsSource)).toVisibility()
binding.buttonsLayout.calibrationButton.visibility = ((xDripIsBgSource || dexcomIsSource) && actualBG != null && sp.getBoolean(R.string.key_show_calibration_button, true)).toVisibility()
binding.buttonsLayout.cgmButton.visibility = (sp.getBoolean(R.string.key_show_cgm_button, false) && (xDripIsBgSource || dexcomIsSource)).toVisibility()
}
@ -481,7 +488,7 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
// rebuild needed
secondaryGraphs.clear()
secondaryGraphsLabel.clear()
overview_iobgraph.removeAllViews()
binding.graphsLayout.iobGraph.removeAllViews()
for (i in 1 until numOfGraphs) {
val relativeLayout = RelativeLayout(context)
relativeLayout.layoutParams = RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
@ -504,7 +511,7 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
relativeLayout.addView(label)
secondaryGraphsLabel.add(label)
overview_iobgraph.addView(relativeLayout)
binding.graphsLayout.iobGraph.addView(relativeLayout)
secondaryGraphs.add(graph)
}
}
@ -528,19 +535,20 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
@SuppressLint("SetTextI18n")
fun updateGUI(from: String) {
if (_binding == null) return
aapsLogger.debug("UpdateGUI from $from")
overview_time?.text = dateUtil.timeString(Date())
binding.infoLayout.time.text = dateUtil.timeString(Date())
if (!profileFunction.isProfileValid("Overview")) {
overview_pumpstatus?.setText(R.string.noprofileset)
overview_pumpstatuslayout?.visibility = View.VISIBLE
overview_looplayout?.visibility = View.GONE
binding.loopPumpStatusLayout.pumpStatus.setText(R.string.noprofileset)
binding.loopPumpStatusLayout.pumpStatusLayout.visibility = View.VISIBLE
binding.loopPumpStatusLayout.loopLayout.visibility = View.GONE
return
}
overview_notifications?.let { notificationStore.updateNotifications(it) }
overview_pumpstatuslayout?.visibility = View.GONE
overview_looplayout?.visibility = View.VISIBLE
binding.notifications.let { notificationStore.updateNotifications(it) }
binding.loopPumpStatusLayout.pumpStatusLayout.visibility = View.GONE
binding.loopPumpStatusLayout.loopLayout.visibility = View.VISIBLE
val profile = profileFunction.getProfile() ?: return
val actualBG = iobCobCalculatorPlugin.actualBg()
@ -567,126 +575,126 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
else -> resourceHelper.gc(R.color.inrange)
}
overview_bg?.text = lastBG.valueToUnitsToString(units)
overview_bg?.setTextColor(color)
overview_arrow?.setImageResource(lastBG.directionToIcon(databaseHelper))
overview_arrow?.setColorFilter(color)
binding.infoLayout.bg.text = lastBG.valueToUnitsToString(units)
binding.infoLayout.bg.setTextColor(color)
binding.infoLayout.arrow.setImageResource(lastBG.directionToIcon(databaseHelper))
binding.infoLayout.arrow.setColorFilter(color)
val glucoseStatus = GlucoseStatus(injector).glucoseStatusData
if (glucoseStatus != null) {
overview_delta_large?.text = Profile.toSignedUnitsString(glucoseStatus.delta, glucoseStatus.delta * Constants.MGDL_TO_MMOLL, units)
overview_delta_large?.setTextColor(color)
overview_delta?.text = Profile.toSignedUnitsString(glucoseStatus.delta, glucoseStatus.delta * Constants.MGDL_TO_MMOLL, units)
overview_avgdelta?.text = "${Profile.toSignedUnitsString(glucoseStatus.short_avgdelta, glucoseStatus.short_avgdelta * Constants.MGDL_TO_MMOLL, units)}"
overview_long_avgdelta?.text = "${Profile.toSignedUnitsString(glucoseStatus.long_avgdelta, glucoseStatus.long_avgdelta * Constants.MGDL_TO_MMOLL, units)}"
binding.infoLayout.deltaLarge.text = Profile.toSignedUnitsString(glucoseStatus.delta, glucoseStatus.delta * Constants.MGDL_TO_MMOLL, units)
binding.infoLayout.deltaLarge.setTextColor(color)
binding.infoLayout.delta.text = Profile.toSignedUnitsString(glucoseStatus.delta, glucoseStatus.delta * Constants.MGDL_TO_MMOLL, units)
binding.infoLayout.avgDelta.text = Profile.toSignedUnitsString(glucoseStatus.short_avgdelta, glucoseStatus.short_avgdelta * Constants.MGDL_TO_MMOLL, units)
binding.infoLayout.longAvgDelta.text = Profile.toSignedUnitsString(glucoseStatus.long_avgdelta, glucoseStatus.long_avgdelta * Constants.MGDL_TO_MMOLL, units)
} else {
overview_delta?.text = "Δ " + resourceHelper.gs(R.string.notavailable)
overview_avgdelta?.text = ""
overview_long_avgdelta?.text = ""
binding.infoLayout.delta.text = "Δ " + resourceHelper.gs(R.string.notavailable)
binding.infoLayout.avgDelta.text = ""
binding.infoLayout.longAvgDelta.text = ""
}
// strike through if BG is old
overview_bg?.let { overview_bg ->
binding.infoLayout.bg.let { overview_bg ->
var flag = overview_bg.paintFlags
flag = if (actualBG == null) {
flag or Paint.STRIKE_THRU_TEXT_FLAG
} else flag and Paint.STRIKE_THRU_TEXT_FLAG.inv()
overview_bg.paintFlags = flag
}
overview_timeago?.text = DateUtil.minAgo(resourceHelper, lastBG.date)
overview_timeagoshort?.text = "(" + DateUtil.minAgoShort(lastBG.date) + ")"
binding.infoLayout.timeAgo.text = DateUtil.minAgo(resourceHelper, lastBG.date)
binding.infoLayout.timeAgoShort.text = "(" + DateUtil.minAgoShort(lastBG.date) + ")"
}
val closedLoopEnabled = constraintChecker.isClosedLoopAllowed()
// aps mode
if (config.APS && pump.pumpDescription.isTempBasalCapable) {
overview_apsmode?.visibility = View.VISIBLE
overview_time_llayout?.visibility = View.GONE
binding.infoLayout.apsMode.visibility = View.VISIBLE
binding.infoLayout.timeLayout.visibility = View.GONE
when {
loopPlugin.isEnabled() && loopPlugin.isSuperBolus -> {
overview_apsmode?.setImageResource(R.drawable.ic_loop_superbolus)
overview_apsmode_text?.text = DateUtil.age(loopPlugin.minutesToEndOfSuspend() * 60000L, true, resourceHelper)
overview_apsmode_text?.visibility = View.VISIBLE
binding.infoLayout.apsMode.setImageResource(R.drawable.ic_loop_superbolus)
binding.infoLayout.apsModeText.text = DateUtil.age(loopPlugin.minutesToEndOfSuspend() * 60000L, true, resourceHelper)
binding.infoLayout.apsModeText.visibility = View.VISIBLE
}
loopPlugin.isDisconnected -> {
overview_apsmode?.setImageResource(R.drawable.ic_loop_disconnected)
overview_apsmode_text?.text = DateUtil.age(loopPlugin.minutesToEndOfSuspend() * 60000L, true, resourceHelper)
overview_apsmode_text?.visibility = View.VISIBLE
binding.infoLayout.apsMode.setImageResource(R.drawable.ic_loop_disconnected)
binding.infoLayout.apsModeText.text = DateUtil.age(loopPlugin.minutesToEndOfSuspend() * 60000L, true, resourceHelper)
binding.infoLayout.apsModeText.visibility = View.VISIBLE
}
loopPlugin.isEnabled() && loopPlugin.isSuspended -> {
overview_apsmode?.setImageResource(R.drawable.ic_loop_paused)
overview_apsmode_text?.text = DateUtil.age(loopPlugin.minutesToEndOfSuspend() * 60000L, true, resourceHelper)
overview_apsmode_text?.visibility = View.VISIBLE
binding.infoLayout.apsMode.setImageResource(R.drawable.ic_loop_paused)
binding.infoLayout.apsModeText.text = DateUtil.age(loopPlugin.minutesToEndOfSuspend() * 60000L, true, resourceHelper)
binding.infoLayout.apsModeText.visibility = View.VISIBLE
}
pump.isSuspended -> {
overview_apsmode?.setImageResource(if (pump.pumpDescription.pumpType == PumpType.Insulet_Omnipod) {
binding.infoLayout.apsMode.setImageResource(if (pump.pumpDescription.pumpType == PumpType.Insulet_Omnipod) {
// For Omnipod, indicate the pump as disconnected when it's suspended.
// The only way to 'reconnect' it, is through the Omnipod tab
R.drawable.ic_loop_disconnected
} else {
R.drawable.ic_loop_paused
})
overview_apsmode_text?.visibility = View.GONE
binding.infoLayout.apsModeText.visibility = View.GONE
}
loopPlugin.isEnabled() && closedLoopEnabled.value() && loopPlugin.isLGS -> {
overview_apsmode?.setImageResource(R.drawable.ic_loop_lgs)
overview_apsmode_text?.visibility = View.GONE
binding.infoLayout.apsMode.setImageResource(R.drawable.ic_loop_lgs)
binding.infoLayout.apsModeText.visibility = View.GONE
}
loopPlugin.isEnabled() && closedLoopEnabled.value() -> {
overview_apsmode?.setImageResource(R.drawable.ic_loop_closed)
overview_apsmode_text?.visibility = View.GONE
binding.infoLayout.apsMode.setImageResource(R.drawable.ic_loop_closed)
binding.infoLayout.apsModeText.visibility = View.GONE
}
loopPlugin.isEnabled() && !closedLoopEnabled.value() -> {
overview_apsmode?.setImageResource(R.drawable.ic_loop_open)
overview_apsmode_text?.visibility = View.GONE
binding.infoLayout.apsMode.setImageResource(R.drawable.ic_loop_open)
binding.infoLayout.apsModeText.visibility = View.GONE
}
else -> {
overview_apsmode?.setImageResource(R.drawable.ic_loop_disabled)
overview_apsmode_text?.visibility = View.GONE
binding.infoLayout.apsMode.setImageResource(R.drawable.ic_loop_disabled)
binding.infoLayout.apsModeText.visibility = View.GONE
}
}
} else {
//nsclient
overview_apsmode?.visibility = View.GONE
overview_apsmode_text?.visibility = View.GONE
overview_time_llayout?.visibility = View.VISIBLE
binding.infoLayout.apsMode.visibility = View.GONE
binding.infoLayout.apsModeText.visibility = View.GONE
binding.infoLayout.timeLayout.visibility = View.VISIBLE
}
// temp target
val tempTarget = treatmentsPlugin.tempTargetFromHistory
if (tempTarget != null) {
overview_temptarget?.setTextColor(resourceHelper.gc(R.color.ribbonTextWarning))
overview_temptarget?.setBackgroundColor(resourceHelper.gc(R.color.ribbonWarning))
overview_temptarget?.text = Profile.toTargetRangeString(tempTarget.low, tempTarget.high, Constants.MGDL, units) + " " + DateUtil.untilString(tempTarget.end(), resourceHelper)
binding.loopPumpStatusLayout.tempTarget.setTextColor(resourceHelper.gc(R.color.ribbonTextWarning))
binding.loopPumpStatusLayout.tempTarget.setBackgroundColor(resourceHelper.gc(R.color.ribbonWarning))
binding.loopPumpStatusLayout.tempTarget.text = Profile.toTargetRangeString(tempTarget.low, tempTarget.high, Constants.MGDL, units) + " " + DateUtil.untilString(tempTarget.end(), resourceHelper)
} else {
// If the target is not the same as set in the profile then oref has overridden it
val targetUsed = lastRun?.constraintsProcessed?.targetBG ?: 0.0
if (targetUsed != 0.0 && abs(profile.targetMgdl - targetUsed) > 0.01) {
aapsLogger.debug("Adjusted target. Profile: ${profile.targetMgdl} APS: $targetUsed")
overview_temptarget?.text = Profile.toTargetRangeString(targetUsed, targetUsed, Constants.MGDL, units)
overview_temptarget?.setTextColor(resourceHelper.gc(R.color.ribbonTextWarning))
overview_temptarget?.setBackgroundColor(resourceHelper.gc(R.color.tempTargetBackground))
binding.loopPumpStatusLayout.tempTarget.text = Profile.toTargetRangeString(targetUsed, targetUsed, Constants.MGDL, units)
binding.loopPumpStatusLayout.tempTarget.setTextColor(resourceHelper.gc(R.color.ribbonTextWarning))
binding.loopPumpStatusLayout.tempTarget.setBackgroundColor(resourceHelper.gc(R.color.tempTargetBackground))
} else {
overview_temptarget?.setTextColor(resourceHelper.gc(R.color.ribbonTextDefault))
overview_temptarget?.setBackgroundColor(resourceHelper.gc(R.color.ribbonDefault))
overview_temptarget?.text = Profile.toTargetRangeString(profile.targetLowMgdl, profile.targetHighMgdl, Constants.MGDL, units)
binding.loopPumpStatusLayout.tempTarget.setTextColor(resourceHelper.gc(R.color.ribbonTextDefault))
binding.loopPumpStatusLayout.tempTarget.setBackgroundColor(resourceHelper.gc(R.color.ribbonDefault))
binding.loopPumpStatusLayout.tempTarget.text = Profile.toTargetRangeString(profile.targetLowMgdl, profile.targetHighMgdl, Constants.MGDL, units)
}
}
// Basal, TBR
val activeTemp = treatmentsPlugin.getTempBasalFromHistory(System.currentTimeMillis())
overview_basebasal?.text = activeTemp?.let { "T:" + activeTemp.toStringVeryShort() }
binding.infoLayout.baseBasal.text = activeTemp?.let { "T:" + activeTemp.toStringVeryShort() }
?: resourceHelper.gs(R.string.pump_basebasalrate, profile.basal)
overview_basal_llayout?.setOnClickListener {
binding.infoLayout.basalLayout.setOnClickListener {
var fullText = "${resourceHelper.gs(R.string.basebasalrate_label)}: ${resourceHelper.gs(R.string.pump_basebasalrate, profile.basal)}"
if (activeTemp != null)
fullText += "\n" + resourceHelper.gs(R.string.tempbasal_label) + ": " + activeTemp.toStringFull()
@ -694,36 +702,36 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
OKDialog.show(it, resourceHelper.gs(R.string.basal), fullText)
}
}
overview_basebasal?.setTextColor(activeTemp?.let { resourceHelper.gc(R.color.basal) }
binding.infoLayout.baseBasal.setTextColor(activeTemp?.let { resourceHelper.gc(R.color.basal) }
?: resourceHelper.gc(R.color.defaulttextcolor))
overview_basebasal_icon?.setImageResource(R.drawable.ic_cp_basal_no_tbr)
binding.infoLayout.baseBasalIcon.setImageResource(R.drawable.ic_cp_basal_no_tbr)
val percentRate = activeTemp?.tempBasalConvertedToPercent(System.currentTimeMillis(), profile)
?: 100
if (percentRate > 100) overview_basebasal_icon?.setImageResource(R.drawable.ic_cp_basal_tbr_high)
if (percentRate < 100) overview_basebasal_icon?.setImageResource(R.drawable.ic_cp_basal_tbr_low)
if (percentRate > 100) binding.infoLayout.baseBasalIcon.setImageResource(R.drawable.ic_cp_basal_tbr_high)
if (percentRate < 100) binding.infoLayout.baseBasalIcon.setImageResource(R.drawable.ic_cp_basal_tbr_low)
// Extended bolus
val extendedBolus = treatmentsPlugin.getExtendedBolusFromHistory(System.currentTimeMillis())
overview_extendedbolus?.text =
binding.infoLayout.extendedBolus.text =
if (extendedBolus != null && !pump.isFakingTempsByExtendedBoluses)
resourceHelper.gs(R.string.pump_basebasalrate, extendedBolus.absoluteRate())
else ""
overview_extendedbolus?.setOnClickListener {
binding.infoLayout.extendedBolus.setOnClickListener {
if (extendedBolus != null) activity?.let {
OKDialog.show(it, resourceHelper.gs(R.string.extended_bolus), extendedBolus.toString())
}
}
overview_extended_llayout?.visibility = (extendedBolus != null && !pump.isFakingTempsByExtendedBoluses).toVisibility()
binding.infoLayout.extendedLayout.visibility = (extendedBolus != null && !pump.isFakingTempsByExtendedBoluses).toVisibility()
// Active profile
overview_activeprofile?.text = profileFunction.getProfileNameWithDuration()
binding.loopPumpStatusLayout.activeProfile.text = profileFunction.getProfileNameWithDuration()
if (profile.percentage != 100 || profile.timeshift != 0) {
overview_activeprofile?.setBackgroundColor(resourceHelper.gc(R.color.ribbonWarning))
overview_activeprofile?.setTextColor(resourceHelper.gc(R.color.ribbonTextWarning))
binding.loopPumpStatusLayout.activeProfile.setBackgroundColor(resourceHelper.gc(R.color.ribbonWarning))
binding.loopPumpStatusLayout.activeProfile.setTextColor(resourceHelper.gc(R.color.ribbonTextWarning))
} else {
overview_activeprofile?.setBackgroundColor(resourceHelper.gc(R.color.ribbonDefault))
overview_activeprofile?.setTextColor(resourceHelper.gc(R.color.ribbonTextDefault))
binding.loopPumpStatusLayout.activeProfile.setBackgroundColor(resourceHelper.gc(R.color.ribbonDefault))
binding.loopPumpStatusLayout.activeProfile.setTextColor(resourceHelper.gc(R.color.ribbonTextDefault))
}
processButtonsVisibility()
@ -733,9 +741,9 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
treatmentsPlugin.updateTotalIOBTempBasals()
val bolusIob = treatmentsPlugin.lastCalculationTreatments.round()
val basalIob = treatmentsPlugin.lastCalculationTempBasals.round()
overview_iob?.text = resourceHelper.gs(R.string.formatinsulinunits, bolusIob.iob + basalIob.basaliob)
binding.infoLayout.iob.text = resourceHelper.gs(R.string.formatinsulinunits, bolusIob.iob + basalIob.basaliob)
overview_iob_llayout?.setOnClickListener {
binding.infoLayout.iobLayout.setOnClickListener {
activity?.let {
OKDialog.show(it, resourceHelper.gs(R.string.iob),
resourceHelper.gs(R.string.formatinsulinunits, bolusIob.iob + basalIob.basaliob) + "\n" +
@ -746,8 +754,8 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
}
// Status lights
overview_statuslights?.visibility = (sp.getBoolean(R.string.key_show_statuslights, true) || config.NSCLIENT).toVisibility()
statusLightHandler.updateStatusLights(careportal_canulaage, careportal_insulinage, careportal_reservoirlevel, careportal_sensorage, null, careportal_pbage, careportal_batterylevel)
binding.statusLightsLayout.statusLights.visibility = (sp.getBoolean(R.string.key_show_statuslights, true) || config.NSCLIENT).toVisibility()
statusLightHandler.updateStatusLights(binding.statusLightsLayout.cannulaAge, binding.statusLightsLayout.insulinAge, binding.statusLightsLayout.reservoirLevel, binding.statusLightsLayout.sensorAge, null, binding.statusLightsLayout.pbAge, binding.statusLightsLayout.batteryLevel)
// cob
var cobText: String = resourceHelper.gs(R.string.value_unavailable_short)
@ -763,36 +771,36 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
if (treatmentsPlugin.lastCarbTime < lastRun.lastAPSRun) {
cobText = cobText + " | " + lastRun.constraintsProcessed!!.carbsReq + " " + resourceHelper.gs(R.string.required)
}
overview_cob?.text = cobText
binding.infoLayout.cob.text = cobText
if (carbAnimation?.isRunning == false)
carbAnimation?.start()
} else {
overview_cob?.text = cobText
binding.infoLayout.cob.text = cobText
carbAnimation?.stop()
carbAnimation?.selectDrawable(0)
}
} else overview_cob?.text = cobText
} else binding.infoLayout.cob.text = cobText
// pump status from ns
overview_pump?.text = nsDeviceStatus.pumpStatus
overview_pump?.setOnClickListener { activity?.let { OKDialog.show(it, resourceHelper.gs(R.string.pump), nsDeviceStatus.extendedPumpStatus) } }
binding.pump.text = nsDeviceStatus.pumpStatus
binding.pump.setOnClickListener { activity?.let { OKDialog.show(it, resourceHelper.gs(R.string.pump), nsDeviceStatus.extendedPumpStatus) } }
// OpenAPS status from ns
overview_openaps?.text = nsDeviceStatus.openApsStatus
overview_openaps?.setOnClickListener { activity?.let { OKDialog.show(it, resourceHelper.gs(R.string.openaps), nsDeviceStatus.extendedOpenApsStatus) } }
binding.openaps.text = nsDeviceStatus.openApsStatus
binding.openaps.setOnClickListener { activity?.let { OKDialog.show(it, resourceHelper.gs(R.string.openaps), nsDeviceStatus.extendedOpenApsStatus) } }
// Uploader status from ns
overview_uploader?.text = nsDeviceStatus.uploaderStatusSpanned
overview_uploader?.setOnClickListener { activity?.let { OKDialog.show(it, resourceHelper.gs(R.string.uploader), nsDeviceStatus.extendedUploaderStatus) } }
binding.uploader.text = nsDeviceStatus.uploaderStatusSpanned
binding.uploader.setOnClickListener { activity?.let { OKDialog.show(it, resourceHelper.gs(R.string.uploader), nsDeviceStatus.extendedUploaderStatus) } }
// Sensitivity
if (sp.getBoolean(R.string.key_openapsama_useautosens, false) && constraintChecker.isAutosensModeEnabled().value()) {
overview_sensitivity_icon?.setImageResource(R.drawable.ic_swap_vert_black_48dp_green)
binding.infoLayout.sensitivityIcon.setImageResource(R.drawable.ic_swap_vert_black_48dp_green)
} else {
overview_sensitivity_icon?.setImageResource(R.drawable.ic_x_swap_vert)
binding.infoLayout.sensitivityIcon.setImageResource(R.drawable.ic_x_swap_vert)
}
overview_sensitivity?.text =
binding.infoLayout.sensitivity.text =
iobCobCalculatorPlugin.getLastAutosensData("Overview")?.let { autosensData ->
String.format(Locale.ENGLISH, "%.0f%%", autosensData.autosensResult.ratio * 100)
} ?: ""
@ -800,10 +808,10 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
private fun updateGraph(lastRun: LoopInterface.LastRun?, predictionsAvailable: Boolean, lowLine: Double, highLine: Double, pump: PumpInterface, profile: Profile) {
viewLifecycleOwner.lifecycleScope.launch(Dispatchers.Main) {
overview_bggraph ?: return@launch
if (_binding == null) return@launch
val menuChartSettings = overviewMenus.setting
prepareGraphsIfNeeded(menuChartSettings.size)
val graphData = GraphData(injector, overview_bggraph, iobCobCalculatorPlugin, treatmentsPlugin)
val graphData = GraphData(injector, binding.graphsLayout.bgGraph, iobCobCalculatorPlugin, treatmentsPlugin)
val secondaryGraphsData: ArrayList<GraphData> = ArrayList()
// do preparation in different thread

View file

@ -27,9 +27,9 @@ interface SkinInterface {
val landscape = screenHeight < screenWidth
if (landscape) {
val iobLayout = view.findViewById<LinearLayout>(R.id.overview_iob_llayout)
val iobLayout = view.findViewById<LinearLayout>(R.id.iob_layout)
val iobLayoutParams = iobLayout.layoutParams as ConstraintLayout.LayoutParams
val timeLayout = view.findViewById<LinearLayout>(R.id.overview_time_llayout)
val timeLayout = view.findViewById<LinearLayout>(R.id.time_layout)
iobLayoutParams.startToStart = ConstraintLayout.LayoutParams.UNSET
iobLayoutParams.startToEnd = timeLayout.id
iobLayoutParams.topToBottom = ConstraintLayout.LayoutParams.UNSET
@ -37,44 +37,43 @@ interface SkinInterface {
val timeLayoutParams = timeLayout.layoutParams as ConstraintLayout.LayoutParams
timeLayoutParams.endToEnd = ConstraintLayout.LayoutParams.UNSET
timeLayoutParams.endToStart = iobLayout.id
val cobLayoutParams = view.findViewById<LinearLayout>(R.id.overview_cob_llayout).layoutParams as ConstraintLayout.LayoutParams
val cobLayoutParams = view.findViewById<LinearLayout>(R.id.cob_layout).layoutParams as ConstraintLayout.LayoutParams
cobLayoutParams.topToTop = ConstraintLayout.LayoutParams.PARENT_ID
val basalLayoutParams = view.findViewById<LinearLayout>(R.id.overview_basal_llayout).layoutParams as ConstraintLayout.LayoutParams
val basalLayoutParams = view.findViewById<LinearLayout>(R.id.basal_layout).layoutParams as ConstraintLayout.LayoutParams
basalLayoutParams.topToTop = ConstraintLayout.LayoutParams.PARENT_ID
val extendedLayoutParams = view.findViewById<LinearLayout>(R.id.overview_extended_llayout).layoutParams as ConstraintLayout.LayoutParams
val extendedLayoutParams = view.findViewById<LinearLayout>(R.id.extended_layout).layoutParams as ConstraintLayout.LayoutParams
extendedLayoutParams.topToTop = ConstraintLayout.LayoutParams.PARENT_ID
val asLayoutParams = view.findViewById<LinearLayout>(R.id.overview_as_llayout).layoutParams as ConstraintLayout.LayoutParams
val asLayoutParams = view.findViewById<LinearLayout>(R.id.as_layout).layoutParams as ConstraintLayout.LayoutParams
asLayoutParams.topToTop = ConstraintLayout.LayoutParams.PARENT_ID
if (isTablet) {
for (v in listOf<TextView?>(
view.findViewById(R.id.overview_bg),
view.findViewById(R.id.overview_time),
view.findViewById(R.id.overview_timeagoshort),
view.findViewById(R.id.overview_iob),
view.findViewById(R.id.overview_cob),
view.findViewById(R.id.overview_basebasal),
view.findViewById(R.id.overview_extendedbolus),
view.findViewById(R.id.overview_sensitivity)
view.findViewById(R.id.bg),
view.findViewById(R.id.time),
view.findViewById(R.id.time_ago_short),
view.findViewById(R.id.iob),
view.findViewById(R.id.cob),
view.findViewById(R.id.base_basal),
view.findViewById(R.id.extended_bolus),
view.findViewById(R.id.sensitivity)
)) v?.setTextSize(COMPLEX_UNIT_PX, v.textSize * 1.5f)
for (v in listOf<TextView?>(
view.findViewById(R.id.overview_pump),
view.findViewById(R.id.overview_openaps),
view.findViewById(R.id.overview_uploader),
view.findViewById(R.id.careportal_canulaage),
view.findViewById(R.id.careportal_insulinage),
view.findViewById(R.id.careportal_reservoirlevel),
view.findViewById(R.id.careportal_reservoirlevel),
view.findViewById(R.id.careportal_sensorage),
view.findViewById(R.id.careportal_pbage),
view.findViewById(R.id.careportal_batterylevel)
view.findViewById(R.id.pump),
view.findViewById(R.id.openaps),
view.findViewById(R.id.uploader),
view.findViewById(R.id.cannula_age),
view.findViewById(R.id.insulin_age),
view.findViewById(R.id.reservoir_level),
view.findViewById(R.id.sensor_age),
view.findViewById(R.id.pb_age),
view.findViewById(R.id.battery_level)
)) v?.setTextSize(COMPLEX_UNIT_PX, v.textSize * 1.3f)
timeLayout?.orientation = LinearLayout.HORIZONTAL
view.findViewById<TextView>(R.id.overview_timeagoshort)?.setTextSize(COMPLEX_UNIT_PX, view.findViewById<TextView>(R.id.overview_time).textSize)
view.findViewById<TextView>(R.id.time_ago_short)?.setTextSize(COMPLEX_UNIT_PX, view.findViewById<TextView>(R.id.time).textSize)
view.findViewById<TextView>(R.id.overview_delta_large)?.visibility = View.VISIBLE
view.findViewById<TextView>(R.id.delta_large)?.visibility = View.VISIBLE
} else {
view.findViewById<TextView>(R.id.overview_delta_large)?.visibility = View.GONE
view.findViewById<TextView>(R.id.delta_large)?.visibility = View.GONE
}
}
}

View file

@ -77,7 +77,7 @@
android:layout_height="match_parent" />
<ImageButton
android:id="@+id/overview_chartMenuButton"
android:id="@+id/chart_menu_button"
android:layout_width="30dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"

View file

@ -121,7 +121,7 @@
android:layout_height="2dip"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<RelativeLayout
android:layout_width="match_parent"

View file

@ -77,7 +77,7 @@
android:layout_marginRight="20dp"
android:layout_marginBottom="2dp"
android:layout_span="5"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
</TableRow>
@ -152,7 +152,7 @@
android:layout_marginRight="20dp"
android:layout_marginBottom="2dp"
android:layout_span="5"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
</TableRow>
@ -166,9 +166,9 @@
android:gravity="center_vertical"
android:paddingStart="15dp"
android:paddingEnd="2dp"
android:text="@string/careportal_canula_label"
android:text="@string/cannula"
android:textSize="14sp"
app:drawableStartCompat="@drawable/ic_cp_age_canula" />
app:drawableStartCompat="@drawable/ic_cp_age_cannula" />
<TextView
android:id="@+id/cannula_age_label"
@ -223,7 +223,7 @@
android:layout_marginRight="20dp"
android:layout_marginBottom="2dp"
android:layout_span="5"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
</TableRow>
@ -298,7 +298,7 @@
android:layout_marginRight="20dp"
android:layout_marginBottom="2dp"
android:layout_span="5"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
</TableRow>

View file

@ -1,14 +1,11 @@
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
<TableLayout 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"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:stretchColumns="0,2,4"
tools:context=".plugins.general.actions.ActionsFragment">
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:stretchColumns="0,2,4">
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content">
@ -16,34 +13,35 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="25dp"
android:drawableLeft="@drawable/ic_cp_age_sensor"
android:gravity="center_vertical"
android:paddingRight="2dp"
android:paddingStart="15dp"
android:paddingEnd="2dp"
android:text="@string/careportal_sensor_label"
android:textSize="14sp" />
android:textSize="14sp"
app:drawableStartCompat="@drawable/ic_cp_age_sensor" />
<TextView
android:id="@+id/careportal_sensorage"
android:id="@+id/sensor_age"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingLeft="2dp"
android:paddingRight="2dp"
android:paddingLeft="2dp"
android:textColor="@android:color/white"
android:textSize="14sp" />
<TextView
android:id="@+id/careportal_sensorlevel"
android:id="@+id/sensor_level"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="20dp"
android:gravity="center_vertical"
android:layout_marginRight="20dp"
android:paddingLeft="2dp"
android:paddingStart="2dp"
android:textColor="@android:color/white"
android:textSize="14sp" />
android:textSize="14sp"
tools:ignore="RtlSymmetry" />
</TableRow>
@ -54,12 +52,12 @@
<View
android:layout_width="fill_parent"
android:layout_height="2dip"
android:layout_span="3"
android:layout_marginLeft="20dp"
android:layout_marginTop="2dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="2dp"
android:background="@color/listdelimiter" />
android:layout_span="3"
android:background="@color/list_delimiter" />
</TableRow>
@ -70,34 +68,35 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="25dp"
android:drawableLeft="@drawable/ic_cp_age_insulin"
android:gravity="center_vertical"
android:paddingStart="15dp"
android:paddingRight="2dp"
android:paddingEnd="2dp"
android:text="@string/careportal_insulin_label"
android:textSize="14sp" />
android:textSize="14sp"
app:drawableStartCompat="@drawable/ic_cp_age_insulin" />
<TextView
android:id="@+id/careportal_insulinage"
android:id="@+id/insulin_age"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingLeft="2dp"
android:paddingRight="2dp"
android:paddingLeft="2dp"
android:textColor="@android:color/white"
android:textSize="14sp" />
<TextView
android:id="@+id/careportal_reservoirlevel"
android:id="@+id/reservoir_level"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="20dp"
android:gravity="center_vertical"
android:layout_marginRight="20dp"
android:paddingLeft="2dp"
android:paddingStart="2dp"
android:textColor="@android:color/white"
android:textSize="14sp" />
android:textSize="14sp"
tools:ignore="RtlSymmetry" />
</TableRow>
@ -108,12 +107,12 @@
<View
android:layout_width="fill_parent"
android:layout_height="2dip"
android:layout_span="3"
android:layout_marginLeft="20dp"
android:layout_marginTop="2dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="2dp"
android:background="@color/listdelimiter" />
android:layout_span="3"
android:background="@color/list_delimiter" />
</TableRow>
@ -124,32 +123,33 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="25dp"
android:drawableLeft="@drawable/ic_cp_age_canula"
android:gravity="center_vertical"
android:paddingStart="15dp"
android:paddingRight="2dp"
android:text="@string/careportal_canula_label"
android:textSize="14sp" />
android:paddingEnd="2dp"
android:text="@string/cannula"
android:textSize="14sp"
app:drawableStartCompat="@drawable/ic_cp_age_cannula" />
<TextView
android:id="@+id/careportal_canulaage"
android:id="@+id/cannula_age"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingRight="2dp"
android:paddingLeft="2dp"
android:paddingRight="2dp"
android:textColor="@android:color/white"
android:textSize="14sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="20dp"
android:gravity="center_vertical"
android:layout_marginRight="20dp"
android:paddingStart="2dp"
android:text=""
android:paddingLeft="2dp"
android:textColor="@android:color/white"
android:textSize="14sp" />
android:textSize="14sp"
tools:ignore="RtlSymmetry" />
</TableRow>
@ -160,12 +160,12 @@
<View
android:layout_width="fill_parent"
android:layout_height="2dip"
android:layout_span="3"
android:layout_marginLeft="20dp"
android:layout_marginTop="2dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="2dp"
android:background="@color/listdelimiter" />
android:layout_span="3"
android:background="@color/list_delimiter" />
</TableRow>
@ -174,36 +174,37 @@
android:layout_height="wrap_content">
<TextView
android:id="@+id/careportal_pblabel"
android:id="@+id/pb_label"
android:layout_width="wrap_content"
android:layout_height="25dp"
android:drawableLeft="@drawable/ic_cp_age_battery"
android:gravity="center_vertical"
android:paddingRight="2dp"
android:paddingStart="15dp"
android:paddingEnd="2dp"
android:text="@string/pump"
android:textSize="14sp" />
android:textSize="14sp"
app:drawableStartCompat="@drawable/ic_cp_age_battery" />
<TextView
android:id="@+id/careportal_pbage"
android:id="@+id/pb_age"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingLeft="2dp"
android:paddingRight="2dp"
android:paddingLeft="2dp"
android:textColor="@android:color/white"
android:textSize="14sp" />
<TextView
android:id="@+id/careportal_batterylevel"
android:id="@+id/battery_level"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="20dp"
android:gravity="center_vertical"
android:layout_marginRight="20dp"
android:paddingLeft="2dp"
android:paddingStart="2dp"
android:textColor="@android:color/white"
android:textSize="14sp" />
android:textSize="14sp"
tools:ignore="RtlSymmetry" />
</TableRow>
@ -214,15 +215,13 @@
<View
android:layout_width="fill_parent"
android:layout_height="2dip"
android:layout_span="3"
android:layout_marginLeft="20dp"
android:layout_marginTop="2dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="2dp"
android:background="@color/listdelimiter" />
android:layout_span="3"
android:background="@color/list_delimiter" />
</TableRow>
</TableLayout>
</FrameLayout>
</TableLayout>

View file

@ -62,7 +62,7 @@
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -107,7 +107,7 @@
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
@ -154,7 +154,7 @@
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -199,7 +199,7 @@
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -244,7 +244,7 @@
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -289,7 +289,7 @@
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -334,7 +334,7 @@
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -379,7 +379,7 @@
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -424,7 +424,7 @@
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -469,7 +469,7 @@
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<TextView
android:layout_width="wrap_content"

View file

@ -159,7 +159,7 @@
android:layout_marginStart="5dp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
</LinearLayout>
@ -269,7 +269,7 @@
android:layout_marginStart="5dp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
</LinearLayout>
@ -391,7 +391,7 @@
android:layout_marginStart="5dp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<Button
android:id="@+id/cancel"

View file

@ -345,7 +345,7 @@
android:layout_marginStart="20dp"
android:layout_marginTop="-15dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<TableLayout
android:id="@+id/resulttable"

View file

@ -4,4 +4,4 @@
android:layout_height="2dip"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />

View file

@ -60,7 +60,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -105,7 +105,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -150,7 +150,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -195,7 +195,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -240,7 +240,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -285,7 +285,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -330,7 +330,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -375,7 +375,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -420,7 +420,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -465,7 +465,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -510,7 +510,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
</LinearLayout>

View file

@ -67,7 +67,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -129,7 +129,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -174,7 +174,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -219,7 +219,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -264,7 +264,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -309,7 +309,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -354,7 +354,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -399,7 +399,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -425,7 +425,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -470,7 +470,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -515,7 +515,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -560,7 +560,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
</LinearLayout>

View file

@ -1,13 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/overview_buttons"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/overview_accepttempbutton"
android:id="@+id/accept_temp_button"
style="?android:attr/buttonStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -18,7 +19,7 @@
android:visibility="gone" />
<LinearLayout
android:id="@+id/overview_buttons_layout"
android:id="@+id/buttons_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
@ -26,7 +27,7 @@
android:paddingEnd="5dp" >
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/overview_treatmentbutton"
android:id="@+id/treatment_button"
style="?android:attr/buttonStyle"
android:layout_width="0px"
android:layout_height="fill_parent"
@ -36,10 +37,11 @@
android:text="@string/overview_treatment_label"
android:textColor="@color/colorTreatmentButton"
android:textSize="10sp"
android:visibility="gone" />
android:visibility="gone"
tools:ignore="SmallSp" />
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/overview_insulinbutton"
android:id="@+id/insulin_button"
style="?android:attr/buttonStyle"
android:layout_width="0px"
android:layout_height="fill_parent"
@ -48,10 +50,11 @@
android:drawableTop="@drawable/ic_bolus"
android:text="@string/overview_insulin_label"
android:textColor="@color/colorInsulinButton"
android:textSize="10sp" />
android:textSize="10sp"
tools:ignore="SmallSp" />
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/overview_carbsbutton"
android:id="@+id/carbs_button"
style="?android:attr/buttonStyle"
android:layout_width="0px"
android:layout_height="fill_parent"
@ -60,10 +63,11 @@
android:drawableTop="@drawable/ic_cp_bolus_carbs"
android:text="@string/treatments_wizard_carbs_label"
android:textColor="@color/colorCarbsButton"
android:textSize="10sp" />
android:textSize="10sp"
tools:ignore="SmallSp" />
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/overview_wizardbutton"
android:id="@+id/wizard_button"
style="?android:attr/buttonStyle"
android:layout_width="0px"
android:layout_height="fill_parent"
@ -72,10 +76,11 @@
android:drawableTop="@drawable/ic_calculator"
android:text="@string/overview_calculator_label"
android:textColor="@color/colorCalculatorButton"
android:textSize="10sp" />
android:textSize="10sp"
tools:ignore="SmallSp" />
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/overview_calibrationbutton"
android:id="@+id/calibration_button"
style="?android:attr/buttonStyle"
android:layout_width="0px"
android:layout_height="fill_parent"
@ -85,10 +90,11 @@
android:text="@string/overview_calibration"
android:textColor="@color/colorCalibrationButton"
android:textSize="10sp"
android:visibility="gone" />
android:visibility="gone"
tools:ignore="SmallSp" />
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/overview_cgmbutton"
android:id="@+id/cgm_button"
style="?android:attr/buttonStyle"
android:layout_width="0px"
android:layout_height="fill_parent"
@ -98,19 +104,21 @@
android:text="@string/overview_cgm"
android:textColor="@color/colorCalibrationButton"
android:textSize="10sp"
android:visibility="gone" />
android:visibility="gone"
tools:ignore="SmallSp" />
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/overview_quickwizardbutton"
android:id="@+id/quick_wizard_button"
style="?android:attr/buttonStyle"
android:layout_width="0px"
android:layout_height="fill_parent"
android:layout_marginEnd="-4dp"
android:layout_weight="0.5"
android:drawableTop="@drawable/ic_quickwizard"
android:drawableTop="@drawable/ic_quick_wizard"
android:text="@string/quickwizard"
android:textColor="@color/colorQuickWizardButton"
android:textSize="10sp" />
android:textSize="10sp"
tools:ignore="SmallSp" />
</LinearLayout>

View file

@ -22,7 +22,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/quickwizard"
app:srcCompat="@drawable/ic_quickwizard" />
app:srcCompat="@drawable/ic_quick_wizard" />
<TextView
android:layout_width="match_parent"

View file

@ -7,7 +7,7 @@
tools:context=".plugins.general.overview.OverviewFragment">
<ScrollView
android:id="@+id/overview_toppart_scrollbar"
android:id="@+id/top_part_scrollbar"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
@ -20,15 +20,21 @@
android:orientation="vertical">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/overview_notifications"
android:id="@+id/notifications"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<include layout="@layout/overview_loop_pumpstatus_layout" />
<include
android:id="@+id/loop_pump_status_layout"
layout="@layout/overview_loop_pumpstatus_layout" />
<include layout="@layout/overview_info_layout" />
<include
android:id="@+id/info_layout"
layout="@layout/overview_info_layout" />
<include layout="@layout/overview_statuslights_layout" />
<include
android:id="@+id/status_lights_layout"
layout="@layout/overview_statuslights_layout" />
<com.google.android.flexbox.FlexboxLayout xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/nsclient_layout"
@ -42,40 +48,45 @@
app:justifyContent="center">
<TextView
android:id="@+id/overview_pump"
android:id="@+id/pump"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingStart="4sp"
android:paddingEnd="4sp"
android:text="Pump: running"
android:textColor="@android:color/white"
android:textSize="16sp" />
android:textSize="16sp"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/overview_openaps"
android:id="@+id/openaps"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingStart="4sp"
android:paddingEnd="4sp"
android:text="OAPS: 3 min ago"
android:text="OpenAPS: 3 min ago"
android:textColor="@android:color/white"
android:textSize="16sp" />
android:textSize="16sp"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/overview_uploader"
android:id="@+id/uploader"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingStart="4sp"
android:paddingEnd="4sp"
android:text="UPLD: 84%"
android:text="Uploader: 84%"
android:textColor="@android:color/white"
android:textSize="16sp" />
android:textSize="16sp"
tools:ignore="HardcodedText" />
</com.google.android.flexbox.FlexboxLayout>
<include layout="@layout/overview_graphs_layout" />
<include
android:id="@+id/graphs_layout"
layout="@layout/overview_graphs_layout" />
</LinearLayout>

View file

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
@ -11,32 +12,32 @@
android:layout_weight="1">
<com.jjoe64.graphview.GraphView
android:id="@+id/overview_bggraph"
android:id="@+id/bg_graph"
android:layout_width="wrap_content"
android:layout_height="200dp" />
<ImageButton
android:id="@+id/overview_chartMenuButton"
android:id="@+id/chart_menu_button"
android:layout_width="30dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:contentDescription="@string/chartmenu"
android:contentDescription="@string/chart_menu"
android:paddingTop="5dp"
app:srcCompat="@drawable/ic_arrow_drop_down_white_24dp" />
<TextView
android:id="@+id/overview_iobcalculationprogess"
android:id="@+id/iob_calculation_progress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:textAppearance="@style/TextAppearance.AppCompat.Medium" />
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
tools:ignore="RelativeOverlap" />
</RelativeLayout>
<LinearLayout
android:id="@+id/overview_iobgraph"
android:id="@+id/iob_graph"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" />

View file

@ -1,74 +1,80 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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"
android:id="@+id/info_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/overview_bg"
android:id="@+id/bg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="00.0"
android:textSize="60sp"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@+id/overview_delta_large"
app:layout_constraintEnd_toStartOf="@+id/delta_large"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
app:layout_constraintTop_toTopOf="parent"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/overview_delta_large"
android:id="@+id/delta_large"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(+1.0)"
android:textSize="60sp"
android:textStyle="bold"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/overview_bg"
app:layout_constraintEnd_toStartOf="@+id/overview_arrows_llayout"
app:layout_constraintStart_toEndOf="@+id/overview_bg"
app:layout_constraintTop_toTopOf="@+id/overview_bg" />
app:layout_constraintBottom_toBottomOf="@+id/bg"
app:layout_constraintEnd_toStartOf="@+id/arrows_layout"
app:layout_constraintStart_toEndOf="@+id/bg"
app:layout_constraintTop_toTopOf="@+id/bg"
tools:ignore="HardcodedText" />
<LinearLayout
android:id="@+id/overview_arrows_llayout"
android:id="@+id/arrows_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="@+id/overview_bg"
app:layout_constraintEnd_toStartOf="@+id/overview_deltas_llayout"
app:layout_constraintStart_toEndOf="@+id/overview_delta_large"
app:layout_constraintTop_toTopOf="parent">
app:layout_constraintBottom_toBottomOf="@+id/bg"
app:layout_constraintEnd_toStartOf="@+id/deltas_layout"
app:layout_constraintStart_toEndOf="@+id/delta_large"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="UseCompoundDrawables">
<ImageView
android:id="@+id/overview_arrow"
android:id="@+id/arrow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
app:layout_constraintHorizontal_bias="0.0"
app:srcCompat="@drawable/ic_flat" />
app:srcCompat="@drawable/ic_flat"
android:contentDescription="@string/trend_arrow" />
<TextView
android:id="@+id/overview_timeago"
android:id="@+id/time_ago"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
app:layout_constraintTop_toTopOf="@+id/overview_long_avgdelta"
app:layout_constraintTop_toTopOf="@+id/long_avg_delta"
android:text="n/a"
android:textAppearance="@style/TextAppearance.AppCompat.Small" />
android:textAppearance="@style/TextAppearance.AppCompat.Small"
tools:ignore="HardcodedText" />
</LinearLayout>
<TableLayout
android:id="@+id/overview_deltas_llayout"
android:id="@+id/deltas_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintEnd_toStartOf="@+id/overview_apsmode_llayout"
app:layout_constraintStart_toEndOf="@+id/overview_arrows_llayout"
app:layout_constraintBottom_toBottomOf="@+id/overview_arrows_llayout">
app:layout_constraintEnd_toStartOf="@+id/aps_mode_layout"
app:layout_constraintStart_toEndOf="@+id/arrows_layout"
app:layout_constraintBottom_toBottomOf="@+id/arrows_layout">
<TableRow
android:layout_width="wrap_content"
@ -81,16 +87,18 @@
android:layout_gravity="end"
android:textAlignment="textEnd"
android:text="Δ: "
android:textAppearance="@style/TextAppearance.AppCompat.Small" />
android:textAppearance="@style/TextAppearance.AppCompat.Small"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/overview_delta"
android:id="@+id/delta"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:textAlignment="textEnd"
android:text="n/a"
android:textAppearance="@style/TextAppearance.AppCompat.Small" />
android:textAppearance="@style/TextAppearance.AppCompat.Small"
tools:ignore="HardcodedText" />
</TableRow>
@ -105,16 +113,18 @@
android:layout_gravity="end"
android:textAlignment="textEnd"
android:text="15m Δ: "
android:textAppearance="@style/TextAppearance.AppCompat.Small" />
android:textAppearance="@style/TextAppearance.AppCompat.Small"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/overview_avgdelta"
android:id="@+id/avg_delta"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:textAlignment="textEnd"
android:text="n/a"
android:textAppearance="@style/TextAppearance.AppCompat.Small" />
android:textAppearance="@style/TextAppearance.AppCompat.Small"
tools:ignore="HardcodedText" />
</TableRow>
@ -129,44 +139,48 @@
android:layout_gravity="end"
android:textAlignment="textEnd"
android:text="40m Δ: "
android:textAppearance="@style/TextAppearance.AppCompat.Small" />
android:textAppearance="@style/TextAppearance.AppCompat.Small"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/overview_long_avgdelta"
android:id="@+id/long_avg_delta"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:textAlignment="textEnd"
android:text="n/a"
android:textAppearance="@style/TextAppearance.AppCompat.Small" />
android:textAppearance="@style/TextAppearance.AppCompat.Small"
tools:ignore="HardcodedText" />
</TableRow>
</TableLayout>
<LinearLayout
android:id="@+id/overview_apsmode_llayout"
android:id="@+id/aps_mode_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:gravity="center_horizontal"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="@+id/overview_bg"
app:layout_constraintEnd_toStartOf="@id/overview_time_llayout"
app:layout_constraintStart_toEndOf="@id/overview_deltas_llayout"
app:layout_constraintTop_toTopOf="parent">
app:layout_constraintBottom_toBottomOf="@+id/bg"
app:layout_constraintEnd_toStartOf="@id/time_layout"
app:layout_constraintStart_toEndOf="@id/deltas_layout"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="UseCompoundDrawables">
<ImageView
android:id="@+id/overview_apsmode"
android:id="@+id/aps_mode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="-4dp"
android:visibility="gone"
app:srcCompat="@drawable/ic_loop_closed" />
app:srcCompat="@drawable/ic_loop_closed"
android:contentDescription="@string/closedloop" />
<TextView
android:id="@+id/overview_apsmode_text"
android:id="@+id/aps_mode_text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
@ -175,35 +189,37 @@
android:text="Open Loop"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
android:textStyle="bold"
android:visibility="gone" />
android:visibility="gone"
tools:ignore="HardcodedText" />
</LinearLayout>
<LinearLayout
android:id="@+id/overview_time_llayout"
android:id="@+id/time_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:gravity="center_horizontal"
android:orientation="vertical"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/overview_bg"
app:layout_constraintBottom_toBottomOf="@+id/bg"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/overview_apsmode_llayout"
app:layout_constraintStart_toEndOf="@id/aps_mode_layout"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/overview_time"
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="-10dp"
android:layout_marginBottom="-10dp"
android:text="8:00 PM"
android:textSize="40dp"
android:textStyle="bold" />
android:textSize="40sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/overview_timeagoshort"
android:id="@+id/time_ago_short"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
@ -212,30 +228,33 @@
android:gravity="center_vertical"
android:text="(-5)"
android:textSize="30sp"
android:textStyle="bold" />
android:textStyle="bold"
tools:ignore="HardcodedText" />
</LinearLayout>
<LinearLayout
android:id="@+id/overview_iob_llayout"
android:id="@+id/iob_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:gravity="center_horizontal"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/overview_cob_llayout"
app:layout_constraintEnd_toStartOf="@+id/cob_layout"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/overview_bg">
app:layout_constraintTop_toBottomOf="@+id/bg"
tools:ignore="UseCompoundDrawables">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
app:srcCompat="@drawable/ic_bolus" />
app:srcCompat="@drawable/ic_bolus"
android:contentDescription="@string/iob" />
<TextView
android:id="@+id/overview_iob"
android:id="@+id/iob"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
@ -243,29 +262,32 @@
android:paddingBottom="3dp"
android:text="n/a"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
android:textStyle="bold" />
android:textStyle="bold"
tools:ignore="HardcodedText" />
</LinearLayout>
<LinearLayout
android:id="@+id/overview_cob_llayout"
android:id="@+id/cob_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/overview_basal_llayout"
app:layout_constraintStart_toEndOf="@+id/overview_iob_llayout"
app:layout_constraintTop_toTopOf="@+id/overview_iob_llayout">
app:layout_constraintEnd_toStartOf="@+id/basal_layout"
app:layout_constraintStart_toEndOf="@+id/iob_layout"
app:layout_constraintTop_toTopOf="@+id/iob_layout"
tools:ignore="UseCompoundDrawables">
<ImageView
android:id="@+id/overview_carbs_icon"
android:id="@+id/carbs_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:background="@drawable/anim_carbs" />
android:background="@drawable/anim_carbs"
android:contentDescription="@string/cob" />
<TextView
android:id="@+id/overview_cob"
android:id="@+id/cob"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
@ -273,29 +295,32 @@
android:paddingBottom="3dp"
android:text="n/a"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
android:textStyle="bold" />
android:textStyle="bold"
tools:ignore="HardcodedText" />
</LinearLayout>
<LinearLayout
android:id="@+id/overview_basal_llayout"
android:id="@+id/basal_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/overview_extended_llayout"
app:layout_constraintStart_toEndOf="@+id/overview_cob_llayout"
app:layout_constraintTop_toTopOf="@+id/overview_iob_llayout">
app:layout_constraintEnd_toStartOf="@+id/extended_layout"
app:layout_constraintStart_toEndOf="@+id/cob_layout"
app:layout_constraintTop_toTopOf="@+id/iob_layout"
tools:ignore="UseCompoundDrawables">
<ImageView
android:id="@+id/overview_basebasal_icon"
android:id="@+id/base_basal_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
app:srcCompat="@drawable/ic_cp_basal_no_tbr" />
app:srcCompat="@drawable/ic_cp_basal_no_tbr"
android:contentDescription="@string/basal" />
<TextView
android:id="@+id/overview_basebasal"
android:id="@+id/base_basal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
@ -303,28 +328,31 @@
android:paddingBottom="3dp"
android:text="n/a"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
android:textStyle="bold" />
android:textStyle="bold"
tools:ignore="HardcodedText" />
</LinearLayout>
<LinearLayout
android:id="@+id/overview_extended_llayout"
android:id="@+id/extended_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/overview_as_llayout"
app:layout_constraintStart_toEndOf="@+id/overview_basal_llayout"
app:layout_constraintTop_toTopOf="@+id/overview_iob_llayout">
app:layout_constraintEnd_toStartOf="@+id/as_layout"
app:layout_constraintStart_toEndOf="@+id/basal_layout"
app:layout_constraintTop_toTopOf="@+id/iob_layout"
tools:ignore="UseCompoundDrawables">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
app:srcCompat="@drawable/ic_actions_startextbolus" />
app:srcCompat="@drawable/ic_actions_startextbolus"
android:contentDescription="@string/extended_bolus" />
<TextView
android:id="@+id/overview_extendedbolus"
android:id="@+id/extended_bolus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
@ -332,29 +360,32 @@
android:paddingBottom="3dp"
android:text="n/a"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
android:textStyle="bold" />
android:textStyle="bold"
tools:ignore="HardcodedText" />
</LinearLayout>
<LinearLayout
android:id="@+id/overview_as_llayout"
android:id="@+id/as_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/overview_extended_llayout"
app:layout_constraintTop_toTopOf="@+id/overview_iob_llayout">
app:layout_constraintStart_toEndOf="@+id/extended_layout"
app:layout_constraintTop_toTopOf="@+id/iob_layout"
tools:ignore="UseCompoundDrawables">
<ImageView
android:id="@+id/overview_sensitivity_icon"
android:id="@+id/sensitivity_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
app:srcCompat="@drawable/ic_swap_vert_black_48dp_green" />
app:srcCompat="@drawable/ic_swap_vert_black_48dp_green"
android:contentDescription="@string/autosenslabel" />
<TextView
android:id="@+id/overview_sensitivity"
android:id="@+id/sensitivity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
@ -362,7 +393,8 @@
android:paddingBottom="3dp"
android:text="n/a"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
android:textStyle="bold" />
android:textStyle="bold"
tools:ignore="HardcodedText" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View file

@ -1,18 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/overview_looplayout"
android:id="@+id/loop_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/overview_activeprofile"
android:id="@+id/active_profile"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
@ -22,10 +23,11 @@
android:paddingTop="6dp"
android:paddingBottom="6dp"
android:text="Profile"
android:textAppearance="?android:attr/textAppearanceSmall" />
android:textAppearance="?android:attr/textAppearanceSmall"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/overview_temptarget"
android:id="@+id/temp_target"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
@ -35,19 +37,20 @@
android:paddingBottom="6dp"
android:text="TempTarget"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@color/mdtp_white" />
android:textColor="@color/mdtp_white"
tools:ignore="HardcodedText" />
</LinearLayout>
<LinearLayout
android:id="@+id/overview_pumpstatuslayout"
android:id="@+id/pump_status_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:visibility="gone">
<TextView
android:id="@+id/overview_pumpstatus"
android:id="@+id/pump_status"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"

View file

@ -26,7 +26,7 @@
android:adjustViewBounds="false"
android:cropToPadding="false"
android:scaleType="fitStart"
card_view:srcCompat="@drawable/ic_quickwizard" />
card_view:srcCompat="@drawable/ic_quick_wizard" />
<LinearLayout
android:orientation="vertical"

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/overview_statuslights"
android:id="@+id/status_lights"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
@ -19,10 +19,11 @@
android:scaleType="centerInside"
android:scaleX="2"
android:scaleY="2"
app:srcCompat="@drawable/ic_cp_age_canula" />
app:srcCompat="@drawable/ic_cp_age_cannula"
android:contentDescription="@string/cannula" />
<TextView
android:id="@+id/careportal_canulaage"
android:id="@+id/cannula_age"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
@ -38,10 +39,11 @@
android:scaleType="centerInside"
android:scaleX="1.8"
android:scaleY="1.8"
app:srcCompat="@drawable/ic_cp_age_insulin" />
app:srcCompat="@drawable/ic_cp_age_insulin"
android:contentDescription="@string/insulin_label" />
<TextView
android:id="@+id/careportal_insulinage"
android:id="@+id/insulin_age"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
@ -50,7 +52,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/careportal_reservoirlevel"
android:id="@+id/reservoir_level"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
@ -64,10 +66,11 @@
android:scaleType="centerInside"
android:scaleX="2"
android:scaleY="2"
app:srcCompat="@drawable/ic_cp_age_sensor" />
app:srcCompat="@drawable/ic_cp_age_sensor"
android:contentDescription="@string/careportal_sensor_label" />
<TextView
android:id="@+id/careportal_sensorage"
android:id="@+id/sensor_age"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
@ -83,10 +86,11 @@
android:scaleType="centerInside"
android:scaleX="2"
android:scaleY="2"
app:srcCompat="@drawable/ic_cp_age_battery" />
app:srcCompat="@drawable/ic_cp_age_battery"
android:contentDescription="@string/battery_label" />
<TextView
android:id="@+id/careportal_pbage"
android:id="@+id/pb_age"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
@ -95,7 +99,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/careportal_batterylevel"
android:id="@+id/battery_level"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"

View file

@ -74,7 +74,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter"
android:background="@color/list_delimiter"
android:visibility="gone" />
<LinearLayout
@ -122,7 +122,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -167,7 +167,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -212,7 +212,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -257,7 +257,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -302,7 +302,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -389,7 +389,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -434,7 +434,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<Button
android:id="@+id/reload"

View file

@ -176,7 +176,7 @@
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
</LinearLayout>

View file

@ -108,7 +108,7 @@
android:layout_marginStart="5dp"
android:layout_marginEnd="5dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
</LinearLayout>

View file

@ -189,7 +189,7 @@
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
</LinearLayout>

View file

@ -124,7 +124,7 @@
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
</LinearLayout>

View file

@ -210,7 +210,7 @@
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
</LinearLayout>

View file

@ -152,7 +152,7 @@
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
</LinearLayout>

View file

@ -64,7 +64,7 @@
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -108,7 +108,7 @@
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -152,7 +152,7 @@
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -197,7 +197,7 @@
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -242,7 +242,7 @@
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -287,7 +287,7 @@
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"

View file

@ -512,7 +512,6 @@
<string name="overview_extendedbolus_cancel_button">Cancel Extended Bolus</string>
<string name="doprofileswitch">Do Profile Switch</string>
<string name="careportal_sensor_label">Sensor</string>
<string name="careportal_canula_label">Canula</string>
<string name="careportal_insulin_label">Insulin</string>
<string name="careportal_pb_label">Pump battery</string>
<string name="careportal_age_label">age:</string>
@ -1377,5 +1376,7 @@
<string name="graph_menu_divider_header">Graph</string>
<string name="chart_menu">Chart menu</string>
<string name="clear_filter">Clear filter</string>
<string name="trend_arrow">Trend arrow</string>
<string name="cannula">Cannula</string>
</resources>

View file

@ -117,7 +117,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -162,7 +162,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -207,7 +207,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -252,7 +252,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -297,7 +297,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -384,7 +384,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"

View file

@ -162,7 +162,7 @@
android:layout_marginTop="7dp"
android:layout_marginEnd="5dp"
android:layout_marginBottom="3dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
</LinearLayout>

View file

@ -27,7 +27,7 @@
<!-- Treatment-->
<color name="tempbasal">#C803A9F4</color>
<color name="listdelimiter">#505050</color>
<color name="list_delimiter">#505050</color>
<!-- BgReading-->
<color name="inrange">#00FF00</color>

View file

@ -85,7 +85,7 @@
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -139,7 +139,7 @@
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -185,7 +185,7 @@
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -230,7 +230,7 @@
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -275,7 +275,7 @@
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -320,7 +320,7 @@
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -365,7 +365,7 @@
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -410,7 +410,7 @@
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -455,7 +455,7 @@
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -500,7 +500,7 @@
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -545,7 +545,7 @@
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -590,7 +590,7 @@
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -635,7 +635,7 @@
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -680,7 +680,7 @@
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<TextView
android:layout_width="wrap_content"

View file

@ -67,7 +67,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<Switch
android:id="@+id/buttonscroll"
@ -86,7 +86,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<Switch
android:id="@+id/beep"
@ -105,7 +105,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -158,7 +158,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -193,7 +193,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -230,7 +230,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<Switch
android:id="@+id/units"
@ -251,7 +251,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -286,7 +286,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"

View file

@ -45,7 +45,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -93,7 +93,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -147,7 +147,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -194,7 +194,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -239,7 +239,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -285,7 +285,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -330,7 +330,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -375,7 +375,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
@ -422,7 +422,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -467,7 +467,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<TextView
android:layout_width="wrap_content"

View file

@ -41,7 +41,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -91,7 +91,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<!-- Pod Address -->
<LinearLayout
@ -384,7 +384,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -432,7 +432,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -480,7 +480,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -528,7 +528,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -576,7 +576,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -624,7 +624,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -672,7 +672,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -720,7 +720,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<LinearLayout
android:layout_width="match_parent"
@ -768,7 +768,7 @@
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
android:background="@color/list_delimiter" />
<TextView
android:layout_width="wrap_content"