From 62bca72d0f28925f3a05c86377d3566a43d61384 Mon Sep 17 00:00:00 2001 From: brreynie Date: Tue, 16 May 2023 11:59:40 +0200 Subject: [PATCH] optimize imports and format code for all files :) --- .../common/composable/ButtonComposable.kt | 2 +- .../composable/DrawerScreenComposable.kt | 44 +++++++++-------- .../FloatingActionButtonComposable.kt | 16 +++--- .../composable/PrimaryScreenComposable.kt | 14 ++++-- .../composable/SecondaryScreenComposable.kt | 36 ++++++++------ .../composable/SimpleScreenComposable.kt | 2 +- .../common/composable/TextComposable.kt | 2 +- .../common/composable/TextFieldComposable.kt | 13 +++-- .../composable/TimePickerButtonComposable.kt | 6 ++- .../composable/drawer/DrawerComposable.kt | 7 +-- .../composable/drawer/DrawerViewModel.kt | 2 - .../navbar/NavigationBarComposable.kt | 2 - .../sel/studeez/common/ext/ModifierExt.kt | 20 ++++++-- .../ugent/sel/studeez/data/SelectedState.kt | 2 +- .../timer_functional/HoursMinutesSeconds.kt | 2 +- .../models/timer_info/CustomTimerInfo.kt | 4 +- .../models/timer_info/EndlessTimerInfo.kt | 4 +- .../models/timer_info/PomodoroTimerInfo.kt | 5 +- .../be/ugent/sel/studeez/domain/SessionDAO.kt | 3 -- .../be/ugent/sel/studeez/domain/TimerDAO.kt | 1 - .../FirebaseConfigurationService.kt | 4 +- .../domain/implementation/FirebaseFeedDAO.kt | 29 ++++++----- .../implementation/FirebaseFriendshipDAO.kt | 27 +++++----- .../implementation/FirebaseSessionDAO.kt | 13 +---- .../implementation/FirebaseSubjectDAO.kt | 5 +- .../domain/implementation/FirebaseTaskDAO.kt | 5 +- .../domain/implementation/FirebaseTimerDAO.kt | 5 +- .../domain/implementation/FirebaseUserDAO.kt | 10 ++-- .../domain/implementation/ToTimerConverter.kt | 49 +++++++++++-------- .../sel/studeez/navigation/StudeezNavGraph.kt | 7 ++- .../friends_overview/FriendsOverviewScreen.kt | 42 +++++++++------- .../FriendsOverviewViewModel.kt | 12 +++-- .../friends_search/SearchFriendsScreen.kt | 40 +++++++++------ .../friends_search/SearchFriendsViewModel.kt | 2 +- .../sel/studeez/screens/home/HomeViewModel.kt | 1 + .../studeez/screens/profile/ProfileScreen.kt | 5 +- .../profile/edit_profile/ProfileEditScreen.kt | 2 +- .../edit_profile/ProfileEditUiState.kt | 2 +- .../public_profile/PublicProfileScreen.kt | 20 +++++--- .../public_profile/PublicProfileViewModel.kt | 2 +- .../studeez/screens/session/SessionRoute.kt | 3 +- .../studeez/screens/session/SoundPlayer.kt | 2 +- .../BreakTimerScreenComposable.kt | 14 +++--- .../GetSessionScreenComposable.kt | 5 +- .../sessionScreens/SessionScreenComposable.kt | 4 +- .../session_recap/SessionRecapScreen.kt | 8 +-- .../screens/sign_up/SignUpViewModel.kt | 3 +- .../studeez/screens/splash/SplashViewModel.kt | 2 +- .../screens/timer_form/GetTimerFormScreen.kt | 2 +- .../screens/timer_form/TimerFormScreen.kt | 6 +-- .../form_screens/BreakTimerFormScreen.kt | 5 +- .../form_screens/CustomTimerFormScreen.kt | 2 +- .../form_screens/EndlessTimerFormScreen.kt | 2 +- .../TimerTypeSelectScreen.kt | 4 +- .../timer_overview/TimerOverviewScreen.kt | 12 +++-- .../be/ugent/sel/studeez/ui/theme/Color.kt | 6 +-- 56 files changed, 310 insertions(+), 239 deletions(-) diff --git a/app/src/main/java/be/ugent/sel/studeez/common/composable/ButtonComposable.kt b/app/src/main/java/be/ugent/sel/studeez/common/composable/ButtonComposable.kt index be799d2..aa52209 100644 --- a/app/src/main/java/be/ugent/sel/studeez/common/composable/ButtonComposable.kt +++ b/app/src/main/java/be/ugent/sel/studeez/common/composable/ButtonComposable.kt @@ -75,7 +75,7 @@ fun StealthButton( ) { //val clickablemodifier = if (disabled) Modifier.clickable(indication = null) else modifier val borderColor = if (enabled) MaterialTheme.colors.primary - else MaterialTheme.colors.onSurface.copy(alpha = 0.3f) + else MaterialTheme.colors.onSurface.copy(alpha = 0.3f) BasicButton( text = text, onClick = onClick, diff --git a/app/src/main/java/be/ugent/sel/studeez/common/composable/DrawerScreenComposable.kt b/app/src/main/java/be/ugent/sel/studeez/common/composable/DrawerScreenComposable.kt index b0b1829..11bc773 100644 --- a/app/src/main/java/be/ugent/sel/studeez/common/composable/DrawerScreenComposable.kt +++ b/app/src/main/java/be/ugent/sel/studeez/common/composable/DrawerScreenComposable.kt @@ -29,20 +29,22 @@ fun DrawerScreenTemplate( Scaffold( scaffoldState = scaffoldState, - topBar = { TopAppBar( - title = { Text(text = title) }, - navigationIcon = { - IconButton(onClick = { - coroutineScope.launch { scaffoldState.drawerState.open() } - }) { - Icon( - imageVector = Icons.Default.Menu, - contentDescription = resources().getString(AppText.menu) - ) - } - }, - actions = barAction - )}, + topBar = { + TopAppBar( + title = { Text(text = title) }, + navigationIcon = { + IconButton(onClick = { + coroutineScope.launch { scaffoldState.drawerState.open() } + }) { + Icon( + imageVector = Icons.Default.Menu, + contentDescription = resources().getString(AppText.menu) + ) + } + }, + actions = barAction + ) + }, drawerContent = { Drawer(drawerActions) @@ -55,10 +57,12 @@ fun DrawerScreenTemplate( @Preview @Composable fun DrawerScreenPreview() { - StudeezTheme { DrawerScreenTemplate( - title = "Drawer screen preview", - drawerActions =DrawerActions({}, {}, {}, {}, {}) - ) { - Text(text = "Preview content") - } } + StudeezTheme { + DrawerScreenTemplate( + title = "Drawer screen preview", + drawerActions = DrawerActions({}, {}, {}, {}, {}) + ) { + Text(text = "Preview content") + } + } } \ No newline at end of file diff --git a/app/src/main/java/be/ugent/sel/studeez/common/composable/FloatingActionButtonComposable.kt b/app/src/main/java/be/ugent/sel/studeez/common/composable/FloatingActionButtonComposable.kt index ea2b52d..ae6b06d 100644 --- a/app/src/main/java/be/ugent/sel/studeez/common/composable/FloatingActionButtonComposable.kt +++ b/app/src/main/java/be/ugent/sel/studeez/common/composable/FloatingActionButtonComposable.kt @@ -131,15 +131,19 @@ fun ExpandedEntry( @Preview @Composable fun AddButtonPreview() { - StudeezTheme { AddButton( - addButtonActions = AddButtonActions({}, {}, {}) - )} + StudeezTheme { + AddButton( + addButtonActions = AddButtonActions({}, {}, {}) + ) + } } @Preview @Composable fun ExpandedAddButtonPreview() { - StudeezTheme { ExpandedAddButton ( - addButtonActions = AddButtonActions({}, {}, {}) - ) } + StudeezTheme { + ExpandedAddButton( + addButtonActions = AddButtonActions({}, {}, {}) + ) + } } \ No newline at end of file diff --git a/app/src/main/java/be/ugent/sel/studeez/common/composable/PrimaryScreenComposable.kt b/app/src/main/java/be/ugent/sel/studeez/common/composable/PrimaryScreenComposable.kt index 0b3ee6e..5bf4cf9 100644 --- a/app/src/main/java/be/ugent/sel/studeez/common/composable/PrimaryScreenComposable.kt +++ b/app/src/main/java/be/ugent/sel/studeez/common/composable/PrimaryScreenComposable.kt @@ -57,11 +57,15 @@ fun PrimaryScreenTemplate( bottomBar = { NavigationBar(navigationBarActions) }, floatingActionButtonPosition = FabPosition.Center, isFloatingActionButtonDocked = true, - floatingActionButton = { AddButton(AddButtonActions( - onTaskClick = navigationBarActions.onAddTaskClick, - onFriendClick = navigationBarActions.onAddFriendClick, - onSessionClick = navigationBarActions.onAddSessionClick - )) } + floatingActionButton = { + AddButton( + AddButtonActions( + onTaskClick = navigationBarActions.onAddTaskClick, + onFriendClick = navigationBarActions.onAddFriendClick, + onSessionClick = navigationBarActions.onAddSessionClick + ) + ) + } ) { content(it) } diff --git a/app/src/main/java/be/ugent/sel/studeez/common/composable/SecondaryScreenComposable.kt b/app/src/main/java/be/ugent/sel/studeez/common/composable/SecondaryScreenComposable.kt index 5999072..5fb9000 100644 --- a/app/src/main/java/be/ugent/sel/studeez/common/composable/SecondaryScreenComposable.kt +++ b/app/src/main/java/be/ugent/sel/studeez/common/composable/SecondaryScreenComposable.kt @@ -21,18 +21,20 @@ fun SecondaryScreenTemplate( ) { Scaffold( // Everything at the top of the screen - topBar = { TopAppBar( - title = { Text(text = title) }, - navigationIcon = { - IconButton(onClick = { popUp() }) { - Icon( - imageVector = Icons.Default.ArrowBack, - contentDescription = resources().getString(R.string.go_back) - ) - } - }, - actions = barAction - ) }, + topBar = { + TopAppBar( + title = { Text(text = title) }, + navigationIcon = { + IconButton(onClick = { popUp() }) { + Icon( + imageVector = Icons.Default.ArrowBack, + contentDescription = resources().getString(R.string.go_back) + ) + } + }, + actions = barAction + ) + }, ) { paddingValues -> content(paddingValues) } @@ -41,8 +43,10 @@ fun SecondaryScreenTemplate( @Preview @Composable fun SecondaryScreenToolbarPreview() { - StudeezTheme { SecondaryScreenTemplate( - "Preview screen", - {} - ) {} } + StudeezTheme { + SecondaryScreenTemplate( + "Preview screen", + {} + ) {} + } } \ No newline at end of file diff --git a/app/src/main/java/be/ugent/sel/studeez/common/composable/SimpleScreenComposable.kt b/app/src/main/java/be/ugent/sel/studeez/common/composable/SimpleScreenComposable.kt index 0e3c684..2a90b94 100644 --- a/app/src/main/java/be/ugent/sel/studeez/common/composable/SimpleScreenComposable.kt +++ b/app/src/main/java/be/ugent/sel/studeez/common/composable/SimpleScreenComposable.kt @@ -11,6 +11,6 @@ fun SimpleScreenTemplate( title: String, content: @Composable (PaddingValues) -> Unit ) { - Scaffold( topBar = { TopAppBar ( title = { Text(text = title) } ) } + Scaffold(topBar = { TopAppBar(title = { Text(text = title) }) } ) { paddingValues -> content(paddingValues) } } \ No newline at end of file diff --git a/app/src/main/java/be/ugent/sel/studeez/common/composable/TextComposable.kt b/app/src/main/java/be/ugent/sel/studeez/common/composable/TextComposable.kt index 425d8f6..9945aad 100644 --- a/app/src/main/java/be/ugent/sel/studeez/common/composable/TextComposable.kt +++ b/app/src/main/java/be/ugent/sel/studeez/common/composable/TextComposable.kt @@ -16,7 +16,7 @@ import androidx.compose.ui.unit.sp fun Headline( text: String ) { - Row ( + Row( modifier = Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.Center diff --git a/app/src/main/java/be/ugent/sel/studeez/common/composable/TextFieldComposable.kt b/app/src/main/java/be/ugent/sel/studeez/common/composable/TextFieldComposable.kt index 880157f..702f3c5 100644 --- a/app/src/main/java/be/ugent/sel/studeez/common/composable/TextFieldComposable.kt +++ b/app/src/main/java/be/ugent/sel/studeez/common/composable/TextFieldComposable.kt @@ -102,7 +102,7 @@ fun LabeledNumberInputField( singleLine = singleLine, label = { Text(resources().getString(label)) }, keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Number), - onValueChange = {typedInt -> + onValueChange = { typedInt -> val isNumber = typedInt.matches(Regex("[1-9]+\\d*]")) if (isNumber) { number = typedInt.toInt() @@ -161,12 +161,11 @@ fun LabeledErrorTextField( } - - @Preview(showBackground = true) - @Composable - fun IntInputPreview() { - LabeledNumberInputField(value = 1, onNewValue = {}, label = AppText.email) - } +@Preview(showBackground = true) +@Composable +fun IntInputPreview() { + LabeledNumberInputField(value = 1, onNewValue = {}, label = AppText.email) +} @Composable fun PasswordField( diff --git a/app/src/main/java/be/ugent/sel/studeez/common/composable/TimePickerButtonComposable.kt b/app/src/main/java/be/ugent/sel/studeez/common/composable/TimePickerButtonComposable.kt index c5e75cc..2a668c2 100644 --- a/app/src/main/java/be/ugent/sel/studeez/common/composable/TimePickerButtonComposable.kt +++ b/app/src/main/java/be/ugent/sel/studeez/common/composable/TimePickerButtonComposable.kt @@ -82,7 +82,11 @@ fun TimePickerButton( } } -private fun pickDuration(context: Context, onTimeChosen: (Int) -> Unit, timeState: MutableState) { +private fun pickDuration( + context: Context, + onTimeChosen: (Int) -> Unit, + timeState: MutableState +) { val listener = OnTimeSetListener { _, hour, minute -> timeState.value = HoursMinutesSeconds(hour, minute, 0).getTotalSeconds() onTimeChosen(timeState.value) diff --git a/app/src/main/java/be/ugent/sel/studeez/common/composable/drawer/DrawerComposable.kt b/app/src/main/java/be/ugent/sel/studeez/common/composable/drawer/DrawerComposable.kt index 2d4eab3..44f43b5 100644 --- a/app/src/main/java/be/ugent/sel/studeez/common/composable/drawer/DrawerComposable.kt +++ b/app/src/main/java/be/ugent/sel/studeez/common/composable/drawer/DrawerComposable.kt @@ -2,12 +2,7 @@ package be.ugent.sel.studeez.common.composable.drawer import android.content.Context import androidx.compose.foundation.clickable -import androidx.compose.foundation.layout.Arrangement -import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.* import androidx.compose.material.Icon import androidx.compose.material.Text import androidx.compose.material.icons.Icons diff --git a/app/src/main/java/be/ugent/sel/studeez/common/composable/drawer/DrawerViewModel.kt b/app/src/main/java/be/ugent/sel/studeez/common/composable/drawer/DrawerViewModel.kt index e55c342..cde7981 100644 --- a/app/src/main/java/be/ugent/sel/studeez/common/composable/drawer/DrawerViewModel.kt +++ b/app/src/main/java/be/ugent/sel/studeez/common/composable/drawer/DrawerViewModel.kt @@ -3,8 +3,6 @@ package be.ugent.sel.studeez.common.composable.drawer import android.content.Context import android.content.Intent import android.net.Uri -import androidx.compose.runtime.remember -import androidx.compose.ui.platform.LocalContext import be.ugent.sel.studeez.domain.AccountDAO import be.ugent.sel.studeez.domain.LogService import be.ugent.sel.studeez.navigation.StudeezDestinations diff --git a/app/src/main/java/be/ugent/sel/studeez/common/composable/navbar/NavigationBarComposable.kt b/app/src/main/java/be/ugent/sel/studeez/common/composable/navbar/NavigationBarComposable.kt index ecf26b0..681456c 100644 --- a/app/src/main/java/be/ugent/sel/studeez/common/composable/navbar/NavigationBarComposable.kt +++ b/app/src/main/java/be/ugent/sel/studeez/common/composable/navbar/NavigationBarComposable.kt @@ -8,8 +8,6 @@ import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Check import androidx.compose.material.icons.filled.List import androidx.compose.material.icons.filled.Person -import androidx.compose.material.icons.outlined.Check -import androidx.compose.material.icons.outlined.DateRange import androidx.compose.material.icons.outlined.Face import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview diff --git a/app/src/main/java/be/ugent/sel/studeez/common/ext/ModifierExt.kt b/app/src/main/java/be/ugent/sel/studeez/common/ext/ModifierExt.kt index 7280ab3..a24f988 100644 --- a/app/src/main/java/be/ugent/sel/studeez/common/ext/ModifierExt.kt +++ b/app/src/main/java/be/ugent/sel/studeez/common/ext/ModifierExt.kt @@ -6,11 +6,15 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp fun Modifier.textButton(): Modifier { - return this.fillMaxWidth().padding(16.dp, 8.dp, 16.dp, 0.dp) + return this + .fillMaxWidth() + .padding(16.dp, 8.dp, 16.dp, 0.dp) } fun Modifier.basicButton(): Modifier { - return this.fillMaxWidth().padding(16.dp, 8.dp) + return this + .fillMaxWidth() + .padding(16.dp, 8.dp) } fun Modifier.card(): Modifier { @@ -26,7 +30,9 @@ fun Modifier.dropdownSelector(): Modifier { } fun Modifier.fieldModifier(): Modifier { - return this.fillMaxWidth().padding(16.dp, 4.dp) + return this + .fillMaxWidth() + .padding(16.dp, 4.dp) } fun Modifier.toolbarActions(): Modifier { @@ -34,9 +40,13 @@ fun Modifier.toolbarActions(): Modifier { } fun Modifier.spacer(): Modifier { - return this.fillMaxWidth().padding(12.dp) + return this + .fillMaxWidth() + .padding(12.dp) } fun Modifier.smallSpacer(): Modifier { - return this.fillMaxWidth().height(8.dp) + return this + .fillMaxWidth() + .height(8.dp) } \ No newline at end of file diff --git a/app/src/main/java/be/ugent/sel/studeez/data/SelectedState.kt b/app/src/main/java/be/ugent/sel/studeez/data/SelectedState.kt index ebe8589..b5ed618 100644 --- a/app/src/main/java/be/ugent/sel/studeez/data/SelectedState.kt +++ b/app/src/main/java/be/ugent/sel/studeez/data/SelectedState.kt @@ -48,6 +48,6 @@ class SelectedTimerInfo @Inject constructor() : SelectedState() { @Singleton class SelectedUserId @Inject constructor( userDAO: UserDAO -): SelectedState() { +) : SelectedState() { override var value: String = userDAO.getCurrentUserId() } \ No newline at end of file diff --git a/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_functional/HoursMinutesSeconds.kt b/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_functional/HoursMinutesSeconds.kt index edccbd0..7f015c2 100644 --- a/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_functional/HoursMinutesSeconds.kt +++ b/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_functional/HoursMinutesSeconds.kt @@ -2,7 +2,7 @@ package be.ugent.sel.studeez.data.local.models.timer_functional data class HoursMinutesSeconds(val hours: Int, val minutes: Int, val seconds: Int) { - constructor(sec: Int): this( + constructor(sec: Int) : this( hours = sec / (60 * 60), minutes = (sec / (60)) % 60, seconds = sec % 60, diff --git a/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_info/CustomTimerInfo.kt b/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_info/CustomTimerInfo.kt index d88e39f..ca05893 100644 --- a/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_info/CustomTimerInfo.kt +++ b/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_info/CustomTimerInfo.kt @@ -8,13 +8,13 @@ class CustomTimerInfo( description: String, var studyTime: Int, id: String = "" -): TimerInfo(id, name, description) { +) : TimerInfo(id, name, description) { override fun getFunctionalTimer(): FunctionalTimer { return FunctionalCustomTimer(studyTime) } - override fun asJson() : Map { + override fun asJson(): Map { return mapOf( "type" to "custom", "name" to name, diff --git a/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_info/EndlessTimerInfo.kt b/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_info/EndlessTimerInfo.kt index 45f7fd7..a39ccfe 100644 --- a/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_info/EndlessTimerInfo.kt +++ b/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_info/EndlessTimerInfo.kt @@ -7,14 +7,14 @@ class EndlessTimerInfo( name: String, description: String, id: String = "" -): TimerInfo(id, name, description) { +) : TimerInfo(id, name, description) { override fun getFunctionalTimer(): FunctionalTimer { return FunctionalEndlessTimer() } - override fun asJson() : Map { + override fun asJson(): Map { return mapOf( "type" to "endless", "name" to name, diff --git a/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_info/PomodoroTimerInfo.kt b/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_info/PomodoroTimerInfo.kt index 7316630..da60268 100644 --- a/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_info/PomodoroTimerInfo.kt +++ b/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_info/PomodoroTimerInfo.kt @@ -2,7 +2,6 @@ package be.ugent.sel.studeez.data.local.models.timer_info import be.ugent.sel.studeez.data.local.models.timer_functional.FunctionalPomodoroTimer import be.ugent.sel.studeez.data.local.models.timer_functional.FunctionalTimer -import be.ugent.sel.studeez.data.local.models.timer_functional.FunctionalTimerVisitor class PomodoroTimerInfo( name: String, @@ -11,14 +10,14 @@ class PomodoroTimerInfo( var breakTime: Int, var repeats: Int, id: String = "" -): TimerInfo(id, name, description) { +) : TimerInfo(id, name, description) { override fun getFunctionalTimer(): FunctionalTimer { return FunctionalPomodoroTimer(studyTime, breakTime, repeats) } - override fun asJson() : Map { + override fun asJson(): Map { return mapOf( "type" to "break", "name" to name, diff --git a/app/src/main/java/be/ugent/sel/studeez/domain/SessionDAO.kt b/app/src/main/java/be/ugent/sel/studeez/domain/SessionDAO.kt index 4ac2891..edb4895 100644 --- a/app/src/main/java/be/ugent/sel/studeez/domain/SessionDAO.kt +++ b/app/src/main/java/be/ugent/sel/studeez/domain/SessionDAO.kt @@ -1,9 +1,6 @@ package be.ugent.sel.studeez.domain -import be.ugent.sel.studeez.data.local.models.FeedEntry import be.ugent.sel.studeez.data.local.models.SessionReport -import be.ugent.sel.studeez.data.local.models.User -import be.ugent.sel.studeez.data.local.models.task.Task import be.ugent.sel.studeez.data.local.models.timer_info.TimerInfo import kotlinx.coroutines.flow.Flow diff --git a/app/src/main/java/be/ugent/sel/studeez/domain/TimerDAO.kt b/app/src/main/java/be/ugent/sel/studeez/domain/TimerDAO.kt index ab3edcb..0385b26 100644 --- a/app/src/main/java/be/ugent/sel/studeez/domain/TimerDAO.kt +++ b/app/src/main/java/be/ugent/sel/studeez/domain/TimerDAO.kt @@ -1,7 +1,6 @@ package be.ugent.sel.studeez.domain import be.ugent.sel.studeez.data.local.models.timer_info.TimerInfo -import be.ugent.sel.studeez.data.local.models.timer_info.TimerJson import kotlinx.coroutines.flow.Flow interface TimerDAO { diff --git a/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseConfigurationService.kt b/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseConfigurationService.kt index e3db024..3cdc3ff 100644 --- a/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseConfigurationService.kt +++ b/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseConfigurationService.kt @@ -1,12 +1,12 @@ package be.ugent.sel.studeez.domain.implementation -import be.ugent.sel.studeez.data.local.models.timer_info.* +import be.ugent.sel.studeez.data.local.models.timer_info.TimerInfo +import be.ugent.sel.studeez.data.local.models.timer_info.TimerJson import be.ugent.sel.studeez.domain.ConfigurationService import com.google.firebase.ktx.Firebase import com.google.firebase.remoteconfig.ktx.get import com.google.firebase.remoteconfig.ktx.remoteConfig import com.google.firebase.remoteconfig.ktx.remoteConfigSettings -import com.google.gson.Gson import kotlinx.coroutines.tasks.await import javax.inject.Inject diff --git a/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseFeedDAO.kt b/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseFeedDAO.kt index be4893d..78f1d2a 100644 --- a/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseFeedDAO.kt +++ b/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseFeedDAO.kt @@ -42,14 +42,14 @@ class FirebaseFeedDAO @Inject constructor( */ override suspend fun getFeedEntriesFromUser(id: String): Map> { return sessionDAO.getSessionsOfUser(id) - .map { sessionReport -> sessionToFeedEntryFromUser(sessionReport, id) } - .sortedByDescending { it.endTime } - .groupBy { getFormattedTime(it) } - .mapValues { (_, entries) -> - entries - .groupBy { it.taskId } - .map { fuseFeedEntries(it.component2()) } - } + .map { sessionReport -> sessionToFeedEntryFromUser(sessionReport, id) } + .sortedByDescending { it.endTime } + .groupBy { getFormattedTime(it) } + .mapValues { (_, entries) -> + entries + .groupBy { it.taskId } + .map { fuseFeedEntries(it.component2()) } + } } override fun getFriendsSessions(): Flow>>> { @@ -70,7 +70,7 @@ class FirebaseFeedDAO @Inject constructor( val new: MutableMap>> = mutableMapOf() for ((name, map) in l) { for ((day, feedEntries: List) in map) { - new[day] = new.getOrDefault(day, listOf()) + feedEntries.map { Pair(name, it) } + new[day] = new.getOrDefault(day, listOf()) + feedEntries.map { Pair(name, it) } } } return new @@ -109,7 +109,11 @@ class FirebaseFeedDAO @Inject constructor( return makeFeedEntry(sessionReport, subject, task) } - private fun makeFeedEntry(sessionReport: SessionReport, subject: Subject, task: Task): FeedEntry { + private fun makeFeedEntry( + sessionReport: SessionReport, + subject: Subject, + task: Task + ): FeedEntry { return FeedEntry( argb_color = subject.argb_color, subJectName = subject.name, @@ -125,7 +129,10 @@ class FirebaseFeedDAO @Inject constructor( /** * Convert a sessionReport to a feedEntry. Fetch Task and Subject to get names */ - private suspend fun sessionToFeedEntryFromUser(sessionReport: SessionReport, id: String): FeedEntry { + private suspend fun sessionToFeedEntryFromUser( + sessionReport: SessionReport, + id: String + ): FeedEntry { val subjectId: String = sessionReport.subjectId val taskId: String = sessionReport.taskId diff --git a/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseFriendshipDAO.kt b/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseFriendshipDAO.kt index 2583bed..a19c02e 100644 --- a/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseFriendshipDAO.kt +++ b/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseFriendshipDAO.kt @@ -17,7 +17,6 @@ import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.catch import kotlinx.coroutines.flow.flow import kotlinx.coroutines.flow.map -import kotlinx.coroutines.tasks.await import javax.inject.Inject import kotlin.coroutines.resume import kotlin.coroutines.resumeWithException @@ -27,7 +26,7 @@ import be.ugent.sel.studeez.R.string as AppText class FirebaseFriendshipDAO @Inject constructor( private val firestore: FirebaseFirestore, private val auth: AccountDAO -): FriendshipDAO { +) : FriendshipDAO { private fun currentUserDocument(): DocumentReference = firestore .collection(USER_COLLECTION) @@ -89,21 +88,25 @@ class FirebaseFriendshipDAO @Inject constructor( // Add entry to current user currentUserDocument() .collection(FRIENDS_COLLECTION) - .add(mapOf( - FRIENDID to otherUserId, - ACCEPTED to true, // TODO Make it not automatically accepted. - FRIENDSSINCE to Timestamp.now() - )) + .add( + mapOf( + FRIENDID to otherUserId, + ACCEPTED to true, // TODO Make it not automatically accepted. + FRIENDSSINCE to Timestamp.now() + ) + ) // Add entry to other user firestore.collection(USER_COLLECTION) .document(otherUserId) .collection(FRIENDS_COLLECTION) - .add(mapOf( - FRIENDID to currentUserId, - ACCEPTED to true, // TODO Make it not automatically accepted. - FRIENDSSINCE to Timestamp.now() - )) + .add( + mapOf( + FRIENDID to currentUserId, + ACCEPTED to true, // TODO Make it not automatically accepted. + FRIENDSSINCE to Timestamp.now() + ) + ) } }.addOnSuccessListener { val message = if (allowed) AppText.success else AppText.already_friend diff --git a/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseSessionDAO.kt b/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseSessionDAO.kt index df271c6..220bd71 100644 --- a/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseSessionDAO.kt +++ b/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseSessionDAO.kt @@ -1,24 +1,15 @@ package be.ugent.sel.studeez.domain.implementation -import be.ugent.sel.studeez.data.local.models.FeedEntry import be.ugent.sel.studeez.data.local.models.SessionReport -import be.ugent.sel.studeez.data.local.models.User -import be.ugent.sel.studeez.data.local.models.task.Task import be.ugent.sel.studeez.data.local.models.timer_info.TimerInfo -import be.ugent.sel.studeez.data.remote.FirebaseSessionReport -import be.ugent.sel.studeez.data.remote.FirebaseSessionReport.ENDTIME -import be.ugent.sel.studeez.data.remote.FirebaseSessionReport.STUDYTIME -import be.ugent.sel.studeez.domain.* +import be.ugent.sel.studeez.domain.AccountDAO +import be.ugent.sel.studeez.domain.SessionDAO import be.ugent.sel.studeez.domain.implementation.FirebaseCollections.SESSION_COLLECTION import be.ugent.sel.studeez.domain.implementation.FirebaseCollections.USER_COLLECTION -import com.google.firebase.Timestamp import com.google.firebase.firestore.CollectionReference import com.google.firebase.firestore.FirebaseFirestore -import com.google.firebase.firestore.ktx.getField import com.google.firebase.firestore.ktx.snapshots -import com.google.firebase.firestore.ktx.toObject import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.emptyFlow import kotlinx.coroutines.flow.map import kotlinx.coroutines.tasks.await import javax.inject.Inject diff --git a/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseSubjectDAO.kt b/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseSubjectDAO.kt index 1b8d7da..644671b 100644 --- a/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseSubjectDAO.kt +++ b/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseSubjectDAO.kt @@ -82,7 +82,10 @@ class FirebaseSubjectDAO @Inject constructor( .document(id) .collection(FirebaseCollections.SUBJECT_COLLECTION) - private fun subjectTasksCollection(subject: Subject, id: String = auth.currentUserId): CollectionReference = + private fun subjectTasksCollection( + subject: Subject, + id: String = auth.currentUserId + ): CollectionReference = firestore.collection(FirebaseCollections.USER_COLLECTION) .document(id) .collection(FirebaseCollections.SUBJECT_COLLECTION) diff --git a/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseTaskDAO.kt b/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseTaskDAO.kt index 1ca60e4..d35da27 100644 --- a/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseTaskDAO.kt +++ b/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseTaskDAO.kt @@ -51,7 +51,10 @@ class FirebaseTaskDAO @Inject constructor( selectedSubjectTasksCollection(oldTask.subjectId).document(oldTask.id).delete() } - private fun selectedSubjectTasksCollection(subjectId: String, id: String = auth.currentUserId): CollectionReference = + private fun selectedSubjectTasksCollection( + subjectId: String, + id: String = auth.currentUserId + ): CollectionReference = firestore.collection(FirebaseCollections.USER_COLLECTION) .document(id) .collection(FirebaseCollections.SUBJECT_COLLECTION) diff --git a/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseTimerDAO.kt b/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseTimerDAO.kt index dad7047..7c77e7c 100644 --- a/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseTimerDAO.kt +++ b/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseTimerDAO.kt @@ -1,6 +1,7 @@ package be.ugent.sel.studeez.domain.implementation -import be.ugent.sel.studeez.data.local.models.timer_info.* +import be.ugent.sel.studeez.data.local.models.timer_info.TimerInfo +import be.ugent.sel.studeez.data.local.models.timer_info.TimerJson import be.ugent.sel.studeez.domain.AccountDAO import be.ugent.sel.studeez.domain.TimerDAO import com.google.firebase.firestore.CollectionReference @@ -29,7 +30,7 @@ class FirebaseTimerDAO @Inject constructor( // Wrap default timers in een flow en combineer met de userTimer flow. val defaultTimers: List = configurationService.getDefaultTimers() val defaultTimersFlow: Flow> = flowOf(defaultTimers) - val userTimersFlow: Flow> = getUserTimers() + val userTimersFlow: Flow> = getUserTimers() return defaultTimersFlow.combine(userTimersFlow) { defaultTimersList, userTimersList -> defaultTimersList + userTimersList } diff --git a/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseUserDAO.kt b/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseUserDAO.kt index 04239c0..349f647 100644 --- a/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseUserDAO.kt +++ b/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseUserDAO.kt @@ -80,10 +80,12 @@ class FirebaseUserDAO @Inject constructor( newUsername: String, newBiography: String ) { - currentUserDocument().set(mapOf( - USERNAME to newUsername, - BIOGRAPHY to newBiography - )) + currentUserDocument().set( + mapOf( + USERNAME to newUsername, + BIOGRAPHY to newBiography + ) + ) } override suspend fun deleteLoggedInUserReferences() { diff --git a/app/src/main/java/be/ugent/sel/studeez/domain/implementation/ToTimerConverter.kt b/app/src/main/java/be/ugent/sel/studeez/domain/implementation/ToTimerConverter.kt index ea06747..1caa1b0 100644 --- a/app/src/main/java/be/ugent/sel/studeez/domain/implementation/ToTimerConverter.kt +++ b/app/src/main/java/be/ugent/sel/studeez/domain/implementation/ToTimerConverter.kt @@ -1,6 +1,7 @@ package be.ugent.sel.studeez.domain.implementation import be.ugent.sel.studeez.data.local.models.timer_info.* +import be.ugent.sel.studeez.domain.implementation.ToTimerConverter.TimerFactory import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -15,32 +16,38 @@ import com.google.gson.reflect.TypeToken class ToTimerConverter { fun interface TimerFactory { - fun makeTimer(map: TimerJson) : TimerInfo + fun makeTimer(map: TimerJson): TimerInfo } private val timerInfoMap: Map = mapOf( - TimerType.ENDLESS to TimerFactory { EndlessTimerInfo( - it.name, - it.description, - it.id - ) }, - TimerType.CUSTOM to TimerFactory { CustomTimerInfo( - it.name, - it.description, - it.studyTime, - it.id - ) }, - TimerType.BREAK to TimerFactory { PomodoroTimerInfo( - it.name, - it.description, - it.studyTime, - it.breakTime, - it.repeats, - it.id - ) } + TimerType.ENDLESS to TimerFactory { + EndlessTimerInfo( + it.name, + it.description, + it.id + ) + }, + TimerType.CUSTOM to TimerFactory { + CustomTimerInfo( + it.name, + it.description, + it.studyTime, + it.id + ) + }, + TimerType.BREAK to TimerFactory { + PomodoroTimerInfo( + it.name, + it.description, + it.studyTime, + it.breakTime, + it.repeats, + it.id + ) + } ) - private fun getTimer(timerJson: TimerJson): TimerInfo{ + private fun getTimer(timerJson: TimerJson): TimerInfo { val type: TimerType = TimerType.valueOf(timerJson.type.uppercase()) return timerInfoMap.getValue(type).makeTimer(timerJson) } diff --git a/app/src/main/java/be/ugent/sel/studeez/navigation/StudeezNavGraph.kt b/app/src/main/java/be/ugent/sel/studeez/navigation/StudeezNavGraph.kt index 6dd57d5..29b28cf 100644 --- a/app/src/main/java/be/ugent/sel/studeez/navigation/StudeezNavGraph.kt +++ b/app/src/main/java/be/ugent/sel/studeez/navigation/StudeezNavGraph.kt @@ -112,7 +112,12 @@ fun StudeezNavGraph( composable(StudeezDestinations.TASKS_SCREEN) { TaskRoute( - goBack = { openAndPopUp(StudeezDestinations.SUBJECT_SCREEN, StudeezDestinations.TASKS_SCREEN) }, + goBack = { + openAndPopUp( + StudeezDestinations.SUBJECT_SCREEN, + StudeezDestinations.TASKS_SCREEN + ) + }, open = open, viewModel = hiltViewModel(), ) diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/friends/friends_overview/FriendsOverviewScreen.kt b/app/src/main/java/be/ugent/sel/studeez/screens/friends/friends_overview/FriendsOverviewScreen.kt index a1960d8..ff786f1 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/friends/friends_overview/FriendsOverviewScreen.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/friends/friends_overview/FriendsOverviewScreen.kt @@ -95,24 +95,24 @@ fun FriendsOverviewScreen( // label = AppText.search_friends, // enabled = false // ) - IconButton( - onClick = friendsOverviewActions.onSubmit, + IconButton( + onClick = friendsOverviewActions.onSubmit, // modifier = Modifier.background( // color = MaterialTheme.colors.background // ), - ) { - Row { - Text( - text = stringResource(id = AppText.click_search_friends), - color = MaterialTheme.colors.onPrimary - ) - Icon( - imageVector = Icons.Default.Search, - contentDescription = stringResource(AppText.search_friends), - tint = MaterialTheme.colors.onPrimary - ) - } + ) { + Row { + Text( + text = stringResource(id = AppText.click_search_friends), + color = MaterialTheme.colors.onPrimary + ) + Icon( + imageVector = Icons.Default.Search, + contentDescription = stringResource(AppText.search_friends), + tint = MaterialTheme.colors.onPrimary + ) } + } }, navigationIcon = { IconButton(onClick = popUp) { @@ -126,7 +126,7 @@ fun FriendsOverviewScreen( ) } ) { paddingValues -> - LazyColumn ( + LazyColumn( modifier = Modifier.padding(paddingValues) ) { if (friends.value.isEmpty()) { @@ -180,7 +180,7 @@ fun FriendsEntry( removeFriend: (Friendship) -> Unit ) { Card { - Row ( + Row( modifier = Modifier .fillMaxWidth() .padding(horizontal = 15.dp, vertical = 7.dp), @@ -193,11 +193,11 @@ fun FriendsEntry( ProfilePicture() } - Box ( + Box( modifier = Modifier .fillMaxWidth() ) { - Column ( + Column( modifier = Modifier .padding(vertical = 4.dp) ) { @@ -208,7 +208,11 @@ fun FriendsEntry( overflow = TextOverflow.Ellipsis ) Text( - text = "${resources().getString(AppText.app_name)} ${resources().getString(AppText.friend)}", + text = "${resources().getString(AppText.app_name)} ${ + resources().getString( + AppText.friend + ) + }", fontSize = 14.sp, maxLines = 1, overflow = TextOverflow.Ellipsis diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/friends/friends_overview/FriendsOverviewViewModel.kt b/app/src/main/java/be/ugent/sel/studeez/screens/friends/friends_overview/FriendsOverviewViewModel.kt index 556e435..a841c67 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/friends/friends_overview/FriendsOverviewViewModel.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/friends/friends_overview/FriendsOverviewViewModel.kt @@ -23,15 +23,17 @@ class FriendsOverviewViewModel @Inject constructor( logService: LogService ) : StudeezViewModel(logService) { - var uiState = mutableStateOf(FriendsOverviewUiState( - userId = selectedUserIdState.value - )) + var uiState = mutableStateOf( + FriendsOverviewUiState( + userId = selectedUserIdState.value + ) + ) private set fun getAllFriends(): Flow>> { return friendshipDAO.getAllFriendships( - userId = uiState.value.userId - ) + userId = uiState.value.userId + ) .flatMapConcat { friendships -> val userFlows = friendships.map { friendship -> userDAO.getUserDetails(friendship.friendId) diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/friends/friends_search/SearchFriendsScreen.kt b/app/src/main/java/be/ugent/sel/studeez/screens/friends/friends_search/SearchFriendsScreen.kt index 508f7ed..a2a0291 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/friends/friends_search/SearchFriendsScreen.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/friends/friends_search/SearchFriendsScreen.kt @@ -105,7 +105,7 @@ fun SearchFriendsScreen( LazyColumn( modifier = Modifier.padding(paddingValues) ) { - items (searchResults.value) { user -> + items(searchResults.value) { user -> UserEntry( user = user, goToProfile = searchFriendsActions.goToProfile @@ -123,21 +123,29 @@ fun SearchFriendsPreview() { popUp = {}, uiState = SearchFriendUiState( queryString = "dit is een test", - searchResults = flowOf(listOf(User( - id = "someid", - username = "Eerste user", - biography = "blah blah blah" - ))) + searchResults = flowOf( + listOf( + User( + id = "someid", + username = "Eerste user", + biography = "blah blah blah" + ) + ) + ) ), searchFriendsActions = SearchFriendsActions( onQueryStringChange = {}, getUsersWithUsername = {}, getAllUsers = { - flowOf(listOf(User( - id = "someid", - username = "Eerste user", - biography = "blah blah blah" - ))) + flowOf( + listOf( + User( + id = "someid", + username = "Eerste user", + biography = "blah blah blah" + ) + ) + ) }, goToProfile = { } ) @@ -163,11 +171,11 @@ fun UserEntry( ProfilePicture() } - Box ( + Box( modifier = Modifier .fillMaxWidth() ) { - Column ( + Column( modifier = Modifier .padding(vertical = 4.dp) ) { @@ -178,7 +186,11 @@ fun UserEntry( overflow = TextOverflow.Ellipsis ) Text( - text = "${resources().getString(AppText.app_name)} ${resources().getString(AppText.friend)}", + text = "${resources().getString(AppText.app_name)} ${ + resources().getString( + AppText.friend + ) + }", fontSize = 14.sp, maxLines = 1, overflow = TextOverflow.Ellipsis diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/friends/friends_search/SearchFriendsViewModel.kt b/app/src/main/java/be/ugent/sel/studeez/screens/friends/friends_search/SearchFriendsViewModel.kt index 05bf6d6..2856aa6 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/friends/friends_search/SearchFriendsViewModel.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/friends/friends_search/SearchFriendsViewModel.kt @@ -18,7 +18,7 @@ class SearchFriendsViewModel @Inject constructor( private val userDAO: UserDAO, private val selectedProfileState: SelectedUserId, logService: LogService -): StudeezViewModel(logService) { +) : StudeezViewModel(logService) { var uiState = mutableStateOf(SearchFriendUiState()) private set diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/home/HomeViewModel.kt b/app/src/main/java/be/ugent/sel/studeez/screens/home/HomeViewModel.kt index 5a9407a..d7f294d 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/home/HomeViewModel.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/home/HomeViewModel.kt @@ -1,4 +1,5 @@ package be.ugent.sel.studeez.screens.home + import be.ugent.sel.studeez.domain.LogService import be.ugent.sel.studeez.navigation.StudeezDestinations import be.ugent.sel.studeez.screens.StudeezViewModel diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/profile/ProfileScreen.kt b/app/src/main/java/be/ugent/sel/studeez/screens/profile/ProfileScreen.kt index ca59fba..edec364 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/profile/ProfileScreen.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/profile/ProfileScreen.kt @@ -92,7 +92,8 @@ fun ProfileScreen( item { Row( horizontalArrangement = Arrangement.spacedBy(5.dp), - modifier = Modifier.fillMaxWidth() + modifier = Modifier + .fillMaxWidth() .wrapContentWidth(align = Alignment.CenterHorizontally) ) { AmountOfFriendsButton( @@ -140,7 +141,7 @@ fun ProfileScreenPreview() { fun AmountOfFriendsButton( amountOfFriends: Int, onClick: () -> Unit -){ +) { Button( onClick = onClick, shape = defaultButtonShape() diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/profile/edit_profile/ProfileEditScreen.kt b/app/src/main/java/be/ugent/sel/studeez/screens/profile/edit_profile/ProfileEditScreen.kt index 31dcb9d..a70e67d 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/profile/edit_profile/ProfileEditScreen.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/profile/edit_profile/ProfileEditScreen.kt @@ -82,7 +82,7 @@ fun EditProfileScreen( ) } item { - BasicTextButton( + BasicTextButton( text = AppText.delete_profile, Modifier.textButton(), action = editProfileActions.onDeleteClick diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/profile/edit_profile/ProfileEditUiState.kt b/app/src/main/java/be/ugent/sel/studeez/screens/profile/edit_profile/ProfileEditUiState.kt index 911df68..22cbc24 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/profile/edit_profile/ProfileEditUiState.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/profile/edit_profile/ProfileEditUiState.kt @@ -1,6 +1,6 @@ package be.ugent.sel.studeez.screens.profile.edit_profile -data class ProfileEditUiState ( +data class ProfileEditUiState( val username: String = "", val biography: String = "" ) \ No newline at end of file diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/profile/public_profile/PublicProfileScreen.kt b/app/src/main/java/be/ugent/sel/studeez/screens/profile/public_profile/PublicProfileScreen.kt index 4fff845..559a442 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/profile/public_profile/PublicProfileScreen.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/profile/public_profile/PublicProfileScreen.kt @@ -39,9 +39,11 @@ fun getPublicProfileActions( ): PublicProfileActions { return PublicProfileActions( getUserDetails = { viewModel.getUserDetails(viewModel.uiState.value.userId) }, - getAmountOfFriends = { viewModel.getAmountOfFriends( - userId = viewModel.uiState.value.userId - ) }, + getAmountOfFriends = { + viewModel.getAmountOfFriends( + userId = viewModel.uiState.value.userId + ) + }, onViewFriendsClick = { viewModel.onViewFriendsClick(open) }, sendFriendRequest = { viewModel.sendFriendRequest( @@ -123,11 +125,13 @@ fun PublicProfilePreview() { PublicProfileScreen( publicProfileActions = PublicProfileActions( getUserDetails = { - flowOf(User( - id = "someid", - username = "Maxime De Poorter", - biography = "I am a different student and this is my public profile" - )) + flowOf( + User( + id = "someid", + username = "Maxime De Poorter", + biography = "I am a different student and this is my public profile" + ) + ) }, getAmountOfFriends = { flowOf(113) }, onViewFriendsClick = {}, diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/profile/public_profile/PublicProfileViewModel.kt b/app/src/main/java/be/ugent/sel/studeez/screens/profile/public_profile/PublicProfileViewModel.kt index 6958b88..a548b04 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/profile/public_profile/PublicProfileViewModel.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/profile/public_profile/PublicProfileViewModel.kt @@ -18,7 +18,7 @@ class PublicProfileViewModel @Inject constructor( private val friendshipDAO: FriendshipDAO, selectedUserIdState: SelectedUserId, logService: LogService -): StudeezViewModel(logService) { +) : StudeezViewModel(logService) { val uiState = mutableStateOf( PublicProfileUiState( diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/session/SessionRoute.kt b/app/src/main/java/be/ugent/sel/studeez/screens/session/SessionRoute.kt index 6ca8a96..bffca4a 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/session/SessionRoute.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/session/SessionRoute.kt @@ -39,7 +39,8 @@ fun SessionRoute( val soundPlayer = SoundPlayer(LocalContext.current) val sessionActions = getSessionActions(viewModel, openAndPopUp) - val sessionScreen = viewModel.getTimer().accept(GetSessionScreenComposable(soundPlayer, open, sessionActions)) + val sessionScreen = + viewModel.getTimer().accept(GetSessionScreenComposable(soundPlayer, open, sessionActions)) sessionScreen() } diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/session/SoundPlayer.kt b/app/src/main/java/be/ugent/sel/studeez/screens/session/SoundPlayer.kt index 14fae19..0d19979 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/session/SoundPlayer.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/session/SoundPlayer.kt @@ -21,7 +21,7 @@ class SoundPlayer(private val context: Context) { private fun initPlayer(): MediaPlayer { - return MediaPlayer.create( + return MediaPlayer.create( context, RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION) ) diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/session/sessionScreens/BreakTimerScreenComposable.kt b/app/src/main/java/be/ugent/sel/studeez/screens/session/sessionScreens/BreakTimerScreenComposable.kt index 42ec4f7..d3a3982 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/session/sessionScreens/BreakTimerScreenComposable.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/session/sessionScreens/BreakTimerScreenComposable.kt @@ -27,7 +27,7 @@ fun BreakSessionScreenComposable( sessionActions = sessionActions, midSection = { Dots(pomodoroTimer = pomodoroTimer) }, callMediaPlayer = { soundPlayer.playOn(pomodoroTimer.hasCurrentCountdownEnded()) }, - motivationString = { motivationString (pomodoroTimer = pomodoroTimer) } + motivationString = { motivationString(pomodoroTimer = pomodoroTimer) } ) } @@ -57,11 +57,13 @@ private fun Dots(pomodoroTimer: FunctionalPomodoroTimer): Int { @Composable private fun Dot(color: Color) { - Box(modifier = Modifier - .padding(5.dp) - .size(10.dp) - .clip(CircleShape) - .background(color)) + Box( + modifier = Modifier + .padding(5.dp) + .size(10.dp) + .clip(CircleShape) + .background(color) + ) } diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/session/sessionScreens/GetSessionScreenComposable.kt b/app/src/main/java/be/ugent/sel/studeez/screens/session/sessionScreens/GetSessionScreenComposable.kt index 47ca52e..4ca8ac3 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/session/sessionScreens/GetSessionScreenComposable.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/session/sessionScreens/GetSessionScreenComposable.kt @@ -12,11 +12,12 @@ class GetSessionScreenComposable( private val soundPlayer: SoundPlayer, private val open: (String) -> Unit, private val sessionActions: SessionActions - ) : +) : FunctionalTimerVisitor<@Composable () -> Unit> { override fun visitFunctionalCustomTimer(functionalCustomTimer: FunctionalCustomTimer): @Composable () -> Unit { - return { CustomTimerSessionScreenComposable( + return { + CustomTimerSessionScreenComposable( open = open, sessionActions = sessionActions, soundPlayer = soundPlayer, diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/session/sessionScreens/SessionScreenComposable.kt b/app/src/main/java/be/ugent/sel/studeez/screens/session/sessionScreens/SessionScreenComposable.kt index c94d2a5..885a949 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/session/sessionScreens/SessionScreenComposable.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/session/sessionScreens/SessionScreenComposable.kt @@ -23,10 +23,10 @@ fun SessionScreen( open: (String) -> Unit, sessionActions: SessionActions, callMediaPlayer: () -> Unit = {}, - midSection: @Composable () -> Int = {0}, + midSection: @Composable () -> Int = { 0 }, motivationString: @Composable () -> String, -) { + ) { Column( modifier = Modifier.padding(10.dp) ) { diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/session_recap/SessionRecapScreen.kt b/app/src/main/java/be/ugent/sel/studeez/screens/session_recap/SessionRecapScreen.kt index 3a1e85f..f68b0d3 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/session_recap/SessionRecapScreen.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/session_recap/SessionRecapScreen.kt @@ -135,9 +135,11 @@ fun SessionRecapScreenPreview() { SessionRecapScreen( modifier = Modifier, sessionRecapActions = SessionRecapActions( - { SessionReport( - studyTime = 100, - ) }, + { + SessionReport( + studyTime = 100, + ) + }, {}, {}, ) diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/sign_up/SignUpViewModel.kt b/app/src/main/java/be/ugent/sel/studeez/screens/sign_up/SignUpViewModel.kt index 4cfa6a9..5dc815e 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/sign_up/SignUpViewModel.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/sign_up/SignUpViewModel.kt @@ -21,7 +21,7 @@ class SignUpViewModel @Inject constructor( private val accountDAO: AccountDAO, private val userDAO: UserDAO, logService: LogService - ) : StudeezViewModel(logService) { +) : StudeezViewModel(logService) { var uiState = mutableStateOf(SignUpUiState()) private set @@ -35,6 +35,7 @@ class SignUpViewModel @Inject constructor( fun onUsernameChange(newValue: String) { uiState.value = uiState.value.copy(username = newValue) } + fun onEmailChange(newValue: String) { uiState.value = uiState.value.copy(email = newValue) } diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/splash/SplashViewModel.kt b/app/src/main/java/be/ugent/sel/studeez/screens/splash/SplashViewModel.kt index 4e1dfbd..86a08ef 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/splash/SplashViewModel.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/splash/SplashViewModel.kt @@ -26,7 +26,7 @@ class SplashViewModel @Inject constructor( showError.value = false if (accountDAO.hasUser) { openAndPopUp(StudeezDestinations.HOME_SCREEN, StudeezDestinations.SPLASH_SCREEN) - } else{ + } else { openAndPopUp(StudeezDestinations.SIGN_UP_SCREEN, StudeezDestinations.SPLASH_SCREEN) } } diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/GetTimerFormScreen.kt b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/GetTimerFormScreen.kt index 99426e4..b772a1f 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/GetTimerFormScreen.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/GetTimerFormScreen.kt @@ -9,7 +9,7 @@ import be.ugent.sel.studeez.screens.timer_form.form_screens.BreakTimerFormScreen import be.ugent.sel.studeez.screens.timer_form.form_screens.CustomTimerFormScreen import be.ugent.sel.studeez.screens.timer_form.form_screens.EndlessTimerFormScreen -class GetTimerFormScreen: TimerInfoVisitor { +class GetTimerFormScreen : TimerInfoVisitor { override fun visitCustomTimerInfo(customTimerInfo: CustomTimerInfo): AbstractTimerFormScreen { return CustomTimerFormScreen(customTimerInfo) diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/TimerFormScreen.kt b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/TimerFormScreen.kt index c69e929..2dede13 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/TimerFormScreen.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/TimerFormScreen.kt @@ -18,10 +18,10 @@ fun TimerAddRoute( TimerFormScreen( popUp = popUp, getTimerInfo = viewModel::getTimerInfo, - extraButton= { }, + extraButton = { }, AppText.add_timer ) { - viewModel.saveTimer(it, goBack = {popUp(); popUp()}) + viewModel.saveTimer(it, goBack = { popUp(); popUp() }) } } @@ -42,7 +42,7 @@ fun TimerEditRoute( TimerFormScreen( popUp = popUp, getTimerInfo = viewModel::getTimerInfo, - extraButton= { deleteButton() }, + extraButton = { deleteButton() }, AppText.edit_timer ) { viewModel.editTimer(it, goBack = popUp) diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/form_screens/BreakTimerFormScreen.kt b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/form_screens/BreakTimerFormScreen.kt index 06c1079..2fa7003 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/form_screens/BreakTimerFormScreen.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/form_screens/BreakTimerFormScreen.kt @@ -15,8 +15,7 @@ import be.ugent.sel.studeez.R.string as AppText class BreakTimerFormScreen( private val breakTimerInfo: PomodoroTimerInfo -): AbstractTimerFormScreen(breakTimerInfo) { - +) : AbstractTimerFormScreen(breakTimerInfo) { @Composable @@ -30,7 +29,7 @@ class BreakTimerFormScreen( breakTimerInfo.breakTime = newTime } - valids["repeats"] = remember {mutableStateOf(true)} + valids["repeats"] = remember { mutableStateOf(true) } firsts["repeats"] = remember { mutableStateOf(true) } LabeledErrorTextField( diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/form_screens/CustomTimerFormScreen.kt b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/form_screens/CustomTimerFormScreen.kt index 27c0657..77fa5a4 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/form_screens/CustomTimerFormScreen.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/form_screens/CustomTimerFormScreen.kt @@ -9,7 +9,7 @@ import be.ugent.sel.studeez.R.string as AppText class CustomTimerFormScreen( private val customTimerInfo: CustomTimerInfo - ): AbstractTimerFormScreen(customTimerInfo) { +) : AbstractTimerFormScreen(customTimerInfo) { @Composable override fun ExtraFields() { diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/form_screens/EndlessTimerFormScreen.kt b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/form_screens/EndlessTimerFormScreen.kt index 9009fff..aaaac4c 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/form_screens/EndlessTimerFormScreen.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/form_screens/EndlessTimerFormScreen.kt @@ -7,7 +7,7 @@ import be.ugent.sel.studeez.ui.theme.StudeezTheme class EndlessTimerFormScreen( endlessTimerInfo: EndlessTimerInfo -): AbstractTimerFormScreen(endlessTimerInfo) { +) : AbstractTimerFormScreen(endlessTimerInfo) { } @Preview diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/timer_type_select/TimerTypeSelectScreen.kt b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/timer_type_select/TimerTypeSelectScreen.kt index d4b58f2..af659d6 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/timer_type_select/TimerTypeSelectScreen.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/timer_type_select/TimerTypeSelectScreen.kt @@ -40,7 +40,9 @@ fun TimerTypeSelectScreen( val default: TimerInfo = defaultTimerInfo.getValue(timerType) Button( onClick = { viewModel.onTimerTypeChosen(default, open) }, - modifier = Modifier.fillMaxWidth().padding(5.dp) + modifier = Modifier + .fillMaxWidth() + .padding(5.dp) ) { Text(text = timerType.name) } diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/timer_overview/TimerOverviewScreen.kt b/app/src/main/java/be/ugent/sel/studeez/screens/timer_overview/TimerOverviewScreen.kt index 3c25ddf..86ba700 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/timer_overview/TimerOverviewScreen.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/timer_overview/TimerOverviewScreen.kt @@ -68,11 +68,13 @@ fun TimerOverviewScreen( LazyColumn { // Custom timer, select new duration each time item { - TimerEntry(timerInfo = CustomTimerInfo( - name = resources().getString(R.string.custom_name), - description = resources().getString(R.string.custom_name), - studyTime = 0 - )) + TimerEntry( + timerInfo = CustomTimerInfo( + name = resources().getString(R.string.custom_name), + description = resources().getString(R.string.custom_name), + studyTime = 0 + ) + ) } // Default Timers, cannot be edited items(timerOverviewActions.getDefaultTimers()) { diff --git a/app/src/main/java/be/ugent/sel/studeez/ui/theme/Color.kt b/app/src/main/java/be/ugent/sel/studeez/ui/theme/Color.kt index 3639b8d..4929a1e 100644 --- a/app/src/main/java/be/ugent/sel/studeez/ui/theme/Color.kt +++ b/app/src/main/java/be/ugent/sel/studeez/ui/theme/Color.kt @@ -2,6 +2,6 @@ package be.ugent.sel.studeez.ui.theme import androidx.compose.ui.graphics.Color -val Blue100 = Color( 30, 100, 200, 255) -val Blue120 = Color( 27, 90, 180, 255) -val Yellow100 = Color(255, 210, 0, 255) \ No newline at end of file +val Blue100 = Color(30, 100, 200, 255) +val Blue120 = Color(27, 90, 180, 255) +val Yellow100 = Color(255, 210, 0, 255) \ No newline at end of file