@@ -10,6 +10,7 @@ import androidx.activity.result.ActivityResultLauncher
10
10
import androidx.activity.viewModels
11
11
import androidx.appcompat.app.AppCompatActivity
12
12
import androidx.constraintlayout.motion.widget.MotionLayout
13
+ import androidx.fragment.app.Fragment
13
14
import androidx.navigation.NavController
14
15
import androidx.navigation.fragment.NavHostFragment
15
16
import androidx.navigation.ui.NavigationUI
@@ -24,8 +25,8 @@ import com.github.code.gambit.databinding.ActivityMainBinding
24
25
import com.github.code.gambit.helper.file.FileUploadState
25
26
import com.github.code.gambit.ui.OnItemClickListener
26
27
import com.github.code.gambit.ui.fragment.BottomNavController
27
- import com.github.code.gambit.ui.fragment.auth.AuthFragment
28
28
import com.github.code.gambit.ui.fragment.home.main.HomeFragment
29
+ import com.github.code.gambit.ui.fragment.profile.ProfileFragment
29
30
import com.github.code.gambit.utility.SystemManager
30
31
import com.github.code.gambit.utility.extention.bottomNavHide
31
32
import com.github.code.gambit.utility.extention.bottomNavShow
@@ -75,6 +76,10 @@ class MainActivity : AppCompatActivity(), BottomNavController {
75
76
binding.root.addTransitionListener(object : MotionLayout .TransitionListener {
76
77
override fun onTransitionStarted (p0 : MotionLayout ? , p1 : Int , p2 : Int ) {
77
78
hideKeyboard()
79
+ val frag = getCurrentFragment()
80
+ if (frag is ProfileFragment ) {
81
+ frag.looseFocus()
82
+ }
78
83
}
79
84
80
85
override fun onTransitionChange (p0 : MotionLayout ? , p1 : Int , p2 : Int , p3 : Float ) {}
@@ -213,36 +218,33 @@ class MainActivity : AppCompatActivity(), BottomNavController {
213
218
214
219
override fun onBackPressed () {
215
220
if (! userManager.isAuthenticated()) {
216
- val fragment =
217
- supportFragmentManager.findFragmentById(R .id.nav_host_fragment_container)?.childFragmentManager?.fragments?.first()
218
- if (fragment is AuthFragment && fragment.currentPage != 0 ) {
219
- fragment.setPage(0 )
220
- return
221
- }
222
221
super .onBackPressed()
223
222
return
224
223
}
225
- val hostFragment = supportFragmentManager.findFragmentById(R .id.nav_host_fragment_container)
226
- if (hostFragment is NavHostFragment ) {
227
- when (val fragment = hostFragment.childFragmentManager.fragments.first()) {
228
- is HomeFragment -> {
229
- when {
230
- fragment.isFilterEnable() -> {
231
- fragment.closeFilter()
232
- }
233
- fragment.isSearchEnable() -> {
234
- fragment.closeSearch()
235
- }
236
- else -> {
237
- finish()
238
- }
224
+ when (val fragment = getCurrentFragment()) {
225
+ is HomeFragment -> {
226
+ when {
227
+ fragment.isFilterEnable() -> {
228
+ fragment.closeFilter()
229
+ }
230
+ fragment.isSearchEnable() -> {
231
+ fragment.closeSearch()
232
+ }
233
+ else -> {
234
+ finish()
239
235
}
240
236
}
241
- else -> super .onBackPressed()
242
237
}
243
- } else {
244
- super .onBackPressed()
238
+ else -> super .onBackPressed()
239
+ }
240
+ }
241
+
242
+ fun getCurrentFragment (): Fragment ? {
243
+ val hostFragment = supportFragmentManager.findFragmentById(R .id.nav_host_fragment_container)
244
+ if (hostFragment is NavHostFragment ) {
245
+ return hostFragment.childFragmentManager.fragments.first()
245
246
}
247
+ return null
246
248
}
247
249
248
250
fun getAddFab (): View {
0 commit comments