@@ -10,6 +10,7 @@ import androidx.activity.result.ActivityResultLauncher
1010import androidx.activity.viewModels
1111import androidx.appcompat.app.AppCompatActivity
1212import androidx.constraintlayout.motion.widget.MotionLayout
13+ import androidx.fragment.app.Fragment
1314import androidx.navigation.NavController
1415import androidx.navigation.fragment.NavHostFragment
1516import androidx.navigation.ui.NavigationUI
@@ -24,8 +25,8 @@ import com.github.code.gambit.databinding.ActivityMainBinding
2425import com.github.code.gambit.helper.file.FileUploadState
2526import com.github.code.gambit.ui.OnItemClickListener
2627import com.github.code.gambit.ui.fragment.BottomNavController
27- import com.github.code.gambit.ui.fragment.auth.AuthFragment
2828import com.github.code.gambit.ui.fragment.home.main.HomeFragment
29+ import com.github.code.gambit.ui.fragment.profile.ProfileFragment
2930import com.github.code.gambit.utility.SystemManager
3031import com.github.code.gambit.utility.extention.bottomNavHide
3132import com.github.code.gambit.utility.extention.bottomNavShow
@@ -75,6 +76,10 @@ class MainActivity : AppCompatActivity(), BottomNavController {
7576 binding.root.addTransitionListener(object : MotionLayout .TransitionListener {
7677 override fun onTransitionStarted (p0 : MotionLayout ? , p1 : Int , p2 : Int ) {
7778 hideKeyboard()
79+ val frag = getCurrentFragment()
80+ if (frag is ProfileFragment ) {
81+ frag.looseFocus()
82+ }
7883 }
7984
8085 override fun onTransitionChange (p0 : MotionLayout ? , p1 : Int , p2 : Int , p3 : Float ) {}
@@ -213,36 +218,33 @@ class MainActivity : AppCompatActivity(), BottomNavController {
213218
214219 override fun onBackPressed () {
215220 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- }
222221 super .onBackPressed()
223222 return
224223 }
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()
239235 }
240236 }
241- else -> super .onBackPressed()
242237 }
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()
245246 }
247+ return null
246248 }
247249
248250 fun getAddFab (): View {
0 commit comments