Skip to content

Commit c286cb4

Browse files
committed
style: overall opt
1 parent 12bd16b commit c286cb4

File tree

12 files changed

+43
-28
lines changed

12 files changed

+43
-28
lines changed

api/chatgpt/src/main/kotlin/com/espressodev/gptmap/api/chatgpt/ext/ChatgptExt.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.espressodev.gptmap.api.chatgpt.ext
22

33
import com.espressodev.gptmap.core.model.chatgpt.ChatgptRequest
4-
import com.espressodev.gptmap.core.model.utils.PromptUtil.locationPreText
4+
import com.espressodev.gptmap.core.model.PromptUtil.locationPreText
55

66

77
internal fun ChatgptRequest.mergeMessageWithPreText(): ChatgptRequest {

api/gemini/src/main/kotlin/com/espressodev/gptmap/api/gemini/impl/GeminiServiceImpl.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import com.espressodev.gptmap.api.gemini.GeminiService
44
import com.espressodev.gptmap.core.model.Location
55
import com.espressodev.gptmap.core.model.ext.classTag
66
import com.espressodev.gptmap.core.model.ext.toLocation
7-
import com.espressodev.gptmap.core.model.utils.PromptUtil.locationPreText
7+
import com.espressodev.gptmap.core.model.PromptUtil.locationPreText
88
import com.google.ai.client.generativeai.GenerativeModel
99
import kotlinx.coroutines.Dispatchers
1010
import kotlinx.coroutines.withContext

api/palm/src/main/kotlin/com/espressodev/gptmap/api/palm/impl/PalmServiceImpl.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import com.espressodev.gptmap.api.palm.PalmApi
55
import com.espressodev.gptmap.api.palm.PalmService
66
import com.espressodev.gptmap.core.model.Location
77
import com.espressodev.gptmap.core.model.ext.classTag
8-
import com.espressodev.gptmap.core.model.utils.PromptUtil.locationPreText
8+
import com.espressodev.gptmap.core.model.PromptUtil.locationPreText
99
import kotlinx.coroutines.Dispatchers
1010
import kotlinx.coroutines.withContext
1111

app/build.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,4 +58,6 @@ dependencies {
5858
implementation(libs.androidx.activity.compose)
5959
implementation(libs.androidx.compose.material3)
6060
implementation(libs.androidx.navigation.compose)
61+
implementation(libs.androidx.core.splashscreen)
62+
implementation(libs.androidx.lifecycle.runtimeCompose)
6163
}

feature/map/src/main/kotlin/com/espressodev/gptmap/feature/map/MapScreen.kt

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package com.espressodev.gptmap.feature.map
22

33
import android.annotation.SuppressLint
4+
import android.util.Log
5+
import androidx.activity.compose.BackHandler
46
import androidx.compose.animation.AnimatedVisibility
57
import androidx.compose.animation.core.LinearEasing
68
import androidx.compose.animation.core.animateFloatAsState
@@ -40,6 +42,7 @@ import androidx.compose.runtime.derivedStateOf
4042
import androidx.compose.runtime.getValue
4143
import androidx.compose.runtime.mutableStateOf
4244
import androidx.compose.runtime.remember
45+
import androidx.compose.runtime.saveable.rememberSaveable
4346
import androidx.compose.runtime.setValue
4447
import androidx.compose.ui.Alignment
4548
import androidx.compose.ui.Modifier
@@ -64,6 +67,7 @@ import com.airbnb.lottie.compose.LottieAnimation
6467
import com.airbnb.lottie.compose.LottieCompositionSpec
6568
import com.airbnb.lottie.compose.animateLottieCompositionAsState
6669
import com.airbnb.lottie.compose.rememberLottieComposition
70+
import com.espressodev.gptmap.core.common.splash_navigation.SplashNavigationManager
6771
import com.espressodev.gptmap.core.designsystem.Constants.HIGH_PADDING
6872
import com.espressodev.gptmap.core.designsystem.Constants.MAX_PADDING
6973
import com.espressodev.gptmap.core.designsystem.Constants.MEDIUM_PADDING
@@ -83,8 +87,8 @@ import com.espressodev.gptmap.core.model.unsplash.LocationImage
8387
import com.espressodev.gptmap.core.save_screenshot.composable.SaveScreenshot
8488
import com.espressodev.gptmap.feature.map.ComponentLoadingState.MAP
8589
import com.espressodev.gptmap.feature.map.ComponentLoadingState.STREET_VIEW
90+
import com.espressodev.gptmap.feature.map.MapBottomSheetState.BOTTOM_SHEET_HIDDEN
8691
import com.espressodev.gptmap.feature.map.MapBottomSheetState.DETAIL_CARD
87-
import com.espressodev.gptmap.feature.map.MapBottomSheetState.NOTHING
8892
import com.espressodev.gptmap.feature.map.MapBottomSheetState.SMALL_INFORMATION_CARD
8993
import com.google.android.gms.maps.CameraUpdateFactory
9094
import com.google.android.gms.maps.model.CameraPosition
@@ -140,15 +144,17 @@ fun MapRoute(
140144
}
141145
)
142146
},
143-
modifier = Modifier.statusBarsPadding()
147+
modifier = Modifier.statusBarsPadding()
144148
)
145149
}
146150
SaveScreenshot(
147151
onSuccess = {
148152
navigateToScreenshot()
149153
viewModel.reset()
150154
},
151-
onConfirm = { viewModel.onEvent(MapUiEvent.OnScreenshotProcessStarted) }
155+
onConfirm = {
156+
viewModel.onEvent(MapUiEvent.OnScreenshotProcessStarted)
157+
}
152158
)
153159

154160
LaunchedEffect(favouriteId) {
@@ -312,7 +318,7 @@ private fun BoxScope.DisplayBottomSheet(
312318
)
313319
}
314320

315-
NOTHING -> {}
321+
BOTTOM_SHEET_HIDDEN -> {}
316322
}
317323
}
318324

@@ -406,8 +412,6 @@ private fun MapSection(isPinVisible: Boolean, cameraPositionState: CameraPositio
406412
}
407413
}
408414

409-
410-
411415
Box(modifier = Modifier.fillMaxSize()) {
412416
MapContent(
413417
isPinVisible = isPinVisible,
@@ -445,7 +449,6 @@ private fun BoxScope.LoadingDialog(loadingState: ComponentLoadingState) {
445449
AnimatedVisibility(
446450
visible = loadingState != ComponentLoadingState.NOTHING,
447451
modifier = Modifier
448-
.padding(bottom = 48.dp)
449452
.zIndex(1f)
450453
.align(Alignment.Center)
451454
) {
@@ -457,7 +460,7 @@ private fun BoxScope.LoadingDialog(loadingState: ComponentLoadingState) {
457460
}
458461
Surface(
459462
shape = RoundedCornerShape(16.dp),
460-
color = MaterialTheme.colorScheme.surface.copy(alpha = 0.8f)
463+
color = MaterialTheme.colorScheme.surface.copy(alpha = 0.8f),
461464
) {
462465
Column(
463466
horizontalAlignment = Alignment.CenterHorizontally,
@@ -528,6 +531,7 @@ fun BoxScope.SmallInformationCard(
528531
onStreetViewClick: () -> Unit,
529532
modifier: Modifier = Modifier
530533
) {
534+
BackHandler(onBack = onBackClick)
531535
Column(
532536
modifier = modifier
533537
.align(Alignment.BottomCenter)

feature/map/src/main/kotlin/com/espressodev/gptmap/feature/map/MapUiState.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
package com.espressodev.gptmap.feature.map
22

33
import com.espressodev.gptmap.core.model.Location
4-
import com.google.android.gms.maps.model.LatLng
54

65
enum class MapBottomSheetState {
7-
SMALL_INFORMATION_CARD, DETAIL_CARD, NOTHING
6+
SMALL_INFORMATION_CARD, DETAIL_CARD, BOTTOM_SHEET_HIDDEN
87
}
98

109
enum class ComponentLoadingState {
@@ -15,7 +14,7 @@ data class MapUiState(
1514
val searchValue: String = "",
1615
val location:Location = Location(),
1716
val componentLoadingState: ComponentLoadingState = ComponentLoadingState.NOTHING,
18-
val bottomSheetState: MapBottomSheetState = MapBottomSheetState.NOTHING,
17+
val bottomSheetState: MapBottomSheetState = MapBottomSheetState.BOTTOM_SHEET_HIDDEN,
1918
val searchButtonEnabledState: Boolean = true,
2019
val searchTextFieldEnabledState: Boolean = true,
2120
val bottomSearchState: Boolean = true,
@@ -41,4 +40,4 @@ sealed class MapUiEvent {
4140
data object OnScreenshotProcessStarted: MapUiEvent()
4241
data object OnTakeScreenshotClick: MapUiEvent()
4342
data class OnStreetViewClick(val latLng: Pair<Double, Double>) : MapUiEvent()
44-
}
43+
}

feature/map/src/main/kotlin/com/espressodev/gptmap/feature/map/MapViewModel.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ class MapViewModel @Inject constructor(
5656
is MapUiEvent.OnDetailSheetBackClick -> _uiState.update { it.copy(bottomSheetState = MapBottomSheetState.SMALL_INFORMATION_CARD) }
5757
is MapUiEvent.OnBackClick -> _uiState.update {
5858
it.copy(
59-
bottomSheetState = MapBottomSheetState.NOTHING,
59+
bottomSheetState = MapBottomSheetState.BOTTOM_SHEET_HIDDEN,
6060
bottomSearchState = true
6161
)
6262
}

feature/profile/src/main/kotlin/com/espressodev/gptmap/feature/profile/ProfileScreen.kt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,8 @@ import androidx.compose.foundation.layout.size
1414
import androidx.compose.foundation.layout.width
1515
import androidx.compose.foundation.shape.RoundedCornerShape
1616
import androidx.compose.material3.ExperimentalMaterial3Api
17-
import androidx.compose.material3.FilledIconButton
18-
import androidx.compose.material3.FilledTonalIconButton
1917
import androidx.compose.material3.Icon
2018
import androidx.compose.material3.IconButton
21-
import androidx.compose.material3.IconButtonDefaults
2219
import androidx.compose.material3.MaterialTheme
2320
import androidx.compose.material3.Scaffold
2421
import androidx.compose.material3.Text
@@ -44,8 +41,8 @@ import com.espressodev.gptmap.core.designsystem.component.LottieAnimationView
4441
import com.espressodev.gptmap.core.designsystem.theme.GptmapTheme
4542
import com.espressodev.gptmap.core.model.Response
4643
import com.espressodev.gptmap.core.model.User
47-
import com.espressodev.gptmap.core.designsystem.R.string as AppText
4844
import com.espressodev.gptmap.core.designsystem.R.raw as AppRaw
45+
import com.espressodev.gptmap.core.designsystem.R.string as AppText
4946

5047
@OptIn(ExperimentalMaterial3Api::class)
5148
@Composable

feature/profile/src/main/kotlin/com/espressodev/gptmap/feature/profile/ProfileViewModel.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.espressodev.gptmap.feature.profile
22

33
import androidx.lifecycle.viewModelScope
44
import com.espressodev.gptmap.core.common.GmViewModel
5+
import com.espressodev.gptmap.core.common.splash_navigation.SplashNavigationManager
56
import com.espressodev.gptmap.core.data.AccountService
67
import com.espressodev.gptmap.core.data.FirestoreService
78
import com.espressodev.gptmap.core.data.LogService
@@ -31,7 +32,7 @@ class ProfileViewModel @Inject constructor(
3132
logService: LogService
3233
) : GmViewModel(logService) {
3334
val user = firestoreService
34-
.getUserFlow(accountService.userId)
35+
.getUserFlow()
3536
.retryWhen { cause, attempt ->
3637
if (cause is CancellationException && attempt < MAX_RETRY_ATTEMPTS) {
3738
delay(RETRY_DELAY_MS)
@@ -57,6 +58,7 @@ class ProfileViewModel @Inject constructor(
5758
fun onLogoutClick(navigate: () -> Unit) = launchCatching {
5859
accountService.signOut()
5960
realmAccountService.logOut()
61+
SplashNavigationManager.onLogout()
6062
navigate()
6163
}
6264

feature/screenshot-gallery/src/main/kotlin/com/espressodev/gptmap/feature/screenshot_gallery/ScreenshotGalleryScreen.kt

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ import androidx.compose.ui.unit.Dp
5353
import androidx.compose.ui.unit.dp
5454
import androidx.compose.ui.util.lerp
5555
import androidx.compose.ui.window.Dialog
56+
import androidx.compose.ui.zIndex
5657
import androidx.hilt.navigation.compose.hiltViewModel
5758
import androidx.lifecycle.compose.collectAsStateWithLifecycle
5859
import com.espressodev.gptmap.core.designsystem.GmIcons
@@ -64,9 +65,11 @@ import com.espressodev.gptmap.core.designsystem.component.ShimmerImage
6465
import com.espressodev.gptmap.core.designsystem.component.darkBottomOverlayBrush
6566
import com.espressodev.gptmap.core.model.ImageSummary
6667
import com.espressodev.gptmap.core.model.Response
68+
import kotlinx.collections.immutable.PersistentList
6769
import kotlin.math.absoluteValue
68-
import com.espressodev.gptmap.core.designsystem.R.string as AppText
6970
import com.espressodev.gptmap.core.designsystem.R.raw as AppRaw
71+
import com.espressodev.gptmap.core.designsystem.R.string as AppText
72+
7073
@OptIn(ExperimentalMaterial3Api::class)
7174
@Composable
7275
fun ScreenshotGalleryRoute(
@@ -104,13 +107,12 @@ fun ScreenshotGalleryRoute(
104107
@OptIn(ExperimentalFoundationApi::class)
105108
@Composable
106109
fun ScreenshotGalleryScreen(
107-
images: List<ImageSummary>,
110+
images: PersistentList<ImageSummary>,
108111
modifier: Modifier = Modifier
109112
) {
110113
var currentPage by rememberSaveable { mutableIntStateOf(0) }
111114
var dialogState by rememberSaveable { mutableStateOf(false) }
112115
val pagerState = rememberPagerState(initialPage = currentPage, pageCount = { images.size })
113-
Log.d("ScreenshotGalleryScreen", "images: $images")
114116
if (dialogState) {
115117
GalleryView(images = images, pagerState = pagerState, onDismiss = { dialogState = false })
116118
}
@@ -183,14 +185,16 @@ fun ImageCard(
183185
@OptIn(ExperimentalFoundationApi::class)
184186
@Composable
185187
private fun GalleryView(
186-
images: List<ImageSummary>,
188+
images: PersistentList<ImageSummary>,
187189
pagerState: PagerState,
188190
onDismiss: () -> Unit,
189191
modifier: Modifier = Modifier
190192
) {
191193
Log.d("GalleryView", "images: $images")
192194
Dialog(onDismissRequest = onDismiss) {
193-
Box(modifier = modifier.fillMaxSize(), contentAlignment = Alignment.Center) {
195+
Box(modifier = modifier
196+
.fillMaxSize()
197+
.zIndex(2f), contentAlignment = Alignment.Center) {
194198
Column(
195199
modifier = Modifier.fillMaxSize(),
196200
verticalArrangement = Arrangement.Center,

0 commit comments

Comments
 (0)