eveeeeef21

MainActivity

Mar 14th, 2024
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 2.86 KB | Source Code | 0 0
  1. package com.ahmadrd.instagramclone.ui.launcher
  2.  
  3. import android.content.Intent
  4. import android.os.Bundle
  5. import android.view.View
  6. import android.view.animation.AnimationUtils
  7. import androidx.appcompat.app.AppCompatActivity
  8. import androidx.appcompat.app.AppCompatDelegate
  9. import androidx.lifecycle.ViewModelProvider
  10. import com.ahmadrd.instagramclone.R
  11. import com.ahmadrd.instagramclone.utils.SettingPreferences
  12. import com.ahmadrd.instagramclone.utils.SettingViewModelFactory
  13. import com.ahmadrd.instagramclone.utils.dataStore
  14. import com.ahmadrd.instagramclone.viewmodel.SettingThemeViewModel
  15. import com.google.firebase.auth.FirebaseAuth
  16.  
  17. class MainActivity : AppCompatActivity() {
  18.     override fun onCreate(savedInstanceState: Bundle?) {
  19.         super.onCreate(savedInstanceState)
  20.         setContentView(R.layout.activity_main)
  21.  
  22.         // Apply scale up animation
  23.         val scaleUp = AnimationUtils.loadAnimation(this, R.anim.scale_up)
  24.         findViewById<View>(android.R.id.content).startAnimation(scaleUp)
  25.         window.decorView.postDelayed({
  26.             // Apply scale down animation
  27.             val scaleDown = AnimationUtils.loadAnimation(this, R.anim.scale_down)
  28.             findViewById<View>(android.R.id.content).startAnimation(scaleDown)
  29.  
  30.             if (FirebaseAuth.getInstance().currentUser == null) {
  31.                 startActivity(Intent(this, LoginActivity::class.java))
  32.                 finish()
  33.             } else {
  34.                 startActivity(Intent(this, HomeActivity::class.java))
  35.                 finish()
  36.             }
  37.         }, 5000)
  38.  
  39.         // Start the next activity after a delay
  40. //        CoroutineScope(Dispatchers.Main).launch {
  41. //            delay(2000) // Adjust the delay as needed
  42. //            // Apply scale down animation
  43. //            val scaleDown = AnimationUtils.loadAnimation(this@MainActivity, R.anim.scale_down)
  44. //            findViewById<View>(android.R.id.content).startAnimation(scaleDown)
  45. //            if (FirebaseAuth.getInstance().currentUser == null) {
  46. //                startActivity(Intent(this@MainActivity, LoginActivity::class.java))
  47. //            } else {
  48. //                startActivity(Intent(this@MainActivity, HomeActivity::class.java))
  49. //            }
  50. //            finish()
  51. //        }
  52.  
  53.         // For Dark Theme Const
  54.         val settingPreferences = SettingPreferences.getInstance(dataStore)
  55.         val themeViewModel =
  56.             ViewModelProvider(this,
  57.                 SettingViewModelFactory(settingPreferences))[SettingThemeViewModel::class.java]
  58.  
  59.         themeViewModel.getThemeSettings().observe(this) { isDarkModeActive ->
  60.             if (isDarkModeActive) {
  61.                 AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
  62.             } else {
  63.                 AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
  64.             }
  65.         }
  66.     }
  67. }
Add Comment
Please, Sign In to add comment