Skip to content

Commit abd6c84

Browse files
Implemented the nav bar
1 parent e07bc17 commit abd6c84

File tree

1 file changed

+37
-10
lines changed

1 file changed

+37
-10
lines changed

app/src/main/java/com/blurr/voice/BaseNavigationActivity.kt

Lines changed: 37 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.blurr.voice
22

33
import android.content.Intent
4+
import android.os.Build
45
import android.os.Bundle
56
import android.widget.LinearLayout
67
import androidx.appcompat.app.AppCompatActivity
@@ -14,6 +15,12 @@ abstract class BaseNavigationActivity : AppCompatActivity() {
1415
HOME, TRIGGERS, MOMENTS, UPGRADE, SETTINGS
1516
}
1617

18+
override fun onCreate(savedInstanceState: Bundle?) {
19+
super.onCreate(savedInstanceState)
20+
// Disable any default activity transitions
21+
disableTransitions()
22+
}
23+
1724
override fun setContentView(layoutResID: Int) {
1825
super.setContentView(R.layout.activity_base_navigation)
1926

@@ -30,8 +37,7 @@ abstract class BaseNavigationActivity : AppCompatActivity() {
3037
findViewById<LinearLayout>(R.id.nav_triggers).apply {
3138
setOnClickListener {
3239
if (currentItem != NavItem.TRIGGERS) {
33-
startActivity(Intent(this@BaseNavigationActivity, com.blurr.voice.triggers.ui.TriggersActivity::class.java))
34-
if (currentItem != NavItem.HOME) finish()
40+
navigateToActivity(com.blurr.voice.triggers.ui.TriggersActivity::class.java, currentItem)
3541
}
3642
}
3743
alpha = if (currentItem == NavItem.TRIGGERS) 1.0f else 0.7f
@@ -40,8 +46,7 @@ abstract class BaseNavigationActivity : AppCompatActivity() {
4046
findViewById<LinearLayout>(R.id.nav_moments).apply {
4147
setOnClickListener {
4248
if (currentItem != NavItem.MOMENTS) {
43-
startActivity(Intent(this@BaseNavigationActivity, MomentsActivity::class.java))
44-
if (currentItem != NavItem.HOME) finish()
49+
navigateToActivity(MomentsActivity::class.java, currentItem)
4550
}
4651
}
4752
alpha = if (currentItem == NavItem.MOMENTS) 1.0f else 0.7f
@@ -50,8 +55,7 @@ abstract class BaseNavigationActivity : AppCompatActivity() {
5055
findViewById<LinearLayout>(R.id.nav_home).apply {
5156
setOnClickListener {
5257
if (currentItem != NavItem.HOME) {
53-
startActivity(Intent(this@BaseNavigationActivity, MainActivity::class.java))
54-
finish()
58+
navigateToActivity(MainActivity::class.java, currentItem)
5559
}
5660
}
5761
alpha = if (currentItem == NavItem.HOME) 1.0f else 0.7f
@@ -60,8 +64,7 @@ abstract class BaseNavigationActivity : AppCompatActivity() {
6064
findViewById<LinearLayout>(R.id.nav_upgrade).apply {
6165
setOnClickListener {
6266
if (currentItem != NavItem.UPGRADE) {
63-
startActivity(Intent(this@BaseNavigationActivity, ProPurchaseActivity::class.java))
64-
if (currentItem != NavItem.HOME) finish()
67+
navigateToActivity(ProPurchaseActivity::class.java, currentItem)
6568
}
6669
}
6770
alpha = if (currentItem == NavItem.UPGRADE) 1.0f else 0.7f
@@ -70,11 +73,35 @@ abstract class BaseNavigationActivity : AppCompatActivity() {
7073
findViewById<LinearLayout>(R.id.nav_settings).apply {
7174
setOnClickListener {
7275
if (currentItem != NavItem.SETTINGS) {
73-
startActivity(Intent(this@BaseNavigationActivity, SettingsActivity::class.java))
74-
if (currentItem != NavItem.HOME) finish()
76+
navigateToActivity(SettingsActivity::class.java, currentItem)
7577
}
7678
}
7779
alpha = if (currentItem == NavItem.SETTINGS) 1.0f else 0.7f
7880
}
7981
}
82+
83+
private fun navigateToActivity(activityClass: Class<*>, currentItem: NavItem) {
84+
val intent = Intent(this, activityClass)
85+
startActivity(intent)
86+
// Disable transition animations
87+
disableTransitions()
88+
if (currentItem != NavItem.HOME) {
89+
finish()
90+
// Also disable animations when finishing
91+
disableTransitions()
92+
}
93+
}
94+
95+
override fun finish() {
96+
super.finish()
97+
// Disable animations when finishing
98+
disableTransitions()
99+
}
100+
101+
@Suppress("DEPRECATION")
102+
private fun disableTransitions() {
103+
// Use the legacy method for all Android versions since the new API
104+
// requires more complex setup and this works reliably
105+
overridePendingTransition(0, 0)
106+
}
80107
}

0 commit comments

Comments
 (0)