Remove androidx.core from data module

pull/2883/head
Alex Baker 6 months ago
parent 4734a99bae
commit 06c4255886

@ -90,10 +90,10 @@ class GtasksListServiceTest : InjectingTestCase() {
} }
private suspend fun setLists(vararg list: TaskList) { private suspend fun setLists(vararg list: TaskList) {
val account = CaldavAccount().apply { val account = CaldavAccount(
username = "account" username = "account",
uuid = "account" uuid = "account",
} )
caldavDao.insert(account) caldavDao.insert(account)
gtasksListService.updateLists(account, listOf(*list)) gtasksListService.updateLists(account, listOf(*list))
} }

@ -11,6 +11,7 @@ import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue import org.junit.Assert.assertTrue
import org.junit.Before import org.junit.Before
import org.junit.Test import org.junit.Test
import org.tasks.data.CaldavAccount
import org.tasks.data.CaldavAccount.Companion.TYPE_CALDAV import org.tasks.data.CaldavAccount.Companion.TYPE_CALDAV
import org.tasks.data.CaldavAccount.Companion.TYPE_GOOGLE_TASKS import org.tasks.data.CaldavAccount.Companion.TYPE_GOOGLE_TASKS
import org.tasks.data.CaldavCalendar import org.tasks.data.CaldavCalendar
@ -19,9 +20,6 @@ import org.tasks.data.GoogleTaskDao
import org.tasks.injection.InjectingTestCase import org.tasks.injection.InjectingTestCase
import org.tasks.injection.ProductionModule import org.tasks.injection.ProductionModule
import org.tasks.jobs.WorkManager import org.tasks.jobs.WorkManager
import org.tasks.makers.CaldavAccountMaker
import org.tasks.makers.CaldavAccountMaker.ACCOUNT_TYPE
import org.tasks.makers.CaldavAccountMaker.newCaldavAccount
import org.tasks.makers.CaldavCalendarMaker import org.tasks.makers.CaldavCalendarMaker
import org.tasks.makers.CaldavCalendarMaker.ACCOUNT import org.tasks.makers.CaldavCalendarMaker.ACCOUNT
import org.tasks.makers.CaldavCalendarMaker.newCaldavCalendar import org.tasks.makers.CaldavCalendarMaker.newCaldavCalendar
@ -319,6 +317,11 @@ class TaskMoverTest : InjectingTestCase() {
} }
private suspend fun setAccountType(account: String, type: Int) { private suspend fun setAccountType(account: String, type: Int) {
caldavDao.insert(newCaldavAccount(with(CaldavAccountMaker.UUID, account), with(ACCOUNT_TYPE, type))) caldavDao.insert(
CaldavAccount(
uuid = account,
accountType = type,
)
)
} }
} }

@ -25,12 +25,13 @@ class CaldavSynchronizerTest : CaldavTest() {
@Before @Before
override fun setUp() = runBlocking { override fun setUp() = runBlocking {
super.setUp() super.setUp()
account = CaldavAccount().apply { account = CaldavAccount(
uuid = UUIDHelper.newUUID() uuid = UUIDHelper.newUUID(),
username = "username" username = "username",
password = encryption.encrypt("password") password = encryption.encrypt("password"),
url = server.url("/remote.php/dav/calendars/user1/").toString() url = server.url("/remote.php/dav/calendars/user1/").toString(),
id = caldavDao.insert(this) ).let {
it.copy(id = caldavDao.insert(it))
} }
} }

@ -79,13 +79,14 @@ class ServerDetectionTest : CaldavTest() {
vararg headers: Pair<String, String>, vararg headers: Pair<String, String>,
accountType: Int = TYPE_CALDAV accountType: Int = TYPE_CALDAV
) { ) {
account = CaldavAccount().apply { account = CaldavAccount(
uuid = UUIDHelper.newUUID() uuid = UUIDHelper.newUUID(),
username = "username" username = "username",
password = encryption.encrypt("password") password = encryption.encrypt("password"),
url = server.url("/remote.php/dav/calendars/user1/").toString() url = server.url("/remote.php/dav/calendars/user1/").toString(),
id = caldavDao.insert(this) accountType = accountType,
this.accountType = accountType ).let {
it.copy(id = caldavDao.insert(it))
} }
this.headers.putAll(headers) this.headers.putAll(headers)
enqueue(NO_CALENDARS) enqueue(NO_CALENDARS)

@ -22,12 +22,13 @@ class SharingMailboxDotOrgTest : CaldavTest() {
@Test @Test
fun ownerAccess() = runBlocking { fun ownerAccess() = runBlocking {
account = CaldavAccount().apply { account = CaldavAccount(
uuid = UUIDHelper.newUUID() uuid = UUIDHelper.newUUID(),
username = "3" username = "3",
password = encryption.encrypt("password") password = encryption.encrypt("password"),
url = server.url("/caldav/").toString() url = server.url("/caldav/").toString(),
id = caldavDao.insert(this) ).let {
it.copy(id = caldavDao.insert(it))
} }
val calendar = CaldavCalendar( val calendar = CaldavCalendar(
account = this@SharingMailboxDotOrgTest.account.uuid, account = this@SharingMailboxDotOrgTest.account.uuid,
@ -45,12 +46,13 @@ class SharingMailboxDotOrgTest : CaldavTest() {
@Test @Test
fun principalForSharee() = runBlocking { fun principalForSharee() = runBlocking {
account = CaldavAccount().apply { account = CaldavAccount(
uuid = UUIDHelper.newUUID() uuid = UUIDHelper.newUUID(),
username = "3" username = "3",
password = encryption.encrypt("password") password = encryption.encrypt("password"),
url = server.url("/caldav/").toString() url = server.url("/caldav/").toString(),
id = caldavDao.insert(this) ).let {
it.copy(id = caldavDao.insert(it))
} }
val calendar = CaldavCalendar( val calendar = CaldavCalendar(
account = this@SharingMailboxDotOrgTest.account.uuid, account = this@SharingMailboxDotOrgTest.account.uuid,

@ -21,12 +21,13 @@ class SharingOwncloudTest : CaldavTest() {
@Inject lateinit var principalDao: PrincipalDao @Inject lateinit var principalDao: PrincipalDao
private suspend fun setupAccount(user: String) { private suspend fun setupAccount(user: String) {
account = CaldavAccount().apply { account = CaldavAccount(
uuid = UUIDHelper.newUUID() uuid = UUIDHelper.newUUID(),
username = user username = user,
password = encryption.encrypt("password") password = encryption.encrypt("password"),
url = server.url("/remote.php/dav/calendars/$user/").toString() url = server.url("/remote.php/dav/calendars/$user/").toString(),
id = caldavDao.insert(this) ).let {
it.copy(id = caldavDao.insert(it))
} }
} }

@ -23,12 +23,13 @@ class SharingSabredavTest : CaldavTest() {
@Inject lateinit var principalDao: PrincipalDao @Inject lateinit var principalDao: PrincipalDao
private suspend fun setupAccount(user: String) { private suspend fun setupAccount(user: String) {
account = CaldavAccount().apply { account = CaldavAccount(
uuid = UUIDHelper.newUUID() uuid = UUIDHelper.newUUID(),
username = user username = user,
password = encryption.encrypt("password") password = encryption.encrypt("password"),
url = server.url("/calendars/$user/").toString() url = server.url("/calendars/$user/").toString(),
id = caldavDao.insert(this) ).let {
it.copy(id = caldavDao.insert(it))
} }
} }

@ -6,7 +6,9 @@ import com.todoroo.astrid.helper.UUIDHelper
import dagger.hilt.android.testing.HiltAndroidTest import dagger.hilt.android.testing.HiltAndroidTest
import dagger.hilt.android.testing.UninstallModules import dagger.hilt.android.testing.UninstallModules
import kotlinx.coroutines.runBlocking import kotlinx.coroutines.runBlocking
import org.junit.Assert.* import org.junit.Assert.assertEquals
import org.junit.Assert.assertNull
import org.junit.Assert.assertTrue
import org.junit.Test import org.junit.Test
import org.tasks.injection.InjectingTestCase import org.tasks.injection.InjectingTestCase
import org.tasks.injection.ProductionModule import org.tasks.injection.ProductionModule
@ -85,8 +87,7 @@ class CaldavDaoTests : InjectingTestCase() {
@Test @Test
fun noResultsForEmptyAccounts() = runBlocking { fun noResultsForEmptyAccounts() = runBlocking {
val caldavAccount = CaldavAccount() val caldavAccount = CaldavAccount(uuid = UUIDHelper.newUUID())
caldavAccount.uuid = UUIDHelper.newUUID()
caldavDao.insert(caldavAccount) caldavDao.insert(caldavAccount)
assertTrue(caldavDao.getCaldavFilters(caldavAccount.uuid!!).isEmpty()) assertTrue(caldavDao.getCaldavFilters(caldavAccount.uuid!!).isEmpty())
} }

@ -12,8 +12,6 @@ import org.junit.Test
import org.tasks.data.CaldavAccount.Companion.TYPE_GOOGLE_TASKS import org.tasks.data.CaldavAccount.Companion.TYPE_GOOGLE_TASKS
import org.tasks.injection.InjectingTestCase import org.tasks.injection.InjectingTestCase
import org.tasks.injection.ProductionModule import org.tasks.injection.ProductionModule
import org.tasks.makers.CaldavAccountMaker.ACCOUNT_TYPE
import org.tasks.makers.CaldavAccountMaker.newCaldavAccount
import org.tasks.makers.CaldavCalendarMaker.newCaldavCalendar import org.tasks.makers.CaldavCalendarMaker.newCaldavCalendar
import org.tasks.makers.CaldavTaskMaker.CALENDAR import org.tasks.makers.CaldavTaskMaker.CALENDAR
import org.tasks.makers.CaldavTaskMaker.REMOTE_ID import org.tasks.makers.CaldavTaskMaker.REMOTE_ID
@ -35,7 +33,7 @@ class GoogleTaskDaoTests : InjectingTestCase() {
override fun setUp() { override fun setUp() {
super.setUp() super.setUp()
runBlocking { runBlocking {
caldavDao.insert(newCaldavAccount(with(ACCOUNT_TYPE, TYPE_GOOGLE_TASKS))) caldavDao.insert(CaldavAccount(uuid = "account", accountType = TYPE_GOOGLE_TASKS))
caldavDao.insert(newCaldavCalendar()) caldavDao.insert(newCaldavCalendar())
} }
} }

@ -3,7 +3,7 @@ package org.tasks.data
import dagger.hilt.android.testing.HiltAndroidTest import dagger.hilt.android.testing.HiltAndroidTest
import dagger.hilt.android.testing.UninstallModules import dagger.hilt.android.testing.UninstallModules
import kotlinx.coroutines.runBlocking import kotlinx.coroutines.runBlocking
import org.junit.Assert.* import org.junit.Assert.assertTrue
import org.junit.Test import org.junit.Test
import org.tasks.injection.InjectingTestCase import org.tasks.injection.InjectingTestCase
import org.tasks.injection.ProductionModule import org.tasks.injection.ProductionModule
@ -17,10 +17,10 @@ class GoogleTaskListDaoTest : InjectingTestCase() {
@Test @Test
fun noResultsForEmptyAccount() = runBlocking { fun noResultsForEmptyAccount() = runBlocking {
val account = CaldavAccount().apply { val account = CaldavAccount(
uuid = "user@gmail.com" uuid = "user@gmail.com",
username = "user@gmail.com" username = "user@gmail.com",
} )
caldavDao.insert(account) caldavDao.insert(account)
assertTrue(googleTaskListDao.getGoogleTaskFilters(account.username!!).isEmpty()) assertTrue(googleTaskListDao.getGoogleTaskFilters(account.username!!).isEmpty())

@ -13,7 +13,6 @@ import org.junit.Test
import org.tasks.R import org.tasks.R
import org.tasks.injection.InjectingTestCase import org.tasks.injection.InjectingTestCase
import org.tasks.injection.ProductionModule import org.tasks.injection.ProductionModule
import org.tasks.makers.CaldavAccountMaker.newCaldavAccount
import org.tasks.makers.CaldavCalendarMaker.UUID import org.tasks.makers.CaldavCalendarMaker.UUID
import org.tasks.makers.CaldavCalendarMaker.newCaldavCalendar import org.tasks.makers.CaldavCalendarMaker.newCaldavCalendar
import org.tasks.makers.CaldavTaskMaker.CALENDAR import org.tasks.makers.CaldavTaskMaker.CALENDAR
@ -42,7 +41,7 @@ class ManualGoogleTaskQueryTest : InjectingTestCase() {
preferences.setBoolean(R.string.p_manual_sort, true) preferences.setBoolean(R.string.p_manual_sort, true)
val calendar = newCaldavCalendar(with(UUID, "1234")) val calendar = newCaldavCalendar(with(UUID, "1234"))
runBlocking { runBlocking {
caldavDao.insert(newCaldavAccount()) caldavDao.insert(CaldavAccount())
caldavDao.insert(calendar) caldavDao.insert(calendar)
} }
filter = GtasksFilter(calendar) filter = GtasksFilter(calendar)

@ -4,7 +4,9 @@ import com.natpryce.makeiteasy.MakeItEasy.with
import dagger.hilt.android.testing.HiltAndroidTest import dagger.hilt.android.testing.HiltAndroidTest
import dagger.hilt.android.testing.UninstallModules import dagger.hilt.android.testing.UninstallModules
import kotlinx.coroutines.runBlocking import kotlinx.coroutines.runBlocking
import org.junit.Assert.* import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotNull
import org.junit.Assert.assertTrue
import org.junit.Test import org.junit.Test
import org.tasks.data.CaldavAccount import org.tasks.data.CaldavAccount
import org.tasks.data.CaldavAccount.Companion.TYPE_OPENTASKS import org.tasks.data.CaldavAccount.Companion.TYPE_OPENTASKS
@ -38,10 +40,12 @@ class OpenTasksSynchronizerTest : OpenTasksTest() {
@Test @Test
fun deleteRemovedAccounts() = runBlocking { fun deleteRemovedAccounts() = runBlocking {
caldavDao.insert(CaldavAccount().apply { caldavDao.insert(
uuid = "bitfire.at.davdroid:test_account" CaldavAccount(
accountType = TYPE_OPENTASKS uuid = "bitfire.at.davdroid:test_account",
}) accountType = TYPE_OPENTASKS,
)
)
synchronizer.sync() synchronizer.sync()

@ -25,10 +25,8 @@ class CaldavSubscriptionTest : CaldavTest() {
inventory.clear() inventory.clear()
inventory.add(emptyList()) inventory.add(emptyList())
account = CaldavAccount().apply { account = CaldavAccount(uuid = UUIDHelper.newUUID())
uuid = UUIDHelper.newUUID() .let { it.copy(id = caldavDao.insert(it)) }
id = caldavDao.insert(this)
}
synchronizer.sync(account) synchronizer.sync(account)

@ -74,21 +74,24 @@ class GtasksLoginActivity : AppCompatActivity() {
startActivity(intent) startActivity(intent)
} else { } else {
withContext(NonCancellable) { withContext(NonCancellable) {
var account = caldavDao.getAccount(TYPE_GOOGLE_TASKS, accountName) val account = caldavDao.getAccount(TYPE_GOOGLE_TASKS, accountName)
if (account == null) { if (account == null) {
account = CaldavAccount() caldavDao.insert(
account.accountType = TYPE_GOOGLE_TASKS CaldavAccount(
account.uuid = accountName accountType = TYPE_GOOGLE_TASKS,
account.name = accountName uuid = accountName,
account.username = accountName name = accountName,
caldavDao.insert(account) username = accountName,
)
)
firebase.logEvent( firebase.logEvent(
R.string.event_sync_add_account, R.string.event_sync_add_account,
R.string.param_type to Constants.SYNC_TYPE_GOOGLE_TASKS R.string.param_type to Constants.SYNC_TYPE_GOOGLE_TASKS
) )
} else { } else {
account.error = "" caldavDao.update(
caldavDao.update(account) account.copy(error = "")
)
googleTaskListDao.resetLastSync(accountName) googleTaskListDao.resetLastSync(accountName)
} }
} }

@ -72,18 +72,19 @@ class MicrosoftAuthenticationActivity : ComponentActivity() {
caldavDao caldavDao
.getAccount(TYPE_MICROSOFT, email) .getAccount(TYPE_MICROSOFT, email)
?.let { ?.let {
it.password = encryption.encrypt(authState.jsonSerializeString()) caldavDao.update(
caldavDao.update(it) it.copy(password = encryption.encrypt(authState.jsonSerializeString()))
)
} }
?: caldavDao ?: caldavDao
.insert( .insert(
CaldavAccount().apply { CaldavAccount(
uuid = UUIDHelper.newUUID() uuid = UUIDHelper.newUUID(),
name = email name = email,
username = email username = email,
password = encryption.encrypt(authState.jsonSerializeString()) password = encryption.encrypt(authState.jsonSerializeString()),
accountType = TYPE_MICROSOFT accountType = TYPE_MICROSOFT,
} )
) )
.also { .also {
firebase.logEvent( firebase.logEvent(

@ -76,19 +76,19 @@ class SignInViewModel @Inject constructor(
.homeSet(username, tokenString) .homeSet(username, tokenString)
val password = encryption.encrypt(tokenString) val password = encryption.encrypt(tokenString)
return caldavDao.getAccount(CaldavAccount.TYPE_TASKS, username) return caldavDao.getAccount(CaldavAccount.TYPE_TASKS, username)
?.apply { ?.let {
error = null it.copy(error = null, password = password)
this.password = password .also { caldavDao.update(it) }
caldavDao.update(this)
} }
?: CaldavAccount().apply { ?: CaldavAccount(
accountType = CaldavAccount.TYPE_TASKS accountType = CaldavAccount.TYPE_TASKS,
uuid = UUIDHelper.newUUID() uuid = UUIDHelper.newUUID(),
this.username = username username = username,
this.password = password password = password,
url = homeSet url = homeSet,
name = idToken.email ?: idToken.login name = idToken.email ?: idToken.login,
caldavDao.insert(this) ).let {
it.copy(id = caldavDao.insert(it))
} }
} catch (e: Exception) { } catch (e: Exception) {
error.postValue(e) error.postValue(e)

@ -100,12 +100,12 @@ class TasksJsonImporter @Inject constructor(
backupContainer.googleTaskAccounts?.forEach { googleTaskAccount -> backupContainer.googleTaskAccounts?.forEach { googleTaskAccount ->
if (caldavDao.getAccount(TYPE_GOOGLE_TASKS, googleTaskAccount.account!!) == null) { if (caldavDao.getAccount(TYPE_GOOGLE_TASKS, googleTaskAccount.account!!) == null) {
caldavDao.insert( caldavDao.insert(
CaldavAccount().apply { CaldavAccount(
accountType = TYPE_GOOGLE_TASKS accountType = TYPE_GOOGLE_TASKS,
uuid = googleTaskAccount.account uuid = googleTaskAccount.account,
name = googleTaskAccount.account name = googleTaskAccount.account,
username = googleTaskAccount.account username = googleTaskAccount.account,
} )
) )
} }
} }

@ -38,14 +38,15 @@ class CaldavAccountSettingsActivity : BaseCaldavAccountSettingsActivity(), Toolb
private suspend fun addAccount(principal: String) { private suspend fun addAccount(principal: String) {
hideProgressIndicator() hideProgressIndicator()
Timber.d("Found principal: %s", principal) Timber.d("Found principal: %s", principal)
CaldavAccount().apply { caldavDao.insert(
name = newName CaldavAccount(
url = principal name = newName,
username = newUsername url = principal,
password = encryption.encrypt(newPassword!!) username = newUsername,
uuid = UUIDHelper.newUUID() password = encryption.encrypt(newPassword!!),
id = caldavDao.insert(this) uuid = UUIDHelper.newUUID(),
} )
)
firebase.logEvent( firebase.logEvent(
R.string.event_sync_add_account, R.string.event_sync_add_account,
R.string.param_type to Constants.SYNC_TYPE_CALDAV R.string.param_type to Constants.SYNC_TYPE_CALDAV

@ -18,10 +18,11 @@ suspend fun CaldavDao.getLocalList(context: Context) = mutex.withLock {
getLocalList(context, getLocalAccount()) getLocalList(context, getLocalAccount())
} }
private suspend fun CaldavDao.getLocalAccount() = getAccountByUuid(CaldavDao.LOCAL) ?: CaldavAccount().apply { private suspend fun CaldavDao.getLocalAccount() = getAccountByUuid(CaldavDao.LOCAL) ?: CaldavAccount(
accountType = CaldavAccount.TYPE_LOCAL accountType = CaldavAccount.TYPE_LOCAL,
uuid = CaldavDao.LOCAL uuid = CaldavDao.LOCAL,
id = insert(this) ).let {
it.copy(id = insert(it))
} }
private suspend fun CaldavDao.getLocalList(context: Context, account: CaldavAccount): CaldavCalendar = private suspend fun CaldavDao.getLocalList(context: Context, account: CaldavAccount): CaldavCalendar =

@ -5,13 +5,13 @@ import android.os.Bundle
import android.view.View import android.view.View
import androidx.activity.viewModels import androidx.activity.viewModels
import androidx.appcompat.widget.Toolbar import androidx.appcompat.widget.Toolbar
import com.todoroo.astrid.data.Task
import com.todoroo.astrid.helper.UUIDHelper import com.todoroo.astrid.helper.UUIDHelper
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import org.tasks.R import org.tasks.R
import org.tasks.analytics.Constants import org.tasks.analytics.Constants
import org.tasks.caldav.BaseCaldavAccountSettingsActivity import org.tasks.caldav.BaseCaldavAccountSettingsActivity
import org.tasks.data.CaldavAccount import org.tasks.data.CaldavAccount
import com.todoroo.astrid.data.Task
import org.tasks.data.getPassword import org.tasks.data.getPassword
import timber.log.Timber import timber.log.Timber
import javax.inject.Inject import javax.inject.Inject
@ -51,9 +51,10 @@ class EtebaseAccountSettingsActivity : BaseCaldavAccountSettingsActivity(), Tool
get() = R.string.etesync_account_description get() = R.string.etesync_account_description
private suspend fun addAccount(session: String) { private suspend fun addAccount(session: String) {
caldavAccount = CaldavAccount() caldavAccount = CaldavAccount(
caldavAccount!!.accountType = CaldavAccount.TYPE_ETEBASE accountType = CaldavAccount.TYPE_ETEBASE,
caldavAccount!!.uuid = UUIDHelper.newUUID() uuid = UUIDHelper.newUUID(),
)
applyTo(caldavAccount!!, session) applyTo(caldavAccount!!, session)
} }

@ -47,11 +47,11 @@ class OpenTasksSynchronizer @Inject constructor(
lists.keys lists.keys
.filter { caldavDao.getAccountByUuid(it) == null } .filter { caldavDao.getAccountByUuid(it) == null }
.map { .map {
CaldavAccount().apply { CaldavAccount(
name = it.split(":")[1] name = it.split(":")[1],
uuid = it uuid = it,
accountType = CaldavAccount.TYPE_OPENTASKS accountType = CaldavAccount.TYPE_OPENTASKS,
} )
} }
.onEach { caldavDao.insert(it) } .onEach { caldavDao.insert(it) }
.forEach { .forEach {

@ -1,29 +0,0 @@
package org.tasks.makers
import com.natpryce.makeiteasy.Instantiator
import com.natpryce.makeiteasy.Property
import com.natpryce.makeiteasy.Property.newProperty
import com.natpryce.makeiteasy.PropertyValue
import org.tasks.data.CaldavAccount
import org.tasks.data.CaldavAccount.Companion.TYPE_CALDAV
import org.tasks.makers.Maker.make
object CaldavAccountMaker {
val ID: Property<CaldavAccount, Long> = newProperty()
val NAME: Property<CaldavAccount, String> = newProperty()
val UUID: Property<CaldavAccount, String> = newProperty()
val ACCOUNT_TYPE: Property<CaldavAccount, Int> = newProperty()
private val instantiator = Instantiator { lookup ->
CaldavAccount().apply {
id = lookup.valueOf(ID, 0L)
name = lookup.valueOf(NAME, null as String?)
uuid = lookup.valueOf(UUID, "account")
accountType = lookup.valueOf(ACCOUNT_TYPE, TYPE_CALDAV)
}
}
fun newCaldavAccount(vararg properties: PropertyValue<in CaldavAccount?, *>): CaldavAccount {
return make(instantiator, *properties)
}
}

@ -49,7 +49,6 @@ android {
} }
dependencies { dependencies {
implementation(libs.androidx.core)
implementation(libs.androidx.lifecycle.livedata) implementation(libs.androidx.lifecycle.livedata)
implementation(libs.androidx.room) implementation(libs.androidx.room)
implementation(libs.gson) implementation(libs.gson)

@ -1,68 +1,42 @@
package org.tasks.data package org.tasks.data
import android.os.Parcel
import android.os.Parcelable import android.os.Parcelable
import androidx.core.os.ParcelCompat
import androidx.room.ColumnInfo import androidx.room.ColumnInfo
import androidx.room.Entity import androidx.room.Entity
import androidx.room.Ignore
import androidx.room.PrimaryKey import androidx.room.PrimaryKey
import com.todoroo.andlib.data.Table import com.todoroo.andlib.data.Table
import com.todoroo.astrid.data.Task import com.todoroo.astrid.data.Task
import kotlinx.parcelize.Parcelize
import java.net.HttpURLConnection import java.net.HttpURLConnection
@Parcelize
@Entity(tableName = "caldav_accounts") @Entity(tableName = "caldav_accounts")
class CaldavAccount : Parcelable { data class CaldavAccount(
@PrimaryKey(autoGenerate = true) @PrimaryKey(autoGenerate = true)
@ColumnInfo(name = "cda_id") @ColumnInfo(name = "cda_id")
@Transient @Transient
var id: Long = 0 val id: Long = 0,
@ColumnInfo(name = "cda_uuid") @ColumnInfo(name = "cda_uuid")
var uuid: String? = Task.NO_UUID val uuid: String? = Task.NO_UUID,
@ColumnInfo(name = "cda_name") @ColumnInfo(name = "cda_name")
var name: String? = "" var name: String? = "",
@ColumnInfo(name = "cda_url") @ColumnInfo(name = "cda_url")
var url: String? = "" var url: String? = "",
@ColumnInfo(name = "cda_username") @ColumnInfo(name = "cda_username")
var username: String? = "" var username: String? = "",
@ColumnInfo(name = "cda_password") @ColumnInfo(name = "cda_password")
@Transient @Transient
var password: String? = "" var password: String? = "",
@ColumnInfo(name = "cda_error") @ColumnInfo(name = "cda_error")
@Transient @Transient
var error: String? = "" var error: String? = "",
@ColumnInfo(name = "cda_account_type") @ColumnInfo(name = "cda_account_type")
var accountType = TYPE_CALDAV val accountType: Int = TYPE_CALDAV,
@ColumnInfo(name = "cda_collapsed") @ColumnInfo(name = "cda_collapsed")
var isCollapsed = false val isCollapsed: Boolean = false,
@ColumnInfo(name = "cda_server_type") @ColumnInfo(name = "cda_server_type")
var serverType = SERVER_UNKNOWN var serverType: Int = SERVER_UNKNOWN,
) : Parcelable {
constructor()
@Ignore
constructor(source: Parcel) {
id = source.readLong()
uuid = source.readString()
name = source.readString()
url = source.readString()
username = source.readString()
password = source.readString()
error = source.readString()
accountType = source.readInt()
isCollapsed = ParcelCompat.readBoolean(source)
serverType = source.readInt()
}
val isCaldavAccount: Boolean val isCaldavAccount: Boolean
get() = accountType == TYPE_CALDAV get() = accountType == TYPE_CALDAV
@ -95,64 +69,12 @@ class CaldavAccount : Parcelable {
val reminderSync: Boolean val reminderSync: Boolean
get() = serverType != SERVER_SYNOLOGY_CALENDAR get() = serverType != SERVER_SYNOLOGY_CALENDAR
override fun describeContents() = 0
override fun writeToParcel(dest: Parcel, flags: Int) {
with(dest) {
writeLong(id)
writeString(uuid)
writeString(name)
writeString(url)
writeString(username)
writeString(password)
writeString(error)
writeInt(accountType)
ParcelCompat.writeBoolean(this, isCollapsed)
writeInt(serverType)
}
}
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (javaClass != other?.javaClass) return false
other as CaldavAccount
if (id != other.id) return false
if (uuid != other.uuid) return false
if (name != other.name) return false
if (url != other.url) return false
if (username != other.username) return false
if (password != other.password) return false
if (error != other.error) return false
if (accountType != other.accountType) return false
if (isCollapsed != other.isCollapsed) return false
if (serverType != other.serverType) return false
return true
}
override fun hashCode(): Int {
var result = id.hashCode()
result = 31 * result + (uuid?.hashCode() ?: 0)
result = 31 * result + (name?.hashCode() ?: 0)
result = 31 * result + (url?.hashCode() ?: 0)
result = 31 * result + (username?.hashCode() ?: 0)
result = 31 * result + (password?.hashCode() ?: 0)
result = 31 * result + (error?.hashCode() ?: 0)
result = 31 * result + accountType
result = 31 * result + isCollapsed.hashCode()
result = 31 * result + serverType
return result
}
override fun toString(): String {
return "CaldavAccount(id=$id, uuid=$uuid, name=$name, url=$url, username=$username, password=<redacted>>, error=$error, accountType=$accountType, isCollapsed=$isCollapsed, serverType=$serverType)"
}
fun isLoggedOut() = error?.startsWith(ERROR_UNAUTHORIZED) == true fun isLoggedOut() = error?.startsWith(ERROR_UNAUTHORIZED) == true
fun isPaymentRequired() = error.isPaymentRequired() fun isPaymentRequired() = error.isPaymentRequired()
override fun toString(): String {
return "CaldavAccount(id=$id, uuid=$uuid, name=$name, url=$url, username=$username, error=$error, accountType=$accountType, isCollapsed=$isCollapsed, serverType=$serverType)"
}
val hasError: Boolean val hasError: Boolean
get() = !error.isNullOrBlank() get() = !error.isNullOrBlank()
@ -187,11 +109,5 @@ class CaldavAccount : Parcelable {
fun String?.openTaskType(): String? = this?.split(":")?.get(0) fun String?.openTaskType(): String? = this?.split(":")?.get(0)
fun String?.isPaymentRequired(): Boolean = this?.startsWith(ERROR_PAYMENT_REQUIRED) == true fun String?.isPaymentRequired(): Boolean = this?.startsWith(ERROR_PAYMENT_REQUIRED) == true
@JvmField val CREATOR: Parcelable.Creator<CaldavAccount> = object : Parcelable.Creator<CaldavAccount> {
override fun createFromParcel(source: Parcel): CaldavAccount = CaldavAccount(source)
override fun newArray(size: Int): Array<CaldavAccount?> = arrayOfNulls(size)
}
} }
} }

@ -1,6 +1,5 @@
package org.tasks.data package org.tasks.data
import androidx.core.util.Pair
import androidx.lifecycle.LiveData import androidx.lifecycle.LiveData
import androidx.room.Dao import androidx.room.Dao
import androidx.room.Delete import androidx.room.Delete

@ -213,20 +213,6 @@
+| \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 (*) +| \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 (*)
++--- project :data ++--- project :data
+| +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 (*) +| +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 (*)
+| +--- androidx.core:core:1.13.1
+| | +--- androidx.annotation:annotation:1.6.0 -> 1.7.1 (*)
+| | +--- androidx.annotation:annotation-experimental:1.4.0
+| | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.9.23 (*)
+| | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*)
+| | +--- androidx.concurrent:concurrent-futures:1.0.0 -> 1.1.0 (*)
+| | +--- androidx.interpolator:interpolator:1.0.0
+| | | \--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*)
+| | +--- androidx.lifecycle:lifecycle-runtime:2.6.2 -> 2.7.0 (*)
+| | +--- androidx.versionedparcelable:versionedparcelable:1.1.1
+| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*)
+| | | \--- androidx.collection:collection:1.0.0 -> 1.4.0 (*)
+| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.23 (*)
+| | \--- androidx.core:core-ktx:1.13.1 (c)
+| +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0 (*) +| +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0 (*)
+| +--- androidx.room:room-ktx:2.6.1 +| +--- androidx.room:room-ktx:2.6.1
+| | +--- androidx.room:room-common:2.6.1 +| | +--- androidx.room:room-common:2.6.1
@ -235,7 +221,8 @@
+| | | +--- androidx.room:room-ktx:2.6.1 (c) +| | | +--- androidx.room:room-ktx:2.6.1 (c)
+| | | \--- androidx.room:room-runtime:2.6.1 (c) +| | | \--- androidx.room:room-runtime:2.6.1 (c)
+| | +--- androidx.room:room-runtime:2.6.1 +| | +--- androidx.room:room-runtime:2.6.1
+| | | +--- androidx.annotation:annotation-experimental:1.1.0-rc01 -> 1.4.0 (*) +| | | +--- androidx.annotation:annotation-experimental:1.1.0-rc01 -> 1.4.0
+| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.9.23 (*)
+| | | +--- androidx.arch.core:core-runtime:2.2.0 (*) +| | | +--- androidx.arch.core:core-runtime:2.2.0 (*)
+| | | +--- androidx.room:room-common:2.6.1 (*) +| | | +--- androidx.room:room-common:2.6.1 (*)
+| | | +--- androidx.sqlite:sqlite:2.4.0 +| | | +--- androidx.sqlite:sqlite:2.4.0
@ -291,11 +278,23 @@
+| +--- commons-io:commons-io:2.6 +| +--- commons-io:commons-io:2.6
+| +--- org.slf4j:slf4j-jdk14:2.0.3 +| +--- org.slf4j:slf4j-jdk14:2.0.3
+| | \--- org.slf4j:slf4j-api:2.0.3 +| | \--- org.slf4j:slf4j-api:2.0.3
+| \--- androidx.core:core-ktx:1.9.0 -> 1.13.1 +| \--- androidx.core:core-ktx:1.9.0 -> 1.13.0
+| +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*)
+| +--- androidx.core:core:1.13.1 (*) +| +--- androidx.core:core:1.13.0
+| | +--- androidx.annotation:annotation:1.6.0 -> 1.7.1 (*)
+| | +--- androidx.annotation:annotation-experimental:1.4.0 (*)
+| | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*)
+| | +--- androidx.concurrent:concurrent-futures:1.0.0 -> 1.1.0 (*)
+| | +--- androidx.interpolator:interpolator:1.0.0
+| | | \--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*)
+| | +--- androidx.lifecycle:lifecycle-runtime:2.6.2 -> 2.7.0 (*)
+| | +--- androidx.versionedparcelable:versionedparcelable:1.1.1
+| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*)
+| | | \--- androidx.collection:collection:1.0.0 -> 1.4.0 (*)
+| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.23 (*)
+| | \--- androidx.core:core-ktx:1.13.0 (c)
+| +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.23 (*) +| +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.23 (*)
+| \--- androidx.core:core:1.13.1 (c) +| \--- androidx.core:core:1.13.0 (c)
++--- com.github.bitfireAT:cert4android:7814052 ++--- com.github.bitfireAT:cert4android:7814052
+| +--- androidx.databinding:databinding-common:7.2.0 -> 8.4.0 +| +--- androidx.databinding:databinding-common:7.2.0 -> 8.4.0
+| +--- androidx.databinding:databinding-runtime:7.2.0 -> 8.4.0 (*) +| +--- androidx.databinding:databinding-runtime:7.2.0 -> 8.4.0 (*)
@ -306,12 +305,12 @@
+| | +--- androidx.activity:activity:1.6.0 -> 1.9.0 +| | +--- androidx.activity:activity:1.6.0 -> 1.9.0
+| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*)
+| | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*)
+| | | +--- androidx.core:core:1.13.0 -> 1.13.1 (*) +| | | +--- androidx.core:core:1.13.0 (*)
+| | | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.7.0 (*) +| | | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.7.0 (*)
+| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.7.0 (*) +| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.7.0 (*)
+| | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.1 -> 2.7.0 +| | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.1 -> 2.7.0
+| | | | +--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*) +| | | | +--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*)
+| | | | +--- androidx.core:core-ktx:1.2.0 -> 1.13.1 (*) +| | | | +--- androidx.core:core-ktx:1.2.0 -> 1.13.0 (*)
+| | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 (*) +| | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 (*)
+| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.7.0 (*) +| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.7.0 (*)
+| | | | +--- androidx.savedstate:savedstate:1.2.1 +| | | | +--- androidx.savedstate:savedstate:1.2.1
@ -345,10 +344,10 @@
+| | +--- androidx.appcompat:appcompat-resources:1.6.1 +| | +--- androidx.appcompat:appcompat-resources:1.6.1
+| | | +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*) +| | | +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*)
+| | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*)
+| | | +--- androidx.core:core:1.6.0 -> 1.13.1 (*) +| | | +--- androidx.core:core:1.6.0 -> 1.13.0 (*)
+| | | +--- androidx.vectordrawable:vectordrawable:1.1.0 +| | | +--- androidx.vectordrawable:vectordrawable:1.1.0
+| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*)
+| | | | +--- androidx.core:core:1.1.0 -> 1.13.1 (*) +| | | | +--- androidx.core:core:1.1.0 -> 1.13.0 (*)
+| | | | \--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) +| | | | \--- androidx.collection:collection:1.1.0 -> 1.4.0 (*)
+| | | +--- androidx.vectordrawable:vectordrawable-animated:1.1.0 +| | | +--- androidx.vectordrawable:vectordrawable-animated:1.1.0
+| | | | +--- androidx.vectordrawable:vectordrawable:1.1.0 (*) +| | | | +--- androidx.vectordrawable:vectordrawable:1.1.0 (*)
@ -356,27 +355,27 @@
+| | | | \--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) +| | | | \--- androidx.collection:collection:1.1.0 -> 1.4.0 (*)
+| | | \--- androidx.appcompat:appcompat:1.6.1 (c) +| | | \--- androidx.appcompat:appcompat:1.6.1 (c)
+| | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*)
+| | +--- androidx.core:core:1.9.0 -> 1.13.1 (*) +| | +--- androidx.core:core:1.9.0 -> 1.13.0 (*)
+| | +--- androidx.core:core-ktx:1.8.0 -> 1.13.1 (*) +| | +--- androidx.core:core-ktx:1.8.0 -> 1.13.0 (*)
+| | +--- androidx.cursoradapter:cursoradapter:1.0.0 +| | +--- androidx.cursoradapter:cursoradapter:1.0.0
+| | | \--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*) +| | | \--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*)
+| | +--- androidx.drawerlayout:drawerlayout:1.0.0 -> 1.1.1 +| | +--- androidx.drawerlayout:drawerlayout:1.0.0 -> 1.1.1
+| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*)
+| | | +--- androidx.core:core:1.2.0 -> 1.13.1 (*) +| | | +--- androidx.core:core:1.2.0 -> 1.13.0 (*)
+| | | \--- androidx.customview:customview:1.1.0 +| | | \--- androidx.customview:customview:1.1.0
+| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*)
+| | | +--- androidx.core:core:1.3.0 -> 1.13.1 (*) +| | | +--- androidx.core:core:1.3.0 -> 1.13.0 (*)
+| | | \--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) +| | | \--- androidx.collection:collection:1.1.0 -> 1.4.0 (*)
+| | +--- androidx.emoji2:emoji2:1.2.0 -> 1.3.0 +| | +--- androidx.emoji2:emoji2:1.2.0 -> 1.3.0
+| | | +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*) +| | | +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*)
+| | | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) +| | | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*)
+| | | +--- androidx.core:core:1.3.0 -> 1.13.1 (*) +| | | +--- androidx.core:core:1.3.0 -> 1.13.0 (*)
+| | | +--- androidx.lifecycle:lifecycle-process:2.4.1 -> 2.7.0 (*) +| | | +--- androidx.lifecycle:lifecycle-process:2.4.1 -> 2.7.0 (*)
+| | | +--- androidx.startup:startup-runtime:1.0.0 -> 1.1.1 (*) +| | | +--- androidx.startup:startup-runtime:1.0.0 -> 1.1.1 (*)
+| | | \--- androidx.emoji2:emoji2-views-helper:1.3.0 (c) +| | | \--- androidx.emoji2:emoji2-views-helper:1.3.0 (c)
+| | +--- androidx.emoji2:emoji2-views-helper:1.2.0 -> 1.3.0 +| | +--- androidx.emoji2:emoji2-views-helper:1.2.0 -> 1.3.0
+| | | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) +| | | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*)
+| | | +--- androidx.core:core:1.3.0 -> 1.13.1 (*) +| | | +--- androidx.core:core:1.3.0 -> 1.13.0 (*)
+| | | +--- androidx.emoji2:emoji2:1.3.0 (*) +| | | +--- androidx.emoji2:emoji2:1.3.0 (*)
+| | | \--- androidx.emoji2:emoji2:1.3.0 (c) +| | | \--- androidx.emoji2:emoji2:1.3.0 (c)
+| | +--- androidx.fragment:fragment:1.3.6 -> 1.7.0 +| | +--- androidx.fragment:fragment:1.3.6 -> 1.7.0
@ -384,21 +383,21 @@
+| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*)
+| | | +--- androidx.annotation:annotation-experimental:1.4.0 (*) +| | | +--- androidx.annotation:annotation-experimental:1.4.0 (*)
+| | | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) +| | | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*)
+| | | +--- androidx.core:core-ktx:1.2.0 -> 1.13.1 (*) +| | | +--- androidx.core:core-ktx:1.2.0 -> 1.13.0 (*)
+| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.6.1 -> 2.7.0 (*) +| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.6.1 -> 2.7.0 (*)
+| | | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.7.0 (*) +| | | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.7.0 (*)
+| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.7.0 (*) +| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.7.0 (*)
+| | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.1 -> 2.7.0 (*) +| | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.1 -> 2.7.0 (*)
+| | | +--- androidx.loader:loader:1.0.0 +| | | +--- androidx.loader:loader:1.0.0
+| | | | +--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*) +| | | | +--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*)
+| | | | +--- androidx.core:core:1.0.0 -> 1.13.1 (*) +| | | | +--- androidx.core:core:1.0.0 -> 1.13.0 (*)
+| | | | +--- androidx.lifecycle:lifecycle-livedata:2.0.0 -> 2.7.0 (*) +| | | | +--- androidx.lifecycle:lifecycle-livedata:2.0.0 -> 2.7.0 (*)
+| | | | \--- androidx.lifecycle:lifecycle-viewmodel:2.0.0 -> 2.7.0 (*) +| | | | \--- androidx.lifecycle:lifecycle-viewmodel:2.0.0 -> 2.7.0 (*)
+| | | +--- androidx.profileinstaller:profileinstaller:1.3.1 (*) +| | | +--- androidx.profileinstaller:profileinstaller:1.3.1 (*)
+| | | +--- androidx.savedstate:savedstate:1.2.1 (*) +| | | +--- androidx.savedstate:savedstate:1.2.1 (*)
+| | | +--- androidx.viewpager:viewpager:1.0.0 +| | | +--- androidx.viewpager:viewpager:1.0.0
+| | | | +--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*) +| | | | +--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*)
+| | | | +--- androidx.core:core:1.0.0 -> 1.13.1 (*) +| | | | +--- androidx.core:core:1.0.0 -> 1.13.0 (*)
+| | | | \--- androidx.customview:customview:1.0.0 -> 1.1.0 (*) +| | | | \--- androidx.customview:customview:1.0.0 -> 1.1.0 (*)
+| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.23 (*) +| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.23 (*)
+| | | \--- androidx.fragment:fragment-ktx:1.7.0 (c) +| | | \--- androidx.fragment:fragment-ktx:1.7.0 (c)
@ -468,21 +467,21 @@
+| | +--- androidx.cardview:cardview:1.0.0 (*) +| | +--- androidx.cardview:cardview:1.0.0 (*)
+| | +--- androidx.coordinatorlayout:coordinatorlayout:1.1.0 +| | +--- androidx.coordinatorlayout:coordinatorlayout:1.1.0
+| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*)
+| | | +--- androidx.core:core:1.1.0 -> 1.13.1 (*) +| | | +--- androidx.core:core:1.1.0 -> 1.13.0 (*)
+| | | +--- androidx.customview:customview:1.0.0 -> 1.1.0 (*) +| | | +--- androidx.customview:customview:1.0.0 -> 1.1.0 (*)
+| | | \--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| | | \--- androidx.collection:collection:1.0.0 -> 1.4.0 (*)
+| | +--- androidx.constraintlayout:constraintlayout:2.0.1 -> 2.1.4 +| | +--- androidx.constraintlayout:constraintlayout:2.0.1 -> 2.1.4
+| | | +--- androidx.appcompat:appcompat:1.2.0 -> 1.6.1 (*) +| | | +--- androidx.appcompat:appcompat:1.2.0 -> 1.6.1 (*)
+| | | +--- androidx.core:core:1.3.2 -> 1.13.1 (*) +| | | +--- androidx.core:core:1.3.2 -> 1.13.0 (*)
+| | | \--- androidx.constraintlayout:constraintlayout-core:1.0.4 +| | | \--- androidx.constraintlayout:constraintlayout-core:1.0.4
+| | +--- androidx.core:core:1.6.0 -> 1.13.1 (*) +| | +--- androidx.core:core:1.6.0 -> 1.13.0 (*)
+| | +--- androidx.drawerlayout:drawerlayout:1.1.1 (*) +| | +--- androidx.drawerlayout:drawerlayout:1.1.1 (*)
+| | +--- androidx.dynamicanimation:dynamicanimation:1.0.0 +| | +--- androidx.dynamicanimation:dynamicanimation:1.0.0
+| | | +--- androidx.core:core:1.0.0 -> 1.13.1 (*) +| | | +--- androidx.core:core:1.0.0 -> 1.13.0 (*)
+| | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*)
+| | | \--- androidx.legacy:legacy-support-core-utils:1.0.0 +| | | \--- androidx.legacy:legacy-support-core-utils:1.0.0
+| | | +--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*) +| | | +--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*)
+| | | +--- androidx.core:core:1.0.0 -> 1.13.1 (*) +| | | +--- androidx.core:core:1.0.0 -> 1.13.0 (*)
+| | | +--- androidx.documentfile:documentfile:1.0.0 +| | | +--- androidx.documentfile:documentfile:1.0.0
+| | | | \--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*) +| | | | \--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*)
+| | | +--- androidx.loader:loader:1.0.0 (*) +| | | +--- androidx.loader:loader:1.0.0 (*)
@ -496,24 +495,24 @@
+| | +--- androidx.recyclerview:recyclerview:1.0.0 -> 1.3.2 +| | +--- androidx.recyclerview:recyclerview:1.0.0 -> 1.3.2
+| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*)
+| | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*)
+| | | +--- androidx.core:core:1.7.0 -> 1.13.1 (*) +| | | +--- androidx.core:core:1.7.0 -> 1.13.0 (*)
+| | | +--- androidx.customview:customview:1.0.0 -> 1.1.0 (*) +| | | +--- androidx.customview:customview:1.0.0 -> 1.1.0 (*)
+| | | +--- androidx.customview:customview-poolingcontainer:1.0.0 +| | | +--- androidx.customview:customview-poolingcontainer:1.0.0
+| | | | +--- androidx.core:core-ktx:1.5.0 -> 1.13.1 (*) +| | | | +--- androidx.core:core-ktx:1.5.0 -> 1.13.0 (*)
+| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.9.23 (*) +| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.9.23 (*)
+| | | \--- androidx.viewpager2:viewpager2:1.1.0-beta02 (c) +| | | \--- androidx.viewpager2:viewpager2:1.1.0-beta02 (c)
+| | +--- androidx.resourceinspection:resourceinspection-annotation:1.0.1 (*) +| | +--- androidx.resourceinspection:resourceinspection-annotation:1.0.1 (*)
+| | +--- androidx.transition:transition:1.5.0 +| | +--- androidx.transition:transition:1.5.0
+| | | +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*) +| | | +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*)
+| | | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) +| | | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*)
+| | | +--- androidx.core:core:1.13.0 -> 1.13.1 (*) +| | | +--- androidx.core:core:1.13.0 (*)
+| | | \--- androidx.dynamicanimation:dynamicanimation:1.0.0 (*) +| | | \--- androidx.dynamicanimation:dynamicanimation:1.0.0 (*)
+| | +--- androidx.vectordrawable:vectordrawable:1.1.0 (*) +| | +--- androidx.vectordrawable:vectordrawable:1.1.0 (*)
+| | \--- androidx.viewpager2:viewpager2:1.0.0 -> 1.1.0-beta02 +| | \--- androidx.viewpager2:viewpager2:1.0.0 -> 1.1.0-beta02
+| | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*)
+| | +--- androidx.annotation:annotation-experimental:1.3.0 -> 1.4.0 (*) +| | +--- androidx.annotation:annotation-experimental:1.3.0 -> 1.4.0 (*)
+| | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) +| | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*)
+| | +--- androidx.core:core:1.3.2 -> 1.13.1 (*) +| | +--- androidx.core:core:1.3.2 -> 1.13.0 (*)
+| | +--- androidx.fragment:fragment:1.1.0 -> 1.7.0 (*) +| | +--- androidx.fragment:fragment:1.1.0 -> 1.7.0 (*)
+| | \--- androidx.recyclerview:recyclerview:1.3.1-rc01 -> 1.3.2 (*) +| | \--- androidx.recyclerview:recyclerview:1.3.1-rc01 -> 1.3.2 (*)
+| \--- org.conscrypt:conscrypt-android:2.5.2 +| \--- org.conscrypt:conscrypt-android:2.5.2
@ -545,8 +544,8 @@
+| | \--- com.google.dagger:hilt-core:2.49 -> 2.50 (*) +| | \--- com.google.dagger:hilt-core:2.49 -> 2.50 (*)
+| +--- androidx.work:work-runtime:2.3.4 -> 2.8.1 +| +--- androidx.work:work-runtime:2.3.4 -> 2.8.1
+| | +--- androidx.annotation:annotation-experimental:1.0.0 -> 1.4.0 (*) +| | +--- androidx.annotation:annotation-experimental:1.0.0 -> 1.4.0 (*)
+| | +--- androidx.core:core:1.1.0 -> 1.13.1 (*) +| | +--- androidx.core:core:1.1.0 -> 1.13.0 (*)
+| | +--- androidx.core:core:1.6.0 -> 1.13.1 (*) +| | +--- androidx.core:core:1.6.0 -> 1.13.0 (*)
+| | +--- androidx.lifecycle:lifecycle-livedata:2.1.0 -> 2.7.0 (*) +| | +--- androidx.lifecycle:lifecycle-livedata:2.1.0 -> 2.7.0 (*)
+| | +--- androidx.lifecycle:lifecycle-service:2.1.0 -> 2.7.0 (*) +| | +--- androidx.lifecycle:lifecycle-service:2.1.0 -> 2.7.0 (*)
+| | +--- androidx.room:room-runtime:2.5.0 -> 2.6.1 (*) +| | +--- androidx.room:room-runtime:2.5.0 -> 2.6.1 (*)
@ -558,7 +557,7 @@
++--- androidx.fragment:fragment-ktx:1.7.0 ++--- androidx.fragment:fragment-ktx:1.7.0
+| +--- androidx.activity:activity-ktx:1.8.1 -> 1.9.0 +| +--- androidx.activity:activity-ktx:1.8.1 -> 1.9.0
+| | +--- androidx.activity:activity:1.9.0 (*) +| | +--- androidx.activity:activity:1.9.0 (*)
+| | +--- androidx.core:core-ktx:1.13.0 -> 1.13.1 (*) +| | +--- androidx.core:core-ktx:1.13.0 (*)
+| | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.1 -> 2.7.0 (*) +| | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.1 -> 2.7.0 (*)
+| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1 -> 2.7.0 (*) +| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1 -> 2.7.0 (*)
+| | +--- androidx.savedstate:savedstate-ktx:1.2.1 +| | +--- androidx.savedstate:savedstate-ktx:1.2.1
@ -571,7 +570,7 @@
+| +--- androidx.collection:collection-ktx:1.1.0 -> 1.4.0 +| +--- androidx.collection:collection-ktx:1.1.0 -> 1.4.0
+| | +--- androidx.collection:collection:1.4.0 (*) +| | +--- androidx.collection:collection:1.4.0 (*)
+| | \--- androidx.collection:collection:1.4.0 (c) +| | \--- androidx.collection:collection:1.4.0 (c)
+| +--- androidx.core:core-ktx:1.2.0 -> 1.13.1 (*) +| +--- androidx.core:core-ktx:1.2.0 -> 1.13.0 (*)
+| +--- androidx.fragment:fragment:1.7.0 (*) +| +--- androidx.fragment:fragment:1.7.0 (*)
+| +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.6.1 -> 2.7.0 (*) +| +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.6.1 -> 2.7.0 (*)
+| +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1 -> 2.7.0 (*) +| +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1 -> 2.7.0 (*)
@ -634,7 +633,7 @@
+| | | +--- androidx.activity:activity-ktx:1.7.0 -> 1.9.0 (*) +| | | +--- androidx.activity:activity-ktx:1.7.0 -> 1.9.0 (*)
+| | | +--- androidx.annotation:annotation:1.6.0 -> 1.7.1 (*) +| | | +--- androidx.annotation:annotation:1.6.0 -> 1.7.1 (*)
+| | | +--- androidx.autofill:autofill:1.0.0 +| | | +--- androidx.autofill:autofill:1.0.0
+| | | | \--- androidx.core:core:1.1.0 -> 1.13.1 (*) +| | | | \--- androidx.core:core:1.1.0 -> 1.13.0 (*)
+| | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*)
+| | | +--- androidx.collection:collection:1.4.0 (*) +| | | +--- androidx.collection:collection:1.4.0 (*)
+| | | +--- androidx.compose.runtime:runtime:1.6.7 (*) +| | | +--- androidx.compose.runtime:runtime:1.6.7 (*)
@ -702,7 +701,7 @@
+| | | | +--- androidx.compose.ui:ui-graphics:1.6.7 (*) +| | | | +--- androidx.compose.ui:ui-graphics:1.6.7 (*)
+| | | | +--- androidx.compose.ui:ui-unit:1.6.7 (*) +| | | | +--- androidx.compose.ui:ui-unit:1.6.7 (*)
+| | | | +--- androidx.compose.ui:ui-util:1.6.7 (*) +| | | | +--- androidx.compose.ui:ui-util:1.6.7 (*)
+| | | | +--- androidx.core:core:1.7.0 -> 1.13.1 (*) +| | | | +--- androidx.core:core:1.7.0 -> 1.13.0 (*)
+| | | | +--- androidx.emoji2:emoji2:1.2.0 -> 1.3.0 (*) +| | | | +--- androidx.emoji2:emoji2:1.2.0 -> 1.3.0 (*)
+| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.23 (*) +| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.23 (*)
+| | | | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 1.9.23 (*) +| | | | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 1.9.23 (*)
@ -716,7 +715,7 @@
+| | | | \--- androidx.compose.ui:ui-viewbinding:1.6.7 (c) +| | | | \--- androidx.compose.ui:ui-viewbinding:1.6.7 (c)
+| | | +--- androidx.compose.ui:ui-unit:1.6.7 (*) +| | | +--- androidx.compose.ui:ui-unit:1.6.7 (*)
+| | | +--- androidx.compose.ui:ui-util:1.6.7 (*) +| | | +--- androidx.compose.ui:ui-util:1.6.7 (*)
+| | | +--- androidx.core:core:1.12.0 -> 1.13.1 (*) +| | | +--- androidx.core:core:1.12.0 -> 1.13.0 (*)
+| | | +--- androidx.customview:customview-poolingcontainer:1.0.0 (*) +| | | +--- androidx.customview:customview-poolingcontainer:1.0.0 (*)
+| | | +--- androidx.emoji2:emoji2:1.2.0 -> 1.3.0 (*) +| | | +--- androidx.emoji2:emoji2:1.2.0 -> 1.3.0 (*)
+| | | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.7.0 (*) +| | | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.7.0 (*)
@ -769,7 +768,7 @@
+| | | | +--- androidx.compose.runtime:runtime:1.6.7 (*) +| | | | +--- androidx.compose.runtime:runtime:1.6.7 (*)
+| | | | +--- androidx.compose.ui:ui:1.6.7 (*) +| | | | +--- androidx.compose.ui:ui:1.6.7 (*)
+| | | | +--- androidx.compose.ui:ui-util:1.6.7 (*) +| | | | +--- androidx.compose.ui:ui-util:1.6.7 (*)
+| | | | +--- androidx.core:core:1.7.0 -> 1.13.1 (*) +| | | | +--- androidx.core:core:1.7.0 -> 1.13.0 (*)
+| | | | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 1.9.23 (*) +| | | | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 1.9.23 (*)
+| | | | \--- androidx.compose.foundation:foundation:1.6.7 (c) +| | | | \--- androidx.compose.foundation:foundation:1.6.7 (c)
+| | | +--- androidx.compose.runtime:runtime:1.6.7 (*) +| | | +--- androidx.compose.runtime:runtime:1.6.7 (*)
@ -783,7 +782,7 @@
+| | +--- androidx.compose.ui:ui:1.6.7 (*) +| | +--- androidx.compose.ui:ui:1.6.7 (*)
+| | +--- androidx.compose.ui:ui-text:1.6.7 (*) +| | +--- androidx.compose.ui:ui-text:1.6.7 (*)
+| | +--- androidx.compose.ui:ui-util:1.6.7 (*) +| | +--- androidx.compose.ui:ui-util:1.6.7 (*)
+| | +--- androidx.core:core:1.12.0 -> 1.13.1 (*) +| | +--- androidx.core:core:1.12.0 -> 1.13.0 (*)
+| | +--- androidx.emoji2:emoji2:1.3.0 (*) +| | +--- androidx.emoji2:emoji2:1.3.0 (*)
+| | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 1.9.23 (*) +| | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 1.9.23 (*)
+| | \--- androidx.compose.foundation:foundation-layout:1.6.7 (c) +| | \--- androidx.compose.foundation:foundation-layout:1.6.7 (c)
@ -833,25 +832,25 @@
++--- androidx.constraintlayout:constraintlayout:2.1.4 (*) ++--- androidx.constraintlayout:constraintlayout:2.1.4 (*)
++--- androidx.swiperefreshlayout:swiperefreshlayout:1.1.0 ++--- androidx.swiperefreshlayout:swiperefreshlayout:1.1.0
+| +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*)
+| +--- androidx.core:core:1.1.0 -> 1.13.1 (*) +| +--- androidx.core:core:1.1.0 -> 1.13.0 (*)
+| \--- androidx.interpolator:interpolator:1.0.0 (*) +| \--- androidx.interpolator:interpolator:1.0.0 (*)
++--- androidx.preference:preference:1.2.1 ++--- androidx.preference:preference:1.2.1
+| +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*) +| +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*)
+| +--- androidx.appcompat:appcompat:1.1.0 -> 1.6.1 (*) +| +--- androidx.appcompat:appcompat:1.1.0 -> 1.6.1 (*)
+| +--- androidx.core:core:1.6.0 -> 1.13.1 (*) +| +--- androidx.core:core:1.6.0 -> 1.13.0 (*)
+| +--- androidx.activity:activity-ktx:1.5.1 -> 1.9.0 (*) +| +--- androidx.activity:activity-ktx:1.5.1 -> 1.9.0 (*)
+| +--- androidx.fragment:fragment-ktx:1.3.6 -> 1.7.0 (*) +| +--- androidx.fragment:fragment-ktx:1.3.6 -> 1.7.0 (*)
+| +--- androidx.recyclerview:recyclerview:1.0.0 -> 1.3.2 (*) +| +--- androidx.recyclerview:recyclerview:1.0.0 -> 1.3.2 (*)
+| +--- androidx.slidingpanelayout:slidingpanelayout:1.2.0 +| +--- androidx.slidingpanelayout:slidingpanelayout:1.2.0
+| | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*)
+| | +--- androidx.customview:customview:1.1.0 (*) +| | +--- androidx.customview:customview:1.1.0 (*)
+| | +--- androidx.core:core:1.1.0 -> 1.13.1 (*) +| | +--- androidx.core:core:1.1.0 -> 1.13.0 (*)
+| | +--- androidx.window:window:1.0.0 +| | +--- androidx.window:window:1.0.0
+| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.0 -> 1.9.23 (*) +| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.0 -> 1.9.23 (*)
+| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2 -> 1.7.3 (*) +| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2 -> 1.7.3 (*)
+| | | +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*) +| | | +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*)
+| | | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) +| | | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*)
+| | | \--- androidx.core:core:1.3.2 -> 1.13.1 (*) +| | | \--- androidx.core:core:1.3.2 -> 1.13.0 (*)
+| | \--- androidx.transition:transition:1.4.1 -> 1.5.0 (*) +| | \--- androidx.transition:transition:1.4.1 -> 1.5.0 (*)
+| \--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| \--- androidx.collection:collection:1.0.0 -> 1.4.0 (*)
++--- com.jakewharton.timber:timber:5.0.1 (*) ++--- com.jakewharton.timber:timber:5.0.1 (*)
@ -908,7 +907,7 @@
+| +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) +| +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*)
+| +--- androidx.concurrent:concurrent-futures:1.0.0 -> 1.1.0 (*) +| +--- androidx.concurrent:concurrent-futures:1.0.0 -> 1.1.0 (*)
+| +--- androidx.interpolator:interpolator:1.0.0 (*) +| +--- androidx.interpolator:interpolator:1.0.0 (*)
+| +--- androidx.core:core:1.1.0 -> 1.13.1 (*) +| +--- androidx.core:core:1.1.0 -> 1.13.0 (*)
+| +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*)
+| \--- com.google.guava:listenablefuture:1.0 -> 9999.0-empty-to-avoid-conflict-with-guava +| \--- com.google.guava:listenablefuture:1.0 -> 9999.0-empty-to-avoid-conflict-with-guava
++--- org.osmdroid:osmdroid-android:6.1.18 ++--- org.osmdroid:osmdroid-android:6.1.18
@ -992,7 +991,7 @@
+| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.20 -> 1.9.23 (*) +| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.20 -> 1.9.23 (*)
+| +--- com.google.android.material:compose-theme-adapter-core:1.0.1 +| +--- com.google.android.material:compose-theme-adapter-core:1.0.1
+| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.7.20 -> 1.9.23 (*) +| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.7.20 -> 1.9.23 (*)
+| | +--- androidx.core:core-ktx:1.9.0 -> 1.13.1 (*) +| | +--- androidx.core:core-ktx:1.9.0 -> 1.13.0 (*)
+| | +--- androidx.appcompat:appcompat:1.5.1 -> 1.6.1 (*) +| | +--- androidx.appcompat:appcompat:1.5.1 -> 1.6.1 (*)
+| | +--- com.google.android.material:material:1.7.0 -> 1.12.0 (*) +| | +--- com.google.android.material:material:1.7.0 -> 1.12.0 (*)
+| | +--- androidx.compose.runtime:runtime:1.3.1 -> 1.6.7 (*) +| | +--- androidx.compose.runtime:runtime:1.3.1 -> 1.6.7 (*)
@ -1055,7 +1054,7 @@
+| \--- androidx.compose.ui:ui-viewbinding:1.6.7 (c) +| \--- androidx.compose.ui:ui-viewbinding:1.6.7 (c)
++--- io.coil-kt:coil-compose:2.6.0 ++--- io.coil-kt:coil-compose:2.6.0
+| +--- io.coil-kt:coil-compose-base:2.6.0 +| +--- io.coil-kt:coil-compose-base:2.6.0
+| | +--- androidx.core:core-ktx:1.12.0 -> 1.13.1 (*) +| | +--- androidx.core:core-ktx:1.12.0 -> 1.13.0 (*)
+| | +--- com.google.accompanist:accompanist-drawablepainter:0.32.0 +| | +--- com.google.accompanist:accompanist-drawablepainter:0.32.0
+| | | +--- androidx.compose.ui:ui:1.5.0 -> 1.6.7 (*) +| | | +--- androidx.compose.ui:ui:1.5.0 -> 1.6.7 (*)
+| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 -> 1.7.3 (*) +| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 -> 1.7.3 (*)
@ -1064,7 +1063,7 @@
+| | | +--- androidx.annotation:annotation:1.7.1 (*) +| | | +--- androidx.annotation:annotation:1.7.1 (*)
+| | | +--- androidx.appcompat:appcompat-resources:1.6.1 (*) +| | | +--- androidx.appcompat:appcompat-resources:1.6.1 (*)
+| | | +--- androidx.collection:collection:1.4.0 (*) +| | | +--- androidx.collection:collection:1.4.0 (*)
+| | | +--- androidx.core:core-ktx:1.12.0 -> 1.13.1 (*) +| | | +--- androidx.core:core-ktx:1.12.0 -> 1.13.0 (*)
+| | | +--- androidx.exifinterface:exifinterface:1.3.7 +| | | +--- androidx.exifinterface:exifinterface:1.3.7
+| | | | \--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*) +| | | | \--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*)
+| | | +--- androidx.profileinstaller:profileinstaller:1.3.1 (*) +| | | +--- androidx.profileinstaller:profileinstaller:1.3.1 (*)
@ -1080,16 +1079,16 @@
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 1.9.23 (*) +| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 1.9.23 (*)
+| \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 1.9.23 (*) +| \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 1.9.23 (*)
++--- io.coil-kt:coil-video:2.6.0 ++--- io.coil-kt:coil-video:2.6.0
+| +--- androidx.core:core-ktx:1.12.0 -> 1.13.1 (*) +| +--- androidx.core:core-ktx:1.12.0 -> 1.13.0 (*)
+| +--- io.coil-kt:coil-base:2.6.0 (*) +| +--- io.coil-kt:coil-base:2.6.0 (*)
+| \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 1.9.23 (*) +| \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 1.9.23 (*)
++--- io.coil-kt:coil-svg:2.6.0 ++--- io.coil-kt:coil-svg:2.6.0
+| +--- androidx.core:core-ktx:1.12.0 -> 1.13.1 (*) +| +--- androidx.core:core-ktx:1.12.0 -> 1.13.0 (*)
+| +--- com.caverock:androidsvg-aar:1.4 +| +--- com.caverock:androidsvg-aar:1.4
+| +--- io.coil-kt:coil-base:2.6.0 (*) +| +--- io.coil-kt:coil-base:2.6.0 (*)
+| \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 1.9.23 (*) +| \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 1.9.23 (*)
++--- io.coil-kt:coil-gif:2.6.0 ++--- io.coil-kt:coil-gif:2.6.0
+| +--- androidx.core:core-ktx:1.12.0 -> 1.13.1 (*) +| +--- androidx.core:core-ktx:1.12.0 -> 1.13.0 (*)
+| +--- androidx.vectordrawable:vectordrawable-animated:1.1.0 (*) +| +--- androidx.vectordrawable:vectordrawable-animated:1.1.0 (*)
+| +--- io.coil-kt:coil-base:2.6.0 (*) +| +--- io.coil-kt:coil-base:2.6.0 (*)
+| \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 1.9.23 (*) +| \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 1.9.23 (*)
@ -1108,7 +1107,7 @@
+| | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32 -> 1.9.23 (*) +| | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32 -> 1.9.23 (*)
+| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.0 -> 1.9.23 (*) +| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.0 -> 1.9.23 (*)
+\--- com.google.accompanist:accompanist-systemuicontroller:0.32.0 +\--- com.google.accompanist:accompanist-systemuicontroller:0.32.0
+ +--- androidx.core:core-ktx:1.8.0 -> 1.13.1 (*) + +--- androidx.core:core-ktx:1.8.0 -> 1.13.0 (*)
+ +--- androidx.compose.ui:ui:1.5.0 -> 1.6.7 (*) + +--- androidx.compose.ui:ui:1.5.0 -> 1.6.7 (*)
+ +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 -> 1.7.3 (*) + +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 -> 1.7.3 (*)
+ \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.0 -> 1.9.23 (*) + \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.0 -> 1.9.23 (*)

@ -226,7 +226,7 @@
+| | | | +--- com.google.android.gms:play-services-tasks:16.0.1 -> 18.1.0 +| | | | +--- com.google.android.gms:play-services-tasks:16.0.1 -> 18.1.0
+| | | | | \--- com.google.android.gms:play-services-basement:18.3.0 +| | | | | \--- com.google.android.gms:play-services-basement:18.3.0
+| | | | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| | | | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*)
+| | | | | +--- androidx.core:core:1.2.0 -> 1.13.1 +| | | | | +--- androidx.core:core:1.2.0 -> 1.13.0
+| | | | | | +--- androidx.annotation:annotation:1.6.0 -> 1.7.1 (*) +| | | | | | +--- androidx.annotation:annotation:1.6.0 -> 1.7.1 (*)
+| | | | | | +--- androidx.annotation:annotation-experimental:1.4.0 +| | | | | | +--- androidx.annotation:annotation-experimental:1.4.0
+| | | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.9.23 (*) +| | | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.9.23 (*)
@ -239,21 +239,21 @@
+| | | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| | | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*)
+| | | | | | | \--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| | | | | | | \--- androidx.collection:collection:1.0.0 -> 1.4.0 (*)
+| | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.23 (*) +| | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.23 (*)
+| | | | | | \--- androidx.core:core-ktx:1.13.1 (c) +| | | | | | \--- androidx.core:core-ktx:1.13.0 (c)
+| | | | | \--- androidx.fragment:fragment:1.1.0 -> 1.7.0 +| | | | | \--- androidx.fragment:fragment:1.1.0 -> 1.7.0
+| | | | | +--- androidx.activity:activity:1.8.1 -> 1.9.0 +| | | | | +--- androidx.activity:activity:1.8.1 -> 1.9.0
+| | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*)
+| | | | | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| | | | | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*)
+| | | | | | +--- androidx.core:core:1.13.0 -> 1.13.1 (*) +| | | | | | +--- androidx.core:core:1.13.0 (*)
+| | | | | | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.7.0 (*) +| | | | | | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.7.0 (*)
+| | | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.7.0 (*) +| | | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.7.0 (*)
+| | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.1 -> 2.7.0 +| | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.1 -> 2.7.0
+| | | | | | | +--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*) +| | | | | | | +--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*)
+| | | | | | | +--- androidx.core:core-ktx:1.2.0 -> 1.13.1 +| | | | | | | +--- androidx.core:core-ktx:1.2.0 -> 1.13.0
+| | | | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| | | | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*)
+| | | | | | | | +--- androidx.core:core:1.13.1 (*) +| | | | | | | | +--- androidx.core:core:1.13.0 (*)
+| | | | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.23 (*) +| | | | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.23 (*)
+| | | | | | | | \--- androidx.core:core:1.13.1 (c) +| | | | | | | | \--- androidx.core:core:1.13.0 (c)
+| | | | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 (*) +| | | | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 (*)
+| | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.7.0 (*) +| | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.7.0 (*)
+| | | | | | | +--- androidx.savedstate:savedstate:1.2.1 +| | | | | | | +--- androidx.savedstate:savedstate:1.2.1
@ -286,24 +286,24 @@
+| | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*)
+| | | | | +--- androidx.annotation:annotation-experimental:1.4.0 (*) +| | | | | +--- androidx.annotation:annotation-experimental:1.4.0 (*)
+| | | | | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) +| | | | | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*)
+| | | | | +--- androidx.core:core-ktx:1.2.0 -> 1.13.1 (*) +| | | | | +--- androidx.core:core-ktx:1.2.0 -> 1.13.0 (*)
+| | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.6.1 -> 2.7.0 (*) +| | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.6.1 -> 2.7.0 (*)
+| | | | | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.7.0 (*) +| | | | | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.7.0 (*)
+| | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.7.0 (*) +| | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.7.0 (*)
+| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.1 -> 2.7.0 (*) +| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.1 -> 2.7.0 (*)
+| | | | | +--- androidx.loader:loader:1.0.0 +| | | | | +--- androidx.loader:loader:1.0.0
+| | | | | | +--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*) +| | | | | | +--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*)
+| | | | | | +--- androidx.core:core:1.0.0 -> 1.13.1 (*) +| | | | | | +--- androidx.core:core:1.0.0 -> 1.13.0 (*)
+| | | | | | +--- androidx.lifecycle:lifecycle-livedata:2.0.0 -> 2.7.0 (*) +| | | | | | +--- androidx.lifecycle:lifecycle-livedata:2.0.0 -> 2.7.0 (*)
+| | | | | | \--- androidx.lifecycle:lifecycle-viewmodel:2.0.0 -> 2.7.0 (*) +| | | | | | \--- androidx.lifecycle:lifecycle-viewmodel:2.0.0 -> 2.7.0 (*)
+| | | | | +--- androidx.profileinstaller:profileinstaller:1.3.1 (*) +| | | | | +--- androidx.profileinstaller:profileinstaller:1.3.1 (*)
+| | | | | +--- androidx.savedstate:savedstate:1.2.1 (*) +| | | | | +--- androidx.savedstate:savedstate:1.2.1 (*)
+| | | | | +--- androidx.viewpager:viewpager:1.0.0 +| | | | | +--- androidx.viewpager:viewpager:1.0.0
+| | | | | | +--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*) +| | | | | | +--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*)
+| | | | | | +--- androidx.core:core:1.0.0 -> 1.13.1 (*) +| | | | | | +--- androidx.core:core:1.0.0 -> 1.13.0 (*)
+| | | | | | \--- androidx.customview:customview:1.0.0 -> 1.1.0 +| | | | | | \--- androidx.customview:customview:1.0.0 -> 1.1.0
+| | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*)
+| | | | | | +--- androidx.core:core:1.3.0 -> 1.13.1 (*) +| | | | | | +--- androidx.core:core:1.3.0 -> 1.13.0 (*)
+| | | | | | \--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) +| | | | | | \--- androidx.collection:collection:1.1.0 -> 1.4.0 (*)
+| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.23 (*) +| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.23 (*)
+| | | | | \--- androidx.fragment:fragment-ktx:1.7.0 (c) +| | | | | \--- androidx.fragment:fragment-ktx:1.7.0 (c)
@ -401,7 +401,7 @@
+| | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*)
+| | +--- androidx.legacy:legacy-support-core-utils:1.0.0 +| | +--- androidx.legacy:legacy-support-core-utils:1.0.0
+| | | +--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*) +| | | +--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*)
+| | | +--- androidx.core:core:1.0.0 -> 1.13.1 (*) +| | | +--- androidx.core:core:1.0.0 -> 1.13.0 (*)
+| | | +--- androidx.documentfile:documentfile:1.0.0 +| | | +--- androidx.documentfile:documentfile:1.0.0
+| | | | \--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*) +| | | | \--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*)
+| | | +--- androidx.loader:loader:1.0.0 (*) +| | | +--- androidx.loader:loader:1.0.0 (*)
@ -414,17 +414,17 @@
+| | | \--- com.google.android.gms:play-services-basement:18.3.0 (*) +| | | \--- com.google.android.gms:play-services-basement:18.3.0 (*)
+| | +--- com.google.android.gms:play-services-measurement-impl:22.0.0 +| | +--- com.google.android.gms:play-services-measurement-impl:22.0.0
+| | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*)
+| | | +--- androidx.core:core:1.9.0 -> 1.13.1 (*) +| | | +--- androidx.core:core:1.9.0 -> 1.13.0 (*)
+| | | +--- androidx.privacysandbox.ads:ads-adservices:1.0.0-beta05 +| | | +--- androidx.privacysandbox.ads:ads-adservices:1.0.0-beta05
+| | | | +--- androidx.annotation:annotation:1.6.0 -> 1.7.1 (*) +| | | | +--- androidx.annotation:annotation:1.6.0 -> 1.7.1 (*)
+| | | | +--- androidx.core:core-ktx:1.8.0 -> 1.13.1 (*) +| | | | +--- androidx.core:core-ktx:1.8.0 -> 1.13.0 (*)
+| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 1.9.23 (*) +| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 1.9.23 (*)
+| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.7.3 (*) +| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.7.3 (*)
+| | | | \--- androidx.privacysandbox.ads:ads-adservices-java:1.0.0-beta05 (c) +| | | | \--- androidx.privacysandbox.ads:ads-adservices-java:1.0.0-beta05 (c)
+| | | +--- androidx.privacysandbox.ads:ads-adservices-java:1.0.0-beta05 +| | | +--- androidx.privacysandbox.ads:ads-adservices-java:1.0.0-beta05
+| | | | +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*) +| | | | +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*)
+| | | | +--- androidx.concurrent:concurrent-futures:1.1.0 (*) +| | | | +--- androidx.concurrent:concurrent-futures:1.1.0 (*)
+| | | | +--- androidx.core:core-ktx:1.8.0 -> 1.13.1 (*) +| | | | +--- androidx.core:core-ktx:1.8.0 -> 1.13.0 (*)
+| | | | +--- androidx.privacysandbox.ads:ads-adservices:1.0.0-beta05 (*) +| | | | +--- androidx.privacysandbox.ads:ads-adservices:1.0.0-beta05 (*)
+| | | | +--- com.google.guava:guava:31.1-android -> 33.0.0-jre +| | | | +--- com.google.guava:guava:31.1-android -> 33.0.0-jre
+| | | | | +--- com.google.guava:failureaccess:1.0.2 +| | | | | +--- com.google.guava:failureaccess:1.0.2
@ -486,7 +486,7 @@
++--- com.google.android.gms:play-services-location:21.1.0 ++--- com.google.android.gms:play-services-location:21.1.0
+| +--- com.google.android.gms:play-services-base:18.1.0 +| +--- com.google.android.gms:play-services-base:18.1.0
+| | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*)
+| | +--- androidx.core:core:1.2.0 -> 1.13.1 (*) +| | +--- androidx.core:core:1.2.0 -> 1.13.0 (*)
+| | +--- androidx.fragment:fragment:1.0.0 -> 1.7.0 (*) +| | +--- androidx.fragment:fragment:1.0.0 -> 1.7.0 (*)
+| | +--- com.google.android.gms:play-services-basement:18.1.0 -> 18.3.0 (*) +| | +--- com.google.android.gms:play-services-basement:18.1.0 -> 18.3.0 (*)
+| | \--- com.google.android.gms:play-services-tasks:18.0.2 -> 18.1.0 (*) +| | \--- com.google.android.gms:play-services-tasks:18.0.2 -> 18.1.0 (*)
@ -516,7 +516,7 @@
+| +--- com.google.android.play:core:1.8.0 -> 1.10.3 +| +--- com.google.android.play:core:1.8.0 -> 1.10.3
+| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72 -> 1.9.23 (*) +| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72 -> 1.9.23 (*)
+| +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.6 -> 1.7.3 (*) +| +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.6 -> 1.7.3 (*)
+| +--- androidx.core:core:1.1.0 -> 1.13.1 (*) +| +--- androidx.core:core:1.1.0 -> 1.13.0 (*)
+| \--- androidx.fragment:fragment:1.1.0 -> 1.7.0 (*) +| \--- androidx.fragment:fragment:1.1.0 -> 1.7.0 (*)
++--- com.google.android.gms:play-services-oss-licenses:17.0.1 ++--- com.google.android.gms:play-services-oss-licenses:17.0.1
+| +--- androidx.appcompat:appcompat:1.0.0 -> 1.6.1 +| +--- androidx.appcompat:appcompat:1.0.0 -> 1.6.1
@ -525,10 +525,10 @@
+| | +--- androidx.appcompat:appcompat-resources:1.6.1 +| | +--- androidx.appcompat:appcompat-resources:1.6.1
+| | | +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*) +| | | +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*)
+| | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*)
+| | | +--- androidx.core:core:1.6.0 -> 1.13.1 (*) +| | | +--- androidx.core:core:1.6.0 -> 1.13.0 (*)
+| | | +--- androidx.vectordrawable:vectordrawable:1.1.0 +| | | +--- androidx.vectordrawable:vectordrawable:1.1.0
+| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*)
+| | | | +--- androidx.core:core:1.1.0 -> 1.13.1 (*) +| | | | +--- androidx.core:core:1.1.0 -> 1.13.0 (*)
+| | | | \--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) +| | | | \--- androidx.collection:collection:1.1.0 -> 1.4.0 (*)
+| | | +--- androidx.vectordrawable:vectordrawable-animated:1.1.0 +| | | +--- androidx.vectordrawable:vectordrawable-animated:1.1.0
+| | | | +--- androidx.vectordrawable:vectordrawable:1.1.0 (*) +| | | | +--- androidx.vectordrawable:vectordrawable:1.1.0 (*)
@ -536,24 +536,24 @@
+| | | | \--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) +| | | | \--- androidx.collection:collection:1.1.0 -> 1.4.0 (*)
+| | | \--- androidx.appcompat:appcompat:1.6.1 (c) +| | | \--- androidx.appcompat:appcompat:1.6.1 (c)
+| | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*)
+| | +--- androidx.core:core:1.9.0 -> 1.13.1 (*) +| | +--- androidx.core:core:1.9.0 -> 1.13.0 (*)
+| | +--- androidx.core:core-ktx:1.8.0 -> 1.13.1 (*) +| | +--- androidx.core:core-ktx:1.8.0 -> 1.13.0 (*)
+| | +--- androidx.cursoradapter:cursoradapter:1.0.0 +| | +--- androidx.cursoradapter:cursoradapter:1.0.0
+| | | \--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*) +| | | \--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*)
+| | +--- androidx.drawerlayout:drawerlayout:1.0.0 -> 1.1.1 +| | +--- androidx.drawerlayout:drawerlayout:1.0.0 -> 1.1.1
+| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*)
+| | | +--- androidx.core:core:1.2.0 -> 1.13.1 (*) +| | | +--- androidx.core:core:1.2.0 -> 1.13.0 (*)
+| | | \--- androidx.customview:customview:1.1.0 (*) +| | | \--- androidx.customview:customview:1.1.0 (*)
+| | +--- androidx.emoji2:emoji2:1.2.0 -> 1.3.0 +| | +--- androidx.emoji2:emoji2:1.2.0 -> 1.3.0
+| | | +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*) +| | | +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*)
+| | | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) +| | | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*)
+| | | +--- androidx.core:core:1.3.0 -> 1.13.1 (*) +| | | +--- androidx.core:core:1.3.0 -> 1.13.0 (*)
+| | | +--- androidx.lifecycle:lifecycle-process:2.4.1 -> 2.7.0 (*) +| | | +--- androidx.lifecycle:lifecycle-process:2.4.1 -> 2.7.0 (*)
+| | | +--- androidx.startup:startup-runtime:1.0.0 -> 1.1.1 (*) +| | | +--- androidx.startup:startup-runtime:1.0.0 -> 1.1.1 (*)
+| | | \--- androidx.emoji2:emoji2-views-helper:1.3.0 (c) +| | | \--- androidx.emoji2:emoji2-views-helper:1.3.0 (c)
+| | +--- androidx.emoji2:emoji2-views-helper:1.2.0 -> 1.3.0 +| | +--- androidx.emoji2:emoji2-views-helper:1.2.0 -> 1.3.0
+| | | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) +| | | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*)
+| | | +--- androidx.core:core:1.3.0 -> 1.13.1 (*) +| | | +--- androidx.core:core:1.3.0 -> 1.13.0 (*)
+| | | +--- androidx.emoji2:emoji2:1.3.0 (*) +| | | +--- androidx.emoji2:emoji2:1.3.0 (*)
+| | | \--- androidx.emoji2:emoji2:1.3.0 (c) +| | | \--- androidx.emoji2:emoji2:1.3.0 (c)
+| | +--- androidx.fragment:fragment:1.3.6 -> 1.7.0 (*) +| | +--- androidx.fragment:fragment:1.3.6 -> 1.7.0 (*)
@ -574,7 +574,6 @@
+| \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 (*) +| \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 (*)
++--- project :data ++--- project :data
+| +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 (*) +| +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 (*)
+| +--- androidx.core:core:1.13.1 (*)
+| +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0 (*) +| +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0 (*)
+| +--- androidx.room:room-ktx:2.6.1 +| +--- androidx.room:room-ktx:2.6.1
+| | +--- androidx.room:room-common:2.6.1 +| | +--- androidx.room:room-common:2.6.1
@ -639,7 +638,7 @@
+| +--- commons-io:commons-io:2.6 +| +--- commons-io:commons-io:2.6
+| +--- org.slf4j:slf4j-jdk14:2.0.3 +| +--- org.slf4j:slf4j-jdk14:2.0.3
+| | \--- org.slf4j:slf4j-api:2.0.3 +| | \--- org.slf4j:slf4j-api:2.0.3
+| \--- androidx.core:core-ktx:1.9.0 -> 1.13.1 (*) +| \--- androidx.core:core-ktx:1.9.0 -> 1.13.0 (*)
++--- com.github.bitfireAT:cert4android:7814052 ++--- com.github.bitfireAT:cert4android:7814052
+| +--- androidx.databinding:databinding-common:7.2.0 -> 8.4.0 +| +--- androidx.databinding:databinding-common:7.2.0 -> 8.4.0
+| +--- androidx.databinding:databinding-runtime:7.2.0 -> 8.4.0 (*) +| +--- androidx.databinding:databinding-runtime:7.2.0 -> 8.4.0 (*)
@ -706,17 +705,17 @@
+| | +--- androidx.cardview:cardview:1.0.0 (*) +| | +--- androidx.cardview:cardview:1.0.0 (*)
+| | +--- androidx.coordinatorlayout:coordinatorlayout:1.1.0 +| | +--- androidx.coordinatorlayout:coordinatorlayout:1.1.0
+| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*)
+| | | +--- androidx.core:core:1.1.0 -> 1.13.1 (*) +| | | +--- androidx.core:core:1.1.0 -> 1.13.0 (*)
+| | | +--- androidx.customview:customview:1.0.0 -> 1.1.0 (*) +| | | +--- androidx.customview:customview:1.0.0 -> 1.1.0 (*)
+| | | \--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| | | \--- androidx.collection:collection:1.0.0 -> 1.4.0 (*)
+| | +--- androidx.constraintlayout:constraintlayout:2.0.1 -> 2.1.4 +| | +--- androidx.constraintlayout:constraintlayout:2.0.1 -> 2.1.4
+| | | +--- androidx.appcompat:appcompat:1.2.0 -> 1.6.1 (*) +| | | +--- androidx.appcompat:appcompat:1.2.0 -> 1.6.1 (*)
+| | | +--- androidx.core:core:1.3.2 -> 1.13.1 (*) +| | | +--- androidx.core:core:1.3.2 -> 1.13.0 (*)
+| | | \--- androidx.constraintlayout:constraintlayout-core:1.0.4 +| | | \--- androidx.constraintlayout:constraintlayout-core:1.0.4
+| | +--- androidx.core:core:1.6.0 -> 1.13.1 (*) +| | +--- androidx.core:core:1.6.0 -> 1.13.0 (*)
+| | +--- androidx.drawerlayout:drawerlayout:1.1.1 (*) +| | +--- androidx.drawerlayout:drawerlayout:1.1.1 (*)
+| | +--- androidx.dynamicanimation:dynamicanimation:1.0.0 +| | +--- androidx.dynamicanimation:dynamicanimation:1.0.0
+| | | +--- androidx.core:core:1.0.0 -> 1.13.1 (*) +| | | +--- androidx.core:core:1.0.0 -> 1.13.0 (*)
+| | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*)
+| | | \--- androidx.legacy:legacy-support-core-utils:1.0.0 (*) +| | | \--- androidx.legacy:legacy-support-core-utils:1.0.0 (*)
+| | +--- androidx.annotation:annotation-experimental:1.0.0 -> 1.4.0 (*) +| | +--- androidx.annotation:annotation-experimental:1.0.0 -> 1.4.0 (*)
@ -725,24 +724,24 @@
+| | +--- androidx.recyclerview:recyclerview:1.0.0 -> 1.3.2 +| | +--- androidx.recyclerview:recyclerview:1.0.0 -> 1.3.2
+| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*)
+| | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*)
+| | | +--- androidx.core:core:1.7.0 -> 1.13.1 (*) +| | | +--- androidx.core:core:1.7.0 -> 1.13.0 (*)
+| | | +--- androidx.customview:customview:1.0.0 -> 1.1.0 (*) +| | | +--- androidx.customview:customview:1.0.0 -> 1.1.0 (*)
+| | | +--- androidx.customview:customview-poolingcontainer:1.0.0 +| | | +--- androidx.customview:customview-poolingcontainer:1.0.0
+| | | | +--- androidx.core:core-ktx:1.5.0 -> 1.13.1 (*) +| | | | +--- androidx.core:core-ktx:1.5.0 -> 1.13.0 (*)
+| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.9.23 (*) +| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.9.23 (*)
+| | | \--- androidx.viewpager2:viewpager2:1.1.0-beta02 (c) +| | | \--- androidx.viewpager2:viewpager2:1.1.0-beta02 (c)
+| | +--- androidx.resourceinspection:resourceinspection-annotation:1.0.1 (*) +| | +--- androidx.resourceinspection:resourceinspection-annotation:1.0.1 (*)
+| | +--- androidx.transition:transition:1.5.0 +| | +--- androidx.transition:transition:1.5.0
+| | | +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*) +| | | +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*)
+| | | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) +| | | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*)
+| | | +--- androidx.core:core:1.13.0 -> 1.13.1 (*) +| | | +--- androidx.core:core:1.13.0 (*)
+| | | \--- androidx.dynamicanimation:dynamicanimation:1.0.0 (*) +| | | \--- androidx.dynamicanimation:dynamicanimation:1.0.0 (*)
+| | +--- androidx.vectordrawable:vectordrawable:1.1.0 (*) +| | +--- androidx.vectordrawable:vectordrawable:1.1.0 (*)
+| | \--- androidx.viewpager2:viewpager2:1.0.0 -> 1.1.0-beta02 +| | \--- androidx.viewpager2:viewpager2:1.0.0 -> 1.1.0-beta02
+| | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*)
+| | +--- androidx.annotation:annotation-experimental:1.3.0 -> 1.4.0 (*) +| | +--- androidx.annotation:annotation-experimental:1.3.0 -> 1.4.0 (*)
+| | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) +| | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*)
+| | +--- androidx.core:core:1.3.2 -> 1.13.1 (*) +| | +--- androidx.core:core:1.3.2 -> 1.13.0 (*)
+| | +--- androidx.fragment:fragment:1.1.0 -> 1.7.0 (*) +| | +--- androidx.fragment:fragment:1.1.0 -> 1.7.0 (*)
+| | \--- androidx.recyclerview:recyclerview:1.3.1-rc01 -> 1.3.2 (*) +| | \--- androidx.recyclerview:recyclerview:1.3.1-rc01 -> 1.3.2 (*)
+| \--- org.conscrypt:conscrypt-android:2.5.2 +| \--- org.conscrypt:conscrypt-android:2.5.2
@ -774,8 +773,8 @@
+| | \--- com.google.dagger:hilt-core:2.49 -> 2.50 (*) +| | \--- com.google.dagger:hilt-core:2.49 -> 2.50 (*)
+| +--- androidx.work:work-runtime:2.3.4 -> 2.8.1 +| +--- androidx.work:work-runtime:2.3.4 -> 2.8.1
+| | +--- androidx.annotation:annotation-experimental:1.0.0 -> 1.4.0 (*) +| | +--- androidx.annotation:annotation-experimental:1.0.0 -> 1.4.0 (*)
+| | +--- androidx.core:core:1.1.0 -> 1.13.1 (*) +| | +--- androidx.core:core:1.1.0 -> 1.13.0 (*)
+| | +--- androidx.core:core:1.6.0 -> 1.13.1 (*) +| | +--- androidx.core:core:1.6.0 -> 1.13.0 (*)
+| | +--- androidx.lifecycle:lifecycle-livedata:2.1.0 -> 2.7.0 (*) +| | +--- androidx.lifecycle:lifecycle-livedata:2.1.0 -> 2.7.0 (*)
+| | +--- androidx.lifecycle:lifecycle-service:2.1.0 -> 2.7.0 (*) +| | +--- androidx.lifecycle:lifecycle-service:2.1.0 -> 2.7.0 (*)
+| | +--- androidx.room:room-runtime:2.5.0 -> 2.6.1 (*) +| | +--- androidx.room:room-runtime:2.5.0 -> 2.6.1 (*)
@ -787,7 +786,7 @@
++--- androidx.fragment:fragment-ktx:1.7.0 ++--- androidx.fragment:fragment-ktx:1.7.0
+| +--- androidx.activity:activity-ktx:1.8.1 -> 1.9.0 +| +--- androidx.activity:activity-ktx:1.8.1 -> 1.9.0
+| | +--- androidx.activity:activity:1.9.0 (*) +| | +--- androidx.activity:activity:1.9.0 (*)
+| | +--- androidx.core:core-ktx:1.13.0 -> 1.13.1 (*) +| | +--- androidx.core:core-ktx:1.13.0 (*)
+| | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.1 -> 2.7.0 (*) +| | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.1 -> 2.7.0 (*)
+| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1 -> 2.7.0 (*) +| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1 -> 2.7.0 (*)
+| | +--- androidx.savedstate:savedstate-ktx:1.2.1 +| | +--- androidx.savedstate:savedstate-ktx:1.2.1
@ -800,7 +799,7 @@
+| +--- androidx.collection:collection-ktx:1.1.0 -> 1.4.0 +| +--- androidx.collection:collection-ktx:1.1.0 -> 1.4.0
+| | +--- androidx.collection:collection:1.4.0 (*) +| | +--- androidx.collection:collection:1.4.0 (*)
+| | \--- androidx.collection:collection:1.4.0 (c) +| | \--- androidx.collection:collection:1.4.0 (c)
+| +--- androidx.core:core-ktx:1.2.0 -> 1.13.1 (*) +| +--- androidx.core:core-ktx:1.2.0 -> 1.13.0 (*)
+| +--- androidx.fragment:fragment:1.7.0 (*) +| +--- androidx.fragment:fragment:1.7.0 (*)
+| +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.6.1 -> 2.7.0 (*) +| +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.6.1 -> 2.7.0 (*)
+| +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1 -> 2.7.0 (*) +| +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1 -> 2.7.0 (*)
@ -863,7 +862,7 @@
+| | | +--- androidx.activity:activity-ktx:1.7.0 -> 1.9.0 (*) +| | | +--- androidx.activity:activity-ktx:1.7.0 -> 1.9.0 (*)
+| | | +--- androidx.annotation:annotation:1.6.0 -> 1.7.1 (*) +| | | +--- androidx.annotation:annotation:1.6.0 -> 1.7.1 (*)
+| | | +--- androidx.autofill:autofill:1.0.0 +| | | +--- androidx.autofill:autofill:1.0.0
+| | | | \--- androidx.core:core:1.1.0 -> 1.13.1 (*) +| | | | \--- androidx.core:core:1.1.0 -> 1.13.0 (*)
+| | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*)
+| | | +--- androidx.collection:collection:1.4.0 (*) +| | | +--- androidx.collection:collection:1.4.0 (*)
+| | | +--- androidx.compose.runtime:runtime:1.6.7 (*) +| | | +--- androidx.compose.runtime:runtime:1.6.7 (*)
@ -931,7 +930,7 @@
+| | | | +--- androidx.compose.ui:ui-graphics:1.6.7 (*) +| | | | +--- androidx.compose.ui:ui-graphics:1.6.7 (*)
+| | | | +--- androidx.compose.ui:ui-unit:1.6.7 (*) +| | | | +--- androidx.compose.ui:ui-unit:1.6.7 (*)
+| | | | +--- androidx.compose.ui:ui-util:1.6.7 (*) +| | | | +--- androidx.compose.ui:ui-util:1.6.7 (*)
+| | | | +--- androidx.core:core:1.7.0 -> 1.13.1 (*) +| | | | +--- androidx.core:core:1.7.0 -> 1.13.0 (*)
+| | | | +--- androidx.emoji2:emoji2:1.2.0 -> 1.3.0 (*) +| | | | +--- androidx.emoji2:emoji2:1.2.0 -> 1.3.0 (*)
+| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.23 (*) +| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.23 (*)
+| | | | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 1.9.23 (*) +| | | | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 1.9.23 (*)
@ -945,7 +944,7 @@
+| | | | \--- androidx.compose.ui:ui-viewbinding:1.6.7 (c) +| | | | \--- androidx.compose.ui:ui-viewbinding:1.6.7 (c)
+| | | +--- androidx.compose.ui:ui-unit:1.6.7 (*) +| | | +--- androidx.compose.ui:ui-unit:1.6.7 (*)
+| | | +--- androidx.compose.ui:ui-util:1.6.7 (*) +| | | +--- androidx.compose.ui:ui-util:1.6.7 (*)
+| | | +--- androidx.core:core:1.12.0 -> 1.13.1 (*) +| | | +--- androidx.core:core:1.12.0 -> 1.13.0 (*)
+| | | +--- androidx.customview:customview-poolingcontainer:1.0.0 (*) +| | | +--- androidx.customview:customview-poolingcontainer:1.0.0 (*)
+| | | +--- androidx.emoji2:emoji2:1.2.0 -> 1.3.0 (*) +| | | +--- androidx.emoji2:emoji2:1.2.0 -> 1.3.0 (*)
+| | | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.7.0 (*) +| | | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.7.0 (*)
@ -998,7 +997,7 @@
+| | | | +--- androidx.compose.runtime:runtime:1.6.7 (*) +| | | | +--- androidx.compose.runtime:runtime:1.6.7 (*)
+| | | | +--- androidx.compose.ui:ui:1.6.7 (*) +| | | | +--- androidx.compose.ui:ui:1.6.7 (*)
+| | | | +--- androidx.compose.ui:ui-util:1.6.7 (*) +| | | | +--- androidx.compose.ui:ui-util:1.6.7 (*)
+| | | | +--- androidx.core:core:1.7.0 -> 1.13.1 (*) +| | | | +--- androidx.core:core:1.7.0 -> 1.13.0 (*)
+| | | | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 1.9.23 (*) +| | | | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 1.9.23 (*)
+| | | | \--- androidx.compose.foundation:foundation:1.6.7 (c) +| | | | \--- androidx.compose.foundation:foundation:1.6.7 (c)
+| | | +--- androidx.compose.runtime:runtime:1.6.7 (*) +| | | +--- androidx.compose.runtime:runtime:1.6.7 (*)
@ -1012,7 +1011,7 @@
+| | +--- androidx.compose.ui:ui:1.6.7 (*) +| | +--- androidx.compose.ui:ui:1.6.7 (*)
+| | +--- androidx.compose.ui:ui-text:1.6.7 (*) +| | +--- androidx.compose.ui:ui-text:1.6.7 (*)
+| | +--- androidx.compose.ui:ui-util:1.6.7 (*) +| | +--- androidx.compose.ui:ui-util:1.6.7 (*)
+| | +--- androidx.core:core:1.12.0 -> 1.13.1 (*) +| | +--- androidx.core:core:1.12.0 -> 1.13.0 (*)
+| | +--- androidx.emoji2:emoji2:1.3.0 (*) +| | +--- androidx.emoji2:emoji2:1.3.0 (*)
+| | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 1.9.23 (*) +| | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 1.9.23 (*)
+| | \--- androidx.compose.foundation:foundation-layout:1.6.7 (c) +| | \--- androidx.compose.foundation:foundation-layout:1.6.7 (c)
@ -1062,25 +1061,25 @@
++--- androidx.constraintlayout:constraintlayout:2.1.4 (*) ++--- androidx.constraintlayout:constraintlayout:2.1.4 (*)
++--- androidx.swiperefreshlayout:swiperefreshlayout:1.1.0 ++--- androidx.swiperefreshlayout:swiperefreshlayout:1.1.0
+| +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*)
+| +--- androidx.core:core:1.1.0 -> 1.13.1 (*) +| +--- androidx.core:core:1.1.0 -> 1.13.0 (*)
+| \--- androidx.interpolator:interpolator:1.0.0 (*) +| \--- androidx.interpolator:interpolator:1.0.0 (*)
++--- androidx.preference:preference:1.2.1 ++--- androidx.preference:preference:1.2.1
+| +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*) +| +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*)
+| +--- androidx.appcompat:appcompat:1.1.0 -> 1.6.1 (*) +| +--- androidx.appcompat:appcompat:1.1.0 -> 1.6.1 (*)
+| +--- androidx.core:core:1.6.0 -> 1.13.1 (*) +| +--- androidx.core:core:1.6.0 -> 1.13.0 (*)
+| +--- androidx.activity:activity-ktx:1.5.1 -> 1.9.0 (*) +| +--- androidx.activity:activity-ktx:1.5.1 -> 1.9.0 (*)
+| +--- androidx.fragment:fragment-ktx:1.3.6 -> 1.7.0 (*) +| +--- androidx.fragment:fragment-ktx:1.3.6 -> 1.7.0 (*)
+| +--- androidx.recyclerview:recyclerview:1.0.0 -> 1.3.2 (*) +| +--- androidx.recyclerview:recyclerview:1.0.0 -> 1.3.2 (*)
+| +--- androidx.slidingpanelayout:slidingpanelayout:1.2.0 +| +--- androidx.slidingpanelayout:slidingpanelayout:1.2.0
+| | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*)
+| | +--- androidx.customview:customview:1.1.0 (*) +| | +--- androidx.customview:customview:1.1.0 (*)
+| | +--- androidx.core:core:1.1.0 -> 1.13.1 (*) +| | +--- androidx.core:core:1.1.0 -> 1.13.0 (*)
+| | +--- androidx.window:window:1.0.0 +| | +--- androidx.window:window:1.0.0
+| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.0 -> 1.9.23 (*) +| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.0 -> 1.9.23 (*)
+| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2 -> 1.7.3 (*) +| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2 -> 1.7.3 (*)
+| | | +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*) +| | | +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*)
+| | | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) +| | | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*)
+| | | \--- androidx.core:core:1.3.2 -> 1.13.1 (*) +| | | \--- androidx.core:core:1.3.2 -> 1.13.0 (*)
+| | \--- androidx.transition:transition:1.4.1 -> 1.5.0 (*) +| | \--- androidx.transition:transition:1.4.1 -> 1.5.0 (*)
+| \--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| \--- androidx.collection:collection:1.0.0 -> 1.4.0 (*)
++--- com.jakewharton.timber:timber:5.0.1 (*) ++--- com.jakewharton.timber:timber:5.0.1 (*)
@ -1135,7 +1134,7 @@
+| +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) +| +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*)
+| +--- androidx.concurrent:concurrent-futures:1.0.0 -> 1.1.0 (*) +| +--- androidx.concurrent:concurrent-futures:1.0.0 -> 1.1.0 (*)
+| +--- androidx.interpolator:interpolator:1.0.0 (*) +| +--- androidx.interpolator:interpolator:1.0.0 (*)
+| +--- androidx.core:core:1.1.0 -> 1.13.1 (*) +| +--- androidx.core:core:1.1.0 -> 1.13.0 (*)
+| +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*)
+| \--- com.google.guava:listenablefuture:1.0 -> 9999.0-empty-to-avoid-conflict-with-guava +| \--- com.google.guava:listenablefuture:1.0 -> 9999.0-empty-to-avoid-conflict-with-guava
++--- org.osmdroid:osmdroid-android:6.1.18 ++--- org.osmdroid:osmdroid-android:6.1.18
@ -1219,7 +1218,7 @@
+| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.20 -> 1.9.23 (*) +| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.20 -> 1.9.23 (*)
+| +--- com.google.android.material:compose-theme-adapter-core:1.0.1 +| +--- com.google.android.material:compose-theme-adapter-core:1.0.1
+| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.7.20 -> 1.9.23 (*) +| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.7.20 -> 1.9.23 (*)
+| | +--- androidx.core:core-ktx:1.9.0 -> 1.13.1 (*) +| | +--- androidx.core:core-ktx:1.9.0 -> 1.13.0 (*)
+| | +--- androidx.appcompat:appcompat:1.5.1 -> 1.6.1 (*) +| | +--- androidx.appcompat:appcompat:1.5.1 -> 1.6.1 (*)
+| | +--- com.google.android.material:material:1.7.0 -> 1.12.0 (*) +| | +--- com.google.android.material:material:1.7.0 -> 1.12.0 (*)
+| | +--- androidx.compose.runtime:runtime:1.3.1 -> 1.6.7 (*) +| | +--- androidx.compose.runtime:runtime:1.3.1 -> 1.6.7 (*)
@ -1282,7 +1281,7 @@
+| \--- androidx.compose.ui:ui-viewbinding:1.6.7 (c) +| \--- androidx.compose.ui:ui-viewbinding:1.6.7 (c)
++--- io.coil-kt:coil-compose:2.6.0 ++--- io.coil-kt:coil-compose:2.6.0
+| +--- io.coil-kt:coil-compose-base:2.6.0 +| +--- io.coil-kt:coil-compose-base:2.6.0
+| | +--- androidx.core:core-ktx:1.12.0 -> 1.13.1 (*) +| | +--- androidx.core:core-ktx:1.12.0 -> 1.13.0 (*)
+| | +--- com.google.accompanist:accompanist-drawablepainter:0.32.0 +| | +--- com.google.accompanist:accompanist-drawablepainter:0.32.0
+| | | +--- androidx.compose.ui:ui:1.5.0 -> 1.6.7 (*) +| | | +--- androidx.compose.ui:ui:1.5.0 -> 1.6.7 (*)
+| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 -> 1.7.3 (*) +| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 -> 1.7.3 (*)
@ -1291,7 +1290,7 @@
+| | | +--- androidx.annotation:annotation:1.7.1 (*) +| | | +--- androidx.annotation:annotation:1.7.1 (*)
+| | | +--- androidx.appcompat:appcompat-resources:1.6.1 (*) +| | | +--- androidx.appcompat:appcompat-resources:1.6.1 (*)
+| | | +--- androidx.collection:collection:1.4.0 (*) +| | | +--- androidx.collection:collection:1.4.0 (*)
+| | | +--- androidx.core:core-ktx:1.12.0 -> 1.13.1 (*) +| | | +--- androidx.core:core-ktx:1.12.0 -> 1.13.0 (*)
+| | | +--- androidx.exifinterface:exifinterface:1.3.7 +| | | +--- androidx.exifinterface:exifinterface:1.3.7
+| | | | \--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*) +| | | | \--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*)
+| | | +--- androidx.profileinstaller:profileinstaller:1.3.1 (*) +| | | +--- androidx.profileinstaller:profileinstaller:1.3.1 (*)
@ -1307,16 +1306,16 @@
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 1.9.23 (*) +| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 1.9.23 (*)
+| \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 1.9.23 (*) +| \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 1.9.23 (*)
++--- io.coil-kt:coil-video:2.6.0 ++--- io.coil-kt:coil-video:2.6.0
+| +--- androidx.core:core-ktx:1.12.0 -> 1.13.1 (*) +| +--- androidx.core:core-ktx:1.12.0 -> 1.13.0 (*)
+| +--- io.coil-kt:coil-base:2.6.0 (*) +| +--- io.coil-kt:coil-base:2.6.0 (*)
+| \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 1.9.23 (*) +| \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 1.9.23 (*)
++--- io.coil-kt:coil-svg:2.6.0 ++--- io.coil-kt:coil-svg:2.6.0
+| +--- androidx.core:core-ktx:1.12.0 -> 1.13.1 (*) +| +--- androidx.core:core-ktx:1.12.0 -> 1.13.0 (*)
+| +--- com.caverock:androidsvg-aar:1.4 +| +--- com.caverock:androidsvg-aar:1.4
+| +--- io.coil-kt:coil-base:2.6.0 (*) +| +--- io.coil-kt:coil-base:2.6.0 (*)
+| \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 1.9.23 (*) +| \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 1.9.23 (*)
++--- io.coil-kt:coil-gif:2.6.0 ++--- io.coil-kt:coil-gif:2.6.0
+| +--- androidx.core:core-ktx:1.12.0 -> 1.13.1 (*) +| +--- androidx.core:core-ktx:1.12.0 -> 1.13.0 (*)
+| +--- androidx.vectordrawable:vectordrawable-animated:1.1.0 (*) +| +--- androidx.vectordrawable:vectordrawable-animated:1.1.0 (*)
+| +--- io.coil-kt:coil-base:2.6.0 (*) +| +--- io.coil-kt:coil-base:2.6.0 (*)
+| \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 1.9.23 (*) +| \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 1.9.23 (*)
@ -1335,7 +1334,7 @@
+| | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32 -> 1.9.23 (*) +| | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32 -> 1.9.23 (*)
+| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.0 -> 1.9.23 (*) +| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.0 -> 1.9.23 (*)
+\--- com.google.accompanist:accompanist-systemuicontroller:0.32.0 +\--- com.google.accompanist:accompanist-systemuicontroller:0.32.0
+ +--- androidx.core:core-ktx:1.8.0 -> 1.13.1 (*) + +--- androidx.core:core-ktx:1.8.0 -> 1.13.0 (*)
+ +--- androidx.compose.ui:ui:1.5.0 -> 1.6.7 (*) + +--- androidx.compose.ui:ui:1.5.0 -> 1.6.7 (*)
+ +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 -> 1.7.3 (*) + +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 -> 1.7.3 (*)
+ \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.0 -> 1.9.23 (*) + \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.0 -> 1.9.23 (*)

@ -74,7 +74,6 @@ androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "a
androidx-compose = { module = "androidx.compose:compose-bom", version.ref = "compose" } androidx-compose = { module = "androidx.compose:compose-bom", version.ref = "compose" }
androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3" } androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3" }
androidx-constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "constraintlayout" } androidx-constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "constraintlayout" }
androidx-core = { group = "androidx.core", name = "core", version = "1.13.1" }
androidx-fragment-ktx = { module = "androidx.fragment:fragment-ktx", version.ref = "fragment-ktx" } androidx-fragment-ktx = { module = "androidx.fragment:fragment-ktx", version.ref = "fragment-ktx" }
androidx-hilt-compiler = { module = "androidx.hilt:hilt-compiler", version.ref = "hilt" } androidx-hilt-compiler = { module = "androidx.hilt:hilt-compiler", version.ref = "hilt" }
androidx-hilt-work = { module = "androidx.hilt:hilt-work", version.ref = "hilt" } androidx-hilt-work = { module = "androidx.hilt:hilt-work", version.ref = "hilt" }

Loading…
Cancel
Save