Skip to content

Commit 34815b5

Browse files
committed
Fix duplicate folder account id
Prevent duplicate account id for placeholder folder Fixes: 9056 Bring back GH actions read permission to fix daily builds workflow Add instructions to propose ADRs Refactor: move :legacy:common.feature to app-common.feature Refactor: Removed :legacy:preferences from settings.gradle as this module is no longer used & empty Add link to security hashes in README Bump actions/setup-java from 4.7.0 to 4.7.1 Bumps [actions/setup-java](https://github.com/actions/setup-java) from 4.7.0 to 4.7.1. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](actions/setup-java@3a4f6e1...c5195ef) --- updated-dependencies: - dependency-name: actions/setup-java dependency-version: 4.7.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Bump github/codeql-action from 3.28.14 to 3.28.15 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.14 to 3.28.15. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@fc7e4a0...45775bd) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 3.28.15 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Bump softprops/action-gh-release from 2.2.1 to 2.2.2 Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 2.2.1 to 2.2.2. - [Release notes](https://github.com/softprops/action-gh-release/releases) - [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md) - [Commits](softprops/action-gh-release@c95fe14...da05d55) --- updated-dependencies: - dependency-name: softprops/action-gh-release dependency-version: 2.2.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Middle ground, placeholder and counter Fixes: #9056 (+1 squashed commit) Squashed commits: [ade7fcb18] Adjust fix for testing Fixes: #9056 Formatting
1 parent d76fd96 commit 34815b5

2 files changed

Lines changed: 19 additions & 13 deletions

File tree

feature/navigation/drawer/dropdown/src/main/kotlin/net/thunderbird/feature/navigation/drawer/dropdown/domain/usecase/GetDisplayTreeFolder.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import net.thunderbird.feature.navigation.drawer.dropdown.domain.entity.DisplayT
1111
import net.thunderbird.feature.navigation.drawer.dropdown.domain.entity.DisplayUnifiedFolder
1212

1313
internal class GetDisplayTreeFolder : UseCase.GetDisplayTreeFolder {
14+
private var placeholderCounter = 0L
1415

1516
override fun invoke(folders: List<DisplayFolder>, maxDepth: Int): DisplayTreeFolder {
1617
val unifiedFolderTreeList = folders.filterIsInstance<DisplayUnifiedFolder>().map {
@@ -49,7 +50,7 @@ internal class GetDisplayTreeFolder : UseCase.GetDisplayTreeFolder {
4950
}
5051
}
5152

52-
fun buildAccountFolderTree(
53+
private fun buildAccountFolderTree(
5354
paths: List<Pair<List<String>, DisplayAccountFolder>>,
5455
parentPath: String = "",
5556
): List<DisplayTreeFolder> {
@@ -87,10 +88,11 @@ internal class GetDisplayTreeFolder : UseCase.GetDisplayTreeFolder {
8788
}
8889

8990
private fun createPlaceholderFolder(name: String): DisplayAccountFolder {
91+
placeholderCounter += 1
9092
return DisplayAccountFolder(
91-
accountId = "accountId",
93+
accountId = "placeholder",
9294
folder = Folder(
93-
id = 0L,
95+
id = placeholderCounter,
9496
name = name,
9597
type = FolderType.REGULAR,
9698
isLocalOnly = false,

feature/navigation/drawer/dropdown/src/test/kotlin/net/thunderbird/feature/navigation/drawer/dropdown/domain/usecase/GetDisplayTreeFolderTest.kt

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -199,9 +199,9 @@ class GetDisplayTreeFolderTest {
199199
children = persistentListOf(
200200
DisplayTreeFolder(
201201
displayFolder = DisplayAccountFolder(
202-
accountId = "accountId",
202+
accountId = "placeholder",
203203
folder = Folder(
204-
id = 0,
204+
id = 1L,
205205
name = "(Unnamed)/(Unnamed)",
206206
type = FolderType.REGULAR,
207207
isLocalOnly = false,
@@ -238,8 +238,8 @@ class GetDisplayTreeFolderTest {
238238
),
239239
DisplayTreeFolder(
240240
displayFolder = DisplayAccountFolder(
241-
accountId = "accountId",
242-
folder = Folder(id = 0, name = "valid1", type = FolderType.REGULAR, isLocalOnly = false),
241+
accountId = "placeholder",
242+
folder = Folder(id = 2, name = "valid1", type = FolderType.REGULAR, isLocalOnly = false),
243243
isInTopGroup = true,
244244
unreadMessageCount = 0,
245245
starredMessageCount = 0,
@@ -250,9 +250,9 @@ class GetDisplayTreeFolderTest {
250250
children = persistentListOf(
251251
DisplayTreeFolder(
252252
displayFolder = DisplayAccountFolder(
253-
accountId = "accountId",
253+
accountId = "placeholder",
254254
folder = Folder(
255-
id = 0,
255+
id = 3L,
256256
name = "valid1/(Unnamed)",
257257
type = FolderType.REGULAR,
258258
isLocalOnly = false,
@@ -321,7 +321,8 @@ class GetDisplayTreeFolderTest {
321321
children = persistentListOf(
322322
createDisplayTreeFolder(
323323
displayFolder = createDisplayAccountFolder(
324-
folderId = 0L,
324+
accountId = "placeholder",
325+
folderId = 1L,
325326
folderName = "folderLevel1",
326327
unreadMessageCount = 0,
327328
starredMessageCount = 0,
@@ -379,7 +380,8 @@ class GetDisplayTreeFolderTest {
379380
children = persistentListOf(
380381
createDisplayTreeFolder(
381382
displayFolder = createDisplayAccountFolder(
382-
folderId = 0,
383+
accountId = "placeholder",
384+
folderId = 1,
383385
folderName = "level1",
384386
unreadMessageCount = 0,
385387
starredMessageCount = 0,
@@ -390,7 +392,8 @@ class GetDisplayTreeFolderTest {
390392
children = persistentListOf(
391393
createDisplayTreeFolder(
392394
displayFolder = createDisplayAccountFolder(
393-
folderId = 0,
395+
accountId = "placeholder",
396+
folderId = 2L,
394397
folderName = "level1/level2",
395398
unreadMessageCount = 0,
396399
starredMessageCount = 0,
@@ -427,9 +430,10 @@ class GetDisplayTreeFolderTest {
427430
folderName: String,
428431
unreadMessageCount: Int,
429432
starredMessageCount: Int,
433+
accountId: String = "accountId",
430434
): DisplayAccountFolder {
431435
return DisplayAccountFolder(
432-
accountId = "accountId",
436+
accountId = accountId,
433437
folder = Folder(
434438
id = folderId,
435439
name = folderName,

0 commit comments

Comments
 (0)