diff --git a/app/build.gradle.kts b/app/build.gradle.kts index f4856d8f8..395327c40 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -233,6 +233,7 @@ dependencies { implementation("androidx.compose.material:material-icons-extended:${Versions.compose}") implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.4.1") implementation("androidx.compose.ui:ui-viewbinding:${Versions.compose}") + implementation("io.coil-kt:coil-compose:2.1.0") releaseCompileOnly("androidx.compose.ui:ui-tooling:${Versions.compose}") implementation("com.google.accompanist:accompanist-flowlayout:${Versions.accompanist}") diff --git a/app/src/main/java/com/todoroo/astrid/activity/MainActivity.kt b/app/src/main/java/com/todoroo/astrid/activity/MainActivity.kt index 55f36e187..5f800cd25 100644 --- a/app/src/main/java/com/todoroo/astrid/activity/MainActivity.kt +++ b/app/src/main/java/com/todoroo/astrid/activity/MainActivity.kt @@ -8,7 +8,6 @@ package com.todoroo.astrid.activity import android.content.Context import android.content.Intent import android.content.res.Configuration -import android.net.Uri import android.os.Bundle import android.view.View import android.view.inputmethod.InputMethodManager @@ -40,7 +39,6 @@ import org.tasks.databinding.TaskListActivityBinding import org.tasks.dialogs.SortDialog.SortDialogCallback import org.tasks.dialogs.WhatsNewDialog import org.tasks.filters.PlaceFilter -import org.tasks.fragments.CommentBarFragment.CommentBarFragmentCallback import org.tasks.injection.InjectingAppCompatActivity import org.tasks.intents.TaskIntents.getTaskListIntent import org.tasks.location.LocationPickerActivity @@ -57,7 +55,7 @@ import timber.log.Timber import javax.inject.Inject @AndroidEntryPoint -class MainActivity : InjectingAppCompatActivity(), TaskListFragmentCallbackHandler, TimerControlSetCallback, CommentBarFragmentCallback, SortDialogCallback { +class MainActivity : InjectingAppCompatActivity(), TaskListFragmentCallbackHandler, TimerControlSetCallback, SortDialogCallback { @Inject lateinit var preferences: Preferences @Inject lateinit var defaultFilterProvider: DefaultFilterProvider @Inject lateinit var theme: Theme @@ -399,7 +397,7 @@ class MainActivity : InjectingAppCompatActivity(), TaskListFragmentCallbackHandl private val taskListFragment: TaskListFragment? get() = supportFragmentManager.findFragmentByTag(FRAG_TAG_TASK_LIST) as TaskListFragment? - val taskEditFragment: TaskEditFragment? + private val taskEditFragment: TaskEditFragment? get() = supportFragmentManager.findFragmentByTag(TaskEditFragment.TAG_TASKEDIT_FRAGMENT) as TaskEditFragment? override suspend fun stopTimer(): Task { @@ -439,11 +437,6 @@ class MainActivity : InjectingAppCompatActivity(), TaskListFragmentCallbackHandl } } - override fun addComment(message: String?, picture: Uri?) { - val taskEditFragment = taskEditFragment - taskEditFragment?.addComment(message, picture) - } - override fun sortChanged(reload: Boolean) { taskListFragment?.clearCollapsed() localBroadcastManager.broadcastRefresh() 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 57fa8d7e2..4cd754d21 100755 --- a/app/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.kt +++ b/app/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.kt @@ -10,7 +10,6 @@ import android.content.BroadcastReceiver import android.content.Context import android.content.Intent import android.graphics.Paint -import android.net.Uri import android.os.Bundle import android.text.format.DateUtils import android.view.LayoutInflater @@ -48,7 +47,6 @@ import com.todoroo.astrid.api.GtasksFilter import com.todoroo.astrid.dao.TaskDao import com.todoroo.astrid.data.Task import com.todoroo.astrid.files.FilesControlSet -import com.todoroo.astrid.notes.CommentsController import com.todoroo.astrid.repeats.RepeatControlSet import com.todoroo.astrid.tags.TagsControlSet import com.todoroo.astrid.timers.TimerControlSet @@ -56,11 +54,9 @@ import com.todoroo.astrid.timers.TimerPlugin import com.todoroo.astrid.ui.ReminderControlSet import com.todoroo.astrid.ui.StartDateControlSet import dagger.hilt.android.AndroidEntryPoint -import kotlinx.coroutines.NonCancellable import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.launch -import kotlinx.coroutines.withContext import org.tasks.LocalBroadcastManager import org.tasks.R import org.tasks.Strings.isNullOrEmpty @@ -70,7 +66,10 @@ import org.tasks.calendars.CalendarPicker import org.tasks.compose.BeastModeBanner import org.tasks.compose.collectAsStateLifecycleAware import org.tasks.compose.edit.* -import org.tasks.data.* +import org.tasks.data.Alarm +import org.tasks.data.Location +import org.tasks.data.TagData +import org.tasks.data.UserActivityDao import org.tasks.databinding.* import org.tasks.date.DateTimeUtils.newDateTime import org.tasks.dialogs.DateTimePicker @@ -101,7 +100,6 @@ class TaskEditFragment : Fragment(), Toolbar.OnMenuItemClickListener { @Inject lateinit var dialogBuilder: DialogBuilder @Inject lateinit var context: Activity @Inject lateinit var taskEditControlSetFragmentManager: TaskEditControlSetFragmentManager - @Inject lateinit var commentsController: CommentsController @Inject lateinit var preferences: Preferences @Inject lateinit var firebase: Firebase @Inject lateinit var timerPlugin: TimerPlugin @@ -207,8 +205,6 @@ class TaskEditFragment : Fragment(), Toolbar.OnMenuItemClickListener { linkify.linkify(title) } } - commentsController.initialize(model, binding.comments) - commentsController.reloadView() binding.composeView.setContent { MdcTheme { Column { @@ -235,6 +231,9 @@ class TaskEditFragment : Fragment(), Toolbar.OnMenuItemClickListener { Divider(modifier = Modifier.fillMaxWidth()) } } + if (preferences.getBoolean(R.string.p_show_task_edit_comments, true)) { + Comments() + } } } } @@ -316,7 +315,7 @@ class TaskEditFragment : Fragment(), Toolbar.OnMenuItemClickListener { val model = editViewModel.task timerPlugin.stopTimer(model) val elapsedTime = DateUtils.formatElapsedTime(model.elapsedSeconds.toLong()) - addComment(String.format( + editViewModel.addComment(String.format( "%s %s\n%s %s", // $NON-NLS-1$ getString(R.string.TEA_timer_comment_stopped), DateUtilities.getTimeString(context, newDateTime()), @@ -329,7 +328,7 @@ class TaskEditFragment : Fragment(), Toolbar.OnMenuItemClickListener { suspend fun startTimer(): Task { val model = editViewModel.task timerPlugin.startTimer(model) - addComment(String.format( + editViewModel.addComment(String.format( "%s %s", getString(R.string.TEA_timer_comment_started), DateUtilities.getTimeString(context, newDateTime())), @@ -367,24 +366,6 @@ class TaskEditFragment : Fragment(), Toolbar.OnMenuItemClickListener { editViewModel.delete() } - fun addComment(message: String?, picture: Uri?) { - val model = editViewModel.task - val userActivity = UserActivity() - if (picture != null) { - val output = FileHelper.copyToUri(context, preferences.attachmentsDirectory!!, picture) - userActivity.setPicture(output) - } - userActivity.message = message - userActivity.targetId = model.uuid - userActivity.created = DateUtilities.now() - lifecycleScope.launch { - withContext(NonCancellable) { - userActivityDao.createNew(userActivity) - } - commentsController.reloadView() - } - } - override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { when (requestCode) { REQUEST_DATE -> { @@ -501,6 +482,22 @@ class TaskEditFragment : Fragment(), Toolbar.OnMenuItemClickListener { ) } + @Composable + fun Comments() { + CommentsRow( + comments = userActivityDao + .watchComments(editViewModel.task.uuid) + .collectAsStateLifecycleAware(emptyList()) + .value, + deleteComment = { + lifecycleScope.launch { + userActivityDao.delete(it) + } + }, + openImage = { FileHelper.startActionView(requireActivity(), it) } + ) + } + companion object { const val TAG_TASKEDIT_FRAGMENT = "taskedit_fragment" const val EXTRA_TASK = "extra_task" diff --git a/app/src/main/java/com/todoroo/astrid/notes/CommentsController.kt b/app/src/main/java/com/todoroo/astrid/notes/CommentsController.kt deleted file mode 100644 index c1afc0ef8..000000000 --- a/app/src/main/java/com/todoroo/astrid/notes/CommentsController.kt +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Copyright (c) 2012 Todoroo Inc - * - * See the file "LICENSE" for the full license governing this code. - */ -package com.todoroo.astrid.notes - -import android.app.Activity -import android.app.AlertDialog -import android.graphics.Color -import android.net.Uri -import android.text.Html -import android.view.View -import android.view.ViewGroup -import android.widget.Button -import android.widget.ImageView -import android.widget.TextView -import androidx.appcompat.app.AppCompatActivity -import androidx.lifecycle.lifecycleScope -import com.todoroo.andlib.utility.DateUtilities -import com.todoroo.astrid.data.Task -import kotlinx.coroutines.NonCancellable -import kotlinx.coroutines.launch -import kotlinx.coroutines.withContext -import org.tasks.R -import org.tasks.data.UserActivity -import org.tasks.data.UserActivityDao -import org.tasks.dialogs.Linkify -import org.tasks.files.FileHelper -import org.tasks.files.ImageHelper -import org.tasks.preferences.Preferences -import java.util.* -import javax.inject.Inject -import kotlin.math.min - -class CommentsController @Inject constructor( - private val userActivityDao: UserActivityDao, - private val activity: Activity, - private val preferences: Preferences, - private val locale: Locale -) { - private val items = ArrayList() - private var commentItems = 10 - private var task: Task? = null - private var commentsContainer: ViewGroup? = null - - fun initialize(task: Task?, commentsContainer: ViewGroup?) { - this.task = task - this.commentsContainer = commentsContainer - } - - fun reloadView() { - if (!preferences.getBoolean(R.string.p_show_task_edit_comments, true)) { - return - } - (activity as AppCompatActivity).lifecycleScope.launch { - items.clear() - commentsContainer!!.removeAllViews() - items.addAll(userActivityDao.getCommentsForTask(task!!.uuid)) - for (i in 0 until min(items.size, commentItems)) { - val notesView = getUpdateNotes(items[i], commentsContainer) - commentsContainer!!.addView(notesView) - } - if (items.size > commentItems) { - val loadMore = Button(activity) - loadMore.setHint(R.string.TEA_load_more) - loadMore.setBackgroundColor(Color.alpha(0)) - loadMore.setOnClickListener { - // Perform action on click - commentItems += 10 - reloadView() - } - commentsContainer!!.addView(loadMore) - } - } - } - - private fun getUpdateNotes(userActivity: UserActivity, parent: ViewGroup?): View { - val convertView = activity.layoutInflater.inflate(R.layout.comment_adapter_row, parent, false) - bindView(convertView, userActivity) - return convertView - } - - /** Helper method to set the contents and visibility of each field */ - private fun bindView(view: View, item: UserActivity) { - // name - val nameView = view.findViewById(R.id.title) - nameView.text = Html.fromHtml(item.message) - Linkify.safeLinkify(nameView) - - // date - val date = view.findViewById(R.id.date) - date.text = DateUtilities.getLongDateStringWithTime(item.created!!, locale) - - // picture - val commentPictureView = view.findViewById(R.id.comment_picture) - setupImagePopupForCommentView(view, commentPictureView, item.pictureUri, activity) - - // delete button - val deleteBtn = view.findViewById(R.id.clear) - deleteBtn.setOnClickListener { - val builder = AlertDialog.Builder(commentsContainer!!.context) - - // Display a message on alert dialog - builder.setMessage(R.string.delete_comment) - - // Set a positive button and its click listener on alert dialog - builder.setPositiveButton(R.string.delete){dialog, which -> - - (activity as AppCompatActivity).lifecycleScope.launch { - withContext(NonCancellable) { - userActivityDao.delete(item) - } - reloadView() - } - } - - // Display a negative button on alert dialog - builder.setNegativeButton(R.string.cancel){dialog,which -> - } - // Finally, make the alert dialog using builder - val dialog: AlertDialog = builder.create() - - // Display the alert dialog on app interface - dialog.show() - } - } - - companion object { - private fun setupImagePopupForCommentView( - view: View, commentPictureView: ImageView, uri: Uri?, activity: Activity) { - if (uri != null) { - commentPictureView.visibility = View.VISIBLE - commentPictureView.setImageBitmap( - ImageHelper.sampleBitmap( - activity, - uri, - commentPictureView.layoutParams.width, - commentPictureView.layoutParams.height)) - view.setOnClickListener { FileHelper.startActionView(activity, uri) } - } else { - commentPictureView.visibility = View.GONE - } - } - } -} \ No newline at end of file diff --git a/app/src/main/java/org/tasks/backup/TasksJsonExporter.kt b/app/src/main/java/org/tasks/backup/TasksJsonExporter.kt index 46f59b4c5..0bb92e9aa 100755 --- a/app/src/main/java/org/tasks/backup/TasksJsonExporter.kt +++ b/app/src/main/java/org/tasks/backup/TasksJsonExporter.kt @@ -129,7 +129,7 @@ class TasksJsonExporter @Inject constructor( locationDao.getGeofencesForTask(taskId), tagDao.getTagsForTask(taskId), googleTaskDao.getAllByTaskId(taskId), - userActivityDao.getCommentsForTask(task.uuid), + userActivityDao.getComments(taskId), taskAttachmentDao.getAttachments(task.uuid), caldavTasks, vtodoCache.getVtodo( caldavTasks.firstOrNull { !it.isDeleted() }) diff --git a/app/src/main/java/org/tasks/compose/DeleteButton.kt b/app/src/main/java/org/tasks/compose/DeleteButton.kt new file mode 100644 index 000000000..3ec2c820c --- /dev/null +++ b/app/src/main/java/org/tasks/compose/DeleteButton.kt @@ -0,0 +1,23 @@ +package org.tasks.compose + +import androidx.compose.material.ContentAlpha +import androidx.compose.material.Icon +import androidx.compose.material.IconButton +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.outlined.Delete +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.alpha +import androidx.compose.ui.res.stringResource +import org.tasks.R + +@Composable +fun DeleteButton(onClick: () -> Unit) { + IconButton(onClick = onClick) { + Icon( + imageVector = Icons.Outlined.Delete, + modifier = Modifier.alpha(ContentAlpha.medium), + contentDescription = stringResource(id = R.string.delete) + ) + } +} diff --git a/app/src/main/java/org/tasks/compose/edit/CommentsRow.kt b/app/src/main/java/org/tasks/compose/edit/CommentsRow.kt new file mode 100644 index 000000000..b35ce0e7c --- /dev/null +++ b/app/src/main/java/org/tasks/compose/edit/CommentsRow.kt @@ -0,0 +1,81 @@ +package org.tasks.compose.edit + +import android.net.Uri +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.* +import androidx.compose.material.MaterialTheme +import androidx.compose.material.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp +import coil.compose.AsyncImage +import com.todoroo.andlib.utility.DateUtilities +import org.tasks.R +import org.tasks.compose.DeleteButton +import org.tasks.compose.TaskEditRow +import org.tasks.data.UserActivity +import java.util.* + +@Composable +fun CommentsRow( + comments: List, + deleteComment: (UserActivity) -> Unit, + openImage: (Uri) -> Unit, +) { + if (comments.isEmpty()) { + return + } + TaskEditRow( + iconRes = R.drawable.ic_outline_chat_bubble_outline_24px, + content = { + Column( + modifier = Modifier.padding(vertical = 8.dp), + verticalArrangement = Arrangement.spacedBy(16.dp), + ) { + comments.forEach { + Comment( + comment = it, + deleteComment = deleteComment, + openImage = openImage, + ) + } + } + } + ) +} + +@Composable +fun Comment( + comment: UserActivity, + deleteComment: (UserActivity) -> Unit, + openImage: (Uri) -> Unit, +) { + Row(verticalAlignment = Alignment.Top) { + Column( + modifier = Modifier.weight(1f).padding(top = 8.dp), + ) { + comment.message?.let { + // TODO: linkify text + Text(text = it) + } + comment.pictureUri?.let { + AsyncImage( + model = it, + contentDescription = null, + modifier = Modifier.clickable { openImage(it) }.size(100.dp) + ) + } + Text( + text = DateUtilities.getLongDateStringWithTime(comment.created!!, Locale.getDefault()), + style = MaterialTheme.typography.caption, + ) + } + DeleteButton( + onClick = { + // TODO: add confirmation dialog + deleteComment(comment) + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/org/tasks/data/UserActivityDao.kt b/app/src/main/java/org/tasks/data/UserActivityDao.kt index b5cdedd55..993b6d2ec 100644 --- a/app/src/main/java/org/tasks/data/UserActivityDao.kt +++ b/app/src/main/java/org/tasks/data/UserActivityDao.kt @@ -4,6 +4,7 @@ import androidx.room.* import com.todoroo.andlib.utility.DateUtilities import com.todoroo.astrid.data.Task import com.todoroo.astrid.helper.UUIDHelper +import kotlinx.coroutines.flow.Flow @Dao abstract class UserActivityDao { @@ -17,7 +18,7 @@ abstract class UserActivityDao { abstract suspend fun delete(userActivity: UserActivity) @Query("SELECT * FROM userActivity WHERE target_id = :taskUuid ORDER BY created_at DESC ") - abstract suspend fun getCommentsForTask(taskUuid: String): List + abstract fun watchComments(taskUuid: String): Flow> @Query("SELECT userActivity.* FROM userActivity INNER JOIN tasks ON tasks._id = :task WHERE target_id = tasks.remoteId") abstract suspend fun getComments(task: Long): List diff --git a/app/src/main/java/org/tasks/fragments/CommentBarFragment.kt b/app/src/main/java/org/tasks/fragments/CommentBarFragment.kt index 8051bf6ec..a17c74db4 100644 --- a/app/src/main/java/org/tasks/fragments/CommentBarFragment.kt +++ b/app/src/main/java/org/tasks/fragments/CommentBarFragment.kt @@ -16,6 +16,7 @@ import android.widget.ImageView import android.widget.LinearLayout import androidx.core.widget.addTextChangedListener import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider import com.todoroo.andlib.utility.AndroidUtilities import dagger.hilt.android.AndroidEntryPoint import org.tasks.R @@ -27,6 +28,7 @@ import org.tasks.files.ImageHelper import org.tasks.preferences.Device import org.tasks.preferences.Preferences import org.tasks.themes.ThemeColor +import org.tasks.ui.TaskEditViewModel import javax.inject.Inject @AndroidEntryPoint @@ -41,16 +43,12 @@ class CommentBarFragment : Fragment() { private lateinit var commentField: EditText private lateinit var pictureButton: ImageView private lateinit var commentBar: LinearLayout - private lateinit var callback: CommentBarFragmentCallback private var pendingCommentPicture: Uri? = null - - override fun onAttach(activity: Activity) { - super.onAttach(activity) - callback = activity as CommentBarFragmentCallback - } + lateinit var viewModel: TaskEditViewModel override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { + viewModel = ViewModelProvider(requireParentFragment())[TaskEditViewModel::class.java] val view = bind(container) createView(savedInstanceState) return view @@ -162,7 +160,7 @@ class CommentBarFragment : Fragment() { commentField.setText("") pendingCommentPicture = null resetPictureButton() - callback.addComment(if (isNullOrEmpty(message)) " " else message, picture) + viewModel.addComment(if (isNullOrEmpty(message)) " " else message, picture) } private fun resetPictureButton() { @@ -201,10 +199,6 @@ class CommentBarFragment : Fragment() { } } - interface CommentBarFragmentCallback { - fun addComment(message: String?, picture: Uri?) - } - companion object { private const val REQUEST_CODE_CAMERA = 60 private const val EXTRA_TEXT = "extra_text" diff --git a/app/src/main/java/org/tasks/ui/TaskEditViewModel.kt b/app/src/main/java/org/tasks/ui/TaskEditViewModel.kt index fcffb74ca..fefe335bb 100644 --- a/app/src/main/java/org/tasks/ui/TaskEditViewModel.kt +++ b/app/src/main/java/org/tasks/ui/TaskEditViewModel.kt @@ -1,9 +1,11 @@ package org.tasks.ui import android.content.Context +import android.net.Uri import androidx.annotation.MainThread import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope import com.todoroo.andlib.utility.DateUtilities.now import com.todoroo.astrid.activity.TaskEditFragment import com.todoroo.astrid.alarms.AlarmService @@ -26,6 +28,7 @@ import dagger.hilt.android.lifecycle.HiltViewModel import dagger.hilt.android.qualifiers.ApplicationContext import kotlinx.coroutines.NonCancellable import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking import kotlinx.coroutines.withContext import org.tasks.R @@ -36,6 +39,7 @@ import org.tasks.data.* import org.tasks.data.Alarm.Companion.TYPE_REL_END import org.tasks.data.Alarm.Companion.TYPE_REL_START import org.tasks.date.DateTimeUtils.toDateTime +import org.tasks.files.FileHelper import org.tasks.location.GeofenceApi import org.tasks.preferences.PermissionChecker import org.tasks.preferences.Preferences @@ -46,7 +50,7 @@ import javax.inject.Inject @HiltViewModel class TaskEditViewModel @Inject constructor( - @ApplicationContext context: Context, + @ApplicationContext private val context: Context, savedStateHandle: SavedStateHandle, private val taskDao: TaskDao, private val taskDeleter: TaskDeleter, @@ -59,7 +63,7 @@ class TaskEditViewModel @Inject constructor( private val geofenceApi: GeofenceApi, private val tagDao: TagDao, private val tagDataDao: TagDataDao, - preferences: Preferences, + private val preferences: Preferences, private val googleTaskDao: GoogleTaskDao, private val caldavDao: CaldavDao, private val taskCompleter: TaskCompleter, @@ -67,6 +71,7 @@ class TaskEditViewModel @Inject constructor( private val taskListEvents: TaskListEventBus, private val mainActivityEvents: MainActivityEventBus, private val firebase: Firebase? = null, + private val userActivityDao: UserActivityDao, ) : ViewModel() { private val resources = context.resources private var cleared = false @@ -388,6 +393,22 @@ class TaskEditViewModel @Inject constructor( } } + fun addComment(message: String?, picture: Uri?) { + val userActivity = UserActivity() + if (picture != null) { + val output = FileHelper.copyToUri(context, preferences.attachmentsDirectory!!, picture) + userActivity.setPicture(output) + } + userActivity.message = message + userActivity.targetId = task.uuid + userActivity.created = now() + viewModelScope.launch { + withContext(NonCancellable) { + userActivityDao.createNew(userActivity) + } + } + } + companion object { fun String?.stripCarriageReturns(): String? = this?.replace("\\r\\n?".toRegex(), "\n") } diff --git a/app/src/main/res/layout/comment_adapter_row.xml b/app/src/main/res/layout/comment_adapter_row.xml deleted file mode 100644 index cd1481004..000000000 --- a/app/src/main/res/layout/comment_adapter_row.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/fragment_task_edit.xml b/app/src/main/res/layout/fragment_task_edit.xml index 4cf1c078b..fb993cfd0 100644 --- a/app/src/main/res/layout/fragment_task_edit.xml +++ b/app/src/main/res/layout/fragment_task_edit.xml @@ -79,25 +79,11 @@ android:elevation="0dp" android:overScrollMode="never"> - - - - - + - ترتيبي إلغاء حسنًا - حمّل المزيد… تاريخ البدأ بتاريخ البدأ تم تصدير %1$s إلى %2$s. diff --git a/app/src/main/res/values-bg-rBG/strings.xml b/app/src/main/res/values-bg-rBG/strings.xml index 6aeea2acd..5b3fbc44e 100644 --- a/app/src/main/res/values-bg-rBG/strings.xml +++ b/app/src/main/res/values-bg-rBG/strings.xml @@ -58,7 +58,6 @@ Напомняне Отчитане на времето ----Винаги скрито---- - Зареждане… Пренебрегване Нуждаете се от списък със срещите\? Пренебрегнали сте няколко събития от календара. Трябва ли Tasks да спрe да пита за тях\? diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index 75ebdba41..a45eac4c7 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -38,7 +38,6 @@ Recordatoris Controls de temporització ----Oculta-ho sempre---- - Carrega\'n més… Restableix els valors predeterminats Mostra el títol sencer de la tasca Segur que voleu suprimir els esdeveniments de calendari de les tasques completades? diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 50fc7a0e2..94e12de6d 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -46,7 +46,6 @@ Upomínky Ovladač časovače -----Vždy skrývat---- - Načíst více… Ignorovat Potřebujete seznam schůze? Ignorovali jste několik událostí v kalendáři. Má vás Tasks přestat o nich informovat\? diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 3c52542d9..1459a694e 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -37,7 +37,6 @@ Filer Påmindelser ----Skjul altid---- - Indlæs flere… Ignorér alle begivenheder Ignorér kun denne begivenhed Standardprioritet diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index b084f10d6..daa4fea29 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -55,7 +55,6 @@ Erinnerungen Timer-Einstellungen ----Immer Ausblenden---- - Weitere laden … Ablehnen Wollen Sie eine Besprechungsliste erstellen\? Sie haben mehrere Kalendereinträge ignoriert. Soll Tasks nicht mehr danach fragen\? diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 66aa8bbed..048deb135 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -48,7 +48,6 @@ Υπενθυμίσεις Χειριστήρια χρονοδιακόπτη -----Απόκρυψη πάντα----- - Φόρτωση περισσότερων… Αγνοήστε Χρειάζεστε λίστα για συνάντηση? Αγνοήσατε αρκετές κλήσεις. Να σταματήσουμε να ρωτάμε για αυτές; diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml index bf854b15e..a69741c9a 100644 --- a/app/src/main/res/values-eo/strings.xml +++ b/app/src/main/res/values-eo/strings.xml @@ -181,7 +181,6 @@ Ignori nur ĉi tiun eventon Ignori ĉiujn eventojn Ignori - Ŝarĝi pli… Memorigiloj Prioritato Ripeti diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 87fe94d96..c122a63be 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -55,7 +55,6 @@ Recordatorios Controles de tiempo ---Ocultar siempre--- - Cargar más… Ignorar ¿Necesita una lista de reuniones? Ha ignorado varios eventos de calendario. ¿Debe Tasks dejar de preguntarle sobre ellos? diff --git a/app/src/main/res/values-et/strings.xml b/app/src/main/res/values-et/strings.xml index 53981308e..eb732b157 100644 --- a/app/src/main/res/values-et/strings.xml +++ b/app/src/main/res/values-et/strings.xml @@ -43,7 +43,6 @@ Failid Meelespead ----Peida alati---- - Laadi lisa… Ignoreeri Ignoreeri ainult seda sündmust Võib-olla hiljem diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index b9f2b79f4..397929cd3 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -56,7 +56,6 @@ Oroigarriak Kronometroaren kontrolak ----Ezkutatu beti---- - Kargatu gehiago… Ezikusi Batzarren zerrenda bat behar duzu\? Egutegiko gertaera batzuk ezikusi dituzu. Nahiago zenuke Tasks aplikazioak horiei buruz galdetuko ez balu\? diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index 9280e0881..474022179 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -42,7 +42,6 @@ یادآوری ها کنترل تایمر ----همیشه مخفی---- - بارگزاری بیشتر رد کردن نیاز به لیست ملاقات دارید ؟ نادیده گرفتن تمام رویداد ها diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 276b87bce..b42f76105 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -51,7 +51,6 @@ Muistutukset Ajastuksen säätimet ----Piilota aina---- - Lataa lisää… Ohita Tarvitaanko listaa tapaamisista? Olet ohittanut useita kalenteritapahtumia. Lopettaako Tasks niistä kyselemisen? diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index a21ff4312..a22d2a593 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -49,7 +49,6 @@ Rappels Contrôles de rappel ----Toujours masquer---- - Charger plus… Ignorer Besoin d\'une liste de réunion ? Vous avez ignoré plusieurs évènements du calendrier. Souhaitez-vous que Tasks cesse de vous les proposer \? diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index 11366ffa8..61f99b47d 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -54,7 +54,6 @@ Recordatorios Controles de tempo ---Agochar sempre--- - Cargar mais… Ignorar Precisa dunha lista de reunións\? Ignorou varios eventos do calendario. Quere que Tasks lle deixe de preguntar por eles\? diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index 5fdafc2fd..f054cc33c 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -10,7 +10,6 @@ Pokaži potpuni datum Pokaži potpuni naslov zadatka Obnovi standardne vrijednosti - Učitaj više… Datoteke Opis Lokacija diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 41418e170..40d3fbd35 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -54,7 +54,6 @@ Emlékeztetők Időzítő Beállítása ---Elrejtve--- - Továbbiak betöltése… Kihagy Szeretne egy listát a találkozókról? Kihagytál jónéhány naptáreseményt. Ne kérdezzen rá többet a Tasks? diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml index 1541a579f..0e212bd30 100644 --- a/app/src/main/res/values-id/strings.xml +++ b/app/src/main/res/values-id/strings.xml @@ -35,7 +35,6 @@ Deskripsi Berkas Pengingat - Muat lebih banyak… Abaikan Abaikan semua acara Abaikan hanya acara ini diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 8d863f629..fb6525815 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -56,7 +56,6 @@ Promemoria Regolazione timer ----Nascondi sempre---- - Caricane altre… Ignora Hai bisogno di una lista per le riunioni? Hai ignorato numerosi eventi del calendario. Vuoi che Tasks smetta di notificarteli\? diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index ce1d10e13..5eef6ccc7 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -56,7 +56,6 @@ תזכורות הערכת זמן ----להסתיר תמיד---- - לטעון עוד… התעלם צריך רשימה לפגישה? התעלמת ממספר אירועי יומן. האם עלי לחדול מלהזכיר לך אירועי יומן? diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 542772d16..8266ed456 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -53,7 +53,6 @@ リマインダー タイマーコントロール ----常に隠す---- - さらに読み込む… 無視する ミーティングリストが必要ですか? いくつかのカレンダーイベントを無視しました. その報告を停止しますか? diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 97cef374f..9ea154173 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -54,7 +54,6 @@ 일정 알림 타이머 조절 ----항상 숨김---- - 더 불러오기… 무시하기 모임 목록이 필요하세요? 여러번 달력 일정을 무시하셨습니다. Tasks가 일정을 그만 물어볼까요\? diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index 0ee323b32..992ced967 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -58,7 +58,6 @@ Priminimai Laikmačio nustatymai ----Visada slėpti---- - Įkelti daugiau… Ignoruoti Reikia susitikimų sąrašo? Jūs ignoravote kelis kalendoriaus įvykius. Ar Tasks turėtų nustoti apie juos klausti? diff --git a/app/src/main/res/values-ml/strings.xml b/app/src/main/res/values-ml/strings.xml index c62a2a0df..f444fcf7e 100644 --- a/app/src/main/res/values-ml/strings.xml +++ b/app/src/main/res/values-ml/strings.xml @@ -37,7 +37,6 @@ ഫയലുകൾ ഓർമ്മപ്പെടുത്തലുകൾ ---- എല്ലായ്പ്പോഴും മറയ്‌ക്കുക ---- - കൂടുതൽ ലോഡുചെയ്യുക… അവഗണിക്കുക ഒരു മീറ്റിംഗ് ലിസ്റ്റ് ആവശ്യമുണ്ടോ\? diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index ee6916910..32ea7d97c 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -165,7 +165,6 @@ Kalneder Sted Tidtakingskontroller - Last inn mer… Ignorer Trenger du en møteliste\? Du har ignorert flere kalenderhendelser. Skal Tasks slutte å påminne deg om dem\? diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index cd16a6c10..972910e92 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -55,7 +55,6 @@ Herinneringen Instellingen tijdklok ----Onzichtbaar---- - Meer laden… Negeren Een vergaderagenda maken\? Je hebt meerdere kalender-items genegeerd. Moet Tasks er niet meer naar vragen\? diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 98b5089a8..2a550cfd1 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -51,7 +51,6 @@ Przypomnienia Sterowanie zegara ----Zawsze ukrywaj---- - Wczytaj więcej… Ignoruj Czy potrzebujesz listy spotkań? Zignorowałeś kilka wydarzeń z kalendarza. Czy Tasks powinien przestać cię o nie pytać? diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 2d9d13565..2ec8e9293 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -52,7 +52,6 @@ Lembretes Temporizador ----Sempre Ocultar---- - Carregar mais… Ignorar Precisa de uma lista de reuniões? Você ignorou vários eventos do calendário. O Tasks deve parar de lhe perguntar sobre eles? diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index ad4b82b98..cfde65d71 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -51,7 +51,6 @@ Lembretes Controlos temporais ----Ocultar sempre---- - Carregar mais… Ignorar Precisa de uma lista de reuniões\? Você ignorou vários eventos de calendário. Pretende que o Tasks não o notifique novamente? diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index de71aa67c..af1e0e1bd 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -468,7 +468,6 @@ Ați ignorat mai multe evenimente din calendar. Doriți ca Tasks să nu vă mai întrebe despre ele\? Aveți nevoie de o listă de întâlniri\? Ignoră - Încarcă mai mult… ----Ascundeți mereu---- Comenzi de temporizare Reamintire diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 204cb1677..50ee089fa 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -56,7 +56,6 @@ Напоминания Таймер ----Всегда скрывать---- - Загрузить больше… Игнорировать Нужен список встреч\? Вы проигнорировали несколько событий в календаре. Прекратить спрашивать о них\? diff --git a/app/src/main/res/values-si/strings.xml b/app/src/main/res/values-si/strings.xml index 4f8f239cf..7980ea063 100644 --- a/app/src/main/res/values-si/strings.xml +++ b/app/src/main/res/values-si/strings.xml @@ -468,7 +468,6 @@ ඔබ දින දර්ශන කාර්යයන් කිහිපයක් නොසලකා හැර ඇත. Tasks ඵ්වා ගැන ඔබෙන් විමසීම නතර කළ යුතුද\? රැස්වීම් ලැයිස්තුවක් අවශ්‍යද\? නොසලකා හරින්න - තවත් පූරණය කරන්න… ---- සැමවිටම සඟවන්න ---- මතක් කිරීම් ගොනු diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index dba52b153..492b082ab 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -53,7 +53,6 @@ Pripomienky Stopky - nastavenie ----Skryť vždy---- - Načítať viac… Ignorovať Potrebuješ zoznam na stretnutie? Nevenoval si pozornosť niekoľkým udalostiam kalendára. Chceš, aby sa Úlohy na ne prestali pýtať? diff --git a/app/src/main/res/values-sl-rSI/strings.xml b/app/src/main/res/values-sl-rSI/strings.xml index a274a0af6..dac65a2ea 100644 --- a/app/src/main/res/values-sl-rSI/strings.xml +++ b/app/src/main/res/values-sl-rSI/strings.xml @@ -46,7 +46,6 @@ Opomniki Upravljanje s štoparico ----Vedno skrij---- - Naloži še… Ignoriraj Potrebujete seznam sestankov? Ignorirali ste številne dogodke na koledarju. Naj vas aplikacija Opravki neha spraševati o njih? diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index d71326a03..cbb149136 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -48,7 +48,6 @@ Påminnelser Tidtagarinställningar ----Dölj alltid---- - Ladda mer… Ignorera Behöver du en lista över möten? Du har ignorerat flera kalenderhändelser. Vill du att Tasks slutar fråga dig om dem? diff --git a/app/src/main/res/values-ta/strings.xml b/app/src/main/res/values-ta/strings.xml index 9023d6aeb..f1e60db9b 100644 --- a/app/src/main/res/values-ta/strings.xml +++ b/app/src/main/res/values-ta/strings.xml @@ -34,7 +34,6 @@ பல காலண்டர் நிகழ்வுகளை நீங்கள் புறக்கணித்துவிட்டீர்கள். பணிகள் அவற்றைப் பற்றி உங்களிடம் கேட்பதை நிறுத்த வேண்டுமா\? சந்திப்பு பட்டியல் வேண்டுமா\? புறக்கணிக்கவும் - அதிகமாய் ஏற்று… ---- எப்போதும் மறை ---- டைமர் கட்டுப்பாடுகள் நினைவூட்டல்கள் diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index a4ffa9478..ac1fbf497 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -621,7 +621,6 @@ เช้า เป็นเวลาหนึ่งชั่วโมง ตัวกรอง - โหลดเพิ่ม… ----ไฮด์---- การควบคุมตัวจับเวลา จดหมายเตือนชําระเงิน diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 71e04edbf..6afb87863 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -56,7 +56,6 @@ Anımsatıcılar Kronometre Denetimleri ----Sürekli Gizle---- - Daha yükle… Yok say Toplantı listesine mi gereksiniyorsunuz\? Bir kaç tane takvim etkinliğini yok saydınız. Tasks\'in size bunlar hakkında sormayı kesmesini ister misiniz? diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index f8189e3f6..cb2db8675 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -56,7 +56,6 @@ Нагадування Управління таймером ----Завжди ховати---- - Завантажити більше… Ігнорувати Потрібен список зустрічей\? Ви знехтували кількома подіями в календарі. Припинити запитувати про них\? diff --git a/app/src/main/res/values-ur/strings.xml b/app/src/main/res/values-ur/strings.xml index ae60db681..1ea31805a 100644 --- a/app/src/main/res/values-ur/strings.xml +++ b/app/src/main/res/values-ur/strings.xml @@ -2,7 +2,6 @@ %d ٹاسک پڑھا جا رہا ہے… %1$s سے %2$s بیک اپ ہو گیا۔ - مزید لوڈ کریں… ----ہمیشہ چھپائیں---- ٹائمر کنٹرول یاد دہانی diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index dffdfd8cc..7641942fe 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -8,7 +8,6 @@ Bạn đã bỏ qua một vài sự kiện trong lịch. Tasks có nên dừng hỏi bạn về chúng không\? Cần danh sách cuộc họp không\? Bỏ qua - Tải thêm… Lời nhắc Tệp Mô tả diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 633a53c3f..ba9612427 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -50,7 +50,6 @@ 提醒 定时器控件 ----始终隐藏---- - 加载更多… 忽略 是否需要会议列表? 您已经忽略了几个日历事件。Tasks 是否应该停止向你询问这些事件? diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 60a635bf8..d68ebc5dc 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -45,7 +45,6 @@ 提醒 定時器設定 ----永遠隱藏---- - 繼續載入… 忽略 需要會議列表嗎? 您忽略了幾個活動,Tasks應否不再就該活動詢問您呢? diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 626f370fd..2f13b3669 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -68,7 +68,6 @@ File %1$s contained %2$s.\n\n Timer Controls ----Hide Always---- Creation date - Load more… Ignore Need a meeting list? You\'ve ignored several calendar events. Should Tasks stop asking you about them? diff --git a/deps_fdroid.txt b/deps_fdroid.txt index b2486d96e..aa854eac6 100644 --- a/deps_fdroid.txt +++ b/deps_fdroid.txt @@ -2,7 +2,7 @@ +| \--- androidx.annotation:annotation:1.0.0 -> 1.3.0 ++--- androidx.databinding:databinding-common:7.2.1 ++--- androidx.databinding:databinding-runtime:7.2.1 -+| +--- androidx.collection:collection:1.0.0 -> 1.1.0 ++| +--- androidx.collection:collection:1.0.0 -> 1.2.0 +| | \--- androidx.annotation:annotation:1.1.0 -> 1.3.0 +| +--- androidx.databinding:databinding-common:7.2.1 +| +--- androidx.databinding:viewbinding:7.2.1 (*) @@ -83,14 +83,14 @@ +| +--- androidx.core:core:1.9.0-alpha05 +| | +--- androidx.annotation:annotation:1.2.0 -> 1.3.0 +| | +--- androidx.annotation:annotation-experimental:1.1.0 -+| | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) ++| | +--- androidx.collection:collection:1.0.0 -> 1.2.0 (*) +| | +--- androidx.concurrent:concurrent-futures:1.0.0 +| | | +--- com.google.guava:listenablefuture:1.0 -> 9999.0-empty-to-avoid-conflict-with-guava +| | | \--- androidx.annotation:annotation:1.1.0 -> 1.3.0 +| | +--- androidx.lifecycle:lifecycle-runtime:2.3.1 -> 2.5.0-rc01 (*) +| | +--- androidx.versionedparcelable:versionedparcelable:1.1.1 +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.3.0 -+| | | \--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) ++| | | \--- androidx.collection:collection:1.0.0 -> 1.2.0 (*) +| | \--- androidx.core:core-ktx:1.9.0-alpha05 (c) +| +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.0 (*) +| \--- androidx.core:core:1.9.0-alpha05 (c) @@ -103,7 +103,7 @@ +| +--- androidx.appcompat:appcompat:1.4.1 -> 1.6.0-alpha05 +| | +--- androidx.activity:activity:1.6.0-alpha05 +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.3.0 -+| | | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) ++| | | +--- androidx.collection:collection:1.0.0 -> 1.2.0 (*) +| | | +--- androidx.core:core:1.9.0-alpha05 (*) +| | | +--- androidx.lifecycle:lifecycle-runtime:2.5.0-rc01 (*) +| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.5.0-rc01 (*) @@ -126,18 +126,18 @@ +| | +--- androidx.annotation:annotation:1.3.0 +| | +--- androidx.appcompat:appcompat-resources:1.6.0-alpha05 +| | | +--- androidx.annotation:annotation:1.2.0 -> 1.3.0 -+| | | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) ++| | | +--- androidx.collection:collection:1.0.0 -> 1.2.0 (*) +| | | +--- androidx.core:core:1.6.0 -> 1.9.0-alpha05 (*) +| | | +--- androidx.vectordrawable:vectordrawable:1.1.0 +| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.3.0 +| | | | +--- androidx.core:core:1.1.0 -> 1.9.0-alpha05 (*) -+| | | | \--- androidx.collection:collection:1.1.0 (*) ++| | | | \--- androidx.collection:collection:1.1.0 -> 1.2.0 (*) +| | | \--- androidx.vectordrawable:vectordrawable-animated:1.1.0 +| | | +--- androidx.vectordrawable:vectordrawable:1.1.0 (*) +| | | +--- androidx.interpolator:interpolator:1.0.0 +| | | | \--- androidx.annotation:annotation:1.0.0 -> 1.3.0 -+| | | \--- androidx.collection:collection:1.1.0 (*) -+| | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) ++| | | \--- androidx.collection:collection:1.1.0 -> 1.2.0 (*) ++| | +--- androidx.collection:collection:1.0.0 -> 1.2.0 (*) +| | +--- androidx.core:core:1.9.0-alpha05 (*) +| | +--- androidx.cursoradapter:cursoradapter:1.0.0 +| | | \--- androidx.annotation:annotation:1.0.0 -> 1.3.0 @@ -147,21 +147,21 @@ +| | | \--- androidx.customview:customview:1.1.0 +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.3.0 +| | | +--- androidx.core:core:1.3.0 -> 1.9.0-alpha05 (*) -+| | | \--- androidx.collection:collection:1.1.0 (*) ++| | | \--- androidx.collection:collection:1.1.0 -> 1.2.0 (*) +| | +--- androidx.emoji2:emoji2:1.2.0-alpha04 +| | | +--- androidx.annotation:annotation:1.2.0 -> 1.3.0 -+| | | +--- androidx.collection:collection:1.1.0 (*) ++| | | +--- androidx.collection:collection:1.1.0 -> 1.2.0 (*) +| | | +--- androidx.core:core:1.3.0 -> 1.9.0-alpha05 (*) +| | | +--- androidx.lifecycle:lifecycle-process:2.4.1 (*) +| | | \--- androidx.startup:startup-runtime:1.0.0 -> 1.1.1 (*) +| | +--- androidx.emoji2:emoji2-views-helper:1.2.0-alpha04 -+| | | +--- androidx.collection:collection:1.1.0 (*) ++| | | +--- androidx.collection:collection:1.1.0 -> 1.2.0 (*) +| | | +--- androidx.core:core:1.3.0 -> 1.9.0-alpha05 (*) +| | | \--- androidx.emoji2:emoji2:1.2.0-alpha04 (*) +| | +--- androidx.fragment:fragment:1.3.6 -> 1.4.0 +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.3.0 +| | | +--- androidx.core:core-ktx:1.2.0 -> 1.9.0-alpha05 (*) -+| | | +--- androidx.collection:collection:1.1.0 (*) ++| | | +--- androidx.collection:collection:1.1.0 -> 1.2.0 (*) +| | | +--- androidx.viewpager:viewpager:1.0.0 +| | | | +--- androidx.annotation:annotation:1.0.0 -> 1.3.0 +| | | | +--- androidx.core:core:1.0.0 -> 1.9.0-alpha05 (*) @@ -214,7 +214,7 @@ +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.3.0 +| | | +--- androidx.core:core:1.1.0 -> 1.9.0-alpha05 (*) +| | | +--- androidx.customview:customview:1.0.0 -> 1.1.0 (*) -+| | | \--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) ++| | | \--- androidx.collection:collection:1.0.0 -> 1.2.0 (*) +| | +--- androidx.constraintlayout:constraintlayout:2.0.1 -> 2.1.2 +| | | +--- androidx.appcompat:appcompat:1.2.0 -> 1.6.0-alpha05 (*) +| | | +--- androidx.core:core:1.3.2 -> 1.9.0-alpha05 (*) @@ -223,7 +223,7 @@ +| | +--- androidx.drawerlayout:drawerlayout:1.1.1 (*) +| | +--- androidx.dynamicanimation:dynamicanimation:1.0.0 +| | | +--- androidx.core:core:1.0.0 -> 1.9.0-alpha05 (*) -+| | | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) ++| | | +--- androidx.collection:collection:1.0.0 -> 1.2.0 (*) +| | | \--- androidx.legacy:legacy-support-core-utils:1.0.0 +| | | +--- androidx.annotation:annotation:1.0.0 -> 1.3.0 +| | | +--- androidx.core:core:1.0.0 -> 1.9.0-alpha05 (*) @@ -241,18 +241,18 @@ +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.3.0 +| | | +--- androidx.core:core:1.1.0 -> 1.9.0-alpha05 (*) +| | | +--- androidx.customview:customview:1.0.0 -> 1.1.0 (*) -+| | | \--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) ++| | | \--- androidx.collection:collection:1.0.0 -> 1.2.0 (*) +| | +--- androidx.transition:transition:1.2.0 +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.3.0 +| | | +--- androidx.core:core:1.0.1 -> 1.9.0-alpha05 (*) -+| | | \--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) ++| | | \--- androidx.collection:collection:1.0.0 -> 1.2.0 (*) +| | +--- androidx.vectordrawable:vectordrawable:1.1.0 (*) +| | \--- androidx.viewpager2:viewpager2:1.0.0 +| | +--- androidx.annotation:annotation:1.1.0 -> 1.3.0 +| | +--- androidx.fragment:fragment:1.1.0 -> 1.4.0 (*) +| | +--- androidx.recyclerview:recyclerview:1.1.0 (*) +| | +--- androidx.core:core:1.1.0 -> 1.9.0-alpha05 (*) -+| | \--- androidx.collection:collection:1.1.0 (*) ++| | \--- androidx.collection:collection:1.1.0 -> 1.2.0 (*) +| \--- org.conscrypt:conscrypt-android:2.5.2 ++--- com.github.tasks.opentasks:opentasks-provider:a1faa1b +| +--- org.dmfs:rfc5545-datetime:0.2.4 @@ -315,7 +315,7 @@ +| +--- androidx.core:core-ktx:1.2.0 -> 1.9.0-alpha05 (*) +| +--- androidx.collection:collection-ktx:1.1.0 +| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.3.20 -> 1.7.0 (*) -+| | \--- androidx.collection:collection:1.1.0 (*) ++| | \--- androidx.collection:collection:1.1.0 -> 1.2.0 (*) +| +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.3.1 -> 2.4.1 (*) +| +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1 -> 2.5.0-rc01 (*) +| +--- androidx.savedstate:savedstate-ktx:1.1.0 -> 1.2.0 (*) @@ -355,9 +355,10 @@ +| \--- io.noties.markwon:core:4.6.2 (*) ++--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.0 (*) ++--- com.squareup.okhttp3:okhttp:4.9.3 -+| +--- com.squareup.okio:okio:2.8.0 -+| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.4.0 -> 1.7.0 (*) -+| | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.4.0 -> 1.7.0 ++| +--- com.squareup.okio:okio:2.8.0 -> 3.0.0 ++| | \--- com.squareup.okio:okio-jvm:3.0.0 ++| | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.31 -> 1.7.0 (*) ++| | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.5.31 -> 1.7.0 +| \--- org.jetbrains.kotlin:kotlin-stdlib:1.4.10 -> 1.7.0 (*) ++--- com.google.code.gson:gson:2.8.8 ++--- com.google.android.material:material:1.6.1 -> 1.7.0-alpha02 (*) @@ -372,7 +373,7 @@ +| +--- androidx.fragment:fragment:1.2.4 -> 1.4.0 (*) +| +--- androidx.recyclerview:recyclerview:1.0.0 -> 1.1.0 (*) +| +--- androidx.annotation:annotation:1.1.0 -> 1.3.0 -+| \--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) ++| \--- androidx.collection:collection:1.0.0 -> 1.2.0 (*) ++--- com.jakewharton.timber:timber:5.0.1 +| +--- org.jetbrains.kotlin:kotlin-stdlib:1.5.21 -> 1.7.0 (*) +| \--- org.jetbrains:annotations:20.1.0 @@ -420,7 +421,7 @@ ++--- net.openid:appauth:0.8.1 +| +--- androidx.annotation:annotation:1.1.0 -> 1.3.0 +| \--- androidx.browser:browser:1.3.0 -+| +--- androidx.collection:collection:1.1.0 (*) ++| +--- androidx.collection:collection:1.1.0 -> 1.2.0 (*) +| +--- androidx.concurrent:concurrent-futures:1.0.0 (*) +| +--- androidx.interpolator:interpolator:1.0.0 (*) +| +--- androidx.core:core:1.1.0 -> 1.9.0-alpha05 (*) @@ -431,7 +432,7 @@ +| +--- androidx.annotation:annotation:1.1.0 -> 1.3.0 +| +--- androidx.autofill:autofill:1.0.0 +| | \--- androidx.core:core:1.1.0 -> 1.9.0-alpha05 (*) -+| +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) ++| +--- androidx.collection:collection:1.0.0 -> 1.2.0 (*) +| +--- androidx.compose.runtime:runtime:1.2.0 +| | +--- androidx.annotation:annotation:1.1.0 -> 1.3.0 +| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.0 (*) @@ -459,7 +460,7 @@ +| | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.21 -> 1.7.0 +| +--- androidx.compose.ui:ui-text:1.2.0 +| | +--- androidx.annotation:annotation:1.1.0 -> 1.3.0 -+| | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) ++| | +--- androidx.collection:collection:1.0.0 -> 1.2.0 (*) +| | +--- androidx.compose.runtime:runtime:1.2.0 (*) +| | +--- androidx.compose.runtime:runtime-saveable:1.2.0 (*) +| | +--- androidx.compose.ui:ui-graphics:1.2.0 (*) @@ -578,6 +579,30 @@ +| +--- androidx.databinding:viewbinding:4.1.2 -> 7.2.1 (*) +| +--- androidx.fragment:fragment-ktx:1.3.2 -> 1.4.0 (*) +| \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.0 (*) +++--- io.coil-kt:coil-compose:2.1.0 ++| +--- io.coil-kt:coil-compose-base:2.1.0 ++| | +--- io.coil-kt:coil-base:2.1.0 ++| | | +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.6.10 ++| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.7.0 (*) ++| | | | \--- org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.6.10 ++| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.7.0 (*) ++| | | +--- androidx.lifecycle:lifecycle-runtime:2.4.1 -> 2.5.0-rc01 (*) ++| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.1 (*) ++| | | +--- com.squareup.okhttp3:okhttp:4.9.3 (*) ++| | | +--- com.squareup.okio:okio:3.0.0 (*) ++| | | +--- androidx.annotation:annotation:1.3.0 ++| | | +--- androidx.appcompat:appcompat-resources:1.4.1 -> 1.6.0-alpha05 (*) ++| | | +--- androidx.collection:collection:1.2.0 (*) ++| | | +--- androidx.core:core-ktx:1.7.0 -> 1.9.0-alpha05 (*) ++| | | \--- androidx.exifinterface:exifinterface:1.3.3 ++| | | \--- androidx.annotation:annotation:1.2.0 -> 1.3.0 ++| | +--- androidx.compose.foundation:foundation:1.1.1 -> 1.2.0 (*) ++| | +--- androidx.core:core-ktx:1.7.0 -> 1.9.0-alpha05 (*) ++| | \--- com.google.accompanist:accompanist-drawablepainter:0.23.1 ++| | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.0 (*) ++| | \--- androidx.compose.ui:ui:1.1.1 -> 1.2.0 (*) ++| \--- io.coil-kt:coil:2.1.0 ++| \--- io.coil-kt:coil-base:2.1.0 (*) ++--- com.google.accompanist:accompanist-flowlayout:0.24.12-rc +| +--- androidx.compose.foundation:foundation:1.2.0-rc02 -> 1.2.0 (*) +| \--- androidx.compose.ui:ui-util:1.2.0-rc02 -> 1.2.0 (*) diff --git a/deps_googleplay.txt b/deps_googleplay.txt index 8d1676213..925e18b98 100644 --- a/deps_googleplay.txt +++ b/deps_googleplay.txt @@ -2,7 +2,7 @@ +| \--- androidx.annotation:annotation:1.0.0 -> 1.3.0 ++--- androidx.databinding:databinding-common:7.2.1 ++--- androidx.databinding:databinding-runtime:7.2.1 -+| +--- androidx.collection:collection:1.0.0 -> 1.1.0 ++| +--- androidx.collection:collection:1.0.0 -> 1.2.0 +| | \--- androidx.annotation:annotation:1.1.0 -> 1.3.0 +| +--- androidx.databinding:databinding-common:7.2.1 +| +--- androidx.databinding:viewbinding:7.2.1 (*) @@ -85,18 +85,18 @@ +| +--- com.google.android.datatransport:transport-runtime:3.1.5 (*) +| +--- com.google.android.gms:play-services-tasks:18.0.1 +| | \--- com.google.android.gms:play-services-basement:18.0.0 -+| | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) ++| | +--- androidx.collection:collection:1.0.0 -> 1.2.0 (*) +| | +--- androidx.core:core:1.2.0 -> 1.9.0-alpha05 +| | | +--- androidx.annotation:annotation:1.2.0 -> 1.3.0 +| | | +--- androidx.annotation:annotation-experimental:1.1.0 -+| | | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) ++| | | +--- androidx.collection:collection:1.0.0 -> 1.2.0 (*) +| | | +--- androidx.concurrent:concurrent-futures:1.0.0 +| | | | +--- com.google.guava:listenablefuture:1.0 -> 9999.0-empty-to-avoid-conflict-with-guava +| | | | \--- androidx.annotation:annotation:1.1.0 -> 1.3.0 +| | | +--- androidx.lifecycle:lifecycle-runtime:2.3.1 -> 2.5.0-rc01 (*) +| | | +--- androidx.versionedparcelable:versionedparcelable:1.1.1 +| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.3.0 -+| | | | \--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) ++| | | | \--- androidx.collection:collection:1.0.0 -> 1.2.0 (*) +| | | \--- androidx.core:core-ktx:1.9.0-alpha05 (c) +| | \--- androidx.fragment:fragment:1.0.0 -> 1.4.0 +| | +--- androidx.annotation:annotation:1.1.0 -> 1.3.0 @@ -105,14 +105,14 @@ +| | | +--- androidx.core:core:1.9.0-alpha05 (*) +| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.0 (*) +| | | \--- androidx.core:core:1.9.0-alpha05 (c) -+| | +--- androidx.collection:collection:1.1.0 (*) ++| | +--- androidx.collection:collection:1.1.0 -> 1.2.0 (*) +| | +--- androidx.viewpager:viewpager:1.0.0 +| | | +--- androidx.annotation:annotation:1.0.0 -> 1.3.0 +| | | +--- androidx.core:core:1.0.0 -> 1.9.0-alpha05 (*) +| | | \--- androidx.customview:customview:1.0.0 -> 1.1.0 +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.3.0 +| | | +--- androidx.core:core:1.3.0 -> 1.9.0-alpha05 (*) -+| | | \--- androidx.collection:collection:1.1.0 (*) ++| | | \--- androidx.collection:collection:1.1.0 -> 1.2.0 (*) +| | +--- androidx.loader:loader:1.0.0 +| | | +--- androidx.annotation:annotation:1.0.0 -> 1.3.0 +| | | +--- androidx.core:core:1.0.0 -> 1.9.0-alpha05 (*) @@ -120,7 +120,7 @@ +| | | \--- androidx.lifecycle:lifecycle-viewmodel:2.0.0 -> 2.5.0-rc01 (*) +| | +--- androidx.activity:activity:1.2.4 -> 1.6.0-alpha05 +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.3.0 -+| | | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) ++| | | +--- androidx.collection:collection:1.0.0 -> 1.2.0 (*) +| | | +--- androidx.core:core:1.9.0-alpha05 (*) +| | | +--- androidx.lifecycle:lifecycle-runtime:2.5.0-rc01 (*) +| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.5.0-rc01 (*) @@ -169,7 +169,7 @@ +| \--- com.google.firebase:firebase-annotations:16.0.0 ++--- com.google.firebase:firebase-analytics:20.1.0 +| +--- com.google.android.gms:play-services-measurement:20.1.0 -+| | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) ++| | +--- androidx.collection:collection:1.0.0 -> 1.2.0 (*) +| | +--- androidx.legacy:legacy-support-core-utils:1.0.0 +| | | +--- androidx.annotation:annotation:1.0.0 -> 1.3.0 +| | | +--- androidx.core:core:1.0.0 -> 1.9.0-alpha05 (*) @@ -184,7 +184,7 @@ +| | +--- com.google.android.gms:play-services-measurement-base:20.1.0 +| | | \--- com.google.android.gms:play-services-basement:18.0.0 (*) +| | +--- com.google.android.gms:play-services-measurement-impl:20.1.0 -+| | | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) ++| | | +--- androidx.collection:collection:1.0.0 -> 1.2.0 (*) +| | | +--- androidx.core:core:1.0.0 -> 1.9.0-alpha05 (*) +| | | +--- com.google.android.gms:play-services-basement:18.0.0 (*) +| | | +--- com.google.android.gms:play-services-measurement-base:20.1.0 (*) @@ -205,7 +205,7 @@ +| | +--- com.google.firebase:firebase-installations-interop:17.0.0 -> 17.0.1 (*) +| | \--- com.google.firebase:firebase-measurement-connector:19.0.0 (*) +| \--- com.google.android.gms:play-services-measurement-sdk:20.1.0 -+| +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) ++| +--- androidx.collection:collection:1.0.0 -> 1.2.0 (*) +| +--- com.google.android.gms:play-services-basement:18.0.0 (*) +| +--- com.google.android.gms:play-services-measurement-base:20.1.0 (*) +| \--- com.google.android.gms:play-services-measurement-impl:20.1.0 (*) @@ -236,7 +236,7 @@ +| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72 -> 1.7.0 (*) ++--- com.google.android.gms:play-services-location:19.0.1 +| +--- com.google.android.gms:play-services-base:18.0.1 -+| | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) ++| | +--- androidx.collection:collection:1.0.0 -> 1.2.0 (*) +| | +--- androidx.core:core:1.2.0 -> 1.9.0-alpha05 (*) +| | +--- androidx.fragment:fragment:1.0.0 -> 1.4.0 (*) +| | +--- com.google.android.gms:play-services-basement:18.0.0 (*) @@ -266,18 +266,18 @@ +| | +--- androidx.annotation:annotation:1.3.0 +| | +--- androidx.appcompat:appcompat-resources:1.6.0-alpha05 +| | | +--- androidx.annotation:annotation:1.2.0 -> 1.3.0 -+| | | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) ++| | | +--- androidx.collection:collection:1.0.0 -> 1.2.0 (*) +| | | +--- androidx.core:core:1.6.0 -> 1.9.0-alpha05 (*) +| | | +--- androidx.vectordrawable:vectordrawable:1.1.0 +| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.3.0 +| | | | +--- androidx.core:core:1.1.0 -> 1.9.0-alpha05 (*) -+| | | | \--- androidx.collection:collection:1.1.0 (*) ++| | | | \--- androidx.collection:collection:1.1.0 -> 1.2.0 (*) +| | | \--- androidx.vectordrawable:vectordrawable-animated:1.1.0 +| | | +--- androidx.vectordrawable:vectordrawable:1.1.0 (*) +| | | +--- androidx.interpolator:interpolator:1.0.0 +| | | | \--- androidx.annotation:annotation:1.0.0 -> 1.3.0 -+| | | \--- androidx.collection:collection:1.1.0 (*) -+| | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) ++| | | \--- androidx.collection:collection:1.1.0 -> 1.2.0 (*) ++| | +--- androidx.collection:collection:1.0.0 -> 1.2.0 (*) +| | +--- androidx.core:core:1.9.0-alpha05 (*) +| | +--- androidx.cursoradapter:cursoradapter:1.0.0 +| | | \--- androidx.annotation:annotation:1.0.0 -> 1.3.0 @@ -287,12 +287,12 @@ +| | | \--- androidx.customview:customview:1.1.0 (*) +| | +--- androidx.emoji2:emoji2:1.2.0-alpha04 +| | | +--- androidx.annotation:annotation:1.2.0 -> 1.3.0 -+| | | +--- androidx.collection:collection:1.1.0 (*) ++| | | +--- androidx.collection:collection:1.1.0 -> 1.2.0 (*) +| | | +--- androidx.core:core:1.3.0 -> 1.9.0-alpha05 (*) +| | | +--- androidx.lifecycle:lifecycle-process:2.4.1 (*) +| | | \--- androidx.startup:startup-runtime:1.0.0 -> 1.1.1 (*) +| | +--- androidx.emoji2:emoji2-views-helper:1.2.0-alpha04 -+| | | +--- androidx.collection:collection:1.1.0 (*) ++| | | +--- androidx.collection:collection:1.1.0 -> 1.2.0 (*) +| | | +--- androidx.core:core:1.3.0 -> 1.9.0-alpha05 (*) +| | | \--- androidx.emoji2:emoji2:1.2.0-alpha04 (*) +| | +--- androidx.fragment:fragment:1.3.6 -> 1.4.0 (*) @@ -359,7 +359,7 @@ +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.3.0 +| | | +--- androidx.core:core:1.1.0 -> 1.9.0-alpha05 (*) +| | | +--- androidx.customview:customview:1.0.0 -> 1.1.0 (*) -+| | | \--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) ++| | | \--- androidx.collection:collection:1.0.0 -> 1.2.0 (*) +| | +--- androidx.constraintlayout:constraintlayout:2.0.1 -> 2.1.2 +| | | +--- androidx.appcompat:appcompat:1.2.0 -> 1.6.0-alpha05 (*) +| | | +--- androidx.core:core:1.3.2 -> 1.9.0-alpha05 (*) @@ -368,7 +368,7 @@ +| | +--- androidx.drawerlayout:drawerlayout:1.1.1 (*) +| | +--- androidx.dynamicanimation:dynamicanimation:1.0.0 +| | | +--- androidx.core:core:1.0.0 -> 1.9.0-alpha05 (*) -+| | | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) ++| | | +--- androidx.collection:collection:1.0.0 -> 1.2.0 (*) +| | | \--- androidx.legacy:legacy-support-core-utils:1.0.0 (*) +| | +--- androidx.annotation:annotation-experimental:1.0.0 -> 1.1.0 +| | +--- androidx.fragment:fragment:1.2.5 -> 1.4.0 (*) @@ -377,18 +377,18 @@ +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.3.0 +| | | +--- androidx.core:core:1.1.0 -> 1.9.0-alpha05 (*) +| | | +--- androidx.customview:customview:1.0.0 -> 1.1.0 (*) -+| | | \--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) ++| | | \--- androidx.collection:collection:1.0.0 -> 1.2.0 (*) +| | +--- androidx.transition:transition:1.2.0 +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.3.0 +| | | +--- androidx.core:core:1.0.1 -> 1.9.0-alpha05 (*) -+| | | \--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) ++| | | \--- androidx.collection:collection:1.0.0 -> 1.2.0 (*) +| | +--- androidx.vectordrawable:vectordrawable:1.1.0 (*) +| | \--- androidx.viewpager2:viewpager2:1.0.0 +| | +--- androidx.annotation:annotation:1.1.0 -> 1.3.0 +| | +--- androidx.fragment:fragment:1.1.0 -> 1.4.0 (*) +| | +--- androidx.recyclerview:recyclerview:1.1.0 (*) +| | +--- androidx.core:core:1.1.0 -> 1.9.0-alpha05 (*) -+| | \--- androidx.collection:collection:1.1.0 (*) ++| | \--- androidx.collection:collection:1.1.0 -> 1.2.0 (*) +| \--- org.conscrypt:conscrypt-android:2.5.2 ++--- com.github.tasks.opentasks:opentasks-provider:a1faa1b +| +--- org.dmfs:rfc5545-datetime:0.2.4 @@ -451,7 +451,7 @@ +| +--- androidx.core:core-ktx:1.2.0 -> 1.9.0-alpha05 (*) +| +--- androidx.collection:collection-ktx:1.1.0 +| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.3.20 -> 1.7.0 (*) -+| | \--- androidx.collection:collection:1.1.0 (*) ++| | \--- androidx.collection:collection:1.1.0 -> 1.2.0 (*) +| +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.3.1 -> 2.4.1 (*) +| +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1 -> 2.5.0-rc01 (*) +| +--- androidx.savedstate:savedstate-ktx:1.1.0 -> 1.2.0 (*) @@ -491,9 +491,10 @@ +| \--- io.noties.markwon:core:4.6.2 (*) ++--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.0 (*) ++--- com.squareup.okhttp3:okhttp:4.9.3 -+| +--- com.squareup.okio:okio:2.8.0 -+| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.4.0 -> 1.7.0 (*) -+| | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.4.0 -> 1.7.0 ++| +--- com.squareup.okio:okio:2.8.0 -> 3.0.0 ++| | \--- com.squareup.okio:okio-jvm:3.0.0 ++| | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.31 -> 1.7.0 (*) ++| | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.5.31 -> 1.7.0 +| \--- org.jetbrains.kotlin:kotlin-stdlib:1.4.10 -> 1.7.0 (*) ++--- com.google.code.gson:gson:2.8.8 ++--- com.google.android.material:material:1.6.1 -> 1.7.0-alpha02 (*) @@ -508,7 +509,7 @@ +| +--- androidx.fragment:fragment:1.2.4 -> 1.4.0 (*) +| +--- androidx.recyclerview:recyclerview:1.0.0 -> 1.1.0 (*) +| +--- androidx.annotation:annotation:1.1.0 -> 1.3.0 -+| \--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) ++| \--- androidx.collection:collection:1.0.0 -> 1.2.0 (*) ++--- com.jakewharton.timber:timber:5.0.1 +| +--- org.jetbrains.kotlin:kotlin-stdlib:1.5.21 -> 1.7.0 (*) +| \--- org.jetbrains:annotations:20.1.0 @@ -556,7 +557,7 @@ ++--- net.openid:appauth:0.8.1 +| +--- androidx.annotation:annotation:1.1.0 -> 1.3.0 +| \--- androidx.browser:browser:1.3.0 -+| +--- androidx.collection:collection:1.1.0 (*) ++| +--- androidx.collection:collection:1.1.0 -> 1.2.0 (*) +| +--- androidx.concurrent:concurrent-futures:1.0.0 (*) +| +--- androidx.interpolator:interpolator:1.0.0 (*) +| +--- androidx.core:core:1.1.0 -> 1.9.0-alpha05 (*) @@ -567,7 +568,7 @@ +| +--- androidx.annotation:annotation:1.1.0 -> 1.3.0 +| +--- androidx.autofill:autofill:1.0.0 +| | \--- androidx.core:core:1.1.0 -> 1.9.0-alpha05 (*) -+| +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) ++| +--- androidx.collection:collection:1.0.0 -> 1.2.0 (*) +| +--- androidx.compose.runtime:runtime:1.2.0 +| | +--- androidx.annotation:annotation:1.1.0 -> 1.3.0 +| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.0 (*) @@ -595,7 +596,7 @@ +| | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.21 -> 1.7.0 +| +--- androidx.compose.ui:ui-text:1.2.0 +| | +--- androidx.annotation:annotation:1.1.0 -> 1.3.0 -+| | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) ++| | +--- androidx.collection:collection:1.0.0 -> 1.2.0 (*) +| | +--- androidx.compose.runtime:runtime:1.2.0 (*) +| | +--- androidx.compose.runtime:runtime-saveable:1.2.0 (*) +| | +--- androidx.compose.ui:ui-graphics:1.2.0 (*) @@ -714,6 +715,30 @@ +| +--- androidx.databinding:viewbinding:4.1.2 -> 7.2.1 (*) +| +--- androidx.fragment:fragment-ktx:1.3.2 -> 1.4.0 (*) +| \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.0 (*) +++--- io.coil-kt:coil-compose:2.1.0 ++| +--- io.coil-kt:coil-compose-base:2.1.0 ++| | +--- io.coil-kt:coil-base:2.1.0 ++| | | +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.6.10 ++| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.7.0 (*) ++| | | | \--- org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.6.10 ++| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.7.0 (*) ++| | | +--- androidx.lifecycle:lifecycle-runtime:2.4.1 -> 2.5.0-rc01 (*) ++| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.1 (*) ++| | | +--- com.squareup.okhttp3:okhttp:4.9.3 (*) ++| | | +--- com.squareup.okio:okio:3.0.0 (*) ++| | | +--- androidx.annotation:annotation:1.3.0 ++| | | +--- androidx.appcompat:appcompat-resources:1.4.1 -> 1.6.0-alpha05 (*) ++| | | +--- androidx.collection:collection:1.2.0 (*) ++| | | +--- androidx.core:core-ktx:1.7.0 -> 1.9.0-alpha05 (*) ++| | | \--- androidx.exifinterface:exifinterface:1.3.3 ++| | | \--- androidx.annotation:annotation:1.2.0 -> 1.3.0 ++| | +--- androidx.compose.foundation:foundation:1.1.1 -> 1.2.0 (*) ++| | +--- androidx.core:core-ktx:1.7.0 -> 1.9.0-alpha05 (*) ++| | \--- com.google.accompanist:accompanist-drawablepainter:0.23.1 ++| | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.0 (*) ++| | \--- androidx.compose.ui:ui:1.1.1 -> 1.2.0 (*) ++| \--- io.coil-kt:coil:2.1.0 ++| \--- io.coil-kt:coil-base:2.1.0 (*) ++--- com.google.accompanist:accompanist-flowlayout:0.24.12-rc +| +--- androidx.compose.foundation:foundation:1.2.0-rc02 -> 1.2.0 (*) +| \--- androidx.compose.ui:ui-util:1.2.0-rc02 -> 1.2.0 (*)