Skip to content

Commit

Permalink
Merge branch 'develop' of https://github.com/Team-Going/Going-Android
Browse files Browse the repository at this point in the history
…into feat/#89-my-todo-finish
  • Loading branch information
Marchbreeze committed Jan 12, 2024
2 parents fe21b58 + cc88083 commit 81757d6
Show file tree
Hide file tree
Showing 28 changed files with 295 additions and 63 deletions.
7 changes: 6 additions & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,12 @@
android:screenOrientation="portrait" />

<activity
android:name="com.going.presentation.preferencetag.PreferenceTagActivity"
android:name="com.going.presentation.preferencetag.entertrip.EnterPreferenceActivity"
android:exported="false"
android:screenOrientation="portrait" />

<activity
android:name="com.going.presentation.preferencetag.invitefinish.FinishPreferenceActivity"
android:exported="false"
android:screenOrientation="portrait" />

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ class AuthRepositoryImpl @Inject constructor(
).data.toAuthTokenModel()
}

override suspend fun getSplash(): Result<Unit> = kotlin.runCatching {
override suspend fun getSplash(): Result<Unit> = runCatching {
authDataSource.getSplash()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package com.going.presentation.dashboard
import android.os.Bundle
import androidx.activity.viewModels
import com.going.presentation.R
import com.going.presentation.dashboard.triplist.OngoingTripFragment
import com.going.presentation.databinding.ActivityTripDashBoardBinding
import com.going.ui.base.BaseActivity
import com.google.android.material.tabs.TabLayoutMediator
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package com.going.presentation.dashboard
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity
import androidx.viewpager2.adapter.FragmentStateAdapter
import com.going.presentation.dashboard.triplist.CompletedTripFragment
import com.going.presentation.dashboard.triplist.OngoingTripFragment
import com.going.presentation.dashboard.triplist.completed.CompletedTripFragment
import com.going.presentation.dashboard.triplist.ongoing.OngoingTripFragment

class DashBoardViewPagerAdapter(fragment: FragmentActivity) : FragmentStateAdapter(fragment) {
override fun getItemCount(): Int = 2
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.going.presentation.dashboard.triplist
package com.going.presentation.dashboard.triplist.completed

import android.view.LayoutInflater
import android.view.ViewGroup
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.going.presentation.dashboard.triplist
package com.going.presentation.dashboard.triplist.completed

import android.os.Bundle
import android.view.View
Expand All @@ -9,6 +9,7 @@ import androidx.lifecycle.lifecycleScope
import com.going.domain.entity.response.DashBoardModel.DashBoardTripModel
import com.going.presentation.R
import com.going.presentation.dashboard.DashBoardViewModel
import com.going.presentation.dashboard.triplist.DashBoardDecoration
import com.going.presentation.databinding.FragmentCompletedTripBinding
import com.going.ui.base.BaseFragment
import com.going.ui.extension.UiState
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.going.presentation.dashboard.triplist
package com.going.presentation.dashboard.triplist.completed

import androidx.recyclerview.widget.RecyclerView
import com.going.domain.entity.response.DashBoardModel.DashBoardTripModel
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.going.presentation.dashboard.triplist
package com.going.presentation.dashboard.triplist.ongoing

import android.view.LayoutInflater
import android.view.ViewGroup
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.going.presentation.dashboard.triplist
package com.going.presentation.dashboard.triplist.ongoing

import android.os.Bundle
import android.view.View
Expand All @@ -9,6 +9,7 @@ import androidx.lifecycle.lifecycleScope
import com.going.domain.entity.response.DashBoardModel.DashBoardTripModel
import com.going.presentation.R
import com.going.presentation.dashboard.DashBoardViewModel
import com.going.presentation.dashboard.triplist.DashBoardDecoration
import com.going.presentation.databinding.FragmentOngoingTripBinding
import com.going.ui.base.BaseFragment
import com.going.ui.extension.UiState
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.going.presentation.dashboard.triplist
package com.going.presentation.dashboard.triplist.ongoing

import androidx.recyclerview.widget.RecyclerView
import com.going.domain.entity.response.DashBoardModel.DashBoardTripModel
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import com.going.presentation.enter.entertrip.EnterTripActivity.Companion.DAY
import com.going.presentation.enter.entertrip.EnterTripActivity.Companion.END
import com.going.presentation.enter.entertrip.EnterTripActivity.Companion.START
import com.going.presentation.enter.entertrip.EnterTripActivity.Companion.TITLE
import com.going.presentation.preferencetag.PreferenceTagActivity
import com.going.presentation.preferencetag.entertrip.EnterPreferenceActivity
import com.going.ui.base.BaseActivity
import com.going.ui.extension.setOnSingleClickListener
import dagger.hilt.android.AndroidEntryPoint
Expand Down Expand Up @@ -58,7 +58,7 @@ class InviteFinishActivity :

private fun initEnterBtnClickListener() {
binding.btnInviteFinishEnter.setOnSingleClickListener {
Intent(this, PreferenceTagActivity::class.java).apply {
Intent(this, EnterPreferenceActivity::class.java).apply {
startActivity(this)
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
package com.going.presentation.preferencetag

import android.content.Context
import android.provider.MediaStore.Audio.Radio
import android.view.LayoutInflater
import android.view.ViewGroup
import android.widget.RadioButton
import com.going.domain.entity.PreferenceData
import androidx.recyclerview.widget.ListAdapter
import com.going.presentation.databinding.ItemPreferenceTagBinding
Expand All @@ -17,7 +19,7 @@ class PreferenceTagAdapter(
private val inflater by lazy { LayoutInflater.from(context) }

interface OnPreferenceSelectedListener {
fun onPreferenceSelected(preference: PreferenceData)
fun onPreferenceSelected(item: PreferenceData, checkedIndex: Int)
}

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): PreferenceTagViewHolder {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.going.presentation.preferencetag

import androidx.appcompat.widget.AppCompatButton
import androidx.recyclerview.widget.RecyclerView
import com.going.domain.entity.PreferenceData
import com.going.presentation.R
Expand All @@ -27,8 +26,9 @@ class PreferenceTagViewHolder(
R.id.rb_preference_5
)

if (checkedId in selectedButtonIdList) {
listener.onPreferenceSelected(item)
val checkedIndex = selectedButtonIdList.indexOf(checkedId)
if (checkedIndex != -1) {
listener.onPreferenceSelected(item, checkedIndex)
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ class PreferenceTagViewModel : ViewModel() {
val preferenceTagList = listOf<PreferenceData>(
PreferenceData(
number = "01",
question = "계획은 얼만큼 짤까요?",
question = "계획은 어느정도로 세울까요?",
leftPrefer = "철저하게",
rightPrefer = "즉흥으로"
),
Expand All @@ -20,19 +20,19 @@ class PreferenceTagViewModel : ViewModel() {
),
PreferenceData(
number = "03",
question = "음식을 고를 때 무엇을 더 중요시 하나요?",
leftPrefer = "철저한 계획",
rightPrefer = "무계획"
question = "어느 식당을 갈까요?",
leftPrefer = "유명 맛집",
rightPrefer = "가까운 곳"
),
PreferenceData(
number = "04",
question = "멋진 풍경이 보이면?",
question = "기억하고 싶은 순간에!",
leftPrefer = "사진 필수",
rightPrefer = "눈에 담기"
),
PreferenceData(
number = "05",
question = "스케줄 구성은 어떻게 할까요?",
question = "하루 일정을 어떻게 채우나요?",
leftPrefer = "알차게",
rightPrefer = "여유롭게"
),
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
package com.going.presentation.preferencetag.entertrip

import android.os.Bundle
import androidx.activity.viewModels
import androidx.core.content.ContextCompat
import com.going.domain.entity.PreferenceData
import com.going.presentation.R
import com.going.presentation.databinding.ActivityEnterPreferenceBinding
import com.going.presentation.preferencetag.PreferenceTagAdapter
import com.going.presentation.preferencetag.PreferenceTagDecoration
import com.going.presentation.preferencetag.PreferenceTagViewModel
import com.going.presentation.starttrip.createtrip.CreateTripActivity.Companion.END_DAY
import com.going.presentation.starttrip.createtrip.CreateTripActivity.Companion.END_MONTH
import com.going.presentation.starttrip.createtrip.CreateTripActivity.Companion.END_YEAR
import com.going.presentation.starttrip.createtrip.CreateTripActivity.Companion.NAME
import com.going.presentation.starttrip.createtrip.CreateTripActivity.Companion.START_DAY
import com.going.presentation.starttrip.createtrip.CreateTripActivity.Companion.START_MONTH
import com.going.presentation.starttrip.createtrip.CreateTripActivity.Companion.START_YEAR
import com.going.ui.base.BaseActivity
import com.going.ui.extension.setOnSingleClickListener

class EnterPreferenceActivity :
BaseActivity<ActivityEnterPreferenceBinding>(R.layout.activity_enter_preference),
PreferenceTagAdapter.OnPreferenceSelectedListener {

private var _adapter: PreferenceTagAdapter? = null
private val adapter get() = requireNotNull(_adapter) { getString(R.string.adapter_not_initialized_error_msg) }

private val viewModel by viewModels<PreferenceTagViewModel>()

private val preferenceAnswers = MutableList(5) { Int.MAX_VALUE }

private var title: String? = ""
private var startDate: String? = ""
private var endDate: String? = ""
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

initAdapter()
initItemDecoration()
initBackClickListener()
getCreateTripInfo()
sendStyleInfo()

}

private fun initAdapter() {
_adapter = PreferenceTagAdapter(this, this)
binding.rvPreferenceTag.adapter = adapter
adapter.submitList(viewModel.preferenceTagList)
}

private fun initItemDecoration() {
val itemDeco = PreferenceTagDecoration(this)
binding.rvPreferenceTag.addItemDecoration(itemDeco)
}

private fun initBackClickListener() {
binding.btnPreferenceStart.setOnSingleClickListener {
sendStyleInfo()
}
}

private fun isButtonValid() {
val isValid = preferenceAnswers.all { it != Int.MAX_VALUE }

if (isValid) {
binding.btnPreferenceStart.isEnabled = isValid
binding.btnPreferenceStart.setTextColor(
ContextCompat.getColorStateList(this, R.color.white_000)
)
}
}

private fun getCreateTripInfo() {
val serverList = getIntent()

if (serverList != null) {
title = intent.getStringExtra(NAME)
val startYear = intent.getIntExtra(START_YEAR, 0)
val startMonth = intent.getIntExtra(START_MONTH, 0)
val startDay = intent.getIntExtra(START_DAY, 0)
val endYear = intent.getIntExtra(END_YEAR, 0)
val endMonth = intent.getIntExtra(END_MONTH, 0)
val endDay = intent.getIntExtra(END_DAY, 0)

startDate = String.format(SERVER_DATE, startYear, startMonth, startDay)
endDate = String.format(SERVER_DATE, endYear, endMonth, endDay)
}

}

private fun sendStyleInfo() {
var styleA = preferenceAnswers[0]
}

override fun onPreferenceSelected(item: PreferenceData, checkList: Int) {
preferenceAnswers[item.number.toInt() - 1] = checkList
isButtonValid()
}

override fun onDestroy() {
super.onDestroy()
_adapter = null
}

companion object {
const val SERVER_DATE = "%s.%s.%s"
}
}
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
package com.going.presentation.preferencetag
package com.going.presentation.preferencetag.invitefinish

import android.os.Bundle
import androidx.activity.viewModels
import com.going.domain.entity.PreferenceData
import com.going.presentation.R
import com.going.presentation.databinding.ActivityPreferenceTagBinding
import com.going.presentation.databinding.ActivityFinishPreferenceBinding
import com.going.presentation.preferencetag.PreferenceTagAdapter
import com.going.presentation.preferencetag.PreferenceTagDecoration
import com.going.presentation.preferencetag.PreferenceTagViewModel
import com.going.ui.base.BaseActivity
import com.going.ui.extension.setOnSingleClickListener

class PreferenceTagActivity :
BaseActivity<ActivityPreferenceTagBinding>(R.layout.activity_preference_tag),
class FinishPreferenceActivity :
BaseActivity<ActivityFinishPreferenceBinding>(R.layout.activity_finish_preference),
PreferenceTagAdapter.OnPreferenceSelectedListener {

private var _adapter: PreferenceTagAdapter? = null
Expand Down Expand Up @@ -37,18 +40,18 @@ class PreferenceTagActivity :
binding.rvPreferenceTag.addItemDecoration(itemDeco)
}

private fun initBackClickListener(){
private fun initBackClickListener() {
binding.btnPreferenceBack.setOnSingleClickListener {
finish()
}
}

override fun onPreferenceSelected(preference: PreferenceData) {
// 선택된 취향 태그 처리
override fun onPreferenceSelected(item: PreferenceData, checkList: Int) {

}

override fun onDestroy() {
super.onDestroy()
_adapter = null
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import androidx.core.content.res.ResourcesCompat
import com.going.domain.entity.NameState
import com.going.presentation.R
import com.going.presentation.databinding.ActivityCreateTripBinding
import com.going.presentation.preferencetag.PreferenceTagActivity
import com.going.presentation.preferencetag.entertrip.EnterPreferenceActivity
import com.going.presentation.starttrip.StartTripSplashActivity
import com.going.ui.base.BaseActivity
import com.going.ui.extension.setOnSingleClickListener
Expand Down Expand Up @@ -175,24 +175,27 @@ class CreateTripActivity :

private fun initNextBtnClickListener() {
binding.btnCreateTripNext.setOnSingleClickListener {
Intent(this, PreferenceTagActivity::class.java).apply {
Intent(this, EnterPreferenceActivity::class.java).apply {
putExtra(NAME, viewModel.name.value)
putExtra(START, viewModel.startYear.value)

putExtra(START, viewModel.startMonth.value)
putExtra(START, viewModel.startDay.value)
putExtra(END, viewModel.endYear.value)
putExtra(END, viewModel.endMonth.value)
putExtra(END, viewModel.endDay.value)
putExtra(START_YEAR, viewModel.startYear.value)
putExtra(START_MONTH, viewModel.startMonth.value)
putExtra(START_DAY, viewModel.startDay.value)
putExtra(END_YEAR, viewModel.endYear.value)
putExtra(END_MONTH, viewModel.endMonth.value)
putExtra(END_DAY, viewModel.endDay.value)
startActivity(this)
}
}
}

companion object {
const val NAME = "name"
const val START = "start"
const val END = "end"
const val START_YEAR = "startYear"
const val START_MONTH = "startMonth"
const val START_DAY = "startDay"
const val END_YEAR = "endYear"
const val END_MONTH = "endMonth"
const val END_DAY = "endDay"
}
}

Expand Down
Loading

0 comments on commit 81757d6

Please sign in to comment.