Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,9 @@ internal fun Project.configureAndroidCompose(
.relativeToRootProject("compose-reports")
.let(reportsDestination::set)

stabilityConfigurationFiles
.add(isolated.rootProject.projectDirectory.file("compose_compiler_config.conf"))
stabilityConfigurationFiles.add(
isolated.rootProject.projectDirectory.file("compose_compiler_config.conf"))
// stabilityConfigurationFiles
// .add(isolated.rootProject.projectDirectory.file("compose_compiler_config.conf"))
}
}
3 changes: 2 additions & 1 deletion compose_compiler_config.conf
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@

// We always use immutable classes for our data model, to avoid running the Compose compiler
// in the module we declare it to be stable here.
com.mshdabiola.modules.model.data.*
com.mshdabiola.model.*

// Java standard library classes
java.time.ZoneId
java.time.ZoneOffset
kotlin.collections.*
16 changes: 9 additions & 7 deletions feature/main/src/main/kotlin/com/mshdabiola/main/MainScreen.kt
Original file line number Diff line number Diff line change
Expand Up @@ -156,12 +156,10 @@ internal fun MainRoute(
setAllAlarm = { showDialog = true },
setAllColor = { showColor = true },
setAllLabel = {
val selectId =
(mainState.value as MainState.Success).notePads.filter { it.selected }.map { it.id }
navigateToSelectLevel(selectId.toSet())
navigateToSelectLevel((mainState.value as MainState.Success).setOfSelected)
},
onCopy = mainViewModel::copyNote,
onDelete = mainViewModel::setAllDelete,
onDelete = mainViewModel::setAllToTrash,
onArchive = mainViewModel::setAllArchive,
onSend = {
mainViewModel.clearSelected()
Expand Down Expand Up @@ -383,11 +381,11 @@ fun MainContent(
}
}

val noOfSelected = remember(success.notePads) {
success.notePads.count { it.selected }
val noOfSelected = remember(success.setOfSelected) {
success.setOfSelected.size
}
val isAllPin = remember(success.notePads) {
success.notePads.filter { it.selected }
success.notePads.filter { success.setOfSelected.contains(it.id) }
.all { it.isPin }
}
var isGrid by rememberSaveable { mutableStateOf(true) }
Expand Down Expand Up @@ -557,6 +555,7 @@ fun MainContent(
items = pinNotePad.first.toImmutableList(),
onNoteClick = onNoteClick,
onSelectedCard = onSelectedCard,
setOfSelected = success.setOfSelected,
)

if (pinNotePad.first.isNotEmpty() && pinNotePad.second.isNotEmpty()) {
Expand All @@ -574,6 +573,7 @@ fun MainContent(
items = pinNotePad.second.toImmutableList(),
onNoteClick = onNoteClick,
onSelectedCard = onSelectedCard,
setOfSelected = success.setOfSelected,
)
}
}
Expand All @@ -585,6 +585,7 @@ fun LazyStaggeredGridScope.noteItems(
sharedTransitionScope: SharedTransitionScope,
animatedContentScope: AnimatedVisibilityScope,
items: List<NotePad>,
setOfSelected: Set<Long>,
onNoteClick: (Long) -> Unit,
onSelectedCard: (Long) -> Unit,
) = items(
Expand All @@ -600,6 +601,7 @@ fun LazyStaggeredGridScope.noteItems(
animatedVisibilityScope = animatedContentScope,

),
isSelect = setOfSelected.contains(note.id),
notePad = note,
onCardClick = onNoteClick,
onLongClick = onSelectedCard,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ sealed class MainState {
val label: List<SearchSort.Label> = emptyList(),
val searchSort: SearchSort? = null,
val mainData: MainData = MainData.Note,
val setOfSelected: Set<Long> = emptySet(),

) : MainState()

Expand Down
40 changes: 21 additions & 19 deletions feature/main/src/main/kotlin/com/mshdabiola/main/MainViewModel.kt
Original file line number Diff line number Diff line change
Expand Up @@ -173,29 +173,26 @@ internal class MainViewModel
* @param id The ID of the notepad card that was selected or deselected.
*/
fun onSelectCard(id: Long) {
val listNOtePad = getSuccess().notePads.toMutableList()
val index = listNOtePad.indexOfFirst { it.id == id }
val notepad = listNOtePad[index]
val newNotepad = notepad.copy(selected = !notepad.selected)

listNOtePad[index] = newNotepad

_mainState.value = getSuccess().copy(notePads = listNOtePad.toImmutableList())
val selected = getSuccess().setOfSelected
if (selected.contains(id)) {
_mainState.value = getSuccess().copy(setOfSelected = selected - id)
} else {
_mainState.value = getSuccess().copy(setOfSelected = selected + id)
}
}

fun clearSelected() {
val listNOtePad =
getSuccess().notePads.map { it.copy(selected = false) }
_mainState.value = getSuccess().copy(notePads = listNOtePad.toImmutableList())
_mainState.value = getSuccess().copy(setOfSelected = emptySet())
}

fun setNoteType(noteType: NoteType) {
_mainState.value = MainState.Success(noteType = noteType)
}

fun setPin() {
Comment thread
mshdabiola marked this conversation as resolved.
val selected = getSuccess().setOfSelected
val selectedNotepad =
getSuccess().notePads.filter { it.selected }
getSuccess().notePads.filter { selected.contains(it.id) }

clearSelected()

Expand All @@ -215,8 +212,9 @@ internal class MainViewModel
}

private fun setAlarm(time: Long, interval: Long?) {
val setOfSelected = getSuccess().setOfSelected
val selectedNotes =
getSuccess().notePads.filter { it.selected }
getSuccess().notePads.filter { setOfSelected.contains(it.id) }

clearSelected()
val notes = selectedNotes.map { it.copy(reminder = time, interval = interval ?: -1) }
Expand All @@ -240,8 +238,9 @@ internal class MainViewModel
}

fun deleteAlarm() {
val selected = getSuccess().setOfSelected
val selectedNotes =
getSuccess().notePads.filter { it.selected }
getSuccess().notePads.filter { selected.contains(it.id) }

clearSelected()
val notes = selectedNotes.map { it.copy(reminder = -1, interval = -1) }
Expand All @@ -258,8 +257,9 @@ internal class MainViewModel
}

fun setAllColor(colorId: Int) {
val selected = getSuccess().setOfSelected
val selectedNotes =
getSuccess().notePads.filter { it.selected }
getSuccess().notePads.filter { selected.contains(it.id) }

clearSelected()
val notes = selectedNotes.map { it.copy(color = colorId) }
Expand All @@ -270,8 +270,9 @@ internal class MainViewModel
}

fun setAllArchive() {
val selected = getSuccess().setOfSelected
val selectedNotes =
getSuccess().notePads.filter { it.selected }
getSuccess().notePads.filter { selected.contains(it.id) }

clearSelected()
val notes = selectedNotes.map { it.copy(noteType = NoteType.ARCHIVE) }
Expand All @@ -281,9 +282,10 @@ internal class MainViewModel
}
}

fun setAllDelete() {
fun setAllToTrash() {
val selected = getSuccess().setOfSelected
val selectedNotes =
getSuccess().notePads.filter { it.selected }
getSuccess().notePads.filter { selected.contains(it.id) }

clearSelected()
val notes = selectedNotes.map { it.copy(noteType = NoteType.TRASH) }
Expand All @@ -295,7 +297,7 @@ internal class MainViewModel

fun copyNote() {
viewModelScope.launch(Dispatchers.IO) {
val id = getSuccess().notePads.single { it.selected }.id
val id = getSuccess().setOfSelected.first()
val notepads = notepadRepository.getOneNotePad(id).first()

if (notepads != null) {
Comment thread
mshdabiola marked this conversation as resolved.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -596,6 +596,7 @@ fun NoteBottomBar(modifier: Modifier = Modifier) {
fun NoteCard(
modifier: Modifier = Modifier,
notePad: NotePad,
isSelect: Boolean = false,
onCardClick: (Long) -> Unit = {},
onLongClick: (Long) -> Unit = {},
) {
Expand Down Expand Up @@ -638,7 +639,7 @@ fun NoteCard(
onClick = { notePad.id.let { onCardClick(it) } },
onLongClick = { notePad.id.let { onLongClick(it) } },
),
border = if (notePad.selected) {
border = if (isSelect) {
BorderStroke(3.dp, Color.Blue)
} else {
BorderStroke(
Expand Down Expand Up @@ -789,7 +790,7 @@ fun NoteCardPreview() {
color = 2,
isPin = false,
background = 3,
selected = true,
// selected = true,

// labels = listOf(
// "ade",
Expand Down
6 changes: 5 additions & 1 deletion instuctions
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,8 @@

sed -i -e '/androidx.dev/d' settings.gradle.kts
sed -i -e '/with(target) {/,/^ }/d' -e '/CrashlyticsExtension/d' build-logic/convention/src/main/kotlin/AndroidApplicationFirebaseConventionPlugin.kt
sed -i -e '/libs.firebase/d' build-logic/convention/build.gradle.kts
sed -i -e '/libs.firebase/d' build-logic/convention/build.gradle.kts



./gradlew --rerun-tasks assembleFossReliantDebug -PenableComposeCompilerMetrics=true -PenableComposeCompilerReports=true
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ data class NotePad(
val editDateString: String = "Jul 3",
val reminderString: String = "feb 1",
val noteType: NoteType = NoteType.NOTE,
val selected: Boolean = false,
val images: List<NoteImage> = emptyList(),
val voices: List<NoteVoice> = emptyList(),
val checks: List<NoteCheck> = emptyList(),
Expand Down
Loading