Compare commits
37
Commits
master
..
18578581b5
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
18578581b5 | ||
|
|
5663a838e7 | ||
|
|
d74524524a | ||
|
|
e4b8bff1bb | ||
|
|
55006331e8 | ||
|
|
3226dd560d | ||
|
|
7eb5eeb804 | ||
|
|
57f3b32d07 | ||
|
|
8878128879 | ||
|
|
e5257cfd24 | ||
|
|
677013494c | ||
|
|
f866ab3a27 | ||
|
|
52b3467611 | ||
|
|
e04e05f752 | ||
|
|
d9feb05988 | ||
|
|
99826811f1 | ||
|
|
8cf4997567 | ||
|
|
3ddff7895a | ||
|
|
2dbb3741be | ||
|
|
358452a179 | ||
|
|
369ec2197a | ||
|
|
52589cbff0 | ||
|
|
945d585c7f | ||
|
|
d61f6f8abc | ||
|
|
d4b50916bb | ||
|
|
215ac2fd0c | ||
|
|
7a1521d65a | ||
|
|
5882b7a874 | ||
|
|
b417fe48a6 | ||
|
|
a887d9f29f | ||
|
|
44748506ff | ||
|
|
9f8f277d75 | ||
|
|
742c5515b1 | ||
|
|
d49701a488 | ||
|
|
fb6edf981b | ||
|
|
52b23151d6 | ||
|
|
23372408d5 |
@@ -1,8 +1,6 @@
|
||||
*.iml
|
||||
.gradle
|
||||
/local.properties
|
||||
/.idea/deviceManager.xml
|
||||
/.idea/codeStyles
|
||||
/.idea/caches
|
||||
/.idea/libraries
|
||||
/.idea/modules.xml
|
||||
|
||||
Generated
+1
-1
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CompilerConfiguration">
|
||||
<bytecodeTargetLevel target="25" />
|
||||
<bytecodeTargetLevel target="21" />
|
||||
</component>
|
||||
</project>
|
||||
@@ -13,24 +13,7 @@ Dedicated to my daughter Luna.
|
||||
|
||||

|
||||
|
||||
## Contributions
|
||||
|
||||
### Why isn't this hosted on GitHub?
|
||||
|
||||
I'm using a private git server just because I'm worried for the vast majority of open source code being hosted in a server property of Microsoft and being used to train theirs AI.
|
||||
I didn't find a better option, BTW the Gitea project is working on implementing federation, so soon it will be possible to contribute using any other gitea server, selfhosted or not.
|
||||
|
||||
### How to contribute
|
||||
|
||||
The project is open to contribution, but with some limits:
|
||||
|
||||
- I'm sorry I can't accept AI-generated contributions. Reviewing a contribution requires time and effort from my side, while generating code with AI requires very little time and produces non reliable code that must be reviewed in detail. This is effectively shifting the work on my side, and in a forced way. If you feel you need a feature but you're not able to implement it by yourself, I prefer you to create an issue in the repository so I can implement it when I can, in a more mantainable way.
|
||||
- I prefer to make project-wide changes (i.e. updating Android target, app name and icon, release number...) by myself.
|
||||
|
||||
To contribute, you'll have to create an account on this git instance. Unfortunately, I had to disable registration to avoid huge waves of fake accounts created by bots.
|
||||
You can request an account writing to daniele.verducci@ichibi.eu
|
||||
|
||||
### Thanks for the valuable contributions to:
|
||||
## Thanks for the valuable contributions to:
|
||||
|
||||
- Chepycou (French translation)
|
||||
- Daniel Neubauer (German translation)
|
||||
|
||||
@@ -57,7 +57,6 @@ class MainActivity : AppCompatActivity() {
|
||||
var currentPopupItems = listOf<LunaEvent.Type>()
|
||||
}
|
||||
|
||||
lateinit var settingsRepository : LocalSettingsRepository
|
||||
var logbook: Logbook? = null
|
||||
var pauseLogbookUpdate = false
|
||||
lateinit var progressIndicator: LinearProgressIndicator
|
||||
@@ -78,7 +77,6 @@ class MainActivity : AppCompatActivity() {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
handler = Handler(mainLooper)
|
||||
settingsRepository = LocalSettingsRepository(this@MainActivity)
|
||||
|
||||
// Show view
|
||||
setContentView(R.layout.activity_main)
|
||||
@@ -141,6 +139,7 @@ class MainActivity : AppCompatActivity() {
|
||||
}
|
||||
|
||||
private fun populateHeaderMenu() {
|
||||
val settingsRepository = LocalSettingsRepository(this)
|
||||
val dynamicMenu = settingsRepository.loadDynamicMenu()
|
||||
val eventTypeStats = mutableMapOf<LunaEvent.Type, Int>()
|
||||
|
||||
@@ -213,6 +212,7 @@ class MainActivity : AppCompatActivity() {
|
||||
override fun onStart() {
|
||||
super.onStart()
|
||||
|
||||
val settingsRepository = LocalSettingsRepository(this)
|
||||
if (settingsRepository.loadDataRepository() == LocalSettingsRepository.DATA_REPO.WEBDAV) {
|
||||
val webDavCredentials = settingsRepository.loadWebdavCredentials()
|
||||
if (webDavCredentials == null) {
|
||||
@@ -764,7 +764,7 @@ class MainActivity : AppCompatActivity() {
|
||||
val d = AlertDialog.Builder(this)
|
||||
d.setTitle(R.string.trim_logbook_dialog_title)
|
||||
d.setMessage(
|
||||
when (settingsRepository.loadDataRepository()) {
|
||||
when (LocalSettingsRepository(this).loadDataRepository()) {
|
||||
LocalSettingsRepository.DATA_REPO.WEBDAV -> R.string.trim_logbook_dialog_message_dav
|
||||
else -> R.string.trim_logbook_dialog_message_local
|
||||
}
|
||||
@@ -1000,9 +1000,7 @@ class MainActivity : AppCompatActivity() {
|
||||
val spinner = findViewById<Spinner>(R.id.logbooks_spinner)
|
||||
val sAdapter = ArrayAdapter<String>(this@MainActivity, android.R.layout.simple_spinner_item)
|
||||
sAdapter.setDropDownViewResource(R.layout.row_logbook_spinner)
|
||||
|
||||
val selectedLogbook = settingsRepository.loadSelectedLogbook()
|
||||
logbooksNames.forEach { ln ->
|
||||
for (ln in logbooksNames) {
|
||||
sAdapter.add(
|
||||
ln.ifEmpty { getString(R.string.default_logbook_name) }
|
||||
)
|
||||
@@ -1015,20 +1013,14 @@ class MainActivity : AppCompatActivity() {
|
||||
position: Int,
|
||||
id: Long
|
||||
) {
|
||||
val logbookName = logbooksNames[position]
|
||||
// Changed logbook: empty list
|
||||
setListAdapter(arrayListOf())
|
||||
// Load logbook
|
||||
loadLogbook(logbookName)
|
||||
// Save logbook selection
|
||||
settingsRepository.saveSelectedLogbook(logbookName)
|
||||
loadLogbook(logbooksNames.get(position))
|
||||
}
|
||||
|
||||
override fun onNothingSelected(parent: AdapterView<*>?) {}
|
||||
}
|
||||
|
||||
val selected = logbooksNames.indexOf(selectedLogbook)
|
||||
if (selected > 0) spinner.setSelection(selected)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
-11
@@ -15,7 +15,6 @@ class LocalSettingsRepository(val context: Context) {
|
||||
const val SHARED_PREFS_DAV_PASS = "webdav_password"
|
||||
const val SHARED_PREFS_DYNAMIC_MENU = "dynamic_menu"
|
||||
const val SHARED_PREFS_SIGNATURE = "signature"
|
||||
const val SHARED_PREFS_SELECTED_LOGBOOK = "selected_logbook"
|
||||
}
|
||||
enum class DATA_REPO {LOCAL_FILE, WEBDAV}
|
||||
val sharedPreferences: SharedPreferences
|
||||
@@ -77,14 +76,4 @@ class LocalSettingsRepository(val context: Context) {
|
||||
return null
|
||||
return arrayOf(url, user, pass)
|
||||
}
|
||||
|
||||
fun saveSelectedLogbook(selectedLogbookName: String) {
|
||||
sharedPreferences.edit (commit = true) {
|
||||
putString(SHARED_PREFS_SELECTED_LOGBOOK, selectedLogbookName)
|
||||
}
|
||||
}
|
||||
|
||||
fun loadSelectedLogbook() : String? {
|
||||
return sharedPreferences.getString(SHARED_PREFS_SELECTED_LOGBOOK, null)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M3,17.25V21h3.75L17.81,9.94l-3.75,-3.75L3,17.25zM20.71,7.04c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0l-1.83,1.83 3.75,3.75 1.83,-1.83z"/>
|
||||
|
||||
</vector>
|
||||
@@ -0,0 +1,170 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="108dp"
|
||||
android:height="108dp"
|
||||
android:viewportWidth="108"
|
||||
android:viewportHeight="108">
|
||||
<path
|
||||
android:fillColor="#3DDC84"
|
||||
android:pathData="M0,0h108v108h-108z" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M9,0L9,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M19,0L19,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M29,0L29,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M39,0L39,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M49,0L49,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M59,0L59,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M69,0L69,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M79,0L79,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M89,0L89,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M99,0L99,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,9L108,9"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,19L108,19"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,29L108,29"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,39L108,39"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,49L108,49"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,59L108,59"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,69L108,69"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,79L108,79"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,89L108,89"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,99L108,99"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M19,29L89,29"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M19,39L89,39"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M19,49L89,49"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M19,59L89,59"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M19,69L89,69"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M19,79L89,79"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M29,19L29,89"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M39,19L39,89"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M49,19L49,89"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M59,19L59,89"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M69,19L69,89"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M79,19L79,89"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
</vector>
|
||||
@@ -16,8 +16,6 @@
|
||||
<string name="event_note_desc">Notiz</string>
|
||||
<string name="event_temperature_desc">Temperatur</string>
|
||||
<string name="event_colic_desc">Blähungskolik</string>
|
||||
<string name="event_puke_desc">Erbrechen</string>
|
||||
<string name="event_bath_desc">Bad</string>
|
||||
<string name="event_unknown_desc"></string>
|
||||
|
||||
<string name="toast_event_added">Ereignis gespeichert</string>
|
||||
@@ -37,8 +35,6 @@
|
||||
<string name="no_connection_retry">Erneut versuchen</string>
|
||||
|
||||
<string name="settings_title">Einstellungen</string>
|
||||
<string name="settings_signature">Signatur</string>
|
||||
<string name="settings_signature_desc">Fügen Sie jedem von Ihnen erstellten Ereignis eine Signatur hinzu, die für andere sichtbar ist. Dies ist nützlich, wenn mehrere Personen Ereignisse hinzufügen.</string>
|
||||
<string name="settings_storage">Speicherort für Daten auswählen</string>
|
||||
<string name="settings_storage_local">Auf dem Gerät</string>
|
||||
<string name="settings_storage_local_desc">Datenschutzfreundlichste Lösung: Deine Daten verlassen dein Gerät nicht</string>
|
||||
@@ -52,6 +48,7 @@
|
||||
<string name="settings_webdav_error_denied">Falscher WebDAV-Benutzer oder falsches Passwort</string>
|
||||
<string name="settings_webdav_error_server_offline">WebDAV-Server ist derzeit nicht verfügbar</string>
|
||||
<string name="settings_webdav_error_generic">Fehler beim Zugriff auf WebDAV:</string>
|
||||
<string name="settings_webdav_creation_error_generic">Eine Datei konnte auf dem WebDAV-Server nicht gespeichert werden:</string>
|
||||
<string name="settings_webdav_creation_ok">Erfolgreich mit dem WebDAV-Server verbunden</string>
|
||||
<string name="settings_json_error">Es befindet sich eine Speicherdatei auf dem Server, aber sie ist beschädigt oder unlesbar. Bitte lösche die Datei.</string>
|
||||
<string name="settings_generic_error">Fehler: </string>
|
||||
@@ -65,6 +62,7 @@
|
||||
|
||||
<string name="log_bottle_dialog_description">Trinkmenge eingeben</string>
|
||||
<string name="log_medicine_dialog_description">Medikamentenname, Menge, Art, Notizen, …:</string>
|
||||
<string name="log_notes_dialog_description">Notizen:</string>
|
||||
<string name="log_notes_dialog_note_hint">Notiz eingeben</string>
|
||||
<string name="log_notes_dialog_qty_hint">Menge (optional)</string>
|
||||
<string name="log_temperature_dialog_description">Temperatur eingeben</string>
|
||||
@@ -73,9 +71,6 @@
|
||||
<string name="dialog_event_detail_title">Ereignisdetails</string>
|
||||
<string name="dialog_event_detail_close_button">OK</string>
|
||||
<string name="dialog_event_detail_delete_button">Löschen</string>
|
||||
<string name="dialog_event_detail_quantity">Menge</string>
|
||||
<string name="dialog_event_detail_notes">Notiz</string>
|
||||
<string name="dialog_event_detail_signature">von %s</string>
|
||||
|
||||
<string name="dialog_add_logbook_title">Logbuch hinzufügen</string>
|
||||
<string name="dialog_add_logbook_logbookname">👶 Logbuchname</string>
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
<string name="settings_webdav_error_denied">Nom d\'utilisateur ou mot de passe incorrect pour le service WebDAV</string>
|
||||
<string name="settings_webdav_error_server_offline">Impossible d\'accéder au serveur WebDAV</string>
|
||||
<string name="settings_webdav_error_generic">Une erreur est survenue en essayant d\'accéder au serveur WebDAV:</string>
|
||||
<string name="settings_webdav_creation_error_generic">Impossible de sauvegarder un fichier sur le serveur WebDAV:</string>
|
||||
<string name="settings_webdav_creation_ok">Connexion réussie avec le serveur WebDAV</string>
|
||||
<string name="settings_json_error">Il y a un fichier sur le serveur WebDAV, toutefois il est corronpu ou illisible. Merci de le supprimer et réessayer</string>
|
||||
<string name="settings_generic_error">Erreur: </string>
|
||||
@@ -61,6 +62,7 @@
|
||||
|
||||
<string name="log_bottle_dialog_description">Renseignez la quantité contenue dans le biberon</string>
|
||||
<string name="log_medicine_dialog_description">nom du médicament, quantité, type, notes …:</string>
|
||||
<string name="log_notes_dialog_description">Notes:</string>
|
||||
<string name="log_notes_dialog_note_hint">Notes ...</string>
|
||||
<string name="log_notes_dialog_qty_hint">Quantité (ou vide)</string>
|
||||
<string name="log_temperature_dialog_description">Renseignez la Température</string>
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
<string name="settings_webdav_error_denied">Nome utente o password WebDAV sbagliati</string>
|
||||
<string name="settings_webdav_error_server_offline">Il server WebDAV non è al momento disponibile</string>
|
||||
<string name="settings_webdav_error_generic">Si è verificato un errore tentando di accedere al server WebDAV:</string>
|
||||
<string name="settings_webdav_creation_error_generic">Impossibile creare un file di salvataggio sul server WebDAV:</string>
|
||||
<string name="settings_webdav_creation_ok">Connessione al server WebDAV avvenuta con successo</string>
|
||||
<string name="settings_json_error">Sul server esiste un salvataggio, ma è corrotto o illeggibile. Cancellare il file </string>
|
||||
<string name="settings_generic_error">Si è verificato un errore: </string>
|
||||
@@ -61,6 +62,7 @@
|
||||
|
||||
<string name="log_bottle_dialog_description">Inserisci la quantità contenuta nel biberon</string>
|
||||
<string name="log_medicine_dialog_description">Nome della medicina, quantità, formato, note…:</string>
|
||||
<string name="log_notes_dialog_description">Note:</string>
|
||||
<string name="log_notes_dialog_note_hint">Inserisci le note</string>
|
||||
<string name="log_notes_dialog_qty_hint">Quantità, o vuoto</string>
|
||||
<string name="log_temperature_dialog_description">Inserisci la temperatura</string>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="accent">#FFE68F</color>
|
||||
<color name="black">#FF000000</color>
|
||||
<color name="white">#FFFFFFFF</color>
|
||||
<color name="translucent">#c000</color>
|
||||
<color name="transparent">#0000</color>
|
||||
|
||||
@@ -109,6 +109,7 @@
|
||||
<string name="settings_webdav_error_denied">Wrong WebDAV user or password</string>
|
||||
<string name="settings_webdav_error_server_offline">WebDAV server is currently unavailable</string>
|
||||
<string name="settings_webdav_error_generic">Error while trying to access WebDAV:</string>
|
||||
<string name="settings_webdav_creation_error_generic">Unable to save a file on the WebDAV server:</string>
|
||||
<string name="settings_webdav_creation_ok">Successfully connected with the WebDAV server</string>
|
||||
<string name="settings_json_error">There\'s a save file on the server, but it is corrupted or unreadable. Please delete it </string>
|
||||
<string name="settings_generic_error">Error: </string>
|
||||
@@ -123,6 +124,7 @@
|
||||
<string name="log_amount_dialog_description">Select the amount:</string>
|
||||
<string name="log_bottle_dialog_description">Insert the quantity contained in the baby bottle:</string>
|
||||
<string name="log_medicine_dialog_description">Medicine name, quantity, type, notes…:</string>
|
||||
<string name="log_notes_dialog_description">Notes:</string>
|
||||
<string name="log_notes_dialog_note_hint">Write some notes</string>
|
||||
<string name="log_notes_dialog_qty_hint">Quantity (or empty)</string>
|
||||
<string name="log_temperature_dialog_description">Select the temperature:</string>
|
||||
@@ -142,6 +144,13 @@
|
||||
<string name="measurement_unit_temperature_base_imperial" translatable="false">°F</string>
|
||||
<string name="measurement_unit_temperature_base_metric" translatable="false">°C</string>
|
||||
|
||||
<string name="statistics_bottle_events">Bottle Events</string>
|
||||
<string name="statistics_bottle_sum">Bottle Per Day</string>
|
||||
<string name="statistics_medicine_events">Medicine Events</string>
|
||||
<string name="statistics_sleep_sum">Sleep Per Day</string>
|
||||
<string name="statistics_sleep_events">Sleep Events</string>
|
||||
<string name="statistics_sleep_pattern">Sleep Pattern</string>
|
||||
|
||||
<string name="row_luna_event_description">Description</string>
|
||||
<string name="row_luna_event_quantity">Qty</string>
|
||||
<string name="row_luna_event_time">Time</string>
|
||||
@@ -155,7 +164,9 @@
|
||||
<string name="dialog_event_detail_signature">by %s</string>
|
||||
|
||||
<string name="dialog_duration_button_clear">Clear</string>
|
||||
<string name="dialog_duration_button_minus_5">-5 min</string>
|
||||
<string name="dialog_duration_button_now">Now</string>
|
||||
<string name="dialog_duration_button_plus_5">+5 min</string>
|
||||
|
||||
<string name="dialog_add_logbook_title">Add logbook</string>
|
||||
<string name="dialog_add_logbook_logbookname">👶 Logbook name</string>
|
||||
|
||||
@@ -21,13 +21,3 @@ kotlin.code.style=official
|
||||
# resources declared in the library itself and none from the library's dependencies,
|
||||
# thereby reducing the size of the R class for that library
|
||||
android.nonTransitiveRClass=true
|
||||
android.defaults.buildfeatures.resvalues=true
|
||||
android.sdk.defaultTargetSdkToCompileSdkIfUnset=false
|
||||
android.enableAppCompileTimeRClass=false
|
||||
android.usesSdkInManifest.disallowed=false
|
||||
android.uniquePackageNames=false
|
||||
android.dependency.useConstraints=true
|
||||
android.r8.strictFullModeForKeepRules=false
|
||||
android.r8.optimizedResourceShrinking=false
|
||||
android.builtInKotlin=false
|
||||
android.newDsl=false
|
||||
@@ -1,6 +1,6 @@
|
||||
[versions]
|
||||
agp = "9.4.1"
|
||||
kotlin = "2.2.10"
|
||||
agp = "8.13.0"
|
||||
kotlin = "2.0.0"
|
||||
coreKtx = "1.10.1"
|
||||
junit = "4.13.2"
|
||||
junitVersion = "1.1.5"
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
#Sat Nov 02 10:58:51 CET 2024
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.0-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
|
||||
Reference in New Issue
Block a user