diff --git a/app/src/main/java/com/todoroo/andlib/utility/AndroidUtilities.java b/app/src/main/java/com/todoroo/andlib/utility/AndroidUtilities.java index 7090ce63b..9236ae14d 100644 --- a/app/src/main/java/com/todoroo/andlib/utility/AndroidUtilities.java +++ b/app/src/main/java/com/todoroo/andlib/utility/AndroidUtilities.java @@ -160,6 +160,10 @@ public class AndroidUtilities { return Build.VERSION.SDK_INT >= Build.VERSION_CODES.O; } + public static boolean atLeastOreoMR1() { + return Build.VERSION.SDK_INT >= VERSION_CODES.O_MR1; + } + public static boolean atLeastP() { return VERSION.SDK_INT >= Build.VERSION_CODES.P; } diff --git a/app/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.kt b/app/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.kt index 6402d4747..4be2801d0 100755 --- a/app/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.kt +++ b/app/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.kt @@ -43,6 +43,7 @@ import androidx.lifecycle.lifecycleScope import com.google.android.material.appbar.AppBarLayout import com.google.android.material.appbar.AppBarLayout.Behavior.DragCallback import com.google.android.material.composethemeadapter.MdcTheme +import com.todoroo.andlib.utility.AndroidUtilities.atLeastOreoMR1 import com.todoroo.andlib.utility.DateUtilities import com.todoroo.astrid.dao.TaskDao import com.todoroo.astrid.data.Task @@ -150,6 +151,9 @@ class TaskEditFragment : Fragment(), Toolbar.OnMenuItemClickListener { discardButtonClick() } } + if (atLeastOreoMR1()) { + activity?.setShowWhenLocked(preferences.showEditScreenWithoutUnlock) + } binding = FragmentTaskEditBinding.inflate(inflater) val view: View = binding.root @@ -305,6 +309,13 @@ class TaskEditFragment : Fragment(), Toolbar.OnMenuItemClickListener { return view } + override fun onDestroyView() { + super.onDestroyView() + if (atLeastOreoMR1()) { + activity?.setShowWhenLocked(false) + } + } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { taskEditEventBus .onEach(this::process) diff --git a/app/src/main/java/org/tasks/notifications/NotificationClearedReceiver.kt b/app/src/main/java/org/tasks/notifications/NotificationClearedReceiver.kt index e56ab0757..cf1743cb6 100644 --- a/app/src/main/java/org/tasks/notifications/NotificationClearedReceiver.kt +++ b/app/src/main/java/org/tasks/notifications/NotificationClearedReceiver.kt @@ -3,10 +3,13 @@ package org.tasks.notifications import android.content.BroadcastReceiver import android.content.Context import android.content.Intent +import com.todoroo.andlib.utility.DateUtilities.now +import com.todoroo.astrid.alarms.AlarmService import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch import org.tasks.injection.ApplicationScope +import org.tasks.preferences.Preferences import timber.log.Timber import javax.inject.Inject @@ -14,12 +17,26 @@ import javax.inject.Inject class NotificationClearedReceiver : BroadcastReceiver() { @Inject lateinit var notificationManager: NotificationManager @Inject @ApplicationScope lateinit var scope: CoroutineScope + @Inject lateinit var preferences: Preferences + @Inject lateinit var alarmService: AlarmService override fun onReceive(context: Context, intent: Intent) { val notificationId = intent.getLongExtra(NotificationManager.EXTRA_NOTIFICATION_ID, -1L) Timber.d("cleared $notificationId") + if (notificationId <= 0L) return scope.launch { - notificationManager.cancel(notificationId) + if (preferences.useSwipeToSnooze()) { + var snoozeTime = preferences.swipeToSnoozeIntervalMS() + // snoozing for 0ms will cause the alarm service to miss this notification + // so sleep for 1s instead + if (snoozeTime == 0L) snoozeTime = 1000L + alarmService.snooze( + time = now() + snoozeTime, + taskIds = listOf(notificationId) + ) + } else { + notificationManager.cancel(notificationId) + } } } } \ No newline at end of file diff --git a/app/src/main/java/org/tasks/preferences/Preferences.kt b/app/src/main/java/org/tasks/preferences/Preferences.kt index 9d2deb6a9..bc74c74cb 100644 --- a/app/src/main/java/org/tasks/preferences/Preferences.kt +++ b/app/src/main/java/org/tasks/preferences/Preferences.kt @@ -176,6 +176,9 @@ class Preferences @JvmOverloads constructor( return if (firstDayOfWeek < 1 || firstDayOfWeek > 7) 0 else firstDayOfWeek } + val showEditScreenWithoutUnlock: Boolean + get() = getBoolean(R.string.p_show_edit_screen_without_unlock, false) + @SuppressLint("ApplySharedPref") fun clear() { prefs.edit().clear().commit() @@ -465,7 +468,15 @@ class Preferences @JvmOverloads constructor( fun bundleNotifications(): Boolean = getBoolean(R.string.p_bundle_notifications, true) fun usePersistentReminders(): Boolean = - AndroidUtilities.preUpsideDownCake() && getBoolean(R.string.p_rmd_persistent, true) + AndroidUtilities.preUpsideDownCake() && getBoolean(R.string.p_rmd_persistent, true) + + fun useSwipeToSnooze(): Boolean = + getBoolean(R.string.p_rmd_swipe_to_snooze_enabled, false) + + fun swipeToSnoozeIntervalMS(): Long = + TimeUnit.MINUTES.toMillis( + getIntegerFromString(R.string.p_rmd_swipe_to_snooze_time_minutes, 0).toLong() + ) var isSyncOngoing: Boolean get() = syncFlags.any { getBoolean(it, false) } diff --git a/app/src/main/java/org/tasks/preferences/fragments/TaskEditPreferences.kt b/app/src/main/java/org/tasks/preferences/fragments/TaskEditPreferences.kt index a7faebac6..2107d1fa9 100644 --- a/app/src/main/java/org/tasks/preferences/fragments/TaskEditPreferences.kt +++ b/app/src/main/java/org/tasks/preferences/fragments/TaskEditPreferences.kt @@ -2,6 +2,7 @@ package org.tasks.preferences.fragments import android.os.Bundle import androidx.appcompat.content.res.AppCompatResources +import com.todoroo.andlib.utility.AndroidUtilities.atLeastOreoMR1 import dagger.hilt.android.AndroidEntryPoint import org.tasks.R import org.tasks.injection.InjectingPreferenceFragment @@ -21,5 +22,7 @@ class TaskEditPreferences : InjectingPreferenceFragment() { tint = context.getColor(R.color.icon_tint_with_alpha) iconVisible = true } + + findPreference(R.string.p_show_edit_screen_without_unlock).isVisible = atLeastOreoMR1() } } \ No newline at end of file diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index a9eb5fe86..6acdfd100 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -30,12 +30,12 @@ Intelligente Sortierung Nach Titel Nach Fälligkeitsdatum - Nach Wichtigkeit + Nach Priorität Nach letzter Änderung Suche nach \'%s\' Neuen Filter erstellen Aufgabenname - Wichtigkeit + Priorität Beschreibung Wie lange wird es dauern? Schon benötigte Zeit @@ -48,7 +48,7 @@ Woche vor Fälligkeit Wiederholen Kalender - Wichtigkeit + Priorität Ort Beschreibung Dateien @@ -74,7 +74,7 @@ Alle Kalendereinträge für Aufgaben löschen Möchten Sie wirklich alle Kalendereinträge für Aufgaben löschen\? Vorgaben für Aufgaben - Wichtigkeitsstandard + Standardpriorität Standard-Erinnerungen Standard-Standort-Erinnerungen Alarm/Vibrationssignal @@ -94,8 +94,8 @@ Fällig … Ohne Fälligkeit Nächster Monat - Mindestwichtigkeit? - Wichtigkeit … + Mindestpriorität? + Priorität… Schlagwort: \? Schlagwort … Schlagwort enthält … @@ -249,7 +249,7 @@ Wenn überfällig Wenn fällig Schlagwörter - Wichtigkeit ändern + Priorität ändern Filter Für eine Stunde Vormittag @@ -485,10 +485,10 @@ NICHT ODER Filterkriterien - Keine Wichtigkeit - Niedrige Wichtigkeit - Mittlere Wichtigkeit - Hohe Wichtigkeit + Keine Priorität + Niedrige Priorität + Mittlere Priorität + Hohe Priorität Nur heute Nach Erstellungszeit Ab morgen @@ -724,4 +724,6 @@ Wiederholt sich Monatlich an Tag %1d Monatlich an dem %1$s %2$s + %s werden gelöscht + Dynamisch \ No newline at end of file diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 2ddcd5473..c12f1cf0a 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -517,7 +517,7 @@ J\'ai compris ! Déverrouillez des fonctionnalités supplémentaires et soutenez les logiciels à code source ouvert Appréciez-vous Tasks \? - Quoi de neuf \? + Quoi de neuf ? Nouvelle tâche hier demain @@ -746,4 +746,5 @@ Répéter le Jamais Modifier la priorité + Dynamique \ No newline at end of file diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 81a212e43..64ad079e0 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -136,58 +136,72 @@ Personalizado… %d tarefa + %d tarefas %d tarefas vez + vezes vezes minuto + minutos minutos %d minuto + %d minutos %d minutos hora + horas horas %d hora + %d horas %d horas dia + dias dias %d dia + %d dias %d dias semana + semanas semanas %d semana + %d semanas %d semanas mês + meses meses %d mês + %d meses %d meses ano + anos anos %d ano + %d anos %d anos data de vencimento @@ -210,6 +224,7 @@ Tarefa adicionada 1 tarefa + %d tarefas %d tarefas Hoje @@ -473,6 +488,7 @@ hoje %d sub-tarefa + %d sub-tarefas %d sub-tarefas Na lista… @@ -636,6 +652,7 @@ Data de conclusão %d lista + %d listas %d listas Qualquer data de início @@ -656,18 +673,22 @@ Superior Minuto + Minutos Minutos Hora + Horas Horas Dia + Dias Dias Semana + Semanas Semanas Quando começar @@ -697,7 +718,7 @@ Seu endereço de e-mail e ID de conta serão transmitidos e armazenados pelo Tasks.org. Estas informações serão usadas para autenticação e para fornecer-lhe anúncios importantes relacionados ao serviço. Estas informações não serão compartilhadas com ninguém. Ativar lembretes Sincronizar com a sua conta Microsoft pessoal - Os lembretes estão desativados nas configurações do Android + Os lembretes estão desabilitados nas Configurações do Android Data de criação Entrar Recorrência personalizada @@ -712,7 +733,7 @@ Por lista Listagem Mensalmente na %1$s %2$s - Por data de conclusão + Por hora de conclusão Conclusão %s Repete a cada Repete em diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index b187e6bfa..076aa0c57 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -280,7 +280,7 @@ Fundo Dia/noite Idioma - O Tasks precisa ser reiniciado para que a mudança entre em vigor + Reinicie o Tasks para que esta alteração tenha efeito Reiniciar agora Mais tarde Tradução @@ -302,9 +302,9 @@ Repetir de Repetir %s Repetir %1$s em %2$s - Repetir %1$s até %2$s + Repetir %1$s, termina em %2$s Repetir %1$s, ocorre %2$d %3$s - Repetir %1$s em %2$s até %3$s + Repetir %1$s em %2$s, termina em %3$s Repetir %1$s em %2$s, ocorre %3$d %4$s a cada minuto de hora em hora @@ -314,13 +314,13 @@ anualmente Repetir a cada %s Repetir a cada %1$s em %2$s - Repetir a cada %1$s até %2$s + Repetir a cada %1$s, termina em %2$s Repetir a cada %1$s, ocorre %2$d %3$s - Repetir a cada %1$s em %2$s até %3$s + Repetir a cada %1$s em %2$s, termina em %3$s Repetir a cada %1$s em %2$s, ocorre %3$d %4$s Não adicionar ao calendário Calendário predefinido - Combinar várias notificações numa só notificação + Combinar várias notificações numa só cada %1$s %2$s primeiro segundo @@ -525,11 +525,11 @@ Acima da média Guardar %d%% Mover %s para Tasks.org - Autorização + Autorização cancelada Entrar em r/tasks Subscrição atual: %s - %s$/mês - %s$/ano + $%s/mês + $%s/ano É uma subtarefa AVISO: os ficheiros localizados em \"%s\" serão eliminados se o Tasks for desinstalado! Escolha outra localização para impedir que o Android elimine os seus ficheiros. Ignorar avisos @@ -687,9 +687,9 @@ Desconhecido Outro Tipo de servidor - Rearrange ou remova campos + Reorganizar ou remover campos Demasiada informação\? - Pode costumizar este ecrã rearranjando ou removendo campos + Pode personalizar este ecrã reorganizando ou removendo campos Adiado Dispensar Ativar lembretes diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 9a17c0f5a..d80539f41 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -400,7 +400,7 @@ Min ordning Fel: %s Listor - Modifierad %s + Ändrad %s Skapad %s Ingen prioritet Låg prioritet @@ -563,7 +563,7 @@ Färgerna kommer att avmattas i mörka teman Dölj oanvända platser Dölj oanvända taggar - Navigationslåda + Navigeringslåda Färger avmattas inte i mörka teman Avmatta färger Utseende av flis @@ -720,4 +720,5 @@ OK Avbryt %s kommer att tas bort + Dynamisk \ No newline at end of file diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index b0705a49b..b4d2bd864 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -328,9 +328,9 @@ Şundan sonra yinele %s yineler %2$s gününde %1$s yineler - %2$s gününe dek %1$s yineler + %1$s yineler, %2$s biter %1$s yineler, %2$d %3$s gerçekleşir - %3$s gününe dek %2$s gününde %1$s yineler + %2$s gününde %1$s yineler, %3$s biter %2$s gününde %1$s yineler, %3$d %4$s gerçekleşir Dakikalık Saatlik @@ -340,9 +340,9 @@ Yıllık Her %s yineler %2$s gününde her %1$s yineler - %2$s gününe dek her %1$s yineler + Her %1$s yineler, %2$s biter Her %1$s yineler, %2$d %3$s gerçekleşir - %3$s gününe dek %2$s gününde her %1$s yineler + %2$s gününde her %1$s yineler, %3$s biter %2$s gününde her %1$s yineler, %3$d %4$s gerçekleşir Takvime ekleme Öntanımlı takvim @@ -725,4 +725,5 @@ Kümeleme Önceliği değiştir %s silinecek + Dinamik \ No newline at end of file diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index e27ac97f6..3649f10cf 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -16,6 +16,14 @@ @string/none + + @string/swipe_to_snooze_time_immediately + @string/swipe_to_snooze_time_15_minutes + @string/swipe_to_snooze_time_30_minutes + @string/swipe_to_snooze_time_1_hour + @string/swipe_to_snooze_time_24_hours + + @string/ring_once @string/ring_five_times diff --git a/app/src/main/res/values/keys.xml b/app/src/main/res/values/keys.xml index 1deb27cec..f3e1fe542 100644 --- a/app/src/main/res/values/keys.xml +++ b/app/src/main/res/values/keys.xml @@ -75,6 +75,17 @@ notif_annoy + notif_swipe_to_snooze_enabled + notif_swipe_to_snooze_time_minutes + + + 0 + 15 + 30 + 60 + 1440 + + notif_vibrate @@ -98,6 +109,7 @@ p_show_task_edit_comments + show_edit_screen_without_unlock diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index fc85a21dc..c0992ff0d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -150,6 +150,14 @@ File %1$s contained %2$s.\n\n Notifications for tasks without due times will appear at %s Persistent notifications Persistent notifications cannot be cleared + Swipe to snooze + Snooze time + A cleared notification will be snoozed and recreated %s + immediately + after 15 minutes + after 30 minutes + after 1 hour + after 24 hours Random reminders Disabled Hourly @@ -369,6 +377,8 @@ File %1$s contained %2$s.\n\n Must begin with http(s):// (No title) Back button saves task + Show edit screen without unlock + Enables use of Quick Settings tile without unlocking device Default list Default tags Default recurrence diff --git a/app/src/main/res/xml/preferences_notifications.xml b/app/src/main/res/xml/preferences_notifications.xml index 3c285a030..9c73c2824 100644 --- a/app/src/main/res/xml/preferences_notifications.xml +++ b/app/src/main/res/xml/preferences_notifications.xml @@ -71,6 +71,23 @@ android:summary="@string/more_notification_settings_summary" app:icon="@drawable/ic_open_in_new_24px" /> + + + + + + + + + diff --git a/deps_fdroid.txt b/deps_fdroid.txt index 315ce64ed..3f59d8b94 100644 --- a/deps_fdroid.txt +++ b/deps_fdroid.txt @@ -1,4 +1,4 @@ -++--- androidx.databinding:viewbinding:8.3.1 +++--- androidx.databinding:viewbinding:8.3.2 +| \--- androidx.annotation:annotation:1.0.0 -> 1.7.1 +| \--- androidx.annotation:annotation-jvm:1.7.1 +| \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.9.22 @@ -6,16 +6,16 @@ +| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0 -> 1.9.22 (c) +| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0 -> 1.9.22 (c) +| \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.9.22 (c) -++--- androidx.databinding:databinding-common:8.3.1 -++--- androidx.databinding:databinding-runtime:8.3.1 +++--- androidx.databinding:databinding-common:8.3.2 +++--- androidx.databinding:databinding-runtime:8.3.2 +| +--- androidx.collection:collection:1.0.0 -> 1.4.0 +| | \--- androidx.collection:collection-jvm:1.4.0 +| | +--- androidx.annotation:annotation:1.7.0 -> 1.7.1 (*) +| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.22 (*) +| | +--- androidx.collection:collection-ktx:1.4.0 (c) +| | \--- androidx.collection:collection-ktx:1.3.0 -> 1.4.0 (c) -+| +--- androidx.databinding:databinding-common:8.3.1 -+| +--- androidx.databinding:viewbinding:8.3.1 (*) ++| +--- androidx.databinding:databinding-common:8.3.2 ++| +--- androidx.databinding:viewbinding:8.3.2 (*) +| \--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.7.0 +| +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| +--- androidx.arch.core:core-common:2.2.0 @@ -80,11 +80,11 @@ +| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0 (c) +| +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (c) +| \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0 (c) -++--- androidx.databinding:databinding-adapters:8.3.1 -+| +--- androidx.databinding:databinding-runtime:8.3.1 (*) -+| \--- androidx.databinding:databinding-common:8.3.1 -++--- androidx.databinding:databinding-ktx:8.3.1 -+| +--- androidx.databinding:databinding-runtime:8.3.1 (*) +++--- androidx.databinding:databinding-adapters:8.3.2 ++| +--- androidx.databinding:databinding-runtime:8.3.2 (*) ++| \--- androidx.databinding:databinding-common:8.3.2 +++--- androidx.databinding:databinding-ktx:8.3.2 ++| +--- androidx.databinding:databinding-runtime:8.3.2 (*) +| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.20 -> 1.9.22 (*) +| +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.1 -> 1.7.3 (*) +| +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.1 -> 2.7.0 @@ -263,10 +263,10 @@ +| +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.22 (*) +| \--- androidx.core:core:1.12.0 (c) ++--- com.github.bitfireAT:cert4android:7814052 -+| +--- androidx.databinding:databinding-common:7.2.0 -> 8.3.1 -+| +--- androidx.databinding:databinding-runtime:7.2.0 -> 8.3.1 (*) -+| +--- androidx.databinding:databinding-adapters:7.2.0 -> 8.3.1 (*) -+| +--- androidx.databinding:databinding-ktx:7.2.0 -> 8.3.1 (*) ++| +--- androidx.databinding:databinding-common:7.2.0 -> 8.3.2 ++| +--- androidx.databinding:databinding-runtime:7.2.0 -> 8.3.2 (*) ++| +--- androidx.databinding:databinding-adapters:7.2.0 -> 8.3.2 (*) ++| +--- androidx.databinding:databinding-ktx:7.2.0 -> 8.3.2 (*) +| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.21 -> 1.9.22 (*) +| +--- androidx.appcompat:appcompat:1.4.1 -> 1.6.1 +| | +--- androidx.activity:activity:1.6.0 -> 1.8.2 @@ -1018,7 +1018,7 @@ ++--- androidx.compose.ui:ui-viewbinding -> 1.6.4 +| +--- androidx.compose.ui:ui:1.6.4 (*) +| +--- androidx.compose.ui:ui-util:1.6.4 (*) -+| +--- androidx.databinding:viewbinding:4.1.2 -> 8.3.1 (*) ++| +--- androidx.databinding:viewbinding:4.1.2 -> 8.3.2 (*) +| +--- androidx.fragment:fragment-ktx:1.3.2 -> 1.6.2 (*) +| +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.22 (*) +| +--- androidx.compose.ui:ui:1.6.4 (c) diff --git a/deps_googleplay.txt b/deps_googleplay.txt index 6fe79a9ed..00021f8b9 100644 --- a/deps_googleplay.txt +++ b/deps_googleplay.txt @@ -1,4 +1,4 @@ -++--- androidx.databinding:viewbinding:8.3.1 +++--- androidx.databinding:viewbinding:8.3.2 +| \--- androidx.annotation:annotation:1.0.0 -> 1.7.1 +| \--- androidx.annotation:annotation-jvm:1.7.1 +| \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.9.22 @@ -6,16 +6,16 @@ +| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0 -> 1.9.22 (c) +| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0 -> 1.9.22 (c) +| \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.9.22 (c) -++--- androidx.databinding:databinding-common:8.3.1 -++--- androidx.databinding:databinding-runtime:8.3.1 +++--- androidx.databinding:databinding-common:8.3.2 +++--- androidx.databinding:databinding-runtime:8.3.2 +| +--- androidx.collection:collection:1.0.0 -> 1.4.0 +| | \--- androidx.collection:collection-jvm:1.4.0 +| | +--- androidx.annotation:annotation:1.7.0 -> 1.7.1 (*) +| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.22 (*) +| | +--- androidx.collection:collection-ktx:1.4.0 (c) +| | \--- androidx.collection:collection-ktx:1.3.0 -> 1.4.0 (c) -+| +--- androidx.databinding:databinding-common:8.3.1 -+| +--- androidx.databinding:viewbinding:8.3.1 (*) ++| +--- androidx.databinding:databinding-common:8.3.2 ++| +--- androidx.databinding:viewbinding:8.3.2 (*) +| \--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.7.0 +| +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| +--- androidx.arch.core:core-common:2.2.0 @@ -81,11 +81,11 @@ +| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0 (c) +| +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (c) +| \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0 (c) -++--- androidx.databinding:databinding-adapters:8.3.1 -+| +--- androidx.databinding:databinding-runtime:8.3.1 (*) -+| \--- androidx.databinding:databinding-common:8.3.1 -++--- androidx.databinding:databinding-ktx:8.3.1 -+| +--- androidx.databinding:databinding-runtime:8.3.1 (*) +++--- androidx.databinding:databinding-adapters:8.3.2 ++| +--- androidx.databinding:databinding-runtime:8.3.2 (*) ++| \--- androidx.databinding:databinding-common:8.3.2 +++--- androidx.databinding:databinding-ktx:8.3.2 ++| +--- androidx.databinding:databinding-runtime:8.3.2 (*) +| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.20 -> 1.9.22 (*) +| +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.1 -> 1.7.3 (*) +| +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.1 -> 2.7.0 @@ -605,10 +605,10 @@ +| | \--- org.slf4j:slf4j-api:2.0.3 +| \--- androidx.core:core-ktx:1.9.0 -> 1.12.0 (*) ++--- com.github.bitfireAT:cert4android:7814052 -+| +--- androidx.databinding:databinding-common:7.2.0 -> 8.3.1 -+| +--- androidx.databinding:databinding-runtime:7.2.0 -> 8.3.1 (*) -+| +--- androidx.databinding:databinding-adapters:7.2.0 -> 8.3.1 (*) -+| +--- androidx.databinding:databinding-ktx:7.2.0 -> 8.3.1 (*) ++| +--- androidx.databinding:databinding-common:7.2.0 -> 8.3.2 ++| +--- androidx.databinding:databinding-runtime:7.2.0 -> 8.3.2 (*) ++| +--- androidx.databinding:databinding-adapters:7.2.0 -> 8.3.2 (*) ++| +--- androidx.databinding:databinding-ktx:7.2.0 -> 8.3.2 (*) +| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.21 -> 1.9.22 (*) +| +--- androidx.appcompat:appcompat:1.4.1 -> 1.6.1 (*) +| +--- androidx.cardview:cardview:1.0.0 @@ -1243,7 +1243,7 @@ ++--- androidx.compose.ui:ui-viewbinding -> 1.6.4 +| +--- androidx.compose.ui:ui:1.6.4 (*) +| +--- androidx.compose.ui:ui-util:1.6.4 (*) -+| +--- androidx.databinding:viewbinding:4.1.2 -> 8.3.1 (*) ++| +--- androidx.databinding:viewbinding:4.1.2 -> 8.3.2 (*) +| +--- androidx.fragment:fragment-ktx:1.3.2 -> 1.6.2 (*) +| +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.22 (*) +| +--- androidx.compose.ui:ui:1.6.4 (c) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index cd1837293..b17560f8f 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -15,15 +15,15 @@ dashclock-api = "2.0.0" dav4jvm = "2.2.1" desugar_jdk_libs = "2.0.4" etebase = "2.3.2" -firebase = "32.0.0" -firebase-crashlytics-gradle = "2.9.5" -flipper = "0.191.0" -fragment-ktx = "1.5.7" -google-oauth2 = "0.27.0" -google-api-drive = "v3-rev20230423-2.0.0" -google-api-tasks = "v1-rev20230401-2.0.0" -google-services = "4.3.15" -gradle = "8.2.1" +firebase = "32.7.4" +firebase-crashlytics-gradle = "2.9.9" +flipper = "0.250.0" +fragment-ktx = "1.6.2" +google-oauth2 = "1.20.0" +google-api-drive = "v3-rev20240123-2.0.0" +google-api-tasks = "v1-rev20240225-2.0.0" +google-services = "4.4.1" +gradle = "8.3.2" gson = "2.10.1" hilt = "1.2.0" ical4android = "12fe73a"