Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[REFACTOR/#153] 프롬프트 생성뷰 UI 리디자인 #154

Merged
merged 8 commits into from
Oct 27, 2024
3 changes: 2 additions & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,8 @@
<activity
android:name="kr.genti.presentation.create.CreateActivity"
android:exported="false"
android:screenOrientation="portrait" />
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize" />

<activity
android:name="kr.genti.presentation.generate.waiting.WaitingActivity"
Expand Down
1 change: 0 additions & 1 deletion data/src/main/java/kr/genti/data/local/UserSharedPref.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ interface UserSharedPref {
var accessToken: String
var refreshToken: String
var userRole: String
var isGuideNeeded: Boolean
var isChatAccessible: Boolean

fun clearInfo()
Expand Down
5 changes: 0 additions & 5 deletions data/src/main/java/kr/genti/data/local/UserSharedPrefImpl.kt
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,6 @@ class UserSharedPrefImpl
get() = dataStore.getString(USER_ROLE, "").orEmpty()
set(value) = dataStore.edit { putString(USER_ROLE, value) }

override var isGuideNeeded: Boolean
get() = dataStore.getBoolean(IS_GUIDE_NEEDED, true)
set(value) = dataStore.edit { putBoolean(IS_GUIDE_NEEDED, value) }

override var isChatAccessible: Boolean
get() = dataStore.getBoolean(IS_CHAT_ACCESSIBLE, true)
set(value) = dataStore.edit { putBoolean(IS_CHAT_ACCESSIBLE, value) }
Expand All @@ -37,7 +33,6 @@ class UserSharedPrefImpl
private const val ACCESS_TOKEN = "ACCESS_TOKEN"
private const val REFRESH_TOKEN = "REFRESH_TOKEN"
private const val USER_ROLE = "USER_ROLE"
private const val IS_GUIDE_NEEDED = "IS_GUIDE_NEEDED"
private const val IS_CHAT_ACCESSIBLE = "IS_CHAT_ACCESSIBLE"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@ class UserRepositoryImpl

override fun getUserRole(): String = userSharedPref.userRole

override fun getIsGuideNeeded(): Boolean = userSharedPref.isGuideNeeded

override fun getIsChatAccessible(): Boolean = userSharedPref.isChatAccessible

override fun setTokens(
Expand All @@ -31,10 +29,6 @@ class UserRepositoryImpl
userSharedPref.userRole = userRole
}

override fun setIsGuideNeeded(isGuideNeeded: Boolean) {
userSharedPref.isGuideNeeded = isGuideNeeded
}

override fun setIsChatAccessible(isChatAccessible: Boolean) {
userSharedPref.isChatAccessible = isChatAccessible
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ interface UserRepository {

fun getUserRole(): String

fun getIsGuideNeeded(): Boolean

fun getIsChatAccessible(): Boolean

fun setTokens(
Expand All @@ -18,8 +16,6 @@ interface UserRepository {

fun setUserRole(userRole: String)

fun setIsGuideNeeded(isGuideNeeded: Boolean)

fun setIsChatAccessible(isChatAccessible: Boolean)

fun clearInfo()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import kr.genti.presentation.util.AmplitudeManager.PROPERTY_PAGE
@AndroidEntryPoint
class OnboardingActivity : BaseActivity<ActivityOnboardingBinding>(R.layout.activity_onboarding) {
private var _onboardingAdapter: OnboardingAdapter? = null
val onboardingAdapter
private val onboardingAdapter
get() = requireNotNull(_onboardingAdapter) { getString(R.string.adapter_not_initialized_error_msg) }

override fun onCreate(savedInstanceState: Bundle?) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
import kr.genti.core.base.BaseActivity
import kr.genti.core.extension.setOnSingleClickListener
import kr.genti.core.extension.setStatusBarColorFromResource
import kr.genti.core.state.UiState
import kr.genti.presentation.R
import kr.genti.presentation.databinding.ActivityCreateBinding
Expand All @@ -26,63 +25,39 @@ import kr.genti.presentation.util.AmplitudeManager.PROPERTY_PAGE
@AndroidEntryPoint
class CreateActivity() : BaseActivity<ActivityCreateBinding>(R.layout.activity_create) {
private val viewModel by viewModels<CreateViewModel>()
lateinit var navController: NavController
private lateinit var navController: NavController

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

initView()
initBackBtnListener()
setCurrentFragment()
observeProgressBar()
observeGeneratingState()
}

private fun initView() {
setStatusBarColorFromResource(R.color.white)
navController = binding.fcvCreate.getFragment<NavHostFragment>().navController
}

private fun initBackBtnListener() {
binding.btnBack.setOnSingleClickListener {
when (navController.currentDestination?.id) {
R.id.defineFragment -> return@setOnSingleClickListener

R.id.poseFragment -> {
AmplitudeManager.trackEvent(
EVENT_CLICK_BTN,
mapOf(PROPERTY_PAGE to "create2"),
mapOf(PROPERTY_BTN to "back"),
)
navController.popBackStack()
viewModel.modCurrentPercent(-33)
}

R.id.selfieFragment -> {
AmplitudeManager.trackEvent(
EVENT_CLICK_BTN,
mapOf(PROPERTY_PAGE to "create3"),
mapOf(PROPERTY_BTN to "back"),
)
navController.popBackStack()
viewModel.modCurrentPercent(-34)
}
R.id.defineFragment -> finish()
R.id.poseFragment -> navigateBackFragment("create2", -33)
R.id.selfieFragment -> navigateBackFragment("create3", -34)
}
}
}

private fun setCurrentFragment() {
if (::navController.isInitialized) {
when (viewModel.currentPercent.value) {
66 -> navController.navigate(R.id.poseFragment)
100 -> {
navController.navigate(R.id.poseFragment)
navController.navigate(R.id.selfieFragment)
}

else -> return
}
}
private fun navigateBackFragment(tag: String, amount: Int) {
AmplitudeManager.trackEvent(
EVENT_CLICK_BTN,
mapOf(PROPERTY_PAGE to tag),
mapOf(PROPERTY_BTN to "back"),
)
navController.popBackStack()
viewModel.modCurrentPercent(amount)
}

private fun observeProgressBar() {
Expand All @@ -97,19 +72,13 @@ class CreateActivity() : BaseActivity<ActivityCreateBinding>(R.layout.activity_c
interpolator = LinearInterpolator()
start()
}
binding.btnBack.isVisible = viewModel.currentPercent.value > 33
binding.tvCreatePhase.text = getString(R.string.create_phase_text, percent / 33)
}.launchIn(lifecycleScope)
}

private fun observeGeneratingState() {
viewModel.totalGeneratingState.flowWithLifecycle(lifecycle).onEach { state ->
if (state == UiState.Loading) {
setStatusBarColorFromResource(R.color.background_white)
binding.layoutLoading.isVisible = true
} else {
setStatusBarColorFromResource(R.color.white)
binding.layoutLoading.isVisible = false
}
binding.layoutLoading.isVisible = state == UiState.Loading
}.launchIn(lifecycleScope)
}

Expand Down

This file was deleted.

Loading
Loading