Skip to content

Commit 4c012f8

Browse files
committed
update deps, remove parcelize, migrate objectbox, migrate aboutlibraries
1 parent c5330d2 commit 4c012f8

File tree

7 files changed

+120
-102
lines changed

7 files changed

+120
-102
lines changed

app/build.gradle.kts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1-
21
plugins {
32
id("mkdocseditor.android.application")
43
id("mkdocseditor.android.application.compose")
54
id("mkdocseditor.android.compose.voyager")
65
id("mkdocseditor.android.application.flavors")
76
id("mkdocseditor.android.hilt")
8-
id("kotlin-parcelize")
97
id("com.google.devtools.ksp")
10-
id("com.mikepenz.aboutlibraries.plugin")
8+
id("com.mikepenz.aboutlibraries.plugin.android")
119
}
1210

1311
android {
@@ -57,7 +55,9 @@ dependencies {
5755

5856
// Jetpack Compose
5957
implementation(libs.android.material)
58+
// implementation(libs.androidx.compose.material)
6059
implementation(libs.androidx.compose.material3)
60+
implementation(libs.androidx.compose.material.icons.extended)
6161
implementation(libs.androidx.material3.window.size.clazz)
6262

6363
// implementation("androidx.compose.ui:ui-desktop:1.6.0-alpha07")
@@ -75,6 +75,7 @@ dependencies {
7575
// Emoji
7676
implementation(libs.androidx.emoji)
7777
implementation(libs.androidx.emoji.bundled)
78+
implementation(libs.androidx.documentfile)
7879

7980
compileOnly(libs.javax.annotation)
8081

@@ -145,7 +146,7 @@ dependencies {
145146

146147
// AboutLibraries ("About" screen)
147148
implementation(libs.mikepenz.aboutlibraries.core)
148-
implementation(libs.mikepenz.aboutlibraries.compose)
149+
implementation(libs.mikepenz.aboutlibraries.compose.m3)
149150

150151
implementation(libs.mikepenz.aboutlibraries)
151152

app/src/main/java/de/markusressel/mkdocseditor/feature/about/ui/compose/AboutScreen.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,18 @@ import androidx.compose.runtime.getValue
88
import androidx.compose.ui.Modifier
99
import androidx.compose.ui.graphics.Color
1010
import androidx.compose.ui.unit.dp
11-
import com.mikepenz.aboutlibraries.ui.compose.LibrariesContainer
1211
import com.mikepenz.aboutlibraries.ui.compose.LibraryDefaults
13-
import com.mikepenz.aboutlibraries.ui.compose.android.rememberLibraries
14-
import com.mikepenz.aboutlibraries.ui.compose.chipColors
15-
import com.mikepenz.aboutlibraries.ui.compose.libraryColors
12+
import com.mikepenz.aboutlibraries.ui.compose.android.produceLibraries
13+
import com.mikepenz.aboutlibraries.ui.compose.m3.LibrariesContainer
14+
import com.mikepenz.aboutlibraries.ui.compose.m3.chipColors
15+
import com.mikepenz.aboutlibraries.ui.compose.m3.libraryColors
1616
import de.markusressel.mkdocseditor.R
1717

1818
@Composable
1919
fun AboutScreen(
2020
modifier: Modifier = Modifier,
2121
) {
22-
val libraries by rememberLibraries(R.raw.aboutlibraries)
22+
val libraries by produceLibraries(R.raw.aboutlibraries)
2323

2424
val chipColors = LibraryDefaults.chipColors(
2525
containerColor = Color.Transparent,

app/src/main/java/de/markusressel/mkdocseditor/feature/backendconfig/common/data/BackendConfigRepository.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,11 @@ internal class BackendConfigRepository @Inject constructor(
2828
fun getBackendConfigs() = backendConfigPersistenceManager.standardOperation().all.toList()
2929

3030
fun getBackendConfigsFlow(): Flow<List<BackendConfigEntity>> {
31-
return backendConfigPersistenceManager.standardOperation().query {
32-
order(BackendConfigEntity_.name)
33-
}.flow()
31+
return backendConfigPersistenceManager.standardOperation()
32+
.query()
33+
.order(BackendConfigEntity_.name)
34+
.build()
35+
.flow()
3436
}
3537

3638
fun getAuthConfigs() = backendAuthConfigPersistenceManager.standardOperation().all.toList()

data/src/main/java/de/markusressel/mkdocseditor/data/persistence/BackendConfigPersistenceManager.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,7 @@ class BackendConfigPersistenceManager @Inject constructor(
1515
fun selectBackendConfig(id: Long) {
1616
boxStore.runInTx {
1717
// disable all others
18-
standardOperation().query {
19-
equal(BackendConfigEntity_.isSelected, true)
20-
}.find().forEach {
18+
standardOperation().query(BackendConfigEntity_.isSelected.equal(true)).build().find().forEach {
2119
standardOperation().put(it.apply { isSelected = false })
2220
}
2321

data/src/main/java/de/markusressel/mkdocseditor/data/persistence/DocumentContentPersistenceManager.kt

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import de.markusressel.mkdocseditor.data.persistence.base.PersistenceManagerBase
44
import de.markusressel.mkdocseditor.data.persistence.entity.DocumentContentEntity
55
import de.markusressel.mkdocseditor.data.persistence.entity.DocumentContentEntity_
66
import de.markusressel.mkdocseditor.data.persistence.entity.DocumentEntity_
7-
import io.objectbox.kotlin.query
87
import io.objectbox.query.QueryBuilder
98
import javax.inject.Inject
109
import javax.inject.Singleton
@@ -29,9 +28,11 @@ class DocumentContentPersistenceManager @Inject constructor(
2928
panX: Float? = null,
3029
panY: Float? = null
3130
) {
32-
val entity = standardOperation().query {
33-
equal(DocumentContentEntity_.documentId, documentId, QueryBuilder.StringOrder.CASE_INSENSITIVE)
34-
}.findUnique()
31+
val entity = standardOperation().query(
32+
DocumentContentEntity_.documentId.equal(
33+
documentId, QueryBuilder.StringOrder.CASE_INSENSITIVE
34+
)
35+
).order(DocumentContentEntity_.documentId).build().findUnique()
3536
?: DocumentContentEntity(
3637
entityId = 0,
3738
date = System.currentTimeMillis(),
@@ -40,9 +41,12 @@ class DocumentContentPersistenceManager @Inject constructor(
4041

4142
// attach parent if necessary
4243
if (entity.documentEntity.isNull) {
43-
val documentEntity = documentPersistenceManager.standardOperation().query {
44-
equal(DocumentEntity_.id, documentId, QueryBuilder.StringOrder.CASE_INSENSITIVE)
45-
}.findUnique()
44+
val documentEntity = documentPersistenceManager.standardOperation()
45+
.query(
46+
DocumentEntity_.id.equal(
47+
documentId, QueryBuilder.StringOrder.CASE_INSENSITIVE
48+
)
49+
).build().findUnique()
4650
entity.documentEntity.target = documentEntity
4751
}
4852

data/src/main/java/de/markusressel/mkdocseditor/data/persistence/SectionPersistenceManager.kt

Lines changed: 58 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import de.markusressel.mkdocseditor.data.persistence.entity.DocumentEntity_
66
import de.markusressel.mkdocseditor.data.persistence.entity.ResourceEntity_
77
import de.markusressel.mkdocseditor.data.persistence.entity.SectionEntity
88
import de.markusressel.mkdocseditor.data.persistence.entity.SectionEntity_
9-
import io.objectbox.kotlin.query
109
import io.objectbox.kotlin.toFlow
1110
import io.objectbox.query.QueryBuilder
1211
import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -33,19 +32,23 @@ class SectionPersistenceManager @Inject constructor(
3332
* Find a section by it's document id (not the database entity id)
3433
*/
3534
fun findById(sectionId: String): SectionEntity? {
36-
return standardOperation().query {
37-
equal(SectionEntity_.id, sectionId, QueryBuilder.StringOrder.CASE_INSENSITIVE)
38-
}.findUnique()
35+
return standardOperation().query(
36+
SectionEntity_.id.equal(
37+
sectionId, QueryBuilder.StringOrder.CASE_INSENSITIVE
38+
)
39+
).build().findUnique()
3940
}
4041

4142
/**
4243
* Find a section by it's document id (not the database entity id)
4344
*/
4445
@OptIn(ExperimentalCoroutinesApi::class)
4546
fun findByIdFlow(sectionId: String): Flow<SectionEntity?> {
46-
return standardOperation().query {
47-
equal(SectionEntity_.id, sectionId, QueryBuilder.StringOrder.CASE_INSENSITIVE)
48-
}.subscribe().toFlow().map { it.firstOrNull() }
47+
return standardOperation().query(
48+
SectionEntity_.id.equal(
49+
sectionId, QueryBuilder.StringOrder.CASE_INSENSITIVE
50+
)
51+
).build().subscribe().toFlow().map { it.firstOrNull() }
4952
}
5053

5154
/**
@@ -75,39 +78,44 @@ class SectionPersistenceManager @Inject constructor(
7578
parentSection: SectionEntity? = null
7679
): SectionEntity {
7780
// use existing section or insert new one
78-
val sectionEntity = standardOperation().query {
79-
equal(SectionEntity_.id, section.id, QueryBuilder.StringOrder.CASE_INSENSITIVE)
80-
}.findUnique() ?: run {
81-
val newSection = standardOperation().get(standardOperation().put(section))
82-
parentSection?.subsections?.add(newSection)
83-
newSection
84-
}
81+
val sectionEntity =
82+
standardOperation().query(
83+
SectionEntity_.id.equal(section.id, QueryBuilder.StringOrder.CASE_INSENSITIVE)
84+
).build().findUnique() ?: run {
85+
val newSection = standardOperation().get(standardOperation().put(section))
86+
parentSection?.subsections?.add(newSection)
87+
newSection
88+
}
8589

8690
section.documents.forEach { newDocument ->
87-
val documentEntity = documentPersistenceManager.standardOperation().query {
88-
equal(DocumentEntity_.id, newDocument.id, QueryBuilder.StringOrder.CASE_INSENSITIVE)
89-
}.findUnique()?.apply {
90-
filesize = newDocument.filesize
91-
modtime = newDocument.modtime
92-
} ?: newDocument
91+
val documentEntity = documentPersistenceManager.standardOperation()
92+
.query(
93+
DocumentEntity_.id.equal(newDocument.id, QueryBuilder.StringOrder.CASE_INSENSITIVE)
94+
).build().findUnique()?.apply {
95+
filesize = newDocument.filesize
96+
modtime = newDocument.modtime
97+
} ?: newDocument
9398
documentEntity.parentSection.target = sectionEntity
9499

95100
val documentContentEntity =
96-
documentContentPersistenceManager.standardOperation().query {
97-
equal(DocumentContentEntity_.documentId, documentEntity.id, QueryBuilder.StringOrder.CASE_INSENSITIVE)
98-
}.findUnique()
101+
documentContentPersistenceManager.standardOperation().query(
102+
DocumentContentEntity_.documentId.equal(
103+
documentEntity.id,
104+
QueryBuilder.StringOrder.CASE_INSENSITIVE
105+
)
106+
).build().findUnique()
99107
documentEntity.content.target = documentContentEntity
100108

101109
documentPersistenceManager.standardOperation().put(documentEntity)
102110
}
103111

104112
section.resources.forEach { newResource ->
105-
val resourceEntity = resourcePersistenceManager.standardOperation().query {
106-
equal(ResourceEntity_.id, newResource.id, QueryBuilder.StringOrder.CASE_INSENSITIVE)
107-
}.findUnique()?.apply {
108-
filesize = newResource.filesize
109-
modtime = newResource.modtime
110-
} ?: newResource
113+
val resourceEntity = resourcePersistenceManager.standardOperation()
114+
.query(ResourceEntity_.id.equal(newResource.id, QueryBuilder.StringOrder.CASE_INSENSITIVE)).build()
115+
.findUnique()?.apply {
116+
filesize = newResource.filesize
117+
modtime = newResource.modtime
118+
} ?: newResource
111119
resourceEntity.parentSection.target = sectionEntity
112120

113121
resourcePersistenceManager.standardOperation().put(resourceEntity)
@@ -132,38 +140,38 @@ class SectionPersistenceManager @Inject constructor(
132140
findIdsRecursive(newData, sectionIds, documentIds, resourceIds)
133141

134142
// remove stale sections
135-
val existingSectionIds = standardOperation().query {
136-
`in`(SectionEntity_.id, sectionIds.toTypedArray(), QueryBuilder.StringOrder.CASE_INSENSITIVE)
137-
}.findIds()
143+
val existingSectionIds = standardOperation()
144+
.query(SectionEntity_.id.oneOf(sectionIds.toTypedArray(), QueryBuilder.StringOrder.CASE_INSENSITIVE))
145+
.build().findIds()
138146

139147
// find others
140-
val missingSectionIds = standardOperation().query {
141-
notIn(SectionEntity_.entityId, existingSectionIds)
142-
}.findIds()
148+
val missingSectionIds = standardOperation()
149+
.query(SectionEntity_.entityId.notOneOf(existingSectionIds))
150+
.build().findIds()
143151

144152
standardOperation().removeByIds(missingSectionIds.toList())
145153

146154
// remove stale documents
147-
val existingDocumentIds = documentPersistenceManager.standardOperation().query {
148-
`in`(DocumentEntity_.id, documentIds.toTypedArray(), QueryBuilder.StringOrder.CASE_INSENSITIVE)
149-
}.findIds()
155+
val existingDocumentIds = documentPersistenceManager.standardOperation()
156+
.query(DocumentEntity_.id.oneOf(documentIds.toTypedArray(), QueryBuilder.StringOrder.CASE_INSENSITIVE))
157+
.build().findIds()
150158

151159
// find others
152-
val missingDocumentIds = documentPersistenceManager.standardOperation().query {
153-
notIn(DocumentEntity_.entityId, existingDocumentIds)
154-
}.findIds()
160+
val missingDocumentIds = documentPersistenceManager.standardOperation()
161+
.query(DocumentEntity_.entityId.notOneOf(existingDocumentIds))
162+
.build().findIds()
155163

156164
documentPersistenceManager.standardOperation().removeByIds(missingDocumentIds.toList())
157165

158166
// remove stale resources
159-
val existingResourceIds = resourcePersistenceManager.standardOperation().query {
160-
`in`(ResourceEntity_.id, resourceIds.toTypedArray(), QueryBuilder.StringOrder.CASE_INSENSITIVE)
161-
}.findIds()
167+
val existingResourceIds = resourcePersistenceManager.standardOperation()
168+
.query(ResourceEntity_.id.oneOf(resourceIds.toTypedArray(), QueryBuilder.StringOrder.CASE_INSENSITIVE))
169+
.build().findIds()
162170

163171
// find others
164-
val missingResourceIds = resourcePersistenceManager.standardOperation().query {
165-
notIn(ResourceEntity_.entityId, existingResourceIds)
166-
}.findIds()
172+
val missingResourceIds = resourcePersistenceManager.standardOperation()
173+
.query(ResourceEntity_.entityId.notOneOf(existingResourceIds))
174+
.build().findIds()
167175

168176
resourcePersistenceManager.standardOperation().removeByIds(missingResourceIds.toList())
169177
}
@@ -174,9 +182,9 @@ class SectionPersistenceManager @Inject constructor(
174182
* @param sectionId ID of the section
175183
*/
176184
fun delete(sectionId: String) {
177-
val existingSectionIds = standardOperation().query {
178-
equal(SectionEntity_.id, sectionId, QueryBuilder.StringOrder.CASE_INSENSITIVE)
179-
}.findIds()
185+
val existingSectionIds = standardOperation()
186+
.query(SectionEntity_.id.equal(sectionId, QueryBuilder.StringOrder.CASE_INSENSITIVE))
187+
.build().findIds()
180188

181189
standardOperation().removeByIds(existingSectionIds.toList())
182190
}

0 commit comments

Comments
 (0)