Skip to content

Commit 8620784

Browse files
authored
Merge pull request #62 from Richter3766/Fix/issue-#61
Fix/issue #61 - 버그 수정
2 parents 6f16b35 + 5017c4c commit 8620784

File tree

15 files changed

+106
-81
lines changed

15 files changed

+106
-81
lines changed

app/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ android {
1414

1515
defaultConfig {
1616
applicationId = "com.example.notimanager"
17-
minSdk = 28
17+
minSdk = 26
1818
targetSdk = 35
1919
versionCode = 1
20-
versionName = "1.0"
20+
versionName = "1.0.0"
2121
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
2222
resValue("string", "admob_app_id", System.getenv("ADMOB_APP_ID") ?: "")
2323
resValue("string", "admob_banner_id", System.getenv("ADMOB_BANNER_ID") ?: "")

app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
tools:targetApi="35">
2020
<meta-data
2121
android:name="com.google.android.gms.ads.APPLICATION_ID"
22-
android:value="@string/admob_app_id"/>
22+
android:value="ca-app-pub-4472438519886520~1562656818"/>
2323

2424
<activity
2525
android:name=".presentation.ui.activity.MainActivity"

app/src/main/java/com/example/notimanager/domain/service/ForegroundNotiService.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class ForegroundNotiService: Service() {
2929

3030
val appName = intent?.extras?.getString("appName") ?: ""
3131
val content = intent?.extras?.getString("content") ?: ""
32-
val isGroupSummary = intent?.extras?.getBoolean("isGroupSummary") ?: false
32+
val isGroupSummary = intent?.extras?.getBoolean("isGroupSummary") == true
3333
putNotification(appName, content, isGroupSummary)
3434

3535
return START_STICKY
@@ -48,7 +48,7 @@ class ForegroundNotiService: Service() {
4848
appName: String,
4949
content: String,
5050
isGroupSummary: Boolean) {
51-
val appContent = if (isGroupSummary) content else getString(R.string.status_app_content, content)
51+
val appContent = content
5252

5353
val notificationIntent = Intent(this, MainActivity::class.java).apply {
5454
putExtra("appName", appName)

app/src/main/java/com/example/notimanager/domain/service/NotiListenerService.kt

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import android.content.Intent
44
import android.graphics.drawable.Icon
55
import android.service.notification.NotificationListenerService
66
import android.service.notification.StatusBarNotification
7+
import com.example.notimanager.R
78
import com.example.notimanager.data.model.AppIconModel
89
import com.example.notimanager.data.model.NotificationIconModel
910
import com.example.notimanager.data.model.NotificationMetaModel
@@ -128,7 +129,17 @@ class NotiListenerService: NotificationListenerService() {
128129
if (count != 0){
129130
val serviceIntent = Intent(this, ForegroundNotiService::class.java).apply {
130131
putExtra("appName", appName)
131-
putExtra("content", count.toString())
132+
putExtra("content", getString(R.string.status_app_content, count.toString()))
133+
}
134+
startService(serviceIntent)
135+
}
136+
else{
137+
val basicTitle = getString(R.string.status_basic_title)
138+
val notiContent = getString(R.string.status_noti_content)
139+
val serviceIntent = Intent(this, ForegroundNotiService::class.java).apply {
140+
putExtra("appName", basicTitle)
141+
putExtra("content", notiContent)
142+
putExtra("isGroupSummary", true)
132143
}
133144
startService(serviceIntent)
134145
}

app/src/main/java/com/example/notimanager/presentation/ui/ads/AdSize.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ object AdsUtil{
2626
}
2727

2828
fun getAdView(context: Context): AdView{
29-
val unitId = context.getString(R.string.admob_banner_id)
29+
// val unitId = context.getString(R.string.admob_banner_id)
30+
val unitId = "ca-app-pub-3940256099942544/9214589741"
3031
val adView = AdView(context)
3132
adView.adUnitId = unitId
3233
adView.setAdSize(getAdSize(context))

app/src/main/java/com/example/notimanager/presentation/ui/component/list/NotificationAppListView.kt

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.example.notimanager.presentation.ui.component.list
22

33
import androidx.compose.foundation.layout.Box
4-
import androidx.compose.foundation.layout.Column
54
import androidx.compose.foundation.layout.fillMaxSize
65
import androidx.compose.foundation.layout.fillMaxWidth
76
import androidx.compose.foundation.layout.height
@@ -15,7 +14,6 @@ import androidx.compose.runtime.getValue
1514
import androidx.compose.runtime.livedata.observeAsState
1615
import androidx.compose.runtime.mutableStateOf
1716
import androidx.compose.runtime.remember
18-
import androidx.compose.runtime.rememberCoroutineScope
1917
import androidx.compose.runtime.setValue
2018
import androidx.compose.ui.Alignment
2119
import androidx.compose.ui.Modifier
@@ -34,7 +32,7 @@ import com.example.notimanager.presentation.ui.component.item.NotificationAppIte
3432
fun NotificationAppListView(
3533
navController: NavController,
3634
viewModel: NotificationAppViewModel,
37-
priorityViewModel: NotificationAppPriorityViewModel
35+
priorityViewModel: NotificationAppPriorityViewModel,
3836
) {
3937
val notificationAppState by viewModel.notificationAppState.observeAsState(NotificationAppState())
4038
val priorityState by priorityViewModel.notificationAppPriorityState.observeAsState((NotificationAppPriorityState()))
@@ -63,31 +61,32 @@ fun NotificationAppListView(
6361
.fillMaxSize()
6462
.padding(bottom = 56.dp) // AndroidView의 높이만큼 패딩 추가
6563
) {
66-
items(currentNotiPriority) { notification ->
67-
NotificationAppItemView(
68-
notification = notification,
69-
onClick = {
70-
navController.navigate("titleScreen/${notification.appName}")
71-
},
72-
viewModel = viewModel,
73-
priorityViewModel = priorityViewModel
74-
)
75-
}
76-
if (currentNotiPriority.isNotEmpty()) {
64+
if(currentNotiPriority.isNotEmpty()){
65+
items(currentNotiPriority) { notification ->
66+
NotificationAppItemView(
67+
notification = notification,
68+
onClick = {
69+
navController.navigate("titleScreen/${notification.appName}")
70+
},
71+
viewModel = viewModel,
72+
priorityViewModel = priorityViewModel
73+
)
74+
}
7775
item {
7876
HorizontalDivider()
7977
}
8078
}
81-
82-
items(currentNoti) { notification ->
83-
NotificationAppItemView(
84-
notification = notification,
85-
onClick = {
86-
navController.navigate("titleScreen/${notification.appName}")
87-
},
88-
viewModel = viewModel,
89-
priorityViewModel = priorityViewModel
90-
)
79+
if (currentNoti.isNotEmpty()){
80+
items(currentNoti) { notification ->
81+
NotificationAppItemView(
82+
notification = notification,
83+
onClick = {
84+
navController.navigate("titleScreen/${notification.appName}")
85+
},
86+
viewModel = viewModel,
87+
priorityViewModel = priorityViewModel
88+
)
89+
}
9190
}
9291
}
9392

app/src/main/java/com/example/notimanager/presentation/ui/component/list/NotificationTitleListView.kt

Lines changed: 33 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ import com.example.notimanager.presentation.ui.component.item.NotificationTitleI
3333
fun NotificationTitleListView(
3434
navController: NavController,
3535
viewModel: NotificationTitleViewModel,
36-
priorityViewModel: NotificationTitlePriorityViewModel
36+
priorityViewModel: NotificationTitlePriorityViewModel,
3737
) {
3838
val notificationTitleState by viewModel.notificationTitleState.observeAsState(
3939
NotificationTitleState()
@@ -63,42 +63,44 @@ fun NotificationTitleListView(
6363
LazyColumn(
6464
modifier = Modifier.fillMaxSize().padding(bottom = 56.dp)
6565
) {
66-
items(currentNotiPriority) { notification ->
67-
NotificationTitleItemView(notification = notification, onClick = {
68-
if (notification.subText == "") navController.navigate("notificationScreen/${viewModel.getAppName()}/${getEncodedString(notification.title)}/False")
69-
else navController.navigate("notificationScreen/${viewModel.getAppName()}/${getEncodedString(notification.subText)}/True")
70-
}, viewModel = viewModel, priorityViewModel = priorityViewModel)
71-
}
66+
if(currentNotiPriority.isNotEmpty()){
67+
items(currentNotiPriority) { notification ->
68+
NotificationTitleItemView(notification = notification, onClick = {
69+
if (notification.subText == "") navController.navigate("notificationScreen/${viewModel.getAppName()}/${getEncodedString(notification.title)}/False")
70+
else navController.navigate("notificationScreen/${viewModel.getAppName()}/${getEncodedString(notification.subText)}/True")
71+
}, viewModel = viewModel, priorityViewModel = priorityViewModel)
72+
}
7273

73-
if (currentNotiPriority.isNotEmpty()){
7474
item {
7575
HorizontalDivider()
7676
}
7777
}
78-
79-
items(currentNoti) { notification ->
80-
NotificationTitleItemView(notification = notification, onClick = {
81-
if (notification.subText == "") {
82-
viewModel.updateAsRead(notification.title)
83-
navController.navigate(
84-
"notificationScreen/${viewModel.getAppName()}/${
85-
getEncodedString(
86-
notification.title
87-
)
88-
}/False"
89-
)
90-
}
91-
else {
92-
viewModel.updateAsSubText(notification.subText)
93-
navController.navigate(
94-
"notificationScreen/${viewModel.getAppName()}/${
95-
getEncodedString(
96-
notification.subText
97-
)
98-
}/True"
99-
)
100-
}}, viewModel = viewModel, priorityViewModel = priorityViewModel)
78+
if(currentNoti.isNotEmpty()){
79+
items(currentNoti) { notification ->
80+
NotificationTitleItemView(notification = notification, onClick = {
81+
if (notification.subText == "") {
82+
viewModel.updateAsRead(notification.title)
83+
navController.navigate(
84+
"notificationScreen/${viewModel.getAppName()}/${
85+
getEncodedString(
86+
notification.title
87+
)
88+
}/False"
89+
)
90+
}
91+
else {
92+
viewModel.updateAsSubText(notification.subText)
93+
navController.navigate(
94+
"notificationScreen/${viewModel.getAppName()}/${
95+
getEncodedString(
96+
notification.subText
97+
)
98+
}/True"
99+
)
100+
}}, viewModel = viewModel, priorityViewModel = priorityViewModel)
101+
}
101102
}
103+
102104
}
103105

104106
AndroidView(

app/src/main/java/com/example/notimanager/presentation/ui/screen/DateFormatterScreen.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@ fun DateFormatterScreen(
3030
CommonTopAppBar(title) {
3131
if (!isClicked) {
3232
isClicked = true
33-
navController.popBackStack()
33+
if (navController.previousBackStackEntry != null) {
34+
navController.popBackStack()
35+
}
3436
}
3537
}
3638
}

app/src/main/java/com/example/notimanager/presentation/ui/screen/FilteredListScreen.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,9 @@ fun FilteredListScreen(
3333
CommonTopAppBar(title = title, onBackClick = {
3434
if (!isClicked){
3535
isClicked = true
36-
37-
navController.popBackStack()
36+
if (navController.previousBackStackEntry != null) {
37+
navController.popBackStack()
38+
}
3839
}
3940

4041
})

app/src/main/java/com/example/notimanager/presentation/ui/screen/NotificationScreen.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,9 @@ fun NotificationScreen(navController: NavController, appName: String = "", title
5151
CommonTopAppBar(title = title, onBackClick = {
5252
if(!isClicked){
5353
isClicked = true
54-
navController.popBackStack()
54+
if (navController.previousBackStackEntry != null) {
55+
navController.popBackStack()
56+
}
5557
} }
5658
)
5759
}

0 commit comments

Comments
 (0)