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" /> - - 주요 관심사 종류 없음 집안일 - 요리 + 레시피 안전한 생활 사기 복지 · 정책