forked from penguin86/luna-tracker
		
	add puke event
This commit is contained in:
		@@ -260,6 +260,26 @@ class MainActivity : AppCompatActivity() {
 | 
			
		||||
        alertDialog.show()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fun askPukeValue() {
 | 
			
		||||
        val d = AlertDialog.Builder(this)
 | 
			
		||||
        val dialogView = layoutInflater.inflate(R.layout.puke_dialog, null)
 | 
			
		||||
        d.setTitle(R.string.log_puke_dialog_title)
 | 
			
		||||
        d.setMessage(R.string.log_puke_dialog_description)
 | 
			
		||||
        d.setView(dialogView)
 | 
			
		||||
 | 
			
		||||
        val spinner = dialogView.findViewById<Spinner>(R.id.dialog_puke_value)
 | 
			
		||||
        spinner.adapter = ArrayAdapter.createFromResource(this, R.array.AmountLabels, android.R.layout.simple_spinner_dropdown_item)
 | 
			
		||||
        spinner.setSelection(1)
 | 
			
		||||
 | 
			
		||||
        d.setPositiveButton(android.R.string.ok) { dialogInterface, i ->
 | 
			
		||||
            val pos = spinner.selectedItemPosition
 | 
			
		||||
            logEvent(LunaEvent(LunaEvent.TYPE_PUKE, pos))
 | 
			
		||||
        }
 | 
			
		||||
        d.setNegativeButton(android.R.string.cancel) { dialogInterface, i -> dialogInterface.dismiss() }
 | 
			
		||||
        val alertDialog = d.create()
 | 
			
		||||
        alertDialog.show()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fun askNotes(lunaEvent: LunaEvent) {
 | 
			
		||||
        val d = AlertDialog.Builder(this)
 | 
			
		||||
        val dialogView = layoutInflater.inflate(R.layout.dialog_notes, null)
 | 
			
		||||
@@ -787,6 +807,10 @@ class MainActivity : AppCompatActivity() {
 | 
			
		||||
                askTemperatureValue()
 | 
			
		||||
                dismiss()
 | 
			
		||||
            })
 | 
			
		||||
            contentView.findViewById<View>(R.id.button_puke).setOnClickListener({
 | 
			
		||||
                askPukeValue()
 | 
			
		||||
                dismiss()
 | 
			
		||||
            })
 | 
			
		||||
            contentView.findViewById<View>(R.id.button_colic).setOnClickListener({
 | 
			
		||||
                logEvent(
 | 
			
		||||
                    LunaEvent(LunaEvent.TYPE_COLIC)
 | 
			
		||||
 
 | 
			
		||||
@@ -28,6 +28,7 @@ class LunaEvent: Comparable<LunaEvent> {
 | 
			
		||||
        const val TYPE_COLIC = "COLIC"
 | 
			
		||||
        const val TYPE_TEMPERATURE = "TEMPERATURE"
 | 
			
		||||
        const val TYPE_FOOD = "FOOD"
 | 
			
		||||
        const val TYPE_PUKE = "PUKE"
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private val jo: JSONObject
 | 
			
		||||
@@ -90,6 +91,7 @@ class LunaEvent: Comparable<LunaEvent> {
 | 
			
		||||
                TYPE_TEMPERATURE -> R.string.event_temperature_type
 | 
			
		||||
                TYPE_COLIC -> R.string.event_colic_type
 | 
			
		||||
                TYPE_FOOD -> R.string.event_food_type
 | 
			
		||||
                TYPE_PUKE -> R.string.event_puke_type
 | 
			
		||||
                else -> R.string.event_unknown_type
 | 
			
		||||
            }
 | 
			
		||||
        )
 | 
			
		||||
@@ -111,6 +113,7 @@ class LunaEvent: Comparable<LunaEvent> {
 | 
			
		||||
                TYPE_TEMPERATURE -> R.string.event_temperature_desc
 | 
			
		||||
                TYPE_COLIC -> R.string.event_colic_desc
 | 
			
		||||
                TYPE_FOOD -> R.string.event_food_desc
 | 
			
		||||
                TYPE_PUKE -> R.string.event_puke_desc
 | 
			
		||||
                else -> R.string.event_unknown_desc
 | 
			
		||||
            }
 | 
			
		||||
        )
 | 
			
		||||
 
 | 
			
		||||
@@ -27,7 +27,7 @@ class NumericUtils (val context: Context) {
 | 
			
		||||
                "US" -> false // US IMPERIAL
 | 
			
		||||
                // UK, Myanmar, Liberia,
 | 
			
		||||
                "GB", "MM", "LR" -> false // IMPERIAL
 | 
			
		||||
                else -> true // UnitSystem.METRIC
 | 
			
		||||
                else -> true // METRIC
 | 
			
		||||
            }
 | 
			
		||||
       }
 | 
			
		||||
    }
 | 
			
		||||
@@ -62,11 +62,15 @@ class NumericUtils (val context: Context) {
 | 
			
		||||
 | 
			
		||||
    fun formatEventQuantity(item: LunaEvent): String {
 | 
			
		||||
        val formatted = StringBuilder()
 | 
			
		||||
        if ((item.quantity ?: 0) > 0) {
 | 
			
		||||
            if (item.type == LunaEvent.TYPE_TEMPERATURE)
 | 
			
		||||
                formatted.append((item.quantity / 10.0f).toString())
 | 
			
		||||
            else
 | 
			
		||||
                formatted.append(item.quantity)
 | 
			
		||||
        if (item.quantity > 0) {
 | 
			
		||||
            formatted.append(when (item.type) {
 | 
			
		||||
                LunaEvent.TYPE_TEMPERATURE ->
 | 
			
		||||
                    (item.quantity / 10.0f).toString()
 | 
			
		||||
                LunaEvent.TYPE_PUKE ->
 | 
			
		||||
                    context.resources.getStringArray(R.array.AmountLabels)[item.quantity]
 | 
			
		||||
                else ->
 | 
			
		||||
                    item.quantity
 | 
			
		||||
            })
 | 
			
		||||
 | 
			
		||||
            formatted.append(" ")
 | 
			
		||||
            formatted.append(
 | 
			
		||||
 
 | 
			
		||||
@@ -49,6 +49,16 @@
 | 
			
		||||
                style="@style/OverflowMenuText"
 | 
			
		||||
                android:text="@string/overflow_event_temperature"/>
 | 
			
		||||
 | 
			
		||||
            <TextView
 | 
			
		||||
                android:id="@+id/button_puke"
 | 
			
		||||
                android:layout_width="match_parent"
 | 
			
		||||
                android:layout_height="match_parent"
 | 
			
		||||
                android:layout_marginTop="10dp"
 | 
			
		||||
                android:padding="20dp"
 | 
			
		||||
                android:background="@drawable/dropdown_list_item_background"
 | 
			
		||||
                style="@style/OverflowMenuText"
 | 
			
		||||
                android:text="@string/overflow_event_puke"/>
 | 
			
		||||
 | 
			
		||||
            <TextView
 | 
			
		||||
                android:id="@+id/button_colic"
 | 
			
		||||
                android:layout_width="match_parent"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										17
									
								
								app/src/main/res/layout/puke_dialog.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								app/src/main/res/layout/puke_dialog.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<LinearLayout
 | 
			
		||||
    xmlns:android="http://schemas.android.com/apk/res/android"
 | 
			
		||||
    android:layout_width="match_parent"
 | 
			
		||||
    android:layout_height="match_parent"
 | 
			
		||||
    android:layout_gravity="center"
 | 
			
		||||
    android:gravity="center"
 | 
			
		||||
    android:orientation="vertical">
 | 
			
		||||
 | 
			
		||||
    <Spinner
 | 
			
		||||
        android:id="@+id/dialog_puke_value"
 | 
			
		||||
        android:layout_width="250dp"
 | 
			
		||||
        android:layout_height="wrap_content"
 | 
			
		||||
        android:paddingHorizontal="16dp"
 | 
			
		||||
        android:paddingVertical="8dp"/>
 | 
			
		||||
 | 
			
		||||
</LinearLayout>
 | 
			
		||||
							
								
								
									
										8
									
								
								app/src/main/res/values/arrays.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								app/src/main/res/values/arrays.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,8 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<resources>
 | 
			
		||||
    <string-array name="AmountLabels">
 | 
			
		||||
        <item>@string/amount_low</item>
 | 
			
		||||
        <item>@string/amount_normal</item>
 | 
			
		||||
        <item>@string/amount_high</item>
 | 
			
		||||
    </string-array>
 | 
			
		||||
</resources>
 | 
			
		||||
@@ -12,6 +12,9 @@
 | 
			
		||||
    <string name="log_temperature_dialog_title">Temperature</string>
 | 
			
		||||
    <string name="log_temperature_dialog_description">Insert the temperature</string>
 | 
			
		||||
 | 
			
		||||
    <string name="log_puke_dialog_title">Puke</string>
 | 
			
		||||
    <string name="log_puke_dialog_description">Select the amount</string>
 | 
			
		||||
 | 
			
		||||
    <string name="event_bottle_type" translatable="false">🍼</string>
 | 
			
		||||
    <string name="event_food_type" translatable="false">🥣</string>
 | 
			
		||||
    <string name="event_scale_type" translatable="false">⚖️</string>
 | 
			
		||||
@@ -25,6 +28,7 @@
 | 
			
		||||
    <string name="event_note_type" translatable="false">📝</string>
 | 
			
		||||
    <string name="event_temperature_type" translatable="false">🌡️</string>
 | 
			
		||||
    <string name="event_colic_type" translatable="false">💨</string>
 | 
			
		||||
    <string name="event_puke_type" translatable="false">🤮</string>
 | 
			
		||||
    <string name="event_unknown_type" translatable="false">\?</string>
 | 
			
		||||
 | 
			
		||||
    <string name="event_bottle_desc">Baby bottle</string>
 | 
			
		||||
@@ -40,6 +44,7 @@
 | 
			
		||||
    <string name="event_note_desc">Note</string>
 | 
			
		||||
    <string name="event_temperature_desc">Temperature</string>
 | 
			
		||||
    <string name="event_colic_desc">Gaseous colic</string>
 | 
			
		||||
    <string name="event_puke_desc">Puke</string>
 | 
			
		||||
    <string name="event_unknown_desc"></string>
 | 
			
		||||
 | 
			
		||||
    <string name="overflow_event_scale">⚖️ Weight</string>
 | 
			
		||||
@@ -48,6 +53,7 @@
 | 
			
		||||
    <string name="overflow_event_note">📝 Note</string>
 | 
			
		||||
    <string name="overflow_event_temperature">🌡️ Temperature</string>
 | 
			
		||||
    <string name="overflow_event_colic">💨 Gaseous colic</string>
 | 
			
		||||
    <string name="overflow_event_puke">🤮 Puke</string>
 | 
			
		||||
 | 
			
		||||
    <string name="toast_event_added">Event logged</string>
 | 
			
		||||
    <string name="toast_logbook_saved">Logbook saved</string>
 | 
			
		||||
@@ -66,6 +72,10 @@
 | 
			
		||||
    <string name="year_ago">year</string>
 | 
			
		||||
    <string name="years_ago">years</string>
 | 
			
		||||
 | 
			
		||||
    <string name="amount_low">Low</string>
 | 
			
		||||
    <string name="amount_normal">Normal</string>
 | 
			
		||||
    <string name="amount_high">High</string>
 | 
			
		||||
 | 
			
		||||
    <string name="no_connection">No connection</string>
 | 
			
		||||
    <string name="no_connection_explain">Unable to reach WebDAV service</string>
 | 
			
		||||
    <string name="no_connection_go_to_settings">Settings</string>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user