Skip to content

Commit 920b104

Browse files
즐겨찾기한 학사일정 연도 전환 시 즐겨찾기 해제 버그 수정 (#57)
* 🔨 즐겨찾기한 학사일정 연도 전환 시 북마크 해제 버그 수정 * 🔨 import 최적화
1 parent e85fea9 commit 920b104

File tree

12 files changed

+10
-29
lines changed

12 files changed

+10
-29
lines changed

ThinkerBell/data/src/main/java/com/neverland/data/datasource/NoticeDataSource.kt

-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import com.neverland.data.remote.model.PageableResponse
55
import com.neverland.data.remote.model.notice.CommonNoticeDTO
66
import com.neverland.data.remote.model.notice.JobTrainingNoticeDTO
77
import com.neverland.data.remote.model.notice.SearchNoticeResultDTO
8-
import com.neverland.domain.enums.NoticeType
98
import retrofit2.Response
109

1110
interface NoticeDataSource {

ThinkerBell/data/src/main/java/com/neverland/data/datasource/VersionDataSource.kt

-2
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@ package com.neverland.data.datasource
22

33
import com.neverland.data.remote.model.BaseResponse
44
import com.neverland.data.remote.model.ForceUpdateMinVersionResponse
5-
import com.neverland.data.remote.model.alarm.AlarmDTO
65
import retrofit2.Response
7-
import retrofit2.http.PATCH
86

97
interface VersionDataSource {
108

ThinkerBell/data/src/main/java/com/neverland/data/datasourceImpl/VersionDataSourceImpl.kt

-3
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
package com.neverland.data.datasourceImpl
22

3-
import com.neverland.data.datasource.AlarmDataSource
43
import com.neverland.data.datasource.VersionDataSource
54
import com.neverland.data.remote.model.BaseResponse
65
import com.neverland.data.remote.model.ForceUpdateMinVersionResponse
7-
import com.neverland.data.remote.model.alarm.AlarmDTO
8-
import com.neverland.data.remote.service.AlarmService
96
import com.neverland.data.remote.service.VersionService
107
import retrofit2.Response
118
import javax.inject.Inject

ThinkerBell/data/src/main/java/com/neverland/data/di/ServiceModule.kt

-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import com.neverland.data.remote.service.ReportService
88
import com.neverland.data.remote.service.UnivService
99
import com.neverland.data.remote.service.UserService
1010
import com.neverland.data.remote.service.VersionService
11-
import com.neverland.domain.repository.VersionRepository
1211
import dagger.Module
1312
import dagger.Provides
1413
import dagger.hilt.InstallIn

ThinkerBell/data/src/main/java/com/neverland/data/remote/service/NoticeService.kt

-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import com.neverland.data.remote.model.PageableResponse
55
import com.neverland.data.remote.model.notice.CommonNoticeDTO
66
import com.neverland.data.remote.model.notice.JobTrainingNoticeDTO
77
import com.neverland.data.remote.model.notice.SearchNoticeResultDTO
8-
import com.neverland.domain.enums.NoticeType
98
import retrofit2.Response
109
import retrofit2.http.GET
1110
import retrofit2.http.Query

ThinkerBell/data/src/main/java/com/neverland/data/repository/VersionRepositoryImpl.kt

-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
package com.neverland.data.repository
22

3-
import com.neverland.data.datasource.AlarmDataSource
43
import com.neverland.data.datasource.VersionDataSource
54
import com.neverland.data.utils.handleResponse
6-
import com.neverland.domain.model.alarm.Alarm
7-
import com.neverland.domain.repository.AlarmRepository
85
import com.neverland.domain.repository.VersionRepository
96
import javax.inject.Inject
107

ThinkerBell/domain/src/main/java/com/neverland/domain/repository/VersionRepository.kt

-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package com.neverland.domain.repository
22

3-
import com.neverland.domain.model.alarm.Alarm
4-
53
interface VersionRepository {
64

75
suspend fun getForceUpdateMinVersion(): Result<String>

ThinkerBell/presentation/src/main/java/com/neverland/thinkerbell/view/home/ForceUpdateDialog.kt

-6
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
package com.neverland.thinkerbell.view.home
22

33
import android.content.ActivityNotFoundException
4-
import android.content.ClipData
5-
import android.content.ClipboardManager
6-
import android.content.Context
74
import android.content.Intent
85
import android.graphics.Color
96
import android.graphics.drawable.ColorDrawable
@@ -14,10 +11,7 @@ import android.view.View
1411
import android.view.ViewGroup
1512
import android.view.ViewGroup.LayoutParams.WRAP_CONTENT
1613
import androidx.fragment.app.DialogFragment
17-
import com.neverland.domain.model.univ.DeptContact
1814
import com.neverland.thinkerbell.BuildConfig
19-
import com.neverland.thinkerbell.custom.CustomToast
20-
import com.neverland.thinkerbell.databinding.DialogContactBinding
2115
import com.neverland.thinkerbell.databinding.DialogForceUpdateBinding
2216
import com.neverland.thinkerbell.utils.DisplayUtils
2317

ThinkerBell/presentation/src/main/java/com/neverland/thinkerbell/view/myPage/MyPageFragment.kt

-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import androidx.fragment.app.Fragment
88
import androidx.fragment.app.viewModels
99
import androidx.lifecycle.LiveData
1010
import androidx.recyclerview.widget.LinearLayoutManager
11-
import androidx.recyclerview.widget.RecyclerView
1211
import com.neverland.domain.model.notice.RecentBookmarkNotice
1312
import com.neverland.domain.model.univ.RecentBookmarkSchedule
1413
import com.neverland.thinkerbell.R

ThinkerBell/presentation/src/main/java/com/neverland/thinkerbell/view/myPage/adapter/FavoriteScheduleAdapter.kt

+10-6
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package com.neverland.thinkerbell.view.myPage.adapter
33
import android.view.LayoutInflater
44
import android.view.ViewGroup
55
import androidx.recyclerview.widget.RecyclerView
6-
import com.neverland.core.utils.LoggerUtil
76
import com.neverland.domain.model.univ.AcademicSchedule
87
import com.neverland.domain.model.univ.BookmarkScheduleGroup
98
import com.neverland.domain.model.univ.groupSchedulesByYearAndMonth
@@ -16,6 +15,8 @@ class FavoriteScheduleAdapter(private var scheduleGroups: List<BookmarkScheduleG
1615
) :
1716
RecyclerView.Adapter<RecyclerView.ViewHolder>() {
1817

18+
private val unmarkedItem = mutableListOf<Int>()
19+
1920
companion object {
2021
private const val VIEW_TYPE_HEADER = 0
2122
private const val VIEW_TYPE_ITEM = 1
@@ -103,8 +104,14 @@ class FavoriteScheduleAdapter(private var scheduleGroups: List<BookmarkScheduleG
103104
val date = if (schedule.startDate == schedule.endDate) schedule.startDate.removeRange(0,5).replace("-",".")
104105
else "${schedule.startDate.removeRange(0,5).replace("-",".")} ~ ${schedule.endDate.removeRange(0,5).replace("-",".")}"
105106
binding.tvScheduleDate.text = date
106-
binding.btnFavorite.isChecked = schedule.marked
107+
binding.btnFavorite.isChecked = !unmarkedItem.contains(schedule.id)
107108
binding.btnFavorite.setOnClickListener {
109+
if (unmarkedItem.contains(schedule.id)) {
110+
unmarkedItem.remove(schedule.id)
111+
} else {
112+
unmarkedItem.add(schedule.id)
113+
}
114+
108115
bookmarkClickListener.onClick(Pair(schedule.id, binding.btnFavorite.isChecked))
109116
}
110117
}
@@ -117,21 +124,18 @@ class FavoriteScheduleAdapter(private var scheduleGroups: List<BookmarkScheduleG
117124
}
118125

119126
fun setList(newList: List<AcademicSchedule> = listOf(), year: Int) {
120-
LoggerUtil.d("${newList}, ${year}")
121127
// 데이터를 월별로 그룹화
122128
if (allItems.isEmpty()) {
123129
allItems = groupSchedulesByYearAndMonth(newList)
124130
}
125-
LoggerUtil.d(allItems.toString())
126131
// 월별로 그룹을 내림차순 정렬
127132
val sortedScheduleGroups = allItems.filter { it.year == year }.sortedByDescending { group ->
128133
// "9월"과 같은 문자열에서 숫자를 추출하여 정렬
129134
group.month
130135
}
131136
sortedScheduleGroups.map { it.schedules.map { it.marked = true } }
132-
LoggerUtil.d(sortedScheduleGroups.toString())
133137
scheduleGroups = sortedScheduleGroups
134-
LoggerUtil.d(scheduleGroups.toString())
135138
notifyDataSetChanged()
136139
}
140+
137141
}

ThinkerBell/presentation/src/main/java/com/neverland/thinkerbell/view/setting/ErrorReportFragment.kt

-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
package com.neverland.thinkerbell.view.setting
22

3-
import android.graphics.drawable.ColorDrawable
43
import android.text.Editable
54
import android.text.InputType
65
import android.text.TextWatcher
76
import android.view.View
87
import android.view.inputmethod.EditorInfo
9-
import androidx.core.content.ContextCompat
108
import androidx.fragment.app.viewModels
119
import com.neverland.thinkerbell.R
1210
import com.neverland.thinkerbell.base.BaseFragment

ThinkerBell/presentation/src/main/res/layout/dialog_force_update.xml

-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
33
xmlns:app="http://schemas.android.com/apk/res-auto"
4-
xmlns:tools="http://schemas.android.com/tools"
54
android:layout_width="304dp"
65
android:layout_height="wrap_content"
76
android:background="@drawable/shape_dialog_contact_bg"

0 commit comments

Comments
 (0)