Skip to content

Commit c6e968c

Browse files
authored
๐Ÿ”€ :: (#713) ์•Œ๋ฆผํ•จ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
๐Ÿ”€ :: (#713) ์•Œ๋ฆผํ•จ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
2 parents c89b026 + 517c5ef commit c6e968c

File tree

22 files changed

+400
-18
lines changed

22 files changed

+400
-18
lines changed
Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
1-
package team.aliens.dms.android.core.notification
1+
package team.aliens.dms.android.app
22

33
import android.annotation.SuppressLint
44
import android.app.NotificationChannel
55
import android.app.NotificationManager
6+
import android.app.PendingIntent
67
import android.content.Context
8+
import android.content.Intent
79
import android.os.Build
8-
import androidx.annotation.RequiresApi
910
import androidx.core.app.NotificationCompat
1011
import androidx.core.app.NotificationManagerCompat
1112
import team.aliens.dms.android.core.designsystem.DmsIcon
13+
import team.aliens.dms.android.core.notification.notificationPermissionGranted
1214

1315
private object Notifications {
1416
const val NOTIFICATION_ID = 0
@@ -29,10 +31,18 @@ class NotificationManager(
2931
NotificationManagerCompat.from(context)
3032
}
3133

34+
private val messageId = System.currentTimeMillis().toInt()
35+
private val intent = Intent(context, MainActivity::class.java)
36+
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK)
37+
private val pendingIntent = PendingIntent.getActivity(
38+
context, messageId, intent, PendingIntent.FLAG_IMMUTABLE
39+
)
40+
3241
private val notificationBuilder: NotificationCompat.Builder by lazy {
3342
NotificationCompat.Builder(context, Notifications.NOTIFICATION_CHANNEL_ID)
34-
.setSmallIcon(DmsIcon.LogoLight)
43+
.setSmallIcon(DmsIcon.Notification)
3544
.setPriority(NotificationCompat.PRIORITY_HIGH)
45+
.setContentIntent(pendingIntent)
3646
}
3747

3848
fun setNotificationContent(

โ€Žapp/src/main/java/team/aliens/dms/android/app/navigation/DmsNavigator.ktโ€Ž

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import team.aliens.dms.android.feature.destinations.EnterSchoolVerificationQuest
2121
import team.aliens.dms.android.feature.destinations.FindIdScreenDestination
2222
import team.aliens.dms.android.feature.destinations.MainDestination
2323
import team.aliens.dms.android.feature.destinations.NoticeDetailsScreenDestination
24+
import team.aliens.dms.android.feature.destinations.NotificationBoxScreenDestination
2425
import team.aliens.dms.android.feature.destinations.NotificationSettingsScreenDestination
2526
import team.aliens.dms.android.feature.destinations.OutingApplicationScreenDestination
2627
import team.aliens.dms.android.feature.destinations.PointHistoryScreenDestination
@@ -47,10 +48,6 @@ class DmsNavigator(
4748
private val navController: NavController,
4849
) : AuthorizedNavigator, UnauthorizedNavigator {
4950

50-
override fun openSettingsNotification() {
51-
navController.navigateSingleTop(NotificationSettingsScreenDestination within navGraph)
52-
}
53-
5451
override fun openUnauthorizedNav() {
5552
navController.navigateSingleTop(UnauthorizedNavGraph) {
5653
popUpTo(AuthorizedNavGraph) {
@@ -59,6 +56,14 @@ class DmsNavigator(
5956
}
6057
}
6158

59+
override fun openSettingsNotification() {
60+
navController.navigateSingleTop(NotificationSettingsScreenDestination within navGraph)
61+
}
62+
63+
override fun openNotificationBox() {
64+
navController.navigateSingleTop(NotificationBoxScreenDestination within navGraph)
65+
}
66+
6267
override fun openStudyRoomList() {
6368
navController.navigateSingleTop(StudyRoomListScreenDestination within navGraph)
6469
}

โ€Žapp/src/main/java/team/aliens/dms/android/app/navigation/authorized/AuthorizedNavGraph.ktโ€Ž

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import team.aliens.dms.android.feature.destinations.AnnouncementListScreenDestin
88
import team.aliens.dms.android.feature.destinations.EditProfileImageScreenDestination
99
import team.aliens.dms.android.feature.destinations.MainDestination
1010
import team.aliens.dms.android.feature.destinations.NoticeDetailsScreenDestination
11+
import team.aliens.dms.android.feature.destinations.NotificationBoxScreenDestination
1112
import team.aliens.dms.android.feature.destinations.NotificationSettingsScreenDestination
1213
import team.aliens.dms.android.feature.destinations.PointHistoryScreenDestination
1314
import team.aliens.dms.android.feature.destinations.RemainsApplicationScreenDestination
@@ -36,6 +37,7 @@ object AuthorizedNavGraph : NavGraphSpec {
3637
StudyRoomListScreenDestination,
3738
StudyRoomDetailsScreenDestination,
3839
NoticeDetailsScreenDestination,
40+
NotificationBoxScreenDestination,
3941
NotificationSettingsScreenDestination,
4042
PointHistoryScreenDestination,
4143
)

โ€Žapp/src/main/java/team/aliens/dms/android/app/navigation/authorized/AuthorizedNavigator.ktโ€Ž

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import team.aliens.dms.android.feature.editpassword.navigation.EditPasswordNavig
44
import team.aliens.dms.android.feature.editprofile.navigation.EditProfileNavigator
55
import team.aliens.dms.android.feature.main.navigation.MainNavigator
66
import team.aliens.dms.android.feature.notice.navigation.NoticeNavigator
7+
import team.aliens.dms.android.feature.notification.navigation.NotificationBoxNavigator
78
import team.aliens.dms.android.feature.notification.navigation.NotificationSettingsNavigator
89
import team.aliens.dms.android.feature.outing.navigation.OutingNavigator
910
import team.aliens.dms.android.feature.point.navigation.PointHistoryNavigator
@@ -15,6 +16,7 @@ interface AuthorizedNavigator :
1516
EditPasswordNavigator,
1617
EditProfileNavigator,
1718
NoticeNavigator,
19+
NotificationBoxNavigator,
1820
NotificationSettingsNavigator,
1921
PointHistoryNavigator,
2022
RemainsNavigator,

โ€Žapp/src/main/java/team/aliens/dms/android/app/service/DmsMessagingService.ktโ€Ž

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
package team.aliens.dms.android.app.service
22

3-
import android.os.Build
4-
import androidx.annotation.RequiresApi
53
import com.google.firebase.messaging.FirebaseMessagingService
64
import com.google.firebase.messaging.RemoteMessage
75
import dagger.hilt.android.AndroidEntryPoint
86
import kotlinx.coroutines.CoroutineScope
97
import kotlinx.coroutines.Dispatchers
108
import kotlinx.coroutines.launch
119
import team.aliens.dms.android.core.notification.DeviceTokenManager
12-
import team.aliens.dms.android.core.notification.NotificationManager
10+
import team.aliens.dms.android.app.NotificationManager
1311
import javax.inject.Inject
1412

1513
@AndroidEntryPoint

โ€Žcore/design-system/src/main/java/team/aliens/dms/android/core/designsystem/DmsIcon.ktโ€Ž

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ object DmsIcon {
2222
val Information = R.drawable.ic_information
2323
val LogoDark = R.drawable.ic_logo_dark
2424
val LogoLight = R.drawable.ic_logo_light
25+
val Logo = R.drawable.ic_logo
26+
val Notification = R.drawable.ic_notification
2527
val Lunch = R.drawable.ic_lunch
2628
val MyPage = R.drawable.ic_person
2729
val Notice = R.drawable.ic_notice
537 Bytes
Loading
355 Bytes
Loading
828 Bytes
Loading
1.33 KB
Loading

0 commit comments

Comments
ย (0)