diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index b589d56e..fb7f4a8a 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 7fa24a26..89bc849b 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,7 +1,7 @@
+
-
-
+
diff --git a/app/.gitignore b/app/.gitignore
index 42afabfd..5c174d1b 100644
--- a/app/.gitignore
+++ b/app/.gitignore
@@ -1 +1,2 @@
-/build
\ No newline at end of file
+/build
+kakao_string.xml
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index b5d24897..da1251f4 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -114,6 +114,10 @@ dependencies {
implementation 'com.google.dagger:hilt-android:2.47'
annotationProcessor 'com.google.dagger:hilt-compiler:2.47'
+ // viewmodel과 livedata
+ implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1"
+ implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.6.1"
+
// implementation "androidx.security:security-crypto:1.0.0"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/eatssu/android/data/model/response/GetMyReviewResponse.kt b/app/src/main/java/com/eatssu/android/data/model/response/GetMyReviewResponse.kt
index 6a80a8ed..0acd4795 100644
--- a/app/src/main/java/com/eatssu/android/data/model/response/GetMyReviewResponse.kt
+++ b/app/src/main/java/com/eatssu/android/data/model/response/GetMyReviewResponse.kt
@@ -7,9 +7,12 @@ data class GetMyReviewResponse(
){
data class Data(
val content: String,
- val grade: Int,
+ val reviewId : Int,
+ val mainGrade: Int,
+ val amountGrade: Int,
+ val tasteGrade : Int,
val imgUrlList: List,
- val tagList: List,
- val writeDate: String
+ val writeDate: String,
+ val menuName: String
)
}
\ No newline at end of file
diff --git a/app/src/main/java/com/eatssu/android/ui/calendar/CalendarActivity.kt b/app/src/main/java/com/eatssu/android/ui/calendar/CalendarActivity.kt
index 5d5cac4c..f5ff728b 100644
--- a/app/src/main/java/com/eatssu/android/ui/calendar/CalendarActivity.kt
+++ b/app/src/main/java/com/eatssu/android/ui/calendar/CalendarActivity.kt
@@ -7,11 +7,9 @@ import android.os.Bundle
import android.text.style.ForegroundColorSpan
import android.text.style.RelativeSizeSpan
import android.text.style.StyleSpan
-import android.util.Log
import android.view.Window
import androidx.appcompat.app.AppCompatActivity
import com.eatssu.android.databinding.ActivityCalendarBinding
-import com.eatssu.android.ui.main.MainActivity
import com.prolificinteractive.materialcalendarview.*
import com.prolificinteractive.materialcalendarview.format.DateFormatTitleFormatter
import com.prolificinteractive.materialcalendarview.format.TitleFormatter
@@ -21,6 +19,7 @@ import java.util.*
class CalendarActivity : AppCompatActivity() {
private lateinit var binding: ActivityCalendarBinding
lateinit var calendar: MaterialCalendarView
+ private lateinit var viewModel: CalendarViewModel
val today = CalendarDay.today()
diff --git a/app/src/main/java/com/eatssu/android/ui/calendar/CalendarAdapter.kt b/app/src/main/java/com/eatssu/android/ui/calendar/CalendarAdapter.kt
index 4cbb5a1a..70d05483 100644
--- a/app/src/main/java/com/eatssu/android/ui/calendar/CalendarAdapter.kt
+++ b/app/src/main/java/com/eatssu/android/ui/calendar/CalendarAdapter.kt
@@ -1,38 +1,55 @@
package com.eatssu.android.ui.calendar
+import android.content.Intent
import android.os.Build
+import android.os.Bundle
import android.util.Log
import android.view.LayoutInflater
+import android.view.View
import android.view.ViewGroup
import androidx.annotation.RequiresApi
+import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
import com.eatssu.android.R
import com.eatssu.android.databinding.ItemCalendarListBinding
+import com.eatssu.android.ui.main.MainActivity
import java.time.LocalDate
import java.time.format.DateTimeFormatter
import java.util.*
+
class CalendarAdapter(private val cList: List) :
RecyclerView.Adapter() {
+ private var allViewHolders : List = mutableListOf()
+ private var mListener: OnItemClickListener? = null
- class CalendarViewHolder(private val binding: ItemCalendarListBinding) :
+ inner class CalendarViewHolder(val binding: ItemCalendarListBinding) :
RecyclerView.ViewHolder(binding.root) {
+
+ private var selectedDate: String? = null
+ lateinit var today : String
+ lateinit var day : String
+
@RequiresApi(Build.VERSION_CODES.O)
fun bind(item: CalendarData) {
binding.date.text = item.cl_date
binding.day.text = item.cl_day
- var today = binding.date.text
- var day = binding.day.text
+ today = binding.date.text as String
+ day = binding.day.text as String
// 오늘 날짜
val now = LocalDate.now()
- .format(DateTimeFormatter.ofPattern("dd").withLocale(Locale.forLanguageTag("ko")))
+ .format(
+ DateTimeFormatter.ofPattern("dd").withLocale(Locale.forLanguageTag("ko"))
+ )
+
// 오늘 날짜와 캘린더의 오늘 날짜가 같을 경우 background_blue 적용하기
- if (today == now) {
+ if (now.equals(today)) {
+ binding.date.isSelected = true;
+ binding.day.isSelected = true;
binding.weekCardview.setBackgroundResource(R.drawable.selector_background_blue)
}
- Log.i("now", now)
}
}
@@ -45,9 +62,31 @@ class CalendarAdapter(private val cList: List) :
@RequiresApi(Build.VERSION_CODES.O)
override fun onBindViewHolder(holder: CalendarViewHolder, position: Int) {
holder.bind(cList[position])
+
+ allViewHolders = allViewHolders.plus(holder)
+
+ holder.itemView.setOnClickListener { v ->
+ val pos = holder.adapterPosition
+ if (pos != RecyclerView.NO_POSITION) {
+ mListener?.onItemClick(v, cList.get(position))
+ }
+ }
+
}
override fun getItemCount(): Int {
return cList.size
}
+
+ fun setOnItemClickListener(listener: OnItemClickListener?) {
+ mListener = listener
+ }
+
+ fun returnViewHolderList(): List {
+ return allViewHolders
+ }
}
+
+ interface OnItemClickListener {
+ fun onItemClick(v: View?, data: CalendarData)
+ }
diff --git a/app/src/main/java/com/eatssu/android/ui/calendar/CalendarFragment.kt b/app/src/main/java/com/eatssu/android/ui/calendar/CalendarFragment.kt
index 77d55ad5..6bbdb7d8 100644
--- a/app/src/main/java/com/eatssu/android/ui/calendar/CalendarFragment.kt
+++ b/app/src/main/java/com/eatssu/android/ui/calendar/CalendarFragment.kt
@@ -1,26 +1,30 @@
package com.eatssu.android.ui.calendar
+import android.annotation.SuppressLint
import android.content.Intent
-import android.content.Intent.getIntent
import android.os.Build
import android.os.Bundle
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
-import android.widget.TextView
+import android.widget.Toast
import androidx.annotation.RequiresApi
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.GridLayoutManager
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
import com.eatssu.android.R
import com.eatssu.android.databinding.FragmentCalendarBinding
+import com.prolificinteractive.materialcalendarview.DayViewFacade
import java.time.DayOfWeek
+import java.time.LocalDate
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
+import java.time.format.TextStyle
import java.time.temporal.TemporalAdjusters
import java.util.*
-
class CalendarFragment : Fragment() {
private var _binding: FragmentCalendarBinding? = null
@@ -48,8 +52,6 @@ class CalendarFragment : Fragment() {
calendarAdapter = CalendarAdapter(calendarList)
-
-
calendarList.apply {
val dateFormat =
DateTimeFormatter.ofPattern("dd").withLocale(Locale.forLanguageTag("ko"))
@@ -57,15 +59,18 @@ class CalendarFragment : Fragment() {
.withLocale(Locale.forLanguageTag("ko"))
val localDate = LocalDateTime.now().format(monthFormat)
- binding.textYearMonth.text = localDate
+ val newDate = arguments?.getString("Date")
+ if (newDate != null) {
+ Log.d("Date", newDate)
+ }
- var preSunday: LocalDateTime = LocalDateTime.now().with(
+ val preSunday: LocalDateTime = LocalDateTime.now().with(
TemporalAdjusters.previous(
DayOfWeek.SUNDAY
)
)
-
+ Log.d("preSunday", preSunday.toString())
for (i in 0..6) {
Log.d("날짜만", week_day[i])
@@ -79,35 +84,14 @@ class CalendarFragment : Fragment() {
}
Log.d("저번 주 일요일 기준으로 시작!", preSunday.plusDays(i.toLong()).format(dateFormat))
}
- }
- binding.weekRecycler.adapter = calendarAdapter
- binding.weekRecycler.layoutManager = GridLayoutManager(context, 7)
+ binding.weekRecycler.adapter = calendarAdapter
+ binding.weekRecycler.layoutManager = GridLayoutManager(context, 7)
- binding.textYearMonth.setOnClickListener {
- val intent = Intent(context, CalendarActivity::class.java);
- startActivity(intent);
}
-
-
-
}
override fun onResume() {
- val intent = Intent()
- //text 키값으로 데이터를 받는다. String을 받아야 하므로 getStringExtra()를 사용함
- /*val selectdate = this.arguments?.getString("changedate")
- Log.d("selectdate", selectdate.toString())*/
- val intentdate = intent.getStringExtra("intentdate")
- Log.d("intentdate", intentdate.toString())
-
- binding.btnCalendarLeft.setOnClickListener {
- binding.textYearMonth.text = null
- binding.textYearMonth.text = intentdate
- /*binding.btnCalendarRight.setOnClickListener{
- binding.textYearMonth.text = null
- binding.textYearMonth.text = LocalDateTime.now().plusDays(1).format(monthFormat).toString()
- }*/
- }
super.onResume()
+ Log.d("fragment", "onResumed")
}
}
diff --git a/app/src/main/java/com/eatssu/android/ui/calendar/CalendarViewModel.kt b/app/src/main/java/com/eatssu/android/ui/calendar/CalendarViewModel.kt
new file mode 100644
index 00000000..4a14a839
--- /dev/null
+++ b/app/src/main/java/com/eatssu/android/ui/calendar/CalendarViewModel.kt
@@ -0,0 +1,17 @@
+package com.eatssu.android.ui.calendar
+
+import androidx.lifecycle.LiveData
+import androidx.lifecycle.MutableLiveData
+import androidx.lifecycle.ViewModel
+
+class CalendarViewModel : ViewModel() {
+ private val data = MutableLiveData()
+
+ fun setData(dataToSend: String) {
+ data.value = dataToSend
+ }
+
+ fun getData(): LiveData {
+ return data
+ }
+}
diff --git a/app/src/main/java/com/eatssu/android/ui/calendar/MenuDate.kt b/app/src/main/java/com/eatssu/android/ui/calendar/MenuDate.kt
new file mode 100644
index 00000000..de743be7
--- /dev/null
+++ b/app/src/main/java/com/eatssu/android/ui/calendar/MenuDate.kt
@@ -0,0 +1,5 @@
+package com.eatssu.android.ui.calendar
+
+class MenuDate(date: String){
+ var date: String = date // 날짜
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/eatssu/android/ui/infopage/InfoActivity_Dodam.kt b/app/src/main/java/com/eatssu/android/ui/infopage/InfoActivity_Dodam.kt
index 2ee6e558..51b0f7c1 100644
--- a/app/src/main/java/com/eatssu/android/ui/infopage/InfoActivity_Dodam.kt
+++ b/app/src/main/java/com/eatssu/android/ui/infopage/InfoActivity_Dodam.kt
@@ -90,4 +90,8 @@ class InfoActivity_Dodam : AppCompatActivity() {
private fun getNonFixed() {
}
+
+ override fun finish() {
+ super.finish()
+ }
}
diff --git a/app/src/main/java/com/eatssu/android/ui/infopage/InfoActivity_Food.kt b/app/src/main/java/com/eatssu/android/ui/infopage/InfoActivity_Food.kt
index ee6d815a..07e5b100 100644
--- a/app/src/main/java/com/eatssu/android/ui/infopage/InfoActivity_Food.kt
+++ b/app/src/main/java/com/eatssu/android/ui/infopage/InfoActivity_Food.kt
@@ -85,4 +85,8 @@ class InfoActivity_Food : AppCompatActivity() {
private fun getNonFixed() {
}
+
+ override fun finish() {
+ super.finish()
+ }
}
diff --git a/app/src/main/java/com/eatssu/android/ui/infopage/InfoActivity_Gisik.kt b/app/src/main/java/com/eatssu/android/ui/infopage/InfoActivity_Gisik.kt
index 8419f09d..0ada7e2b 100644
--- a/app/src/main/java/com/eatssu/android/ui/infopage/InfoActivity_Gisik.kt
+++ b/app/src/main/java/com/eatssu/android/ui/infopage/InfoActivity_Gisik.kt
@@ -1,20 +1,15 @@
package com.eatssu.android.ui.infopage
-import android.icu.text.IDNA.Info
+import RetrofitImpl
+import android.R
import android.os.Build
-import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
-import android.widget.Toast
import androidx.annotation.RequiresApi
-import androidx.recyclerview.widget.RecyclerView
+import androidx.appcompat.app.AppCompatActivity
import com.eatssu.android.data.enums.RestaurantType
-import com.eatssu.android.data.model.request.ChangeNickname
-import com.eatssu.android.data.model.response.GetMenuInfoListResponse
import com.eatssu.android.data.model.response.InfoResponse
import com.eatssu.android.data.service.InfoService
-import com.eatssu.android.data.service.MenuService
-import com.eatssu.android.data.service.UserService
import com.eatssu.android.databinding.ActivityInfoGisikBinding
import net.daum.mf.map.api.MapPOIItem
import net.daum.mf.map.api.MapPoint
@@ -24,7 +19,8 @@ import retrofit2.Callback
import retrofit2.Response
import retrofit2.Retrofit
-class InfoActivity_Gisik : AppCompatActivity() {
+
+class InfoActivity_Gisik : AppCompatActivity(){
private lateinit var viewBinding: ActivityInfoGisikBinding
lateinit var retrofit: Retrofit
private lateinit var infoService: InfoService
@@ -43,7 +39,6 @@ class InfoActivity_Gisik : AppCompatActivity() {
// 중심점 변경 - 레지던스홀
mapview.setMapCenterPoint(MapPoint.mapPointWithGeoCoord(37.495488,126.959173), true);
- //mapview.zoomIn(true)
val marker = MapPOIItem()
marker.apply {
@@ -101,4 +96,10 @@ class InfoActivity_Gisik : AppCompatActivity() {
private fun getNonFixed() {
}
+
+ override fun finish() {
+ super.finish()
+ }
+
+
}
diff --git a/app/src/main/java/com/eatssu/android/ui/infopage/InfoActivity_Haksik.kt b/app/src/main/java/com/eatssu/android/ui/infopage/InfoActivity_Haksik.kt
index e9f1bdad..ead6d49f 100644
--- a/app/src/main/java/com/eatssu/android/ui/infopage/InfoActivity_Haksik.kt
+++ b/app/src/main/java/com/eatssu/android/ui/infopage/InfoActivity_Haksik.kt
@@ -84,4 +84,8 @@ class InfoActivity_Haksik : AppCompatActivity() {
private fun getNonFixed() {
}
+
+ override fun finish() {
+ super.finish()
+ }
}
diff --git a/app/src/main/java/com/eatssu/android/ui/infopage/InfoActivity_Kitchen.kt b/app/src/main/java/com/eatssu/android/ui/infopage/InfoActivity_Kitchen.kt
index 00bc74a1..85e3d379 100644
--- a/app/src/main/java/com/eatssu/android/ui/infopage/InfoActivity_Kitchen.kt
+++ b/app/src/main/java/com/eatssu/android/ui/infopage/InfoActivity_Kitchen.kt
@@ -85,4 +85,8 @@ class InfoActivity_Kitchen : AppCompatActivity() {
private fun getNonFixed() {
}
+
+ override fun finish() {
+ super.finish()
+ }
}
diff --git a/app/src/main/java/com/eatssu/android/ui/infopage/InfoActivity_Snack.kt b/app/src/main/java/com/eatssu/android/ui/infopage/InfoActivity_Snack.kt
index b3bab50b..4447d445 100644
--- a/app/src/main/java/com/eatssu/android/ui/infopage/InfoActivity_Snack.kt
+++ b/app/src/main/java/com/eatssu/android/ui/infopage/InfoActivity_Snack.kt
@@ -85,4 +85,8 @@ class InfoActivity_Snack : AppCompatActivity() {
private fun getNonFixed() {
}
+
+ override fun finish() {
+ super.finish()
+ }
}
diff --git a/app/src/main/java/com/eatssu/android/ui/login/SocialLoginActivity.kt b/app/src/main/java/com/eatssu/android/ui/login/SocialLoginActivity.kt
index 65bb5c71..36ad49ba 100644
--- a/app/src/main/java/com/eatssu/android/ui/login/SocialLoginActivity.kt
+++ b/app/src/main/java/com/eatssu/android/ui/login/SocialLoginActivity.kt
@@ -114,6 +114,11 @@ class SocialLoginActivity : AppCompatActivity() {
}
}
}
+ binding.btnLookAround.setOnClickListener() {
+ val intent = Intent(this, MainActivity::class.java) // 인텐트를 생성해줌,
+ startActivity(intent) // 화면 전환을 시켜줌
+ finish()
+ }
}
diff --git a/app/src/main/java/com/eatssu/android/ui/main/LunchFragment.kt b/app/src/main/java/com/eatssu/android/ui/main/LunchFragment.kt
index 19f2943a..dc3bcaf1 100644
--- a/app/src/main/java/com/eatssu/android/ui/main/LunchFragment.kt
+++ b/app/src/main/java/com/eatssu/android/ui/main/LunchFragment.kt
@@ -10,6 +10,7 @@ import android.view.View
import android.view.ViewGroup
import androidx.annotation.RequiresApi
import androidx.fragment.app.Fragment
+import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.eatssu.android.adapter.*
@@ -18,8 +19,11 @@ import com.eatssu.android.data.model.response.GetFixedMenuResponse
import com.eatssu.android.data.model.response.GetTodayMealResponse
import com.eatssu.android.data.service.MenuService
import com.eatssu.android.databinding.FragmentLunchBinding
+import com.eatssu.android.ui.calendar.CalendarViewModel
+import com.eatssu.android.ui.calendar.MenuDate
import com.eatssu.android.ui.infopage.*
import retrofit2.*
+import java.time.LocalDate
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
import java.util.*
@@ -31,6 +35,8 @@ class LunchFragment : Fragment() {
lateinit var retrofit: Retrofit
lateinit var menuService: MenuService
+ private var menuDate : String = "20230714"
+
val time:String = "LUNCH"
override fun onCreateView(
inflater: LayoutInflater,
@@ -44,6 +50,10 @@ class LunchFragment : Fragment() {
@RequiresApi(Build.VERSION_CODES.O)
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
+
+ val calendardate = this.arguments?.getString("calendardata")
+ Log.d("lunchdate", "$calendardate")
+
init()
lodeData()
}
@@ -143,33 +153,43 @@ class LunchFragment : Fragment() {
recyclerView: RecyclerView
) {
val monthFormat =
- DateTimeFormatter.ofPattern("yyyyMMdd").withLocale(Locale.forLanguageTag("ko"))
+ DateTimeFormatter.ofPattern("yyyyMMdd").withLocale (Locale.forLanguageTag("ko"))
val localDate = LocalDateTime.now().format(monthFormat)
- //date 자리에 localDate나 호출해서 불러온 날짜를 넣으면 됨
- //지금은 날짜를 20230714로 고정해두었음
- menuService.getTodayMeal("20230714", restaurantType.toString(),time)
- .enqueue(object : Callback {
- override fun onResponse(
- call: Call,
- response: Response
- ) {
- if (response.isSuccessful) {
- val body = response.body()
- body?.let {
- setAdapterTodayMeal(it, restaurantType,recyclerView)
+ // ViewModelProvider를 통해 ViewModel 가져오기
+ val viewModel = ViewModelProvider(requireActivity()).get(CalendarViewModel::class.java)
+
+ // ViewModel에서 데이터 가져오기
+ viewModel.getData().observe(viewLifecycleOwner, androidx.lifecycle.Observer { dataReceived ->
+ menuDate = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMM")) + dataReceived
+ //menuDate = "202307$dataReceived"
+ Log.d("lunchdate", menuDate)
+ menuService.getTodayMeal(menuDate, restaurantType.toString(),time)
+ .enqueue(object : Callback {
+ override fun onResponse(
+ call: Call,
+ response: Response
+ ) {
+ if (response.isSuccessful) {
+ val body = response.body()
+ body?.let {
+ setAdapterTodayMeal(it, restaurantType,recyclerView)
+ }
+ Log.d("post", "onResponse 성공" + response.body())
+
+ } else {
+ Log.d("post", "onResponse 실패 투데이밀" + response.code()+response.message())
}
- Log.d("post", "onResponse 성공" + response.body())
+ }
- } else {
- Log.d("post", "onResponse 실패 투데이밀" + response.code()+response.message())
+ override fun onFailure(call: Call, t: Throwable) {
+ Log.d("post", "onFailure 에러: 나다${t.message}+ ${call}" + "ddd")
}
- }
+ })
+ })
+ //date 자리에 localDate나 호출해서 불러온 날짜를 넣으면 됨
+ //지금은 날짜를 20230714로 고정해두었음
- override fun onFailure(call: Call, t: Throwable) {
- Log.d("post", "onFailure 에러: 나다${t.message}+ ${call}" + "ddd")
- }
- })
}
@@ -207,4 +227,4 @@ class LunchFragment : Fragment() {
super.onDestroyView()
_binding = null
}
-}
\ No newline at end of file
+}
diff --git a/app/src/main/java/com/eatssu/android/ui/main/MainActivity.kt b/app/src/main/java/com/eatssu/android/ui/main/MainActivity.kt
index 22a6858d..24c8d610 100644
--- a/app/src/main/java/com/eatssu/android/ui/main/MainActivity.kt
+++ b/app/src/main/java/com/eatssu/android/ui/main/MainActivity.kt
@@ -1,44 +1,34 @@
package com.eatssu.android.ui.main
import com.eatssu.android.R
-import android.annotation.SuppressLint
-import android.content.Context
import android.content.Intent
-import android.content.pm.PackageInfo
-import android.content.pm.PackageManager
import android.os.Build
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
-import android.util.Base64.NO_WRAP
-import android.util.Base64.encodeToString
import android.util.Log
-import android.view.LayoutInflater
import android.view.Menu
import android.view.MenuItem
-import android.widget.FrameLayout
+import android.view.View
import androidx.annotation.RequiresApi
+import androidx.lifecycle.ViewModelProvider
+import androidx.recyclerview.widget.GridLayoutManager
import androidx.viewpager2.widget.ViewPager2
import com.eatssu.android.data.MySharedPreferences
import com.eatssu.android.databinding.ActivityMainBinding
-import com.eatssu.android.ui.calendar.CalendarFragment
-import com.eatssu.android.ui.BaseActivity
-import com.eatssu.android.ui.calendar.CalendarActivity
-import com.eatssu.android.ui.main.ViewPager2Adapter
+import com.eatssu.android.ui.calendar.*
import com.eatssu.android.ui.mypage.ChangeNicknameActivity
import com.eatssu.android.ui.mypage.MyPageActivity
import com.google.android.material.tabs.TabLayout
import com.google.android.material.tabs.TabLayoutMediator
import com.prolificinteractive.materialcalendarview.*
-import com.prolificinteractive.materialcalendarview.format.ArrayWeekDayFormatter
-import com.prolificinteractive.materialcalendarview.format.DateFormatTitleFormatter
-import com.prolificinteractive.materialcalendarview.format.MonthArrayTitleFormatter
-import com.prolificinteractive.materialcalendarview.format.TitleFormatter
import java.security.MessageDigest
import java.security.NoSuchAlgorithmException
import java.text.SimpleDateFormat
+import java.time.DayOfWeek
import java.time.LocalDate
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
+import java.time.temporal.TemporalAdjusters
import java.util.*
class MainActivity : AppCompatActivity() {
@@ -47,6 +37,10 @@ class MainActivity : AppCompatActivity() {
private var year: String = ""
private var month: String = ""
private var day: String = ""
+ lateinit var calendarAdapter: CalendarAdapter
+ private var calendarList = ArrayList()
+ private var allViewHolders : List = mutableListOf()
+
@RequiresApi(Build.VERSION_CODES.O)
override fun onCreate(savedInstanceState: Bundle?) {
@@ -90,10 +84,104 @@ class MainActivity : AppCompatActivity() {
startActivity(intent) // 화면 전환을 시켜줌
}
- val monthFormat =
- DateTimeFormatter.ofPattern("yyyy.MM.dd").withLocale(Locale.forLanguageTag("ko"))
- val localDate = LocalDateTime.now().format(monthFormat)
- binding.textYearMonth.text = localDate
+ var week_day: Array = resources.getStringArray(R.array.calendar_day)
+
+ calendarAdapter = CalendarAdapter(calendarList)
+
+ calendarList.apply {
+ val dateFormat =
+ DateTimeFormatter.ofPattern("dd").withLocale(Locale.forLanguageTag("ko"))
+ val monthFormat = DateTimeFormatter.ofPattern("yyyy . MM . dd")
+ .withLocale(Locale.forLanguageTag("ko"))
+
+ val localDate = LocalDateTime.now().format(monthFormat)
+
+ val preSunday: LocalDateTime = LocalDateTime.now().with(
+ TemporalAdjusters.previous(
+ DayOfWeek.SUNDAY
+ )
+ )
+ Log.d("preSunday", preSunday.toString())
+ for (i in 0..6) {
+ Log.d("날짜만", week_day[i])
+
+ calendarList.apply {
+ add(
+ CalendarData(
+ preSunday.plusDays(i.toLong()).format(dateFormat),
+ week_day[i]
+ )
+ )
+ }
+ Log.d("저번 주 일요일 기준으로 시작!", preSunday.plusDays(i.toLong()).format(dateFormat))
+ }
+ binding.weekRecycler.adapter = calendarAdapter
+ binding.weekRecycler.layoutManager = GridLayoutManager(this@MainActivity, 7)
+
+ }
+
+ //RecyclerView에 목록 출력
+ val recyclerView = binding.weekRecycler
+
+ val adapter = calendarAdapter
+
+ adapter.setOnItemClickListener(object : OnItemClickListener {
+ override fun onItemClick(v: View?, data: CalendarData) {
+
+ val returnViewHolderList = calendarAdapter.returnViewHolderList()
+ lateinit var holderSelect : CalendarAdapter.CalendarViewHolder
+ lateinit var selected : String
+
+ for(holder in returnViewHolderList){
+ holder.binding.weekCardview.setBackgroundResource(R.drawable.ic_selector_background_white)
+ holder.binding.day.isSelected = false
+ holder.binding.date.isSelected = false
+ if(holder.today.equals(data.cl_date)) {
+ holderSelect = holder
+ selected = holder.today
+ }
+ }
+ holderSelect.binding.day.isSelected = true
+ holderSelect.binding.date.isSelected = true
+ holderSelect.binding.weekCardview.setBackgroundResource(R.drawable.transparent_calendar_element)
+
+ val viewModel = ViewModelProvider(this@MainActivity)[CalendarViewModel::class.java]
+ viewModel.setData(selected)
+ // viewModel에 값 넘어가서 메뉴 뜨는지 확인하는 코드
+ //var senddate = "14"
+ //viewModel.setData(senddate)
+
+ // 1) ViewPager2 참조
+ val viewPager: ViewPager2 = binding.vpMain
+ val tabLayout: TabLayout = binding.tabLayout
+
+ // 2) FragmentStateAdapter 생성 : Fragment 여러개를 ViewPager2에 연결해주는 역할
+ val viewpagerFragmentAdapter = ViewPager2Adapter(this@MainActivity)
+
+ viewpagerFragmentAdapter.setMenudate(selected)
+
+ Log.d("todaydate", selected)
+
+ // 3) ViewPager2의 adapter에 설정
+ viewPager.adapter = viewpagerFragmentAdapter
+ viewPager.setCurrentItem(viewpagerFragmentAdapter.getDefaultFragmentPosition(), false)
+
+ // ###### TabLayout과 ViewPager2를 연결
+ // 1. 탭메뉴의 이름을 리스트로 생성해둔다.
+ val tabTitles = listOf("아침", "점심", "저녁")
+
+ // 2. TabLayout과 ViewPager2를 연결하고, TabItem의 메뉴명을 설정한다.
+ TabLayoutMediator(tabLayout,
+ viewPager,
+ { tab, position -> tab.text = tabTitles[position] }).attach()
+
+
+ }
+ })
+
+ recyclerView.adapter = adapter
+
+ /*binding.textYearMonth.text = localDate
binding.textYearMonth.setOnClickListener {
@@ -119,11 +207,11 @@ class MainActivity : AppCompatActivity() {
val previousDate = currentDate.plusDays(1)
val newDate = previousDate.format(DateTimeFormatter.ofPattern("yyyy.MM.dd"))
binding.textYearMonth.text = newDate
- }
+ }*/
}
- override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+ /*override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == CALENDAR_REQUEST_CODE && resultCode == RESULT_OK) {
val changedDate = data?.getStringExtra("changedate")
@@ -133,7 +221,7 @@ class MainActivity : AppCompatActivity() {
Log.d("changedate", selectedDate)
}
}
- }
+ }*/
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
@@ -153,11 +241,6 @@ class MainActivity : AppCompatActivity() {
}
}
- override fun onRestart() { //여기 문제 있음
- super.onRestart()
- binding.textYearMonth.text = selectedDate
- }
-
companion object {
private const val CALENDAR_REQUEST_CODE = 1
}
diff --git a/app/src/main/java/com/eatssu/android/ui/main/ViewPager2Adapter.kt b/app/src/main/java/com/eatssu/android/ui/main/ViewPager2Adapter.kt
index 6af790ae..a2f1149f 100644
--- a/app/src/main/java/com/eatssu/android/ui/main/ViewPager2Adapter.kt
+++ b/app/src/main/java/com/eatssu/android/ui/main/ViewPager2Adapter.kt
@@ -1,5 +1,6 @@
package com.eatssu.android.ui.main
+import android.util.Log
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity
import androidx.viewpager2.adapter.FragmentStateAdapter
@@ -8,6 +9,7 @@ class ViewPager2Adapter(fragmentActivity: FragmentActivity) :
FragmentStateAdapter(fragmentActivity) {
// 1. ViewPager2에 연결할 Fragment 들을 생성
val fragmentList = listOf(BreakfastFragment(), LunchFragment(), DinnerFragment())
+ lateinit var menuDate : String
// 2. ViesPager2에서 노출시킬 Fragment 의 갯수 설정
override fun getItemCount(): Int {
@@ -16,6 +18,9 @@ class ViewPager2Adapter(fragmentActivity: FragmentActivity) :
// 3. ViewPager2의 각 페이지에서 노출할 Fragment 설정
override fun createFragment(position: Int): Fragment {
+ /*if(fragmentList[position] is LunchFragment) {
+ (fragmentList[position] as LunchFragment).setDate(menuDate)
+ }*/
return fragmentList[position]
}
@@ -25,4 +30,9 @@ class ViewPager2Adapter(fragmentActivity: FragmentActivity) :
// 예를 들어, 첫 번째 Fragment를 디폴트로 설정하려면 0을 반환합니다.
return 1
}
+
+ fun setMenudate(date : String){
+ this.menuDate = date
+ Log.d("vpdate", menuDate)
+ }
}
diff --git a/app/src/main/java/com/eatssu/android/ui/mypage/MyReviewAdapter.kt b/app/src/main/java/com/eatssu/android/ui/mypage/MyReviewAdapter.kt
index 9e6bb9c6..a9b4d4b9 100644
--- a/app/src/main/java/com/eatssu/android/ui/mypage/MyReviewAdapter.kt
+++ b/app/src/main/java/com/eatssu/android/ui/mypage/MyReviewAdapter.kt
@@ -22,31 +22,10 @@ class MyReviewAdapter(private val dataList: List) :
// binding.tvReviewItemId.text = dataList[position].writerId.toString()
binding.tvReviewItemComment.text = dataList[position].content.toString()
binding.tvReviewItemDate.text = dataList[position].writeDate.toString()
- binding.rbReviewItemRate.rating=dataList[position].grade.toFloat()
- val tagList = dataList[position].tagList
-
- val tagCount = tagList.size
-
-// 태그 초기화
- binding.tvReviewItemTag1.text = ""
- binding.tvReviewItemTag2.text = ""
- binding.tvReviewItemTag3.text = ""
-
- val tagTextViews = arrayOf(
- binding.tvReviewItemTag1,
- binding.tvReviewItemTag2,
- binding.tvReviewItemTag3
- )
-
- for (i in 0 until min(tagCount, tagTextViews.size)) {
- tagTextViews[i].text = tagList[i]
- }
-
- for (i in tagCount until tagTextViews.size) {
- tagTextViews[i].visibility = View.GONE
- }
-
-
+ binding.tvReviewMainGrade.text=dataList[position].mainGrade.toString()
+ binding.tvReviewTasteGrade.text=dataList[position].tasteGrade.toString()
+ binding.tvReviewAmountGrade.text=dataList[position].amountGrade.toString()
+ binding.tvReviewItemId.text=dataList[position].menuName.toString()
}
}
diff --git a/app/src/main/java/com/eatssu/android/ui/mypage/MyReviewListActivity.kt b/app/src/main/java/com/eatssu/android/ui/mypage/MyReviewListActivity.kt
index fe6b976f..40028b16 100644
--- a/app/src/main/java/com/eatssu/android/ui/mypage/MyReviewListActivity.kt
+++ b/app/src/main/java/com/eatssu/android/ui/mypage/MyReviewListActivity.kt
@@ -27,13 +27,12 @@ class MyReviewListActivity : AppCompatActivity() {
binding = ActivityMyReviewListBinding.inflate(layoutInflater)
setContentView(binding.root)
-// binding.included.actionBar.text="리뷰"
-// binding = ActivityReviewListBinding.inflate(layoutInflater, null, true)
- //val inflater = LayoutInflater.from(this)
- //inflater(binding.root, findViewById(R.id.frame_layout), true)
+ binding.btnReviewClose.setOnClickListener() {
+ onBackPressed();
+ }
- supportActionBar?.title = "리뷰"
+ supportActionBar?.title = "내가 쓴 리뷰"
var MENU_ID:Int=intent.getIntExtra("menuId",-1)
Log.d("post",MENU_ID.toString())
@@ -65,7 +64,6 @@ class MyReviewListActivity : AppCompatActivity() {
// 정상적으로 통신이 성공된 경우
Log.d("post", "onResponse 성공: " + response.body().toString());
-
val body = response.body()
body?.let {
setAdapter(it.dataList)
@@ -73,7 +71,7 @@ class MyReviewListActivity : AppCompatActivity() {
} else {
// 통신이 실패한 경우(응답코드 3xx, 4xx 등)
- Log.d("post", "onResponse 실패")
+ Log.d("post", "onResponse 실패 + ${response.code()}")
}
}
diff --git a/app/src/main/java/com/eatssu/android/ui/review/ReportActivity.kt b/app/src/main/java/com/eatssu/android/ui/review/ReportActivity.kt
index 8fbb6cec..6702a4c0 100644
--- a/app/src/main/java/com/eatssu/android/ui/review/ReportActivity.kt
+++ b/app/src/main/java/com/eatssu/android/ui/review/ReportActivity.kt
@@ -1,5 +1,6 @@
package com.eatssu.android.ui.review
+import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.eatssu.android.databinding.ActivityReportBinding
@@ -9,6 +10,7 @@ import com.eatssu.android.ui.BaseActivity
abstract class ReportActivity : BaseActivity() {
private lateinit var binding: ActivityReportBinding
+
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityReportBinding.inflate(layoutInflater)
@@ -16,6 +18,24 @@ abstract class ReportActivity : BaseActivity() {
setActionBarTitle("신고하기")
setContentView(binding.root)
+
+ binding.btnCloseReport.setOnClickListener() {
+ val intent = Intent(this, ReviewListActivity::class.java) // 인텐트를 생성해줌
+ startActivity(intent) // 화면 전환을 시켜줌
+
+ }
+
+ binding.radioGp.setOnCheckedChangeListener { group, checkedId ->
+ when(checkedId) {
+ //binding.radioBt1 ->
+ }
+ }
+
+ binding.btnNextReview2.setOnClickListener() {
+ val intent = Intent(this, ReviewListActivity::class.java) // 인텐트를 생성해줌
+ startActivity(intent) // 화면 전환을 시켜줌
+
+ }
}
abstract fun setActionBarTitle(s: String)
diff --git a/app/src/main/java/com/eatssu/android/ui/review/WriteReview1Activity.kt b/app/src/main/java/com/eatssu/android/ui/review/WriteReview1Activity.kt
index 374f01d5..04b49435 100644
--- a/app/src/main/java/com/eatssu/android/ui/review/WriteReview1Activity.kt
+++ b/app/src/main/java/com/eatssu/android/ui/review/WriteReview1Activity.kt
@@ -81,6 +81,7 @@ class WriteReview1Activity : AppCompatActivity() {
// intent.putExtra("tag",selectedTags)
intent.putExtra("selectedTags", ArrayList(selectedTags))
startActivity(intent) // 화면 전환을 시켜줌
+ Log.d("menuId", MENU_ID.toString());
}
}
diff --git a/app/src/main/res/color/selector_calendar_colortext.xml b/app/src/main/res/color/selector_calendar_colortext.xml
new file mode 100644
index 00000000..9cdb46c9
--- /dev/null
+++ b/app/src/main/res/color/selector_calendar_colortext.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_close.png b/app/src/main/res/drawable/ic_close.png
new file mode 100644
index 00000000..5e5a3b68
Binary files /dev/null and b/app/src/main/res/drawable/ic_close.png differ
diff --git a/app/src/main/res/drawable/ic_selector_background_white.xml b/app/src/main/res/drawable/ic_selector_background_white.xml
new file mode 100644
index 00000000..b2c3865d
--- /dev/null
+++ b/app/src/main/res/drawable/ic_selector_background_white.xml
@@ -0,0 +1,13 @@
+
+
+ -
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_star.png b/app/src/main/res/drawable/ic_star.png
new file mode 100644
index 00000000..d1d85078
Binary files /dev/null and b/app/src/main/res/drawable/ic_star.png differ
diff --git a/app/src/main/res/drawable/selector_background_blue.xml b/app/src/main/res/drawable/selector_background_blue.xml
index ff0eccd1..24d16059 100644
--- a/app/src/main/res/drawable/selector_background_blue.xml
+++ b/app/src/main/res/drawable/selector_background_blue.xml
@@ -1,12 +1,13 @@
-
-
-
+
+
-
+
-
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index c98c5b91..79b80e38 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -46,11 +46,11 @@
app:layout_constraintTop_toBottomOf="@id/tv_eat_ssu">
-
-
+ -->
+
+
+
+
+
+
@@ -97,7 +111,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toBottomOf="@id/week_calendar" />
+ app:layout_constraintTop_toBottomOf="@id/rv_main_weekcalendar"/>
+
+
+
+
+
+
+
+
+
+ tools:listitem="@layout/item_my_review" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_report.xml b/app/src/main/res/layout/activity_report.xml
index 709a2197..59b8d03f 100644
--- a/app/src/main/res/layout/activity_report.xml
+++ b/app/src/main/res/layout/activity_report.xml
@@ -4,16 +4,44 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:padding="20dp"
tools:context=".ui.review.ReportActivity">
+
+
+
+
+
+
+
+
+
@@ -21,6 +49,7 @@
android:id="@+id/radio_gp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:paddingLeft="20dp"
app:layout_constraintTop_toBottomOf="@+id/tv_report"
tools:ignore="MissingConstraints">
@@ -39,11 +68,11 @@
android:text="음란성, 욕설 등 부적절한 내용" />
+ android:text="부적절한 홍보 또는 광고" />
+ android:text="저작권 도용 의심 (사진 등)" />
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_calendar.xml b/app/src/main/res/layout/fragment_calendar.xml
index 807054fc..bea9ea10 100644
--- a/app/src/main/res/layout/fragment_calendar.xml
+++ b/app/src/main/res/layout/fragment_calendar.xml
@@ -8,7 +8,7 @@
tools:context=".ui.calendar.CalendarFragment">
-
-
+ -->
+ android:overScrollMode="never"/>
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_calendar_list.xml b/app/src/main/res/layout/item_calendar_list.xml
index b501b303..eaf2f077 100644
--- a/app/src/main/res/layout/item_calendar_list.xml
+++ b/app/src/main/res/layout/item_calendar_list.xml
@@ -2,29 +2,33 @@
+ android:textAlignment="center"
+ android:gravity="center"
+ android:textColor="@color/selector_calendar_colortext"/>
+ android:textAlignment="center"
+ android:gravity="center"
+ android:textColor="@color/selector_calendar_colortext"/>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_my_review.xml b/app/src/main/res/layout/item_my_review.xml
index 0b1ea3a4..c52a3a25 100644
--- a/app/src/main/res/layout/item_my_review.xml
+++ b/app/src/main/res/layout/item_my_review.xml
@@ -20,22 +20,107 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
+
app:layout_constraintStart_toStartOf="@+id/tv_review_item_id"
app:layout_constraintTop_toBottomOf="@+id/tv_review_item_id">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -46,15 +131,15 @@
android:layout_height="wrap_content"
android:text="2023.03.03"
android:layout_marginStart="5dp"
- app:layout_constraintBottom_toBottomOf="@+id/ll_review_item_rate"
- app:layout_constraintStart_toEndOf="@+id/ll_review_item_rate"
- app:layout_constraintTop_toTopOf="@+id/ll_review_item_rate" />
+ app:layout_constraintBottom_toTopOf="@+id/tv_review_item_delete"
+ app:layout_constraintEnd_toEndOf="@+id/tv_review_item_delete"
+ app:layout_constraintTop_toTopOf="@+id/tv_review_item_id"/>
-
+ app:layout_constraintTop_toBottomOf="@+id/tv_review_item_comment" />-->
\ No newline at end of file
diff --git a/app/src/main/res/values/array.xml b/app/src/main/res/values/array.xml
index 69bdf086..7c209939 100644
--- a/app/src/main/res/values/array.xml
+++ b/app/src/main/res/values/array.xml
@@ -2,12 +2,12 @@
+ - 일
- 월
- 화
- 수
- 목
- 금
- 토
- - 일
\ No newline at end of file