Skip to content

Commit

Permalink
즐겨찾기한 학사일정 연도 전환 시 즐겨찾기 해제 버그 수정 (#57)
Browse files Browse the repository at this point in the history
* 🔨 즐겨찾기한 학사일정 연도 전환 시 북마크 해제 버그 수정

* 🔨 import 최적화
  • Loading branch information
GyeongminKimGyeongminKim authored Oct 14, 2024
1 parent e85fea9 commit 920b104
Show file tree
Hide file tree
Showing 12 changed files with 10 additions and 29 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import com.neverland.data.remote.model.PageableResponse
import com.neverland.data.remote.model.notice.CommonNoticeDTO
import com.neverland.data.remote.model.notice.JobTrainingNoticeDTO
import com.neverland.data.remote.model.notice.SearchNoticeResultDTO
import com.neverland.domain.enums.NoticeType
import retrofit2.Response

interface NoticeDataSource {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@ package com.neverland.data.datasource

import com.neverland.data.remote.model.BaseResponse
import com.neverland.data.remote.model.ForceUpdateMinVersionResponse
import com.neverland.data.remote.model.alarm.AlarmDTO
import retrofit2.Response
import retrofit2.http.PATCH

interface VersionDataSource {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
package com.neverland.data.datasourceImpl

import com.neverland.data.datasource.AlarmDataSource
import com.neverland.data.datasource.VersionDataSource
import com.neverland.data.remote.model.BaseResponse
import com.neverland.data.remote.model.ForceUpdateMinVersionResponse
import com.neverland.data.remote.model.alarm.AlarmDTO
import com.neverland.data.remote.service.AlarmService
import com.neverland.data.remote.service.VersionService
import retrofit2.Response
import javax.inject.Inject
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import com.neverland.data.remote.service.ReportService
import com.neverland.data.remote.service.UnivService
import com.neverland.data.remote.service.UserService
import com.neverland.data.remote.service.VersionService
import com.neverland.domain.repository.VersionRepository
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import com.neverland.data.remote.model.PageableResponse
import com.neverland.data.remote.model.notice.CommonNoticeDTO
import com.neverland.data.remote.model.notice.JobTrainingNoticeDTO
import com.neverland.data.remote.model.notice.SearchNoticeResultDTO
import com.neverland.domain.enums.NoticeType
import retrofit2.Response
import retrofit2.http.GET
import retrofit2.http.Query
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
package com.neverland.data.repository

import com.neverland.data.datasource.AlarmDataSource
import com.neverland.data.datasource.VersionDataSource
import com.neverland.data.utils.handleResponse
import com.neverland.domain.model.alarm.Alarm
import com.neverland.domain.repository.AlarmRepository
import com.neverland.domain.repository.VersionRepository
import javax.inject.Inject

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package com.neverland.domain.repository

import com.neverland.domain.model.alarm.Alarm

interface VersionRepository {

suspend fun getForceUpdateMinVersion(): Result<String>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
package com.neverland.thinkerbell.view.home

import android.content.ActivityNotFoundException
import android.content.ClipData
import android.content.ClipboardManager
import android.content.Context
import android.content.Intent
import android.graphics.Color
import android.graphics.drawable.ColorDrawable
Expand All @@ -14,10 +11,7 @@ import android.view.View
import android.view.ViewGroup
import android.view.ViewGroup.LayoutParams.WRAP_CONTENT
import androidx.fragment.app.DialogFragment
import com.neverland.domain.model.univ.DeptContact
import com.neverland.thinkerbell.BuildConfig
import com.neverland.thinkerbell.custom.CustomToast
import com.neverland.thinkerbell.databinding.DialogContactBinding
import com.neverland.thinkerbell.databinding.DialogForceUpdateBinding
import com.neverland.thinkerbell.utils.DisplayUtils

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
import androidx.lifecycle.LiveData
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.neverland.domain.model.notice.RecentBookmarkNotice
import com.neverland.domain.model.univ.RecentBookmarkSchedule
import com.neverland.thinkerbell.R
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package com.neverland.thinkerbell.view.myPage.adapter
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.neverland.core.utils.LoggerUtil
import com.neverland.domain.model.univ.AcademicSchedule
import com.neverland.domain.model.univ.BookmarkScheduleGroup
import com.neverland.domain.model.univ.groupSchedulesByYearAndMonth
Expand All @@ -16,6 +15,8 @@ class FavoriteScheduleAdapter(private var scheduleGroups: List<BookmarkScheduleG
) :
RecyclerView.Adapter<RecyclerView.ViewHolder>() {

private val unmarkedItem = mutableListOf<Int>()

companion object {
private const val VIEW_TYPE_HEADER = 0
private const val VIEW_TYPE_ITEM = 1
Expand Down Expand Up @@ -103,8 +104,14 @@ class FavoriteScheduleAdapter(private var scheduleGroups: List<BookmarkScheduleG
val date = if (schedule.startDate == schedule.endDate) schedule.startDate.removeRange(0,5).replace("-",".")
else "${schedule.startDate.removeRange(0,5).replace("-",".")} ~ ${schedule.endDate.removeRange(0,5).replace("-",".")}"
binding.tvScheduleDate.text = date
binding.btnFavorite.isChecked = schedule.marked
binding.btnFavorite.isChecked = !unmarkedItem.contains(schedule.id)
binding.btnFavorite.setOnClickListener {
if (unmarkedItem.contains(schedule.id)) {
unmarkedItem.remove(schedule.id)
} else {
unmarkedItem.add(schedule.id)
}

bookmarkClickListener.onClick(Pair(schedule.id, binding.btnFavorite.isChecked))
}
}
Expand All @@ -117,21 +124,18 @@ class FavoriteScheduleAdapter(private var scheduleGroups: List<BookmarkScheduleG
}

fun setList(newList: List<AcademicSchedule> = listOf(), year: Int) {
LoggerUtil.d("${newList}, ${year}")
// 데이터를 월별로 그룹화
if (allItems.isEmpty()) {
allItems = groupSchedulesByYearAndMonth(newList)
}
LoggerUtil.d(allItems.toString())
// 월별로 그룹을 내림차순 정렬
val sortedScheduleGroups = allItems.filter { it.year == year }.sortedByDescending { group ->
// "9월"과 같은 문자열에서 숫자를 추출하여 정렬
group.month
}
sortedScheduleGroups.map { it.schedules.map { it.marked = true } }
LoggerUtil.d(sortedScheduleGroups.toString())
scheduleGroups = sortedScheduleGroups
LoggerUtil.d(scheduleGroups.toString())
notifyDataSetChanged()
}

}
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
package com.neverland.thinkerbell.view.setting

import android.graphics.drawable.ColorDrawable
import android.text.Editable
import android.text.InputType
import android.text.TextWatcher
import android.view.View
import android.view.inputmethod.EditorInfo
import androidx.core.content.ContextCompat
import androidx.fragment.app.viewModels
import com.neverland.thinkerbell.R
import com.neverland.thinkerbell.base.BaseFragment
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="304dp"
android:layout_height="wrap_content"
android:background="@drawable/shape_dialog_contact_bg"
Expand Down

0 comments on commit 920b104

Please sign in to comment.