From 985357ca42a2a5380511c23be0a5be6687c4e582 Mon Sep 17 00:00:00 2001
From: 40food <40food@naver.com>
Date: Mon, 19 Feb 2024 16:03:14 +0900
Subject: [PATCH 1/6] =?UTF-8?q?feat=20=EB=8B=A4=EB=A5=B8=20=EC=9C=A0?=
=?UTF-8?q?=EC=A0=80=20=ED=99=95=EC=9D=B8=20=EB=A0=88=EC=9D=B4=EC=95=84?=
=?UTF-8?q?=EC=9B=83=20=EC=B6=94=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
+약관 로직 수정
---
app/src/main/AndroidManifest.xml | 10 +-
.../java/com/umc/ttoklip/data/api/KakaoApi.kt | 3 +-
.../java/com/umc/ttoklip/data/api/TermApi.kt | 14 +
.../location/DirectLocationRepository.kt | 8 +
.../data/repository/signup/TermRepository.kt | 8 +
.../repository/signup/TermRepositoryImpl.kt | 17 +
.../java/com/umc/ttoklip/di/KakaoModule.kt | 49 +-
.../java/com/umc/ttoklip/di/NetworkModule.kt | 7 +
.../presentation/intro/SplashActivity.kt | 6 +-
.../presentation/login/LoginActivity.kt | 20 +-
.../signup/DirectLocationActivity.kt | 39 +-
.../signup/fragments/Signup3Fragment.kt | 168 ++++---
.../signup/fragments/TermRVAdapter.kt | 64 +++
.../signup/fragments/TermViewModel.kt | 57 ++-
.../res/layout/activity_direct_location.xml | 18 +-
.../res/layout/activity_otheruser_profile.xml | 428 ++++++++++++++++++
app/src/main/res/layout/fragment_signup3.xml | 211 ++++-----
app/src/main/res/layout/item_term.xml | 21 +-
18 files changed, 882 insertions(+), 266 deletions(-)
create mode 100644 app/src/main/java/com/umc/ttoklip/data/api/TermApi.kt
create mode 100644 app/src/main/java/com/umc/ttoklip/data/repository/location/DirectLocationRepository.kt
create mode 100644 app/src/main/java/com/umc/ttoklip/data/repository/signup/TermRepository.kt
create mode 100644 app/src/main/java/com/umc/ttoklip/data/repository/signup/TermRepositoryImpl.kt
create mode 100644 app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/TermRVAdapter.kt
create mode 100644 app/src/main/res/layout/activity_otheruser_profile.xml
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 973ac440..69c00dbd 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -154,16 +154,16 @@
android:name=".presentation.intro.SplashActivity"
android:screenOrientation="portrait"
android:exported="true">
+
+
+
+
+
-
-
-
-
-
diff --git a/app/src/main/java/com/umc/ttoklip/data/api/KakaoApi.kt b/app/src/main/java/com/umc/ttoklip/data/api/KakaoApi.kt
index 17952915..adea7b03 100644
--- a/app/src/main/java/com/umc/ttoklip/data/api/KakaoApi.kt
+++ b/app/src/main/java/com/umc/ttoklip/data/api/KakaoApi.kt
@@ -11,6 +11,7 @@ interface KakaoApi {
@GET("v2/local/search/keyword.json")
fun getSearchKeyword(
@Header("Authorization") key: String,
- @Query("query") query:String
+ @Query("query") query:String,
+ @Query("page") page:Int
): Call
}
\ No newline at end of file
diff --git a/app/src/main/java/com/umc/ttoklip/data/api/TermApi.kt b/app/src/main/java/com/umc/ttoklip/data/api/TermApi.kt
new file mode 100644
index 00000000..0e2f8582
--- /dev/null
+++ b/app/src/main/java/com/umc/ttoklip/data/api/TermApi.kt
@@ -0,0 +1,14 @@
+package com.umc.ttoklip.data.api
+
+import com.umc.ttoklip.data.model.ResponseBody
+import com.umc.ttoklip.data.model.signup.TermResponse
+import retrofit2.Response
+import retrofit2.http.GET
+import retrofit2.http.Query
+
+interface TermApi {
+ @GET("/api/v1/term")
+ suspend fun getTerm(
+ @Query("page") page: Int)
+ : Response>
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/umc/ttoklip/data/repository/location/DirectLocationRepository.kt b/app/src/main/java/com/umc/ttoklip/data/repository/location/DirectLocationRepository.kt
new file mode 100644
index 00000000..c790509d
--- /dev/null
+++ b/app/src/main/java/com/umc/ttoklip/data/repository/location/DirectLocationRepository.kt
@@ -0,0 +1,8 @@
+package com.umc.ttoklip.data.repository.location
+
+import com.umc.ttoklip.data.model.KakaoResponse
+import retrofit2.Call
+
+interface DirectLocationRepository {
+ suspend fun getDirectAddress(address:String): Call
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/umc/ttoklip/data/repository/signup/TermRepository.kt b/app/src/main/java/com/umc/ttoklip/data/repository/signup/TermRepository.kt
new file mode 100644
index 00000000..5b4fa81a
--- /dev/null
+++ b/app/src/main/java/com/umc/ttoklip/data/repository/signup/TermRepository.kt
@@ -0,0 +1,8 @@
+package com.umc.ttoklip.data.repository.signup
+
+import com.umc.ttoklip.data.model.signup.TermResponse
+import com.umc.ttoklip.module.NetworkResult
+
+interface TermRepository {
+ suspend fun getTerm(page:Int): NetworkResult
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/umc/ttoklip/data/repository/signup/TermRepositoryImpl.kt b/app/src/main/java/com/umc/ttoklip/data/repository/signup/TermRepositoryImpl.kt
new file mode 100644
index 00000000..ea49f330
--- /dev/null
+++ b/app/src/main/java/com/umc/ttoklip/data/repository/signup/TermRepositoryImpl.kt
@@ -0,0 +1,17 @@
+package com.umc.ttoklip.data.repository.signup
+
+import com.umc.ttoklip.data.api.TermApi
+import com.umc.ttoklip.data.model.ResponseBody
+import com.umc.ttoklip.data.model.signup.SignupResponse
+import com.umc.ttoklip.data.model.signup.TermResponse
+import com.umc.ttoklip.module.NetworkResult
+import com.umc.ttoklip.module.handleApi
+import javax.inject.Inject
+
+class TermRepositoryImpl @Inject constructor(
+ private val api: TermApi
+): TermRepository {
+ override suspend fun getTerm(page: Int): NetworkResult {
+ return handleApi({api.getTerm(page)}) {response: ResponseBody ->response.result}
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/umc/ttoklip/di/KakaoModule.kt b/app/src/main/java/com/umc/ttoklip/di/KakaoModule.kt
index 2ddf49d0..3316eb5c 100644
--- a/app/src/main/java/com/umc/ttoklip/di/KakaoModule.kt
+++ b/app/src/main/java/com/umc/ttoklip/di/KakaoModule.kt
@@ -1,30 +1,47 @@
package com.umc.ttoklip.di
+import android.util.Log
import com.umc.ttoklip.R
import com.umc.ttoklip.data.api.KakaoApi
+import com.umc.ttoklip.data.model.KakaoResponse
import dagger.Module
+import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
+import retrofit2.Call
+import retrofit2.Callback
+import retrofit2.Response
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
+import javax.inject.Singleton
+
@Module
@InstallIn(SingletonComponent::class)
object KakaoModule {
- class kakaoAddress {
- companion object {
- var BASE_URL = R.string.kakao.toString()
- var API_KEY = R.string.kakao_api_key.toString()
- }
- object kakaoApiRetrofitClient {
- private val retrofit: Retrofit.Builder by lazy {
- Retrofit.Builder()
- .baseUrl(BASE_URL)
- .addConverterFactory(GsonConverterFactory.create())
- }
- val apiService: KakaoApi by lazy {
- retrofit.build().create(KakaoApi::class.java)
- }
- }
- }
+ private val BASE_URL = R.string.kakao.toString()
+ private val API_KEY = R.string.kakao_api_key.toString()
+
+// @Provides
+// @Singleton
+// fun kakaoApiRetrofitClient(keyword: String, page: Int) {
+// val retrofit = Retrofit.Builder()
+// .baseUrl(BASE_URL)
+// .addConverterFactory(GsonConverterFactory.create())
+// .build()
+// val api = retrofit.create(KakaoApi::class.java)
+// val call = api.getSearchKeyword(API_KEY, keyword, page)
+//
+// call.enqueue(object: Callback {
+// override fun onResponse(
+// call: Call,
+// response: Response
+// ) {
+// Log.i("LocaSearch","통신 성공:${response.body()}")
+// }
+// override fun onFailure(call: Call, t: Throwable) {
+// Log.w("LocaSearch","통신 실패: ${t.message}")
+// }
+// })
+// }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/umc/ttoklip/di/NetworkModule.kt b/app/src/main/java/com/umc/ttoklip/di/NetworkModule.kt
index 361e2f48..b1faf5aa 100644
--- a/app/src/main/java/com/umc/ttoklip/di/NetworkModule.kt
+++ b/app/src/main/java/com/umc/ttoklip/di/NetworkModule.kt
@@ -7,6 +7,7 @@ import com.umc.ttoklip.data.api.LoginApi
import com.umc.ttoklip.data.api.NewsApi
import com.umc.ttoklip.data.api.SearchApi
import com.umc.ttoklip.data.api.SignupApi
+import com.umc.ttoklip.data.api.TermApi
import com.umc.ttoklip.data.api.TestApi
import dagger.Module
import dagger.Provides
@@ -106,6 +107,12 @@ object NetworkModule {
return retrofit.buildService()
}
+ @Provides
+ @Singleton
+ fun provideTermApi(retrofit: Retrofit): TermApi{
+ return retrofit.buildService()
+ }
+
private inline fun Retrofit.buildService(): T {
return this.create(T::class.java)
}
diff --git a/app/src/main/java/com/umc/ttoklip/presentation/intro/SplashActivity.kt b/app/src/main/java/com/umc/ttoklip/presentation/intro/SplashActivity.kt
index 8805e36f..3b64ad0f 100644
--- a/app/src/main/java/com/umc/ttoklip/presentation/intro/SplashActivity.kt
+++ b/app/src/main/java/com/umc/ttoklip/presentation/intro/SplashActivity.kt
@@ -21,9 +21,9 @@ class SplashActivity:BaseActivity(R.layout.activity_splas
if(firstRun){
startActivity(Intent(this, IntroActivity::class.java))
finish()
- }else if(jwt.isNotEmpty()&&!isFirstLogin){
- startActivity(Intent(this,MainActivity::class.java))
- finish()
+// }else if(jwt.isNotEmpty()&&!isFirstLogin){
+// startActivity(Intent(this,MainActivity::class.java))
+// finish()
} else{
startActivity(Intent(this, LoginActivity::class.java))
finish()
diff --git a/app/src/main/java/com/umc/ttoklip/presentation/login/LoginActivity.kt b/app/src/main/java/com/umc/ttoklip/presentation/login/LoginActivity.kt
index 3e9a43b8..7cf66773 100644
--- a/app/src/main/java/com/umc/ttoklip/presentation/login/LoginActivity.kt
+++ b/app/src/main/java/com/umc/ttoklip/presentation/login/LoginActivity.kt
@@ -98,18 +98,18 @@ class LoginActivity : BaseActivity(R.layout.activity_login
private fun startactivity() {
// 회원가입 만들기용 임시
-// val intent = Intent(this, SignupActivity::class.java)
-// startActivity(intent)
-// Log.i("JWT",TtoklipApplication.prefs.getString("jwt",""))
-
- //이쪽이 진짜
- if (viewModel.isFirstLogin.value) {
val intent = Intent(this, SignupActivity::class.java)
startActivity(intent)
- } else {
- startActivity(Intent(this, MainActivity::class.java))
- finish()
- }
+ Log.i("JWT",TtoklipApplication.prefs.getString("jwt",""))
+
+ //이쪽이 진짜
+// if (viewModel.isFirstLogin.value) {
+// val intent = Intent(this, SignupActivity::class.java)
+// startActivity(intent)
+// } else {
+// startActivity(Intent(this, MainActivity::class.java))
+// finish()
+// }
}
override fun onBackPressed() {
diff --git a/app/src/main/java/com/umc/ttoklip/presentation/signup/DirectLocationActivity.kt b/app/src/main/java/com/umc/ttoklip/presentation/signup/DirectLocationActivity.kt
index 0048314c..799d5d4c 100644
--- a/app/src/main/java/com/umc/ttoklip/presentation/signup/DirectLocationActivity.kt
+++ b/app/src/main/java/com/umc/ttoklip/presentation/signup/DirectLocationActivity.kt
@@ -12,32 +12,31 @@ import retrofit2.Response
class DirectLocationActivity :
BaseActivity(R.layout.activity_direct_location) {
- private val kakaoInfo = KakaoModule.kakaoAddress.Companion
- private val kakaoApi = KakaoModule.kakaoAddress.kakaoApiRetrofitClient.apiService
+// private val kakaoApi = DirectLocationRepositoryImpl
override fun initView() {
callKakaoSearch("서울시 관악구 조원로12길 28")
}
fun callKakaoSearch(address: String) {
- val kakao = MutableLiveData()
- kakaoApi.getSearchKeyword(kakaoInfo.API_KEY, query = address)
- .enqueue(object : retrofit2.Callback {
- override fun onResponse(
- call: Call,
- response: Response
- ) {
- kakao.value = response.body()
- Log.i("KAKAO SEARCH", "${kakao.value!!.documents[0].address_name}")
- }
-
- override fun onFailure(
- call: Call,
- t: Throwable
- ) {
- t.printStackTrace()
- }
- })
+// val kakao = MutableLiveData()
+// kakaoApi.getSearchKeyword(kakaoInfo.API_KEY, query = address)
+// .enqueue(object : retrofit2.Callback {
+// override fun onResponse(
+// call: Call,
+// response: Response
+// ) {
+// kakao.value = response.body()
+// Log.i("KAKAO SEARCH", "${kakao.value!!.documents[0].address_name}")
+// }
+//
+// override fun onFailure(
+// call: Call,
+// t: Throwable
+// ) {
+// t.printStackTrace()
+// }
+// })
}
override fun initObserver() {
diff --git a/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/Signup3Fragment.kt b/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/Signup3Fragment.kt
index 56f233fc..3dfe942f 100644
--- a/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/Signup3Fragment.kt
+++ b/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/Signup3Fragment.kt
@@ -1,124 +1,110 @@
package com.umc.ttoklip.presentation.signup.fragments
import android.content.Context
-import androidx.activity.OnBackPressedCallback
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
import androidx.core.os.bundleOf
+import androidx.fragment.app.viewModels
+import androidx.lifecycle.Lifecycle
+import androidx.lifecycle.lifecycleScope
+import androidx.lifecycle.repeatOnLifecycle
import androidx.navigation.fragment.findNavController
+import androidx.recyclerview.widget.LinearLayoutManager
import com.umc.ttoklip.R
import com.umc.ttoklip.databinding.FragmentSignup3Binding
+import com.umc.ttoklip.databinding.ItemTermBinding
import com.umc.ttoklip.presentation.base.BaseFragment
import com.umc.ttoklip.presentation.signup.SignupActivity
+import dagger.hilt.android.AndroidEntryPoint
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.launch
+@AndroidEntryPoint
class Signup3Fragment : BaseFragment(R.layout.fragment_signup3) {
- var allAgree: Boolean = false
- var serviceAgree: Boolean = false
- var privacyAgree: Boolean = false
- var locationAgree: Boolean = false
+ private val viewModel: TermViewModel by viewModels()
+ private lateinit var termRVAdapter:TermRVAdapter
override fun initObserver() {
-
- }
-
- override fun initView() {
val activity = activity as SignupActivity
activity?.setProg(1)
- binding.signup3AgreeAllIv.setOnClickListener {
- if (allAgree) {
- binding.signup3AgreeServiceIv.setImageResource(R.drawable.oval_stroke_1)
- binding.signup3AgreePrivacyIv.setImageResource(R.drawable.oval_stroke_1)
- binding.signup3AgreeLocationIv.setImageResource(R.drawable.oval_stroke_1)
- serviceAgree = false
- privacyAgree = false
- locationAgree = false
- } else {
- binding.signup3AgreeServiceIv.setImageResource(R.drawable.oval_double)
- binding.signup3AgreePrivacyIv.setImageResource(R.drawable.oval_double)
- binding.signup3AgreeLocationIv.setImageResource(R.drawable.oval_double)
- serviceAgree = true
- privacyAgree = true
- locationAgree = true
- }
- allAgreeCheck()
- nextok()
- }
+ lifecycleScope.launch {
+ repeatOnLifecycle(Lifecycle.State.STARTED) {
+ launch {
+ delay(300)
+ viewModel.termDatas.collect {
+ termRVAdapter = TermRVAdapter(viewModel.termDatas.value)
+ binding.signup3TermsRV.adapter = termRVAdapter
+ binding.signup3TermsRV.layoutManager = LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false)
+ termRVAdapter.setMyItemClickListener(object : TermRVAdapter.MyItemClickListener {
- binding.signup3AgreeServiceIv.setOnClickListener {
- if(serviceAgree){
- serviceAgree=false
- binding.signup3AgreeServiceIv.setImageResource(R.drawable.oval_stroke_1)
- }else{
- serviceAgree=true
- binding.signup3AgreeServiceIv.setImageResource(R.drawable.oval_double)
+ override fun onItemClick(termId: Int) {
+ //fragment 이동
+ activity.updateButtonForTerm()
+ val bundle = Bundle()
+ bundle.putString("title", viewModel.termDatas.value[termId].title)
+ bundle.putString("content", viewModel.termDatas.value[termId].content)
+ findNavController().navigate(R.id.action_signup3_fragment_to_signupTerm_fragment, bundle)
+ }
+ override fun onCheckTermOn(termId: Int) {
+ viewModel.termDatas.value[termId].check = true
+ nextcheck() }
+ override fun onCheckTermOff(termId: Int) {
+ viewModel.termDatas.value[termId].check = false
+ nextcheck() }
+ })
+ viewModel.nextok.collect{
+ if(it){
+ binding.signup3NextBtn.isClickable = true
+ binding.signup3NextBtn.setBackgroundResource(R.drawable.rectangle_corner_10_yellow)
+ binding.signup3NextBtn.setTextAppearance(R.style.TextAppearance_App_16sp_700)
+ }else{
+ binding.signup3NextBtn.isClickable = false
+ binding.signup3NextBtn.setBackgroundResource(R.drawable.rectangle_corner_10_strok_1_black)
+ binding.signup3NextBtn.setTextAppearance(R.style.TextAppearance_App_16sp_500)
+ }
+ }
+ }
+ }
}
- allAgreeCheck()
- nextok()
- }
- binding.signup3AgreeServiceBtn.setOnClickListener {
- activity.updateButtonForTerm()
- findNavController().navigate(R.id.action_signup3_fragment_to_signupTerm_fragment,
- bundleOf("termType" to "service"))
- }
-
- binding.signup3AgreePrivacyIv.setOnClickListener {
- if(privacyAgree){
- privacyAgree=false
- binding.signup3AgreePrivacyIv.setImageResource(R.drawable.oval_stroke_1)
- }else{
- privacyAgree=true
- binding.signup3AgreePrivacyIv.setImageResource(R.drawable.oval_double)
- }
- allAgreeCheck()
- nextok()
- }
- binding.signup3AgreePrivacyBtn.setOnClickListener {
- activity.updateButtonForTerm()
- findNavController().navigate(R.id.action_signup3_fragment_to_signupTerm_fragment,
- bundleOf("termType" to "privacy"))
}
+ }
- binding.signup3AgreeLocationIv.setOnClickListener {
- if(locationAgree){
- locationAgree=false
- binding.signup3AgreeLocationIv.setImageResource(R.drawable.oval_stroke_1)
+ override fun initView() {
+ viewModel.getTerm()
+ binding.signup3AgreeAllIv.setOnClickListener {
+ if(viewModel.allCheck.value){
+ binding.signup3AgreeAllIv.setImageResource(R.drawable.oval_stroke_1)
+ viewModel.allcheck(false)
+ viewModel.setTermsCheck(false)
+ nextcheck()
+ termRVAdapter.notifyDataSetChanged()
}else{
- locationAgree=true
- binding.signup3AgreeLocationIv.setImageResource(R.drawable.oval_double)
+ binding.signup3AgreeAllIv.setImageResource(R.drawable.oval_double)
+ viewModel.allcheck(true)
+ viewModel.setTermsCheck(true)
+ nextcheck()
+ termRVAdapter.notifyDataSetChanged()
}
- allAgreeCheck()
- }
- binding.signup3AgreeLocationBtn.setOnClickListener {
- activity.updateButtonForTerm()
- findNavController().navigate(R.id.action_signup3_fragment_to_signupTerm_fragment,
- bundleOf("termType" to "location"))
}
-
binding.signup3NextBtn.setOnClickListener {
- if (serviceAgree && privacyAgree) {
+ if(viewModel.nextok.value){
findNavController().navigate(R.id.action_signup3_fragment_to_signup4_fragment)
}
}
}
- private fun allAgreeCheck() {
- if (serviceAgree && privacyAgree && locationAgree) {
- allAgree = true
- binding.signup3AgreeAllIv.setImageResource(R.drawable.oval_double)
- } else {
- allAgree = false
- binding.signup3AgreeAllIv.setImageResource(R.drawable.oval_stroke_1)
- }
- }
- private fun nextok(){
- if(serviceAgree&&privacyAgree){
- binding.signup3NextBtn.isClickable=true
- binding.signup3NextBtn.setBackgroundResource(R.drawable.rectangle_corner_10_yellow)
- binding.signup3NextBtn.setTextAppearance(R.style.TextAppearance_App_16sp_700)
- }else{
- binding.signup3NextBtn.isClickable=false
- binding.signup3NextBtn.setBackgroundResource(R.drawable.rectangle_corner_10_strok_1_black)
- binding.signup3NextBtn.setTextAppearance(R.style.TextAppearance_App_16sp_500)
+
+ private fun nextcheck() {
+ for (term in viewModel.termDatas.value) {
+ if (term.check==false) {
+ viewModel.nextcheck(false)
+ return
+ }
}
+ viewModel.nextcheck(true)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/TermRVAdapter.kt b/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/TermRVAdapter.kt
new file mode 100644
index 00000000..1e1888de
--- /dev/null
+++ b/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/TermRVAdapter.kt
@@ -0,0 +1,64 @@
+package com.umc.ttoklip.presentation.signup.fragments
+
+import android.annotation.SuppressLint
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.recyclerview.widget.RecyclerView
+import com.umc.ttoklip.databinding.ItemTermBinding
+
+class TermRVAdapter(private val termList: ArrayList) :
+ RecyclerView.Adapter() {
+
+ interface MyItemClickListener {
+ fun onItemClick(termId: Int)
+ fun onCheckTermOn(termId: Int)
+ fun onCheckTermOff(termId: Int)
+ }
+
+ private lateinit var mItemClickListener: MyItemClickListener
+ fun setMyItemClickListener(itemClickListener: MyItemClickListener) {
+ mItemClickListener = itemClickListener
+ }
+
+ @SuppressLint("NotifyDataSetChanged")
+ fun checkTerm(){
+ notifyDataSetChanged()
+ }
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
+ val binding: ItemTermBinding =
+ ItemTermBinding.inflate(LayoutInflater.from(parent.context), parent, false)
+ return ViewHolder(binding)
+ }
+
+ override fun getItemCount(): Int = termList.size
+
+ override fun onBindViewHolder(holder: ViewHolder, position: Int) {
+ holder.bind(termList[position])
+ holder.itemView.setOnClickListener { mItemClickListener.onItemClick(termList[position].termId-1) }
+ holder.binding.termAgreeServiceOnIv.setOnClickListener {
+ mItemClickListener.onCheckTermOff(termList[position].termId-1)
+ checkTerm()
+ }
+ holder.binding.termAgreeServiceOffIv.setOnClickListener {
+ mItemClickListener.onCheckTermOn(termList[position].termId-1)
+ checkTerm()
+ }
+ }
+
+ inner class ViewHolder(val binding: ItemTermBinding) : RecyclerView.ViewHolder(binding.root) {
+ fun bind(term: TermViewModel.Term) {
+ binding.termAgreeServiceTv.text = term.title
+ if (term.check) {
+ binding.termAgreeServiceOnIv.visibility = View.VISIBLE
+ binding.termAgreeServiceOffIv.visibility = View.INVISIBLE
+ } else {
+ binding.termAgreeServiceOnIv.visibility = View.INVISIBLE
+ binding.termAgreeServiceOffIv.visibility = View.VISIBLE
+ }
+ }
+ }
+
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/TermViewModel.kt b/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/TermViewModel.kt
index 378e9a1d..1c6cdf7e 100644
--- a/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/TermViewModel.kt
+++ b/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/TermViewModel.kt
@@ -1,10 +1,63 @@
package com.umc.ttoklip.presentation.signup.fragments
+import android.util.Log
import androidx.lifecycle.ViewModel
-import com.umc.ttoklip.data.repository.signup.SignupRepositoryImpl
+import androidx.lifecycle.viewModelScope
+import com.umc.ttoklip.R
+import com.umc.ttoklip.data.repository.signup.TermRepositoryImpl
+import com.umc.ttoklip.module.onFail
+import com.umc.ttoklip.module.onSuccess
+import dagger.hilt.android.lifecycle.HiltViewModel
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.StateFlow
+import kotlinx.coroutines.launch
import javax.inject.Inject
+@HiltViewModel
class TermViewModel @Inject constructor(
- private val signupRepository: SignupRepositoryImpl
+ private val termRepository: TermRepositoryImpl,
) : ViewModel() {
+
+ private val _termDatas= MutableStateFlow>(ArrayList())
+ val termDatas: StateFlow>
+ get() = _termDatas
+
+ private val _nextok= MutableStateFlow(false)
+ val nextok:StateFlow
+ get() = _nextok
+ private val _allCheck= MutableStateFlow(false)
+ val allCheck:StateFlow
+ get() = _allCheck
+
+ fun nextcheck(check:Boolean){
+ _nextok.value=check
+ }
+ fun allcheck(check:Boolean){
+ _allCheck.value=check
+ }
+ fun setTermsCheck(check:Boolean){
+ for(term in _termDatas.value){
+ _termDatas.value[term.termId-1].check=check
+ }
+ }
+ fun getTerm() {
+ viewModelScope.launch {
+ termRepository.getTerm(0)
+ .onSuccess {
+ for(term in it.terms){
+ _termDatas.value.add(Term(term.termId,term.title,term.content))
+ }
+ Log.i("TERM","term 불러오기 성공")
+ }.onFail {
+ Log.d("TERM","term 불러오기 실패")
+ }
+ }
+ }
+
+ data class Term(
+ val termId: Int,
+ val title: String,
+ val content: String,
+ var check: Boolean = false
+ )
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_direct_location.xml b/app/src/main/res/layout/activity_direct_location.xml
index dec1e31c..e04f5f0b 100644
--- a/app/src/main/res/layout/activity_direct_location.xml
+++ b/app/src/main/res/layout/activity_direct_location.xml
@@ -57,15 +57,15 @@
android:layout_marginEnd="10dp"
app:tint="@color/gray80" />
-
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_otheruser_profile.xml b/app/src/main/res/layout/activity_otheruser_profile.xml
new file mode 100644
index 00000000..4ce2cc48
--- /dev/null
+++ b/app/src/main/res/layout/activity_otheruser_profile.xml
@@ -0,0 +1,428 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_signup3.xml b/app/src/main/res/layout/fragment_signup3.xml
index 97c7bfbe..4e55c9dc 100644
--- a/app/src/main/res/layout/fragment_signup3.xml
+++ b/app/src/main/res/layout/fragment_signup3.xml
@@ -1,6 +1,7 @@
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/item_term.xml b/app/src/main/res/layout/item_term.xml
index 4df08f30..136139c4 100644
--- a/app/src/main/res/layout/item_term.xml
+++ b/app/src/main/res/layout/item_term.xml
@@ -11,13 +11,24 @@
+ app:layout_constraintBottom_toBottomOf="parent"
+ android:visibility="visible"/>
+
+
+ app:layout_constraintBottom_toBottomOf="@id/term_agreeService_off_iv"
+ app:layout_constraintStart_toEndOf="@id/term_agreeService_off_iv"
+ app:layout_constraintTop_toTopOf="@id/term_agreeService_off_iv" />
Date: Mon, 19 Feb 2024 20:49:14 +0900
Subject: [PATCH 2/6] =?UTF-8?q?fix=20=EC=95=BD=EA=B4=80=EB=8F=99=EC=9D=98?=
=?UTF-8?q?=20=EC=88=98=EC=A0=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
+api로 약관동의를 받아오도록 수정
+약관 확인 시 화면전환을 하지 않고 밑에 보이도록 수정
---
.../com/umc/ttoklip/data/api/StrangerApi.kt | 13 +
.../data/model/stranger/StrangerResponse.kt | 13 +
.../repository/stranger/StrangerRepository.kt | 9 +
.../presentation/login/LoginActivity.kt | 2 +
.../otheruser/OtheruserActivity.kt | 15 ++
.../otheruser/OtheruserViewModel.kt | 5 +
.../signup/fragments/Signup3Fragment.kt | 124 +++++----
.../signup/fragments/SignupTermFragment.kt | 28 +-
.../signup/fragments/TermRVAdapter.kt | 17 +-
.../signup/fragments/TermViewModel.kt | 8 +
app/src/main/res/layout/fragment_signup3.xml | 247 +++++++++---------
app/src/main/res/layout/item_term.xml | 25 +-
12 files changed, 320 insertions(+), 186 deletions(-)
create mode 100644 app/src/main/java/com/umc/ttoklip/data/api/StrangerApi.kt
create mode 100644 app/src/main/java/com/umc/ttoklip/data/model/stranger/StrangerResponse.kt
create mode 100644 app/src/main/java/com/umc/ttoklip/data/repository/stranger/StrangerRepository.kt
create mode 100644 app/src/main/java/com/umc/ttoklip/presentation/otheruser/OtheruserActivity.kt
create mode 100644 app/src/main/java/com/umc/ttoklip/presentation/otheruser/OtheruserViewModel.kt
diff --git a/app/src/main/java/com/umc/ttoklip/data/api/StrangerApi.kt b/app/src/main/java/com/umc/ttoklip/data/api/StrangerApi.kt
new file mode 100644
index 00000000..91fc3249
--- /dev/null
+++ b/app/src/main/java/com/umc/ttoklip/data/api/StrangerApi.kt
@@ -0,0 +1,13 @@
+package com.umc.ttoklip.data.api
+
+import com.umc.ttoklip.data.model.ResponseBody
+import com.umc.ttoklip.data.model.stranger.StrangerResponse
+import retrofit2.Response
+import retrofit2.http.POST
+import retrofit2.http.Query
+
+interface StrangerApi {
+ @POST("/api/v1/stranger")
+ suspend fun getStranger(@Query("nickname") nick: String)
+ : Response>
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/umc/ttoklip/data/model/stranger/StrangerResponse.kt b/app/src/main/java/com/umc/ttoklip/data/model/stranger/StrangerResponse.kt
new file mode 100644
index 00000000..b45b5fcb
--- /dev/null
+++ b/app/src/main/java/com/umc/ttoklip/data/model/stranger/StrangerResponse.kt
@@ -0,0 +1,13 @@
+package com.umc.ttoklip.data.model.stranger
+
+data class StrangerResponse (
+ val nickname:String,
+ val residence:String,
+ val level:Int,
+ val experience:ExperienceResponse
+)
+data class ExperienceResponse(
+ val current:Int,
+ val required:Int,
+ val levelimageurl:String
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/umc/ttoklip/data/repository/stranger/StrangerRepository.kt b/app/src/main/java/com/umc/ttoklip/data/repository/stranger/StrangerRepository.kt
new file mode 100644
index 00000000..d8dc1849
--- /dev/null
+++ b/app/src/main/java/com/umc/ttoklip/data/repository/stranger/StrangerRepository.kt
@@ -0,0 +1,9 @@
+package com.umc.ttoklip.data.repository.stranger
+
+import com.umc.ttoklip.data.model.signup.SignupResponse
+import com.umc.ttoklip.data.model.stranger.StrangerResponse
+import com.umc.ttoklip.module.NetworkResult
+
+interface StrangerRepository {
+ suspend fun getStranger(nick:String): NetworkResult
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/umc/ttoklip/presentation/login/LoginActivity.kt b/app/src/main/java/com/umc/ttoklip/presentation/login/LoginActivity.kt
index 7cf66773..70b33cbb 100644
--- a/app/src/main/java/com/umc/ttoklip/presentation/login/LoginActivity.kt
+++ b/app/src/main/java/com/umc/ttoklip/presentation/login/LoginActivity.kt
@@ -53,6 +53,8 @@ class LoginActivity : BaseActivity(R.layout.activity_login
}
}
NaverIdLoginSDK.authenticate(this, oauthLoginCallback)
+ //네이버 토큰 임시확인용
+ Log.i("NAVER-LOGIN","${NaverIdLoginSDK.getAccessToken()}")
}
binding.loginKakaoBtn.setOnClickListener {
diff --git a/app/src/main/java/com/umc/ttoklip/presentation/otheruser/OtheruserActivity.kt b/app/src/main/java/com/umc/ttoklip/presentation/otheruser/OtheruserActivity.kt
new file mode 100644
index 00000000..3ca3b0ed
--- /dev/null
+++ b/app/src/main/java/com/umc/ttoklip/presentation/otheruser/OtheruserActivity.kt
@@ -0,0 +1,15 @@
+package com.umc.ttoklip.presentation.otheruser
+
+import com.umc.ttoklip.R
+import com.umc.ttoklip.databinding.ActivityOtheruserProfileBinding
+import com.umc.ttoklip.databinding.ActivitySignupBinding
+import com.umc.ttoklip.presentation.base.BaseActivity
+
+class OtheruserActivity: BaseActivity(R.layout.activity_otheruser_profile) {
+ override fun initView() {
+ }
+
+ override fun initObserver() {
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/umc/ttoklip/presentation/otheruser/OtheruserViewModel.kt b/app/src/main/java/com/umc/ttoklip/presentation/otheruser/OtheruserViewModel.kt
new file mode 100644
index 00000000..e21c1da7
--- /dev/null
+++ b/app/src/main/java/com/umc/ttoklip/presentation/otheruser/OtheruserViewModel.kt
@@ -0,0 +1,5 @@
+package com.umc.ttoklip.presentation.otheruser
+
+class OtheruserViewModel {
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/Signup3Fragment.kt b/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/Signup3Fragment.kt
index 3dfe942f..ef54da91 100644
--- a/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/Signup3Fragment.kt
+++ b/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/Signup3Fragment.kt
@@ -6,6 +6,7 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.core.os.bundleOf
+import androidx.fragment.app.activityViewModels
import androidx.fragment.app.viewModels
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.lifecycleScope
@@ -24,48 +25,41 @@ import kotlinx.coroutines.launch
@AndroidEntryPoint
class Signup3Fragment : BaseFragment(R.layout.fragment_signup3) {
- private val viewModel: TermViewModel by viewModels()
- private lateinit var termRVAdapter:TermRVAdapter
+ private val viewModel: TermViewModel by activityViewModels()
+ private lateinit var termRVAdapter: TermRVAdapter
override fun initObserver() {
- val activity = activity as SignupActivity
- activity?.setProg(1)
-
lifecycleScope.launch {
repeatOnLifecycle(Lifecycle.State.STARTED) {
launch {
delay(300)
viewModel.termDatas.collect {
- termRVAdapter = TermRVAdapter(viewModel.termDatas.value)
- binding.signup3TermsRV.adapter = termRVAdapter
- binding.signup3TermsRV.layoutManager = LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false)
- termRVAdapter.setMyItemClickListener(object : TermRVAdapter.MyItemClickListener {
-
- override fun onItemClick(termId: Int) {
- //fragment 이동
- activity.updateButtonForTerm()
- val bundle = Bundle()
- bundle.putString("title", viewModel.termDatas.value[termId].title)
- bundle.putString("content", viewModel.termDatas.value[termId].content)
- findNavController().navigate(R.id.action_signup3_fragment_to_signupTerm_fragment, bundle)
- }
- override fun onCheckTermOn(termId: Int) {
- viewModel.termDatas.value[termId].check = true
- nextcheck() }
- override fun onCheckTermOff(termId: Int) {
- viewModel.termDatas.value[termId].check = false
- nextcheck() }
- })
- viewModel.nextok.collect{
- if(it){
- binding.signup3NextBtn.isClickable = true
- binding.signup3NextBtn.setBackgroundResource(R.drawable.rectangle_corner_10_yellow)
- binding.signup3NextBtn.setTextAppearance(R.style.TextAppearance_App_16sp_700)
- }else{
- binding.signup3NextBtn.isClickable = false
- binding.signup3NextBtn.setBackgroundResource(R.drawable.rectangle_corner_10_strok_1_black)
- binding.signup3NextBtn.setTextAppearance(R.style.TextAppearance_App_16sp_500)
- }
+ termRVAdapter.notifyDataSetChanged()
+ }
+ }
+ launch {
+ viewModel.nextok.collect {
+ if (it) {
+ binding.signup3NextBtn.isClickable = true
+ binding.signup3NextBtn.setBackgroundResource(R.drawable.rectangle_corner_10_yellow)
+ binding.signup3NextBtn.setTextAppearance(R.style.TextAppearance_App_16sp_700)
+ } else {
+ binding.signup3NextBtn.isClickable = false
+ binding.signup3NextBtn.setBackgroundResource(R.drawable.rectangle_corner_10_strok_1_black)
+ binding.signup3NextBtn.setTextAppearance(R.style.TextAppearance_App_16sp_500)
+ }
+ }
+ }
+ launch{
+ viewModel.allCheck.collect{
+ if(it){
+ binding.signup3AgreeAllIv.visibility=View.VISIBLE
+ binding.signup3DeagreeAllIv.visibility=View.INVISIBLE
+ termRVAdapter.notifyDataSetChanged()
+ }else{
+ binding.signup3AgreeAllIv.visibility=View.INVISIBLE
+ binding.signup3DeagreeAllIv.visibility=View.VISIBLE
+ termRVAdapter.notifyDataSetChanged()
}
}
}
@@ -74,25 +68,57 @@ class Signup3Fragment : BaseFragment(R.layout.fragment_s
}
override fun initView() {
+ val activity = activity as SignupActivity
+ activity?.setProg(1)
+
+ //약관 불러오기
viewModel.getTerm()
- binding.signup3AgreeAllIv.setOnClickListener {
- if(viewModel.allCheck.value){
- binding.signup3AgreeAllIv.setImageResource(R.drawable.oval_stroke_1)
- viewModel.allcheck(false)
- viewModel.setTermsCheck(false)
+ //약관 rv 초기화하고 넣기-업데이트는 ovserve에서
+ termRVAdapter = TermRVAdapter(viewModel.termDatas.value)
+ binding.signup3TermsRV.adapter = termRVAdapter
+ binding.signup3TermsRV.layoutManager =
+ LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false)
+
+
+ //term rv click listener
+ termRVAdapter.setMyItemClickListener(object : TermRVAdapter.MyItemClickListener {
+ //fragment 이동
+ override fun onItemClick(termId: Int) {
+ }
+
+ //off인 term을 누름
+ override fun onCheckTermOn(termId: Int) {
+ val id=viewModel.termCount.value-termId
+ viewModel.setTermCheck(id, true)
nextcheck()
- termRVAdapter.notifyDataSetChanged()
- }else{
- binding.signup3AgreeAllIv.setImageResource(R.drawable.oval_double)
- viewModel.allcheck(true)
- viewModel.setTermsCheck(true)
+ }
+
+ //on인 term을 누름
+ override fun onCheckTermOff(termId: Int) {
+ val id=viewModel.termCount.value-termId
+ viewModel.setTermCheck(id, false)
nextcheck()
- termRVAdapter.notifyDataSetChanged()
}
+ })
+ //all check off
+ binding.signup3AgreeAllIv.setOnClickListener {
+ viewModel.setTermsCheck(false)
+ viewModel.allcheck(false)
+ termRVAdapter.notifyDataSetChanged()
+ nextcheck()
+ }
+ //all check on
+ binding.signup3DeagreeAllIv.setOnClickListener {
+ viewModel.setTermsCheck(true)
+ viewModel.allcheck(true)
+ termRVAdapter.notifyDataSetChanged()
+ nextcheck()
}
+
+
binding.signup3NextBtn.setOnClickListener {
- if(viewModel.nextok.value){
+ if (viewModel.nextok.value) {
findNavController().navigate(R.id.action_signup3_fragment_to_signup4_fragment)
}
}
@@ -100,11 +126,13 @@ class Signup3Fragment : BaseFragment(R.layout.fragment_s
private fun nextcheck() {
for (term in viewModel.termDatas.value) {
- if (term.check==false) {
+ if (term.check == false) {
+ viewModel.allcheck(false)
viewModel.nextcheck(false)
return
}
}
+ viewModel.allcheck(true)
viewModel.nextcheck(true)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/SignupTermFragment.kt b/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/SignupTermFragment.kt
index 8d03bce8..ac43a9bf 100644
--- a/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/SignupTermFragment.kt
+++ b/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/SignupTermFragment.kt
@@ -2,40 +2,38 @@ package com.umc.ttoklip.presentation.signup.fragments
import android.content.Context
import androidx.activity.OnBackPressedCallback
+import androidx.fragment.app.activityViewModels
import com.umc.ttoklip.R
import com.umc.ttoklip.databinding.FragmentSignup5Binding
import com.umc.ttoklip.databinding.FragmentSignupTermBinding
import com.umc.ttoklip.presentation.base.BaseFragment
import com.umc.ttoklip.presentation.signup.SignupActivity
+import dagger.hilt.android.AndroidEntryPoint
+@AndroidEntryPoint
class SignupTermFragment : BaseFragment(R.layout.fragment_signup_term) {
- private lateinit var callback:OnBackPressedCallback
+ private lateinit var callback: OnBackPressedCallback
+
+ private val viewModel: TermViewModel by activityViewModels()
override fun initObserver() {
}
override fun initView() {
- var termType = requireArguments().getString("termType")
- if (termType.toString().equals("service")) {
- binding.signupTermTitleTv.text = getString(R.string.service_term)
- binding.signupTermDetailTv.text = getString(R.string.service_term_detail)
- } else if (termType.toString().equals("privacy")) {
- binding.signupTermTitleTv.text = getString(R.string.privacy_term)
- binding.signupTermDetailTv.text = getString(R.string.privacy_term_detail)
- } else {
- binding.signupTermTitleTv.text = getString(R.string.location_term)
- binding.signupTermDetailTv.text = getString(R.string.location_term_detail)
- }
+ val title = arguments?.getString("title")
+ val content = arguments?.getString("content")
+ binding.signupTermTitleTv.text = title
+ binding.signupTermDetailTv.text = content
}
override fun onAttach(context: Context) {
super.onAttach(context)
- callback=object:OnBackPressedCallback(true){
+ callback = object : OnBackPressedCallback(true) {
override fun handleOnBackPressed() {
- val activity=activity as SignupActivity
+ val activity = activity as SignupActivity
activity.termBack()
}
}
- requireActivity().onBackPressedDispatcher.addCallback(this,callback)
+ requireActivity().onBackPressedDispatcher.addCallback(this, callback)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/TermRVAdapter.kt b/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/TermRVAdapter.kt
index 1e1888de..ea1047ad 100644
--- a/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/TermRVAdapter.kt
+++ b/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/TermRVAdapter.kt
@@ -36,13 +36,23 @@ class TermRVAdapter(private val termList: ArrayList) :
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.bind(termList[position])
- holder.itemView.setOnClickListener { mItemClickListener.onItemClick(termList[position].termId-1) }
+ holder.itemView.setOnClickListener {
+ mItemClickListener.onItemClick(termList[position].termId-1)
+ }
+ holder.binding.termAgreeServiceBtn.setOnClickListener {
+ if(holder.binding.termDetailSv.visibility.equals(View.VISIBLE)){
+ holder.binding.termDetailSv.visibility=View.GONE
+ }else{
+ holder.binding.termDetailSv.visibility=View.VISIBLE
+ }
+ checkTerm()
+ }
holder.binding.termAgreeServiceOnIv.setOnClickListener {
- mItemClickListener.onCheckTermOff(termList[position].termId-1)
+ mItemClickListener.onCheckTermOff(termList[position].termId)
checkTerm()
}
holder.binding.termAgreeServiceOffIv.setOnClickListener {
- mItemClickListener.onCheckTermOn(termList[position].termId-1)
+ mItemClickListener.onCheckTermOn(termList[position].termId)
checkTerm()
}
}
@@ -50,6 +60,7 @@ class TermRVAdapter(private val termList: ArrayList) :
inner class ViewHolder(val binding: ItemTermBinding) : RecyclerView.ViewHolder(binding.root) {
fun bind(term: TermViewModel.Term) {
binding.termAgreeServiceTv.text = term.title
+ binding.termDetailTv.text=term.content
if (term.check) {
binding.termAgreeServiceOnIv.visibility = View.VISIBLE
binding.termAgreeServiceOffIv.visibility = View.INVISIBLE
diff --git a/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/TermViewModel.kt b/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/TermViewModel.kt
index 1c6cdf7e..307c4138 100644
--- a/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/TermViewModel.kt
+++ b/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/TermViewModel.kt
@@ -40,6 +40,9 @@ class TermViewModel @Inject constructor(
_termDatas.value[term.termId-1].check=check
}
}
+ fun setTermCheck(position:Int,check:Boolean){
+ _termDatas.value[position].check=check
+ }
fun getTerm() {
viewModelScope.launch {
termRepository.getTerm(0)
@@ -47,6 +50,7 @@ class TermViewModel @Inject constructor(
for(term in it.terms){
_termDatas.value.add(Term(term.termId,term.title,term.content))
}
+ _termCount.value=it.totalElements
Log.i("TERM","term 불러오기 성공")
}.onFail {
Log.d("TERM","term 불러오기 실패")
@@ -54,6 +58,10 @@ class TermViewModel @Inject constructor(
}
}
+ private val _termCount=MutableStateFlow(0)
+ val termCount:StateFlow
+ get() = _termCount
+
data class Term(
val termId: Int,
val title: String,
diff --git a/app/src/main/res/layout/fragment_signup3.xml b/app/src/main/res/layout/fragment_signup3.xml
index 4e55c9dc..1b9213f7 100644
--- a/app/src/main/res/layout/fragment_signup3.xml
+++ b/app/src/main/res/layout/fragment_signup3.xml
@@ -20,30 +20,33 @@
+
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+
+ app:layout_constraintStart_toStartOf="@id/signup1_desc1_tv"
+ app:layout_constraintTop_toBottomOf="@id/signup1_desc1_tv" />
+
+ app:layout_constraintStart_toEndOf="@id/signup1_desc2_tv"
+ app:layout_constraintTop_toTopOf="@id/signup1_desc2_tv" />
+
+
+ app:layout_constraintTop_toTopOf="parent" />
+
+ app:layout_constraintStart_toStartOf="@id/signup3_agreeAll_tv"
+ app:layout_constraintTop_toBottomOf="@id/signup3_agreeAll_tv" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+ android:layout_height="430dp"
+ android:layout_marginTop="10dp"
+ tools:listitem="@layout/item_term"/>
+ app:layout_constraintStart_toStartOf="parent" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_term.xml b/app/src/main/res/layout/item_term.xml
index 136139c4..be152f3c 100644
--- a/app/src/main/res/layout/item_term.xml
+++ b/app/src/main/res/layout/item_term.xml
@@ -17,7 +17,6 @@
android:src="@drawable/oval_stroke_1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintBottom_toBottomOf="parent"
android:visibility="visible"/>
+
+
+
\ No newline at end of file
From 064ab9ee8c5d3b38d852b8034c8f1dae6610ebbb Mon Sep 17 00:00:00 2001
From: 40food <40food@naver.com>
Date: Mon, 19 Feb 2024 21:27:06 +0900
Subject: [PATCH 3/6] =?UTF-8?q?fix=20direct=20location=20=EC=88=98?=
=?UTF-8?q?=EC=A0=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
하는중...
---
app/src/main/AndroidManifest.xml | 4 +--
.../java/com/umc/ttoklip/data/api/KakaoApi.kt | 5 ++-
.../location/DirectLocationRepositoryImpl.kt | 23 +++++++++++++
.../java/com/umc/ttoklip/di/KakaoModule.kt | 34 ++++++-------------
.../signup/fragments/Signup4Fragment.kt | 2 +-
.../signup/fragments/Signup5Fragment.kt | 11 ++----
.../{ => location}/DirectLocationActivity.kt | 2 +-
.../location/DirectLocationModelView.kt | 33 ++++++++++++++++++
.../{ => location}/DirectLocationRVAdapter.kt | 2 +-
.../signup/{ => location}/LocationActivity.kt | 8 ++---
10 files changed, 79 insertions(+), 45 deletions(-)
create mode 100644 app/src/main/java/com/umc/ttoklip/data/repository/location/DirectLocationRepositoryImpl.kt
rename app/src/main/java/com/umc/ttoklip/presentation/signup/{ => location}/DirectLocationActivity.kt (96%)
create mode 100644 app/src/main/java/com/umc/ttoklip/presentation/signup/location/DirectLocationModelView.kt
rename app/src/main/java/com/umc/ttoklip/presentation/signup/{ => location}/DirectLocationRVAdapter.kt (95%)
rename app/src/main/java/com/umc/ttoklip/presentation/signup/{ => location}/LocationActivity.kt (97%)
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 69c00dbd..bce632f4 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -133,10 +133,10 @@
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan"
android:exported="false" />
-
-
}
\ No newline at end of file
diff --git a/app/src/main/java/com/umc/ttoklip/data/repository/location/DirectLocationRepositoryImpl.kt b/app/src/main/java/com/umc/ttoklip/data/repository/location/DirectLocationRepositoryImpl.kt
new file mode 100644
index 00000000..714971d0
--- /dev/null
+++ b/app/src/main/java/com/umc/ttoklip/data/repository/location/DirectLocationRepositoryImpl.kt
@@ -0,0 +1,23 @@
+package com.umc.ttoklip.data.repository.location
+
+import android.util.Log
+import com.umc.ttoklip.R
+import com.umc.ttoklip.data.api.KakaoApi
+import com.umc.ttoklip.data.api.SignupApi
+import com.umc.ttoklip.data.model.KakaoResponse
+import com.umc.ttoklip.data.repository.signup.SignupRepository
+import com.umc.ttoklip.di.KakaoModule
+import retrofit2.Call
+import retrofit2.Callback
+import retrofit2.Response
+import javax.inject.Inject
+
+class DirectLocationRepositoryImpl @Inject constructor(
+ private val api: KakaoApi
+): DirectLocationRepository {
+
+ override suspend fun getDirectAddress(address: String): Call {
+ val call = api.getSearchKeyword(R.string.kakao_api_key.toString(), address)
+ return call
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/umc/ttoklip/di/KakaoModule.kt b/app/src/main/java/com/umc/ttoklip/di/KakaoModule.kt
index 3316eb5c..c8e02b6f 100644
--- a/app/src/main/java/com/umc/ttoklip/di/KakaoModule.kt
+++ b/app/src/main/java/com/umc/ttoklip/di/KakaoModule.kt
@@ -3,6 +3,7 @@ package com.umc.ttoklip.di
import android.util.Log
import com.umc.ttoklip.R
import com.umc.ttoklip.data.api.KakaoApi
+import com.umc.ttoklip.data.api.TermApi
import com.umc.ttoklip.data.model.KakaoResponse
import dagger.Module
import dagger.Provides
@@ -20,28 +21,13 @@ import javax.inject.Singleton
object KakaoModule {
private val BASE_URL = R.string.kakao.toString()
- private val API_KEY = R.string.kakao_api_key.toString()
-
-// @Provides
-// @Singleton
-// fun kakaoApiRetrofitClient(keyword: String, page: Int) {
-// val retrofit = Retrofit.Builder()
-// .baseUrl(BASE_URL)
-// .addConverterFactory(GsonConverterFactory.create())
-// .build()
-// val api = retrofit.create(KakaoApi::class.java)
-// val call = api.getSearchKeyword(API_KEY, keyword, page)
-//
-// call.enqueue(object: Callback {
-// override fun onResponse(
-// call: Call,
-// response: Response
-// ) {
-// Log.i("LocaSearch","통신 성공:${response.body()}")
-// }
-// override fun onFailure(call: Call, t: Throwable) {
-// Log.w("LocaSearch","통신 실패: ${t.message}")
-// }
-// })
-// }
+ @Provides
+ @Singleton
+ fun kakaoApiRetrofitClient(keyword: String) {
+ val retrofit = Retrofit.Builder()
+ .baseUrl(BASE_URL)
+ .addConverterFactory(GsonConverterFactory.create())
+ .build()
+ val api = retrofit.create(KakaoApi::class.java)
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/Signup4Fragment.kt b/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/Signup4Fragment.kt
index dd367f62..c932f040 100644
--- a/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/Signup4Fragment.kt
+++ b/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/Signup4Fragment.kt
@@ -59,7 +59,7 @@ class Signup4Fragment : BaseFragment(R.layout.fragment_s
launch {
viewModel.nickcheckbtn.collect {
if (it) {
- delay(100)
+ delay(200)
viewModel.nickok.collect {
if (it) {
binding.signup4NickokTv.visibility = View.VISIBLE
diff --git a/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/Signup5Fragment.kt b/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/Signup5Fragment.kt
index a466c830..6fae45f5 100644
--- a/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/Signup5Fragment.kt
+++ b/app/src/main/java/com/umc/ttoklip/presentation/signup/fragments/Signup5Fragment.kt
@@ -3,22 +3,15 @@ package com.umc.ttoklip.presentation.signup.fragments
import android.content.Intent
import android.os.Bundle
import android.widget.SeekBar
-import androidx.activity.viewModels
import androidx.core.content.ContextCompat
-import androidx.fragment.app.activityViewModels
-import androidx.fragment.app.viewModels
-import androidx.lifecycle.ViewModelProvider
import com.umc.ttoklip.R
-import com.umc.ttoklip.data.model.signup.SignupRequest
import com.umc.ttoklip.databinding.FragmentSignup5Binding
import com.umc.ttoklip.presentation.MainActivity
import com.umc.ttoklip.presentation.base.BaseFragment
import com.umc.ttoklip.presentation.login.LoginActivity
-import com.umc.ttoklip.presentation.signup.DirectLocationActivity
-import com.umc.ttoklip.presentation.signup.LocationActivity
+import com.umc.ttoklip.presentation.signup.location.DirectLocationActivity
+import com.umc.ttoklip.presentation.signup.location.LocationActivity
import com.umc.ttoklip.presentation.signup.SignupActivity
-import com.umc.ttoklip.presentation.signup.SignupViewModel
-import dagger.hilt.android.AndroidEntryPoint
class Signup5Fragment: BaseFragment(R.layout.fragment_signup5) {
diff --git a/app/src/main/java/com/umc/ttoklip/presentation/signup/DirectLocationActivity.kt b/app/src/main/java/com/umc/ttoklip/presentation/signup/location/DirectLocationActivity.kt
similarity index 96%
rename from app/src/main/java/com/umc/ttoklip/presentation/signup/DirectLocationActivity.kt
rename to app/src/main/java/com/umc/ttoklip/presentation/signup/location/DirectLocationActivity.kt
index 799d5d4c..5d4e3d76 100644
--- a/app/src/main/java/com/umc/ttoklip/presentation/signup/DirectLocationActivity.kt
+++ b/app/src/main/java/com/umc/ttoklip/presentation/signup/location/DirectLocationActivity.kt
@@ -1,4 +1,4 @@
-package com.umc.ttoklip.presentation.signup
+package com.umc.ttoklip.presentation.signup.location
import android.util.Log
import androidx.lifecycle.MutableLiveData
diff --git a/app/src/main/java/com/umc/ttoklip/presentation/signup/location/DirectLocationModelView.kt b/app/src/main/java/com/umc/ttoklip/presentation/signup/location/DirectLocationModelView.kt
new file mode 100644
index 00000000..18f5715f
--- /dev/null
+++ b/app/src/main/java/com/umc/ttoklip/presentation/signup/location/DirectLocationModelView.kt
@@ -0,0 +1,33 @@
+package com.umc.ttoklip.presentation.signup.location
+
+import android.util.Log
+import androidx.lifecycle.MutableLiveData
+import com.umc.ttoklip.data.api.KakaoApi
+import com.umc.ttoklip.data.model.KakaoResponse
+import com.umc.ttoklip.data.repository.location.DirectLocationRepositoryImpl
+import com.umc.ttoklip.di.KakaoModule
+import retrofit2.Call
+import retrofit2.Callback
+import retrofit2.Response
+
+class DirectLocationModelView(
+ private val kakaoApi:DirectLocationRepositoryImpl
+) {
+
+ fun getDirectaddress(){
+
+ val call=kakaoApi.getDirectAddress("서울시 관악구 조원로")
+ call.enqueue(object: Callback {
+ override fun onResponse(
+ call: Call,
+ response: Response
+ ) {
+ Log.i("LocaSearch","통신 성공:${response.body()}")
+ }
+ override fun onFailure(call: Call, t: Throwable) {
+ Log.w("LocaSearch","통신 실패: ${t.message}")
+ }
+ })
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/umc/ttoklip/presentation/signup/DirectLocationRVAdapter.kt b/app/src/main/java/com/umc/ttoklip/presentation/signup/location/DirectLocationRVAdapter.kt
similarity index 95%
rename from app/src/main/java/com/umc/ttoklip/presentation/signup/DirectLocationRVAdapter.kt
rename to app/src/main/java/com/umc/ttoklip/presentation/signup/location/DirectLocationRVAdapter.kt
index c526ab51..37225564 100644
--- a/app/src/main/java/com/umc/ttoklip/presentation/signup/DirectLocationRVAdapter.kt
+++ b/app/src/main/java/com/umc/ttoklip/presentation/signup/location/DirectLocationRVAdapter.kt
@@ -1,4 +1,4 @@
-package com.umc.ttoklip.presentation.signup
+package com.umc.ttoklip.presentation.signup.location
import android.view.LayoutInflater
import android.view.ViewGroup
diff --git a/app/src/main/java/com/umc/ttoklip/presentation/signup/LocationActivity.kt b/app/src/main/java/com/umc/ttoklip/presentation/signup/location/LocationActivity.kt
similarity index 97%
rename from app/src/main/java/com/umc/ttoklip/presentation/signup/LocationActivity.kt
rename to app/src/main/java/com/umc/ttoklip/presentation/signup/location/LocationActivity.kt
index 27235860..2675d52e 100644
--- a/app/src/main/java/com/umc/ttoklip/presentation/signup/LocationActivity.kt
+++ b/app/src/main/java/com/umc/ttoklip/presentation/signup/location/LocationActivity.kt
@@ -1,4 +1,4 @@
-package com.umc.ttoklip.presentation.signup
+package com.umc.ttoklip.presentation.signup.location
import android.Manifest
import android.content.Intent
@@ -10,7 +10,6 @@ import android.widget.SeekBar
import androidx.activity.viewModels
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
-import androidx.fragment.app.viewModels
import com.naver.maps.geometry.LatLng
import com.naver.maps.map.LocationTrackingMode
import com.naver.maps.map.MapFragment
@@ -18,13 +17,14 @@ import com.naver.maps.map.NaverMap
import com.naver.maps.map.OnMapReadyCallback
import com.naver.maps.map.UiSettings
import com.naver.maps.map.overlay.CircleOverlay
-import com.naver.maps.map.overlay.OverlayImage
import com.naver.maps.map.util.FusedLocationSource
import com.umc.ttoklip.R
import com.umc.ttoklip.databinding.ActivityLocationBinding
import com.umc.ttoklip.presentation.MainActivity
import com.umc.ttoklip.presentation.base.BaseActivity
import com.umc.ttoklip.presentation.login.LoginActivity
+import com.umc.ttoklip.presentation.signup.SignupActivity
+import com.umc.ttoklip.presentation.signup.SignupViewModel
import dagger.hilt.android.AndroidEntryPoint
import java.util.Locale
@@ -112,7 +112,7 @@ class LocationActivity :
startActivity(Intent(this, MainActivity::class.java))
val loginActivity=LoginActivity.loginActivity
loginActivity?.finish()
- val signupActivity=SignupActivity.signupActivity
+ val signupActivity= SignupActivity.signupActivity
signupActivity?.finish()
finish()
}
From 9175854d39bbbc91bd2e14bc893c83e1df9f189a Mon Sep 17 00:00:00 2001
From: hangunhee39
Date: Mon, 19 Feb 2024 21:30:21 +0900
Subject: [PATCH 4/6] =?UTF-8?q?feat:=EC=B9=B4=EC=B9=B4=EC=98=A4=20retrofit?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../java/com/umc/ttoklip/di/NetworkModule.kt | 33 +++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/app/src/main/java/com/umc/ttoklip/di/NetworkModule.kt b/app/src/main/java/com/umc/ttoklip/di/NetworkModule.kt
index b1faf5aa..f56dba06 100644
--- a/app/src/main/java/com/umc/ttoklip/di/NetworkModule.kt
+++ b/app/src/main/java/com/umc/ttoklip/di/NetworkModule.kt
@@ -20,6 +20,8 @@ import okhttp3.logging.HttpLoggingInterceptor
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
import retrofit2.converter.scalars.ScalarsConverterFactory
+import java.util.concurrent.TimeUnit
+import javax.inject.Named
import javax.inject.Singleton
@Module
@@ -43,6 +45,23 @@ object NetworkModule {
.build()
}
+ @Provides
+ @Singleton
+ @Named("kakaoClient")
+ fun providesKOkHttpClient(): OkHttpClient {
+ val interceptor = HttpLoggingInterceptor().apply {
+ level = HttpLoggingInterceptor.Level.BODY
+ }
+ return OkHttpClient.Builder().apply {
+
+ addInterceptor (interceptor)
+ connectTimeout(5, TimeUnit.SECONDS)
+ readTimeout(5, TimeUnit.SECONDS)
+ writeTimeout(5, TimeUnit.SECONDS)
+ }.build()
+ }
+
+
@Provides
@Singleton
fun provideRetrofit(okHttpClient: OkHttpClient): Retrofit {
@@ -71,6 +90,20 @@ object NetworkModule {
}
}
+ @Provides
+ @Singleton
+ @Named("kakao")
+ fun providesKakaoRetrofit(
+ @Named("kakaoClient") client: OkHttpClient,
+ gsonConverterFactory: GsonConverterFactory
+ ): Retrofit {
+ return Retrofit.Builder()
+ .baseUrl("")
+ .addConverterFactory(gsonConverterFactory)
+ .client(client)
+ .build()
+ }
+
@Provides
@Singleton
fun provideTestApi(retrofit: Retrofit): TestApi {
From 737d767e58ed76af080f320b984e13a6b8671c36 Mon Sep 17 00:00:00 2001
From: 40food <40food@naver.com>
Date: Mon, 19 Feb 2024 23:19:10 +0900
Subject: [PATCH 5/6] fix directlocation
---
.../location/DirectLocationRepositoryImpl.kt | 6 -----
.../java/com/umc/ttoklip/di/KakaoModule.kt | 20 ++++++++--------
.../java/com/umc/ttoklip/di/NetworkModule.kt | 10 +++++++-
.../location/DirectLocationModelView.kt | 24 +++++++++----------
4 files changed, 31 insertions(+), 29 deletions(-)
diff --git a/app/src/main/java/com/umc/ttoklip/data/repository/location/DirectLocationRepositoryImpl.kt b/app/src/main/java/com/umc/ttoklip/data/repository/location/DirectLocationRepositoryImpl.kt
index 714971d0..fc60cd38 100644
--- a/app/src/main/java/com/umc/ttoklip/data/repository/location/DirectLocationRepositoryImpl.kt
+++ b/app/src/main/java/com/umc/ttoklip/data/repository/location/DirectLocationRepositoryImpl.kt
@@ -1,15 +1,9 @@
package com.umc.ttoklip.data.repository.location
-import android.util.Log
import com.umc.ttoklip.R
import com.umc.ttoklip.data.api.KakaoApi
-import com.umc.ttoklip.data.api.SignupApi
import com.umc.ttoklip.data.model.KakaoResponse
-import com.umc.ttoklip.data.repository.signup.SignupRepository
-import com.umc.ttoklip.di.KakaoModule
import retrofit2.Call
-import retrofit2.Callback
-import retrofit2.Response
import javax.inject.Inject
class DirectLocationRepositoryImpl @Inject constructor(
diff --git a/app/src/main/java/com/umc/ttoklip/di/KakaoModule.kt b/app/src/main/java/com/umc/ttoklip/di/KakaoModule.kt
index c8e02b6f..ed5eef7b 100644
--- a/app/src/main/java/com/umc/ttoklip/di/KakaoModule.kt
+++ b/app/src/main/java/com/umc/ttoklip/di/KakaoModule.kt
@@ -20,14 +20,14 @@ import javax.inject.Singleton
@InstallIn(SingletonComponent::class)
object KakaoModule {
- private val BASE_URL = R.string.kakao.toString()
- @Provides
- @Singleton
- fun kakaoApiRetrofitClient(keyword: String) {
- val retrofit = Retrofit.Builder()
- .baseUrl(BASE_URL)
- .addConverterFactory(GsonConverterFactory.create())
- .build()
- val api = retrofit.create(KakaoApi::class.java)
- }
+// private val BASE_URL = R.string.kakao.toString()
+// @Provides
+// @Singleton
+// fun kakaoApiRetrofitClient(keyword: String) {
+// val retrofit = Retrofit.Builder()
+// .baseUrl(BASE_URL)
+// .addConverterFactory(GsonConverterFactory.create())
+// .build()
+// val api = retrofit.create(KakaoApi::class.java)
+// }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/umc/ttoklip/di/NetworkModule.kt b/app/src/main/java/com/umc/ttoklip/di/NetworkModule.kt
index f56dba06..51a7d31a 100644
--- a/app/src/main/java/com/umc/ttoklip/di/NetworkModule.kt
+++ b/app/src/main/java/com/umc/ttoklip/di/NetworkModule.kt
@@ -3,6 +3,7 @@ package com.umc.ttoklip.di
import com.umc.ttoklip.R
import com.umc.ttoklip.TtoklipApplication
import com.umc.ttoklip.data.api.HoneyTipApi
+import com.umc.ttoklip.data.api.KakaoApi
import com.umc.ttoklip.data.api.LoginApi
import com.umc.ttoklip.data.api.NewsApi
import com.umc.ttoklip.data.api.SearchApi
@@ -20,6 +21,7 @@ import okhttp3.logging.HttpLoggingInterceptor
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
import retrofit2.converter.scalars.ScalarsConverterFactory
+import retrofit2.create
import java.util.concurrent.TimeUnit
import javax.inject.Named
import javax.inject.Singleton
@@ -98,7 +100,7 @@ object NetworkModule {
gsonConverterFactory: GsonConverterFactory
): Retrofit {
return Retrofit.Builder()
- .baseUrl("")
+ .baseUrl(R.string.kakao.toString())
.addConverterFactory(gsonConverterFactory)
.client(client)
.build()
@@ -146,6 +148,12 @@ object NetworkModule {
return retrofit.buildService()
}
+ @Provides
+ @Singleton
+ fun providesKakaoService(@Named("kakao") retrofit: Retrofit):KakaoApi{
+ return retrofit.buildService()
+ }
+
private inline fun Retrofit.buildService(): T {
return this.create(T::class.java)
}
diff --git a/app/src/main/java/com/umc/ttoklip/presentation/signup/location/DirectLocationModelView.kt b/app/src/main/java/com/umc/ttoklip/presentation/signup/location/DirectLocationModelView.kt
index 18f5715f..a076e404 100644
--- a/app/src/main/java/com/umc/ttoklip/presentation/signup/location/DirectLocationModelView.kt
+++ b/app/src/main/java/com/umc/ttoklip/presentation/signup/location/DirectLocationModelView.kt
@@ -16,18 +16,18 @@ class DirectLocationModelView(
fun getDirectaddress(){
- val call=kakaoApi.getDirectAddress("서울시 관악구 조원로")
- call.enqueue(object: Callback {
- override fun onResponse(
- call: Call,
- response: Response
- ) {
- Log.i("LocaSearch","통신 성공:${response.body()}")
- }
- override fun onFailure(call: Call, t: Throwable) {
- Log.w("LocaSearch","통신 실패: ${t.message}")
- }
- })
+// val call=kakaoApi.getDirectAddress("서울시 관악구 조원로")
+// call.enqueue(object: Callback {
+// override fun onResponse(
+// call: Call,
+// response: Response
+// ) {
+// Log.i("LocaSearch","통신 성공:${response.body()}")
+// }
+// override fun onFailure(call: Call, t: Throwable) {
+// Log.w("LocaSearch","통신 실패: ${t.message}")
+// }
+// })
}
}
\ No newline at end of file
From c7048de28c56a0f49246413f621a4e38334aa4d0 Mon Sep 17 00:00:00 2001
From: 40food <40food@naver.com>
Date: Mon, 19 Feb 2024 23:58:12 +0900
Subject: [PATCH 6/6] =?UTF-8?q?fix=20=EA=B3=A0=EB=AF=BC=EA=B1=B0=EB=A6=AC?=
=?UTF-8?q?=20chip=20=EC=88=98=EC=A0=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../presentation/login/LoginActivity.kt | 20 +++++++++---------
.../ChooseMainInterestDialogFragment.kt | 3 ---
.../signup/fragments/Signup4Fragment.kt | 2 +-
.../layout/fragment_choose_main_interest.xml | 21 +++++--------------
app/src/main/res/values/strings.xml | 2 +-
5 files changed, 17 insertions(+), 31 deletions(-)
diff --git a/app/src/main/java/com/umc/ttoklip/presentation/login/LoginActivity.kt b/app/src/main/java/com/umc/ttoklip/presentation/login/LoginActivity.kt
index 70b33cbb..cd180aee 100644
--- a/app/src/main/java/com/umc/ttoklip/presentation/login/LoginActivity.kt
+++ b/app/src/main/java/com/umc/ttoklip/presentation/login/LoginActivity.kt
@@ -100,18 +100,18 @@ class LoginActivity : BaseActivity(R.layout.activity_login
private fun startactivity() {
// 회원가입 만들기용 임시
- val intent = Intent(this, SignupActivity::class.java)
- startActivity(intent)
- Log.i("JWT",TtoklipApplication.prefs.getString("jwt",""))
-
- //이쪽이 진짜
-// if (viewModel.isFirstLogin.value) {
// val intent = Intent(this, SignupActivity::class.java)
// startActivity(intent)
-// } else {
-// startActivity(Intent(this, MainActivity::class.java))
-// finish()
-// }
+// Log.i("JWT",TtoklipApplication.prefs.getString("jwt",""))
+
+ //이쪽이 진짜
+ if (viewModel.isFirstLogin.value) {
+ val intent = Intent(this, SignupActivity::class.java)
+ startActivity(intent)
+ } else {
+ startActivity(Intent(this, MainActivity::class.java))
+ finish()
+ }
}
override fun onBackPressed() {
diff --git a/app/src/main/java/com/umc/ttoklip/presentation/mypage/ChooseMainInterestDialogFragment.kt b/app/src/main/java/com/umc/ttoklip/presentation/mypage/ChooseMainInterestDialogFragment.kt
index 5a7f4922..b238c4f9 100644
--- a/app/src/main/java/com/umc/ttoklip/presentation/mypage/ChooseMainInterestDialogFragment.kt
+++ b/app/src/main/java/com/umc/ttoklip/presentation/mypage/ChooseMainInterestDialogFragment.kt
@@ -24,9 +24,6 @@ class ChooseMainInterestDialogFragment(private val btnClickListener: (List(R.layout.fragment_s
val interestType =
if (interest.equals("집안일")) "HOUSEWORK"
- else if (interest.equals("요리")) "RECIPE"
+ else if (interest.equals("레시피")) "RECIPE"
else if (interest.equals("안전한 생활")) "SAFE_LIVING"
else "WELFARE_POLICY"
interestArray.add(interestType)
diff --git a/app/src/main/res/layout/fragment_choose_main_interest.xml b/app/src/main/res/layout/fragment_choose_main_interest.xml
index 81a9611a..43c13321 100644
--- a/app/src/main/res/layout/fragment_choose_main_interest.xml
+++ b/app/src/main/res/layout/fragment_choose_main_interest.xml
@@ -24,11 +24,12 @@
@@ -68,18 +69,6 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
-
-
주요 관심사 종류
없음
집안일
- 요리
+ 레시피
안전한 생활
사기
복지 · 정책