Skip to content

Commit 7839f0d

Browse files
authored
Merge pull request #272 from YAPP-Github/refactor/#271-module-dependency-cleanup
[REFACTOR] 모듈 의존성 정리
2 parents 1b166ec + 397b979 commit 7839f0d

48 files changed

Lines changed: 456 additions & 417 deletions

File tree

Some content is hidden

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

app/build.gradle.kts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,20 +32,19 @@ android {
3232
isShrinkResources = true
3333
}
3434
}
35+
36+
lint {
37+
disable.add("NullSafeMutableLiveData")
38+
}
3539
}
3640

3741
dependencies {
3842
implementation(projects.core.common)
3943
implementation(projects.core.analytics)
4044
implementation(projects.core.buildconfig)
41-
implementation(projects.core.network)
4245
implementation(projects.core.designsystem)
43-
implementation(projects.core.datastore)
44-
implementation(projects.core.alarm)
45-
implementation(projects.core.media)
4646
implementation(projects.core.ui)
4747
implementation(projects.data)
48-
implementation(projects.domain)
4948
implementation(projects.feature.splash)
5049
implementation(projects.feature.onboarding)
5150
implementation(projects.feature.home)
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
import com.yapp.convention.configureKotlin
2+
import com.yapp.convention.configureTestKotlin
23

34
plugins {
45
kotlin("jvm")
56
}
67

78
configureKotlin()
9+
configureTestKotlin()

core/alarm/src/main/java/com/yapp/alarm/pendingIntent/interaction/AlarmAlertPendingIntent.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import android.content.Context
66
import android.content.Intent
77
import com.yapp.alarm.AlarmConstants
88
import com.yapp.domain.model.Alarm
9+
import com.yapp.domain.model.toJson
910

1011
fun createAlarmAlertPendingIntent(
1112
context: Context,
@@ -31,7 +32,7 @@ private fun createAlarmAlertIntent(
3132
): Intent {
3233
return Intent("com.yapp.alarm.interaction.ACTION_ALARM_INTERACTION").apply {
3334
putExtra(AlarmConstants.EXTRA_NOTIFICATION_ID, notificationId)
34-
putExtra(AlarmConstants.EXTRA_ALARM, alarm)
35+
putExtra(AlarmConstants.EXTRA_ALARM, alarm.toJson())
3536
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP)
3637
setPackage(context.packageName)
3738
}

core/alarm/src/main/java/com/yapp/alarm/pendingIntent/interaction/AlarmSnoozePendingIntent.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import android.content.Intent
77
import com.yapp.alarm.AlarmConstants
88
import com.yapp.alarm.receivers.AlarmReceiver
99
import com.yapp.domain.model.Alarm
10+
import com.yapp.domain.model.toJson
1011

1112
fun createAlarmSnoozePendingIntent(
1213
context: Context,
@@ -27,6 +28,6 @@ fun createAlarmSnoozeIntent(
2728
): Intent {
2829
return Intent(context, AlarmReceiver::class.java).apply {
2930
action = AlarmConstants.ACTION_ALARM_SNOOZED
30-
putExtra(AlarmConstants.EXTRA_ALARM, alarm)
31+
putExtra(AlarmConstants.EXTRA_ALARM, alarm.toJson())
3132
}
3233
}

core/alarm/src/main/java/com/yapp/alarm/pendingIntent/schedule/ScheduleAlarmPendingIntent.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import com.yapp.alarm.AlarmConstants
77
import com.yapp.alarm.receivers.AlarmReceiver
88
import com.yapp.domain.model.Alarm
99
import com.yapp.domain.model.AlarmDay
10+
import com.yapp.domain.model.toJson
1011

1112
fun createAlarmReceiverPendingIntentForSchedule(
1213
app: Application,
@@ -29,7 +30,7 @@ private fun createAlarmReceiverIntent(
2930
): Intent {
3031
return Intent(AlarmConstants.ACTION_ALARM_TRIGGERED).apply {
3132
setClass(app, AlarmReceiver::class.java)
32-
putExtra(AlarmConstants.EXTRA_ALARM, alarm)
33+
putExtra(AlarmConstants.EXTRA_ALARM, alarm.toJson())
3334
day?.let { putExtra(AlarmConstants.EXTRA_ALARM_DAY, it.name) }
3435
}
3536
}

core/alarm/src/main/java/com/yapp/alarm/pendingIntent/schedule/UnScheduleAlarmPendingIntent.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import com.yapp.alarm.AlarmConstants
77
import com.yapp.alarm.receivers.AlarmReceiver
88
import com.yapp.domain.model.Alarm
99
import com.yapp.domain.model.AlarmDay
10+
import com.yapp.domain.model.toJson
1011

1112
fun createAlarmReceiverPendingIntentForUnSchedule(
1213
app: Application,
@@ -25,6 +26,6 @@ fun createAlarmReceiverPendingIntentForUnSchedule(
2526
private fun createAlarmReceiverIntent(app: Application, alarm: Alarm): Intent {
2627
return Intent(AlarmConstants.ACTION_ALARM_TRIGGERED).apply {
2728
setClass(app, AlarmReceiver::class.java)
28-
putExtra(AlarmConstants.EXTRA_ALARM, alarm)
29+
putExtra(AlarmConstants.EXTRA_ALARM, alarm.toJson())
2930
}
3031
}

core/alarm/src/main/java/com/yapp/alarm/receivers/AlarmReceiver.kt

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package com.yapp.alarm.receivers
33
import android.content.BroadcastReceiver
44
import android.content.Context
55
import android.content.Intent
6-
import android.os.Build
76
import android.util.Log
87
import android.widget.Toast
98
import com.yapp.alarm.AlarmConstants
@@ -14,8 +13,8 @@ import com.yapp.analytics.AnalyticsHelper
1413
import com.yapp.domain.model.Alarm
1514
import com.yapp.domain.model.toAlarmDay
1615
import com.yapp.domain.model.toTimeString
16+
import com.yapp.domain.repository.AlarmRepository
1717
import com.yapp.domain.repository.FortuneRepository
18-
import com.yapp.domain.usecase.AlarmUseCase
1918
import dagger.hilt.android.AndroidEntryPoint
2019
import kotlinx.coroutines.CoroutineScope
2120
import kotlinx.coroutines.Dispatchers
@@ -38,7 +37,7 @@ class AlarmReceiver : BroadcastReceiver() {
3837
lateinit var fortuneRepository: FortuneRepository
3938

4039
@Inject
41-
lateinit var alarmUseCase: AlarmUseCase
40+
lateinit var alarmRepository: AlarmRepository
4241

4342
override fun onReceive(context: Context?, intent: Intent?) {
4443
context ?: return
@@ -47,15 +46,7 @@ class AlarmReceiver : BroadcastReceiver() {
4746
val alarmServiceIntent = createAlarmServiceIntent(context, intent)
4847
when (intent.action) {
4948
AlarmConstants.ACTION_ALARM_TRIGGERED -> {
50-
val alarm: Alarm? = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
51-
alarmServiceIntent.getParcelableExtra(
52-
AlarmConstants.EXTRA_ALARM,
53-
Alarm::class.java,
54-
)
55-
} else {
56-
@Suppress("DEPRECATION")
57-
alarmServiceIntent.getParcelableExtra(AlarmConstants.EXTRA_ALARM)
58-
}
49+
val alarm: Alarm? = alarmServiceIntent.getStringExtra(AlarmConstants.EXTRA_ALARM)?.let(Alarm::fromJson)
5950
analyticsHelper.logEvent(
6051
AnalyticsEvent(
6152
type = "alarm_ring",
@@ -70,12 +61,7 @@ class AlarmReceiver : BroadcastReceiver() {
7061
}
7162

7263
AlarmConstants.ACTION_ALARM_SNOOZED -> {
73-
val alarm: Alarm? = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
74-
intent.getParcelableExtra(AlarmConstants.EXTRA_ALARM, Alarm::class.java)
75-
} else {
76-
@Suppress("DEPRECATION")
77-
intent.getParcelableExtra(AlarmConstants.EXTRA_ALARM)
78-
}
64+
val alarm: Alarm? = intent.getStringExtra(AlarmConstants.EXTRA_ALARM)?.let(Alarm::fromJson)
7965
analyticsHelper.logEvent(
8066
AnalyticsEvent(
8167
type = "alarm_snooze",
@@ -107,7 +93,7 @@ class AlarmReceiver : BroadcastReceiver() {
10793
context.stopService(alarmServiceIntent)
10894

10995
CoroutineScope(Dispatchers.IO).launch {
110-
val alarms = alarmUseCase.getAllAlarms().first()
96+
val alarms = alarmRepository.getAllAlarms().first()
11197

11298
val isSnoozeId = notificationId >= AlarmConstants.SNOOZE_ID_OFFSET
11399

core/alarm/src/main/java/com/yapp/alarm/receivers/RescheduleAlarmReceiver.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import android.content.BroadcastReceiver
44
import android.content.Context
55
import android.content.Intent
66
import com.yapp.alarm.AndroidAlarmScheduler
7-
import com.yapp.domain.usecase.AlarmUseCase
7+
import com.yapp.domain.repository.AlarmRepository
88
import dagger.hilt.android.AndroidEntryPoint
99
import kotlinx.coroutines.CoroutineScope
1010
import kotlinx.coroutines.Dispatchers
@@ -17,7 +17,7 @@ import javax.inject.Inject
1717
class RescheduleAlarmReceiver : BroadcastReceiver() {
1818

1919
@Inject
20-
lateinit var alarmUseCase: AlarmUseCase
20+
lateinit var alarmRepository: AlarmRepository
2121

2222
@Inject
2323
lateinit var androidAlarmScheduler: AndroidAlarmScheduler
@@ -35,7 +35,7 @@ class RescheduleAlarmReceiver : BroadcastReceiver() {
3535
private fun rescheduleAlarm(pendingResult: PendingResult) {
3636
CoroutineScope(Dispatchers.IO + SupervisorJob()).launch {
3737
try {
38-
val alarms = alarmUseCase.getAllAlarms().first()
38+
val alarms = alarmRepository.getAllAlarms().first()
3939
alarms
4040
.filter { it.isAlarmActive }
4141
.forEach { alarm -> androidAlarmScheduler.scheduleAlarm(alarm) }

core/alarm/src/main/java/com/yapp/alarm/services/AlarmService.kt

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import com.yapp.alarm.scheduler.PostFortuneTaskScheduler
2727
import com.yapp.domain.model.Alarm
2828
import com.yapp.domain.model.AlarmDay
2929
import com.yapp.domain.model.MissionType
30-
import com.yapp.domain.usecase.AlarmUseCase
30+
import com.yapp.domain.repository.AlarmRepository
3131
import com.yapp.media.sound.SoundPlayer
3232
import dagger.hilt.android.AndroidEntryPoint
3333
import kotlinx.coroutines.CoroutineScope
@@ -41,7 +41,7 @@ import javax.inject.Inject
4141
class AlarmService : Service() {
4242

4343
@Inject
44-
lateinit var alarmUseCase: AlarmUseCase
44+
lateinit var alarmRepository: AlarmRepository
4545

4646
@Inject
4747
lateinit var soundPlayer: SoundPlayer
@@ -80,12 +80,7 @@ class AlarmService : Service() {
8080
}
8181

8282
private fun handleIntent(intent: Intent) {
83-
val alarm: Alarm? = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
84-
intent.getParcelableExtra(AlarmConstants.EXTRA_ALARM, Alarm::class.java)
85-
} else {
86-
@Suppress("DEPRECATION")
87-
intent.getParcelableExtra(AlarmConstants.EXTRA_ALARM)
88-
}
83+
val alarm: Alarm? = intent.getStringExtra(AlarmConstants.EXTRA_ALARM)?.let(Alarm::fromJson)
8984

9085
if (alarm == null) {
9186
Log.e("AlarmService", "Failed to retrieve Alarm object from intent")
@@ -198,7 +193,7 @@ class AlarmService : Service() {
198193

199194
private fun turnOffAlarm(alarmId: Long) {
200195
CoroutineScope(Dispatchers.IO).launch {
201-
alarmUseCase.updateAlarmActive(
196+
alarmRepository.updateAlarmActive(
202197
id = alarmId,
203198
active = false,
204199
)

core/common/build.gradle.kts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import com.yapp.convention.setNamespace
33
plugins {
44
id("orbit.android.library")
55
id("orbit.android.hilt")
6-
id("orbit.android.compose")
6+
id("org.jetbrains.kotlin.plugin.serialization")
77
}
88

99
android {
@@ -13,7 +13,5 @@ android {
1313
dependencies {
1414
implementation(projects.core.designsystem)
1515
implementation(projects.domain)
16-
implementation(libs.compose.navigation)
17-
implementation(libs.hilt.navigation.compose)
1816
implementation(libs.kotlinx.serialization.json)
1917
}

0 commit comments

Comments
 (0)