chore: move treatment show hide loop to toolbar
This commit is contained in:
parent
357b3abd67
commit
84e9a65a5a
4 changed files with 43 additions and 13 deletions
|
@ -13,20 +13,21 @@ import info.nightscout.androidaps.database.entities.UserEntry.Sources
|
||||||
import info.nightscout.androidaps.databinding.TreatmentsUserEntryFragmentBinding
|
import info.nightscout.androidaps.databinding.TreatmentsUserEntryFragmentBinding
|
||||||
import info.nightscout.androidaps.databinding.TreatmentsUserEntryItemBinding
|
import info.nightscout.androidaps.databinding.TreatmentsUserEntryItemBinding
|
||||||
import info.nightscout.androidaps.events.EventPreferenceChange
|
import info.nightscout.androidaps.events.EventPreferenceChange
|
||||||
|
import info.nightscout.androidaps.events.EventTreatmentUpdateGui
|
||||||
|
import info.nightscout.androidaps.extensions.toVisibility
|
||||||
import info.nightscout.androidaps.interfaces.ImportExportPrefs
|
import info.nightscout.androidaps.interfaces.ImportExportPrefs
|
||||||
import info.nightscout.androidaps.interfaces.ProfileFunction
|
import info.nightscout.androidaps.interfaces.ProfileFunction
|
||||||
import info.nightscout.androidaps.logging.UserEntryLogger
|
import info.nightscout.androidaps.logging.UserEntryLogger
|
||||||
import info.nightscout.androidaps.plugins.bus.RxBus
|
import info.nightscout.androidaps.plugins.bus.RxBus
|
||||||
import info.nightscout.androidaps.events.EventTreatmentUpdateGui
|
|
||||||
import info.nightscout.androidaps.extensions.toVisibility
|
|
||||||
import info.nightscout.androidaps.utils.DateUtil
|
import info.nightscout.androidaps.utils.DateUtil
|
||||||
import info.nightscout.androidaps.utils.FabricPrivacy
|
import info.nightscout.androidaps.utils.FabricPrivacy
|
||||||
import info.nightscout.androidaps.utils.T
|
import info.nightscout.androidaps.utils.T
|
||||||
|
import info.nightscout.androidaps.utils.ToastUtils
|
||||||
import info.nightscout.androidaps.utils.Translator
|
import info.nightscout.androidaps.utils.Translator
|
||||||
import info.nightscout.androidaps.utils.userEntry.UserEntryPresentationHelper
|
|
||||||
import info.nightscout.androidaps.utils.alertDialogs.OKDialog
|
import info.nightscout.androidaps.utils.alertDialogs.OKDialog
|
||||||
import info.nightscout.androidaps.utils.resources.ResourceHelper
|
import info.nightscout.androidaps.utils.resources.ResourceHelper
|
||||||
import info.nightscout.androidaps.utils.rx.AapsSchedulers
|
import info.nightscout.androidaps.utils.rx.AapsSchedulers
|
||||||
|
import info.nightscout.androidaps.utils.userEntry.UserEntryPresentationHelper
|
||||||
import io.reactivex.rxjava3.disposables.CompositeDisposable
|
import io.reactivex.rxjava3.disposables.CompositeDisposable
|
||||||
import io.reactivex.rxjava3.kotlin.plusAssign
|
import io.reactivex.rxjava3.kotlin.plusAssign
|
||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
|
@ -49,6 +50,7 @@ class TreatmentsUserEntryFragment : DaggerFragment() {
|
||||||
private val disposable = CompositeDisposable()
|
private val disposable = CompositeDisposable()
|
||||||
private val millsToThePastFiltered = T.days(30).msecs()
|
private val millsToThePastFiltered = T.days(30).msecs()
|
||||||
private val millsToThePastUnFiltered = T.days(3).msecs()
|
private val millsToThePastUnFiltered = T.days(3).msecs()
|
||||||
|
private var menu: Menu? = null
|
||||||
private var showLoop = false
|
private var showLoop = false
|
||||||
private var _binding: TreatmentsUserEntryFragmentBinding? = null
|
private var _binding: TreatmentsUserEntryFragmentBinding? = null
|
||||||
|
|
||||||
|
@ -65,7 +67,7 @@ class TreatmentsUserEntryFragment : DaggerFragment() {
|
||||||
binding.recyclerview.layoutManager = LinearLayoutManager(view.context)
|
binding.recyclerview.layoutManager = LinearLayoutManager(view.context)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun exportUserEnteries() {
|
private fun exportUserEntries() {
|
||||||
activity?.let { activity ->
|
activity?.let { activity ->
|
||||||
OKDialog.showConfirmation(activity, rh.gs(R.string.ue_export_to_csv) + "?") {
|
OKDialog.showConfirmation(activity, rh.gs(R.string.ue_export_to_csv) + "?") {
|
||||||
uel.log(Action.EXPORT_CSV, Sources.Treatments)
|
uel.log(Action.EXPORT_CSV, Sources.Treatments)
|
||||||
|
@ -132,11 +134,10 @@ class TreatmentsUserEntryFragment : DaggerFragment() {
|
||||||
holder.binding.time.text = dateUtil.timeStringWithSeconds(current.timestamp)
|
holder.binding.time.text = dateUtil.timeStringWithSeconds(current.timestamp)
|
||||||
holder.binding.action.text = userEntryPresentationHelper.actionToColoredString(current.action)
|
holder.binding.action.text = userEntryPresentationHelper.actionToColoredString(current.action)
|
||||||
holder.binding.notes.text = current.note
|
holder.binding.notes.text = current.note
|
||||||
holder.binding.notes.visibility = if (current.note != "") View.VISIBLE else View.GONE
|
holder.binding.notes.visibility = (current.note != "").toVisibility()
|
||||||
holder.binding.iconSource.setImageResource(userEntryPresentationHelper.iconId(current.source))
|
holder.binding.iconSource.setImageResource(userEntryPresentationHelper.iconId(current.source))
|
||||||
holder.binding.iconSource.visibility = View.VISIBLE
|
|
||||||
holder.binding.values.text = userEntryPresentationHelper.listToPresentationString(current.values)
|
holder.binding.values.text = userEntryPresentationHelper.listToPresentationString(current.values)
|
||||||
holder.binding.values.visibility = if (holder.binding.values.text != "") View.VISIBLE else View.GONE
|
holder.binding.values.visibility = (holder.binding.values.text != "").toVisibility()
|
||||||
val nextTimestamp = if (entries.size != position + 1) entries[position + 1].timestamp else 0L
|
val nextTimestamp = if (entries.size != position + 1) entries[position + 1].timestamp else 0L
|
||||||
holder.binding.delimiter.visibility = dateUtil.isSameDayGroup(current.timestamp, nextTimestamp).toVisibility()
|
holder.binding.delimiter.visibility = dateUtil.isSameDayGroup(current.timestamp, nextTimestamp).toVisibility()
|
||||||
}
|
}
|
||||||
|
@ -150,14 +151,18 @@ class TreatmentsUserEntryFragment : DaggerFragment() {
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
|
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
|
||||||
|
this.menu = menu
|
||||||
inflater.inflate(R.menu.menu_treatments_user_entry, menu)
|
inflater.inflate(R.menu.menu_treatments_user_entry, menu)
|
||||||
super.onCreateOptionsMenu(menu, inflater)
|
super.onCreateOptionsMenu(menu, inflater)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onPrepareOptionsMenu(menu: Menu) {
|
private fun updateMenuVisibility() {
|
||||||
menu.findItem(R.id.nav_hide_loop)?.isVisible = showLoop
|
menu?.findItem(R.id.nav_hide_loop)?.isVisible = showLoop
|
||||||
menu.findItem(R.id.nav_show_loop)?.isVisible = !showLoop
|
menu?.findItem(R.id.nav_show_loop)?.isVisible = !showLoop
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onPrepareOptionsMenu(menu: Menu) {
|
||||||
|
updateMenuVisibility()
|
||||||
return super.onPrepareOptionsMenu(menu)
|
return super.onPrepareOptionsMenu(menu)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -165,21 +170,26 @@ class TreatmentsUserEntryFragment : DaggerFragment() {
|
||||||
when (item.itemId) {
|
when (item.itemId) {
|
||||||
R.id.nav_show_loop -> {
|
R.id.nav_show_loop -> {
|
||||||
showLoop = true
|
showLoop = true
|
||||||
|
updateMenuVisibility()
|
||||||
|
ToastUtils.showToastInUiThread(context, rh.gs(R.string.show_loop_records))
|
||||||
rxBus.send(EventTreatmentUpdateGui())
|
rxBus.send(EventTreatmentUpdateGui())
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
|
|
||||||
R.id.nav_hide_loop -> {
|
R.id.nav_hide_loop -> {
|
||||||
showLoop = false
|
showLoop = false
|
||||||
|
updateMenuVisibility()
|
||||||
|
ToastUtils.showToastInUiThread(context, rh.gs(R.string.show_hide_records))
|
||||||
rxBus.send(EventTreatmentUpdateGui())
|
rxBus.send(EventTreatmentUpdateGui())
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
|
|
||||||
R.id.nav_export -> {
|
R.id.nav_export -> {
|
||||||
exportUserEnteries()
|
exportUserEntries()
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
|
|
||||||
else -> false
|
else -> false
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,13 +3,16 @@
|
||||||
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/nav_show_loop"
|
android:id="@+id/nav_show_loop"
|
||||||
|
android:icon="@drawable/ic_loop_closed_white"
|
||||||
|
android:iconTint="?attr/colorControlNormal"
|
||||||
android:title="@string/show_loop"
|
android:title="@string/show_loop"
|
||||||
app:showAsAction="never" />
|
app:showAsAction="ifRoom" />
|
||||||
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/nav_hide_loop"
|
android:id="@+id/nav_hide_loop"
|
||||||
|
android:icon="@drawable/ic_loop_closed_off"
|
||||||
android:title="@string/hide_loop"
|
android:title="@string/hide_loop"
|
||||||
app:showAsAction="never" />
|
app:showAsAction="ifRoom" />
|
||||||
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/nav_export"
|
android:id="@+id/nav_export"
|
||||||
|
|
|
@ -1206,4 +1206,6 @@
|
||||||
<string name="below" comment="below "in range"">Below</string>
|
<string name="below" comment="below "in range"">Below</string>
|
||||||
<string name="in_range">In range</string>
|
<string name="in_range">In range</string>
|
||||||
<string name="above" comment="above "in range"">Above</string>
|
<string name="above" comment="above "in range"">Above</string>
|
||||||
|
<string name="show_loop_records">Show loop records</string>
|
||||||
|
<string name="show_hide_records">Hide loop records</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
15
core/src/main/res/drawable/ic_loop_closed_off.xml
Normal file
15
core/src/main/res/drawable/ic_loop_closed_off.xml
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="48dp"
|
||||||
|
android:height="48dp"
|
||||||
|
android:viewportWidth="24"
|
||||||
|
android:viewportHeight="24">
|
||||||
|
|
||||||
|
<path
|
||||||
|
android:fillColor="?attr/colorControlNormal"
|
||||||
|
android:pathData="M24,9.343l-5.781,-3.968l-1.328,6.688l2.102,-1.757c0.014,0.056 0.03,0.111 0.043,0.168c0.116,0.512 0.183,1.042 0.183,1.589c0,3.952 -3.204,7.156 -7.156,7.156s-7.156,-3.204 -7.156,-7.156s3.204,-7.156 7.156,-7.156c1.072,0 2.085,0.242 2.998,0.665c0.325,0.151 0.639,0.321 0.936,0.517l0.002,-0.002l-0.352,-1.784l1.876,-0.538c-1.567,-1.033 -3.442,-1.639 -5.46,-1.639c-5.488,0 -9.938,4.449 -9.938,9.938S6.574,22 12.063,22S22,17.551 22,12.063c0,-0.759 -0.093,-1.496 -0.254,-2.206c-0.04,-0.176 -0.085,-0.35 -0.134,-0.523L24,9.343L24,9.343z" />
|
||||||
|
|
||||||
|
<path
|
||||||
|
android:fillColor="?attr/colorControlNormal"
|
||||||
|
android:pathData="m 24 9.343 M 2 4.27 L 19.73 22 L 21 20.73 L 3.27 3 L 2 4.27" />
|
||||||
|
|
||||||
|
</vector>
|
Loading…
Reference in a new issue