Auto list update, scroll list on new element, toast on new element
This commit is contained in:
parent
96e2410753
commit
aaa78139d6
@ -1,8 +1,10 @@
|
|||||||
package it.danieleverducci.lunatracker
|
package it.danieleverducci.lunatracker
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.os.Handler
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.widget.NumberPicker
|
import android.widget.NumberPicker
|
||||||
|
import android.widget.Toast
|
||||||
import androidx.appcompat.app.AlertDialog
|
import androidx.appcompat.app.AlertDialog
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
@ -11,6 +13,7 @@ import it.danieleverducci.lunatracker.adapters.LunaEventRecyclerAdapter
|
|||||||
import it.danieleverducci.lunatracker.entities.Logbook
|
import it.danieleverducci.lunatracker.entities.Logbook
|
||||||
import it.danieleverducci.lunatracker.entities.LunaEvent
|
import it.danieleverducci.lunatracker.entities.LunaEvent
|
||||||
import it.danieleverducci.lunatracker.entities.LunaEventType
|
import it.danieleverducci.lunatracker.entities.LunaEventType
|
||||||
|
import kotlinx.coroutines.Runnable
|
||||||
|
|
||||||
class MainActivity : AppCompatActivity() {
|
class MainActivity : AppCompatActivity() {
|
||||||
companion object {
|
companion object {
|
||||||
@ -19,6 +22,7 @@ class MainActivity : AppCompatActivity() {
|
|||||||
|
|
||||||
lateinit var logbook: Logbook
|
lateinit var logbook: Logbook
|
||||||
lateinit var adapter: LunaEventRecyclerAdapter
|
lateinit var adapter: LunaEventRecyclerAdapter
|
||||||
|
lateinit var recyclerView: RecyclerView
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
@ -30,7 +34,7 @@ class MainActivity : AppCompatActivity() {
|
|||||||
setContentView(R.layout.activity_main)
|
setContentView(R.layout.activity_main)
|
||||||
|
|
||||||
// Show logbook
|
// Show logbook
|
||||||
val recyclerView = findViewById<RecyclerView>(R.id.list_events)
|
recyclerView = findViewById<RecyclerView>(R.id.list_events)
|
||||||
recyclerView.setLayoutManager(LinearLayoutManager(this))
|
recyclerView.setLayoutManager(LinearLayoutManager(this))
|
||||||
adapter = LunaEventRecyclerAdapter(this)
|
adapter = LunaEventRecyclerAdapter(this)
|
||||||
adapter.items.addAll(logbook.logs)
|
adapter.items.addAll(logbook.logs)
|
||||||
@ -65,6 +69,13 @@ class MainActivity : AppCompatActivity() {
|
|||||||
) }
|
) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onStart() {
|
||||||
|
super.onStart()
|
||||||
|
|
||||||
|
// Update list dates
|
||||||
|
adapter.notifyDataSetChanged()
|
||||||
|
}
|
||||||
|
|
||||||
fun askBabyBottleContent() {
|
fun askBabyBottleContent() {
|
||||||
// Show number picker dialog
|
// Show number picker dialog
|
||||||
val d = AlertDialog.Builder(this)
|
val d = AlertDialog.Builder(this)
|
||||||
@ -88,8 +99,12 @@ class MainActivity : AppCompatActivity() {
|
|||||||
fun logEvent(event: LunaEvent) {
|
fun logEvent(event: LunaEvent) {
|
||||||
adapter.items.add(0, event)
|
adapter.items.add(0, event)
|
||||||
adapter.notifyItemInserted(0)
|
adapter.notifyItemInserted(0)
|
||||||
|
recyclerView.smoothScrollToPosition(0)
|
||||||
|
|
||||||
logbook.logs.add(0, event)
|
logbook.logs.add(0, event)
|
||||||
logbook.save(this)
|
logbook.save(this)
|
||||||
|
|
||||||
|
Toast.makeText(this, R.string.toast_event_added, Toast.LENGTH_SHORT).show()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -58,7 +58,12 @@ class LunaEventRecyclerAdapter: RecyclerView.Adapter<LunaEventRecyclerAdapter.Lu
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
holder.quantity.text = if ((item.quantity ?: 0) > 0) item.quantity.toString() else ""
|
holder.quantity.text = if ((item.quantity ?: 0) > 0) item.quantity.toString() else ""
|
||||||
holder.time.text = DateUtils.getRelativeTimeSpanString(item.time * 1000)
|
// holder.time.text = DateUtils.getRelativeTimeSpanString(item.time * 1000)
|
||||||
|
holder.time.text = DateUtils.getRelativeTimeSpanString(
|
||||||
|
item.time * 1000,
|
||||||
|
System.currentTimeMillis(),
|
||||||
|
DateUtils.MINUTE_IN_MILLIS,
|
||||||
|
DateUtils.FORMAT_SHOW_DATE or DateUtils.FORMAT_NO_YEAR or DateUtils.FORMAT_ABBREV_MONTH or DateUtils.FORMAT_SHOW_TIME)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getItemCount(): Int {
|
override fun getItemCount(): Int {
|
||||||
|
@ -23,4 +23,6 @@
|
|||||||
<string name="event_diaperchange_pee_desc">Cambio (con pipì)</string>
|
<string name="event_diaperchange_pee_desc">Cambio (con pipì)</string>
|
||||||
<string name="event_unknown_desc"></string>
|
<string name="event_unknown_desc"></string>
|
||||||
|
|
||||||
|
<string name="toast_event_added">Evento aggiunto!</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
Loading…
Reference in New Issue
Block a user