package com.covalima.rekomendasaunaihan.ui.splash import android.animation.ValueAnimator import android.content.Intent import android.os.Bundle import android.view.animation.LinearInterpolator import androidx.appcompat.app.AppCompatActivity import com.covalima.rekomendasaunaihan.MainActivity import com.covalima.rekomendasaunaihan.databinding.ActivitySplashBinding import com.covalima.rekomendasaunaihan.ui.auth.LoginActivity import com.covalima.rekomendasaunaihan.util.SessionManager /** * SplashActivity * * Ecran primeiru ne'ebe aparese bainhira loke aplikasaun. * Hatudu titulu "BEM-VINDU" + progress bar antes tama ba * ecran Login (ka direta ba Main se user login ona). */ class SplashActivity : AppCompatActivity() { private lateinit var binding: ActivitySplashBinding companion object { private const val SPLASH_DURATION_MS = 4000L } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivitySplashBinding.inflate(layoutInflater) setContentView(binding.root) runProgressBar() } private fun runProgressBar() { val animator = ValueAnimator.ofInt(0, 100) animator.duration = SPLASH_DURATION_MS animator.interpolator = LinearInterpolator() animator.addUpdateListener { valueAnimator -> val progress = valueAnimator.animatedValue as Int binding.progressBarSplash.progress = progress // Troka mensajen tuir progress, hanesan status karga dadus binding.tvSplashStatus.text = when { progress < 40 -> "Karga dadus, favór hein…" progress < 80 -> "Prepara sistema rekomendasaun…" else -> "Kuaze kompletu…" } } animator.start() binding.root.postDelayed({ goToNextScreen() }, SPLASH_DURATION_MS) } private fun goToNextScreen() { val session = SessionManager(this) val nextActivity = if (session.isLoggedIn()) { MainActivity::class.java } else { LoginActivity::class.java } startActivity(Intent(this, nextActivity)) finish() } }