Skip to content

Commit 4267e1b

Browse files
authored
Merge pull request #126 from depromeet/feat/course-itinerary-amplitude#119
[#119] 경로검색 유저데이터 트래킹
2 parents 162b372 + e4da2cc commit 4267e1b

File tree

75 files changed

+1533
-543
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+1533
-543
lines changed

app/.DS_Store

0 Bytes
Binary file not shown.

app/build.gradle.kts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ android {
3737
applicationId = "com.depromeet.team6"
3838
minSdk = 26
3939
targetSdk = 34
40-
versionCode = 10
41-
versionName = "1.1.0"
40+
versionCode = 13
41+
versionName = "1.2.2"
4242

4343
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
4444
buildConfigField("String", "KAKAO_NATIVE_APP_KEY", properties["kakao.native.app.key"].toString())
@@ -154,6 +154,7 @@ dependencies {
154154

155155
// Amplitude
156156
implementation(libs.amplitude)
157+
implementation(libs.play.services.appset)
157158
}
158159
java {
159160
toolchain {

app/proguard-rules.pro

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
-keep class com.depromeet.team6.data.datalocal.model.** { *; }
2929
-keep class com.depromeet.team6.domain.model.** { *; }
3030
-keep class com.depromeet.team6.presentation.model.** { *; }
31+
-keep class com.depromeet.team6.data.dataremote.** { *; }
3132

3233
-keepattributes Signature, InnerClasses, EnclosingMethod
3334
-keepattributes RuntimeVisibleAnnotations, RuntimeVisibleParameterAnnotations
@@ -63,4 +64,4 @@
6364
# Optional: if you're using Retrofit + Gson
6465
-keep class retrofit2.** { *; }
6566
-keep class com.google.gson.** { *; }
66-
-keep class okhttp3.** { *; }
67+
-keep class okhttp3.** { *; }
14.9 KB
Loading

app/src/main/java/com/depromeet/team6/data/datalocal/datasource/UserInfoLocalDataSource.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import androidx.core.content.edit
66
import androidx.security.crypto.EncryptedSharedPreferences
77
import androidx.security.crypto.MasterKey
88
import com.depromeet.team6.BuildConfig
9+
import com.depromeet.team6.presentation.util.amplitude.AmplitudeUtils
910
import com.google.android.gms.maps.model.LatLng
1011
import com.kakao.sdk.auth.Constants.ACCESS_TOKEN
1112
import com.kakao.sdk.auth.Constants.REFRESH_TOKEN
@@ -75,6 +76,7 @@ class UserInfoLocalDataSource @Inject constructor(
7576
setValue(ACCESS_TOKEN, "")
7677
setValue(FCM_TOKEN, "")
7778
setIntValue(USER_ID, INITIAL_INT)
79+
AmplitudeUtils.resetUserId()
7880
}
7981

8082
private fun getValue(key: String): String =

app/src/main/java/com/depromeet/team6/data/datalocal/service/FcmService.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,17 @@ import android.content.Context
88
import android.content.Intent
99
import android.os.PowerManager
1010
import android.util.Log
11+
import androidx.annotation.Keep
12+
import androidx.compose.ui.graphics.toArgb
1113
import androidx.core.app.NotificationCompat
1214
import androidx.core.content.ContextCompat
1315
import com.depromeet.team6.R
16+
import com.depromeet.team6.ui.theme.defaultTeam6Colors
1417
import com.google.firebase.messaging.Constants
1518
import com.google.firebase.messaging.FirebaseMessagingService
1619
import com.google.firebase.messaging.RemoteMessage
1720

21+
@Keep
1822
class FcmService : FirebaseMessagingService() {
1923

2024
private lateinit var body: String
@@ -104,6 +108,8 @@ class FcmService : FirebaseMessagingService() {
104108
.setContentTitle(title ?: getString(R.string.notification_title_text))
105109
.setContentText(body ?: getString(R.string.notification_body_text))
106110
.setSmallIcon(R.drawable.ic_app_logo_foreground)
111+
.setColor(defaultTeam6Colors.black.toArgb())
112+
.setColorized(true)
107113
.setAutoCancel(true)
108114
.build()
109115

@@ -136,6 +142,8 @@ class FcmService : FirebaseMessagingService() {
136142
.setContentTitle(title ?: getString(R.string.notification_title_text))
137143
.setContentText(body ?: getString(R.string.notification_body_text))
138144
.setSmallIcon(R.drawable.ic_app_logo_foreground)
145+
.setColor(defaultTeam6Colors.black.toArgb())
146+
.setColorized(true)
139147
.setAutoCancel(true)
140148
.setContentIntent(pendingIntent)
141149
.setCategory(Notification.CATEGORY_MESSAGE)
@@ -159,6 +167,8 @@ class FcmService : FirebaseMessagingService() {
159167
.setContentTitle(title)
160168
.setContentText(body)
161169
.setSmallIcon(R.drawable.ic_app_logo_foreground)
170+
.setColor(defaultTeam6Colors.black.toArgb())
171+
.setColorized(true)
162172
.setAutoCancel(true)
163173
.build()
164174

app/src/main/java/com/depromeet/team6/data/dataremote/datasource/TransitsRemoteDataSource.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,10 @@ class TransitsRemoteDataSource @Inject constructor(
1818
startLat: String,
1919
startLon: String,
2020
endLat: String,
21-
endLon: String
21+
endLon: String,
22+
sortType: Int
2223
): Result<List<ResponseCourseSearchDto>> {
23-
val response = transitsService.getAvailableCourses(startLat, startLon, endLat, endLon)
24+
val response = transitsService.getAvailableCourses(startLat, startLon, endLat, endLon, sortType)
2425
if (response.isSuccessful) {
2526
return response.body()?.toResult()
2627
?: Result.failure(IllegalStateException("response is null"))

app/src/main/java/com/depromeet/team6/data/dataremote/service/TransitsService.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ interface TransitsService {
1818
@Query("startLat") startLat: String,
1919
@Query("startLon") startLon: String,
2020
@Query("endLat") endLat: String,
21-
@Query("endLon") endLon: String
21+
@Query("endLon") endLon: String,
22+
@Query("sortType") sortType: Int
2223
): Response<ApiResponse<List<ResponseCourseSearchDto>>>
2324

2425
@GET("$API/$TRANSITS/bus-arrival")

app/src/main/java/com/depromeet/team6/data/repositoryimpl/AuthRepositoryImpl.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@ class AuthRepositoryImpl @Inject constructor(
2424

2525
override suspend fun getLogin(provider: Int, fcmToken: String): Result<Auth> =
2626
authRemoteDataSource.getLogin(provider = provider, fcmToken = fcmToken)
27-
.mapCatching { it.toDomain() }
27+
.mapCatching {
28+
it.toDomain()
29+
}
2830

2931
override suspend fun postLogout(): Response<Unit> =
3032
authRemoteDataSource.postLogout()

app/src/main/java/com/depromeet/team6/data/repositoryimpl/TransitsRepositoryImpl.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,13 @@ class TransitsRepositoryImpl @Inject constructor(
1414
private val transitsRemoteDataSource: TransitsRemoteDataSource
1515
) : TransitsRepository {
1616

17-
override suspend fun getAvailableCourses(startPosition: Address, endPosition: Address): Result<List<CourseInfo>> =
17+
override suspend fun getAvailableCourses(startPosition: Address, endPosition: Address, sortType: Int): Result<List<CourseInfo>> =
1818
transitsRemoteDataSource.getAvailableCourses(
1919
startLat = startPosition.lat.toString(),
2020
startLon = startPosition.lon.toString(),
2121
endLat = endPosition.lat.toString(),
22-
endLon = endPosition.lon.toString()
22+
endLon = endPosition.lon.toString(),
23+
sortType = sortType
2324
).map {
2425
it.toDomain()
2526
}

0 commit comments

Comments
 (0)