Skip to content

Commit

Permalink
Merge pull request #6646 from Bnyro/master
Browse files Browse the repository at this point in the history
fix: back gesture handling in no internet activity
  • Loading branch information
Bnyro authored Oct 21, 2024
2 parents ebc502f + 0d334f7 commit c29a93c
Showing 1 changed file with 19 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package com.github.libretube.ui.activities
import android.content.Intent
import android.os.Bundle
import androidx.activity.addCallback
import androidx.fragment.app.Fragment
import androidx.fragment.app.commit
import androidx.fragment.app.replace
import com.github.libretube.R
Expand Down Expand Up @@ -43,17 +44,27 @@ class NoInternetActivity : BaseActivity() {
setContentView(binding.root)

onBackPressedDispatcher.addCallback(this) {
supportFragmentManager.fragments.filterIsInstance<DownloadsFragment>()
.firstOrNull()
?.let {
supportFragmentManager.commit {
remove(it)
}
}
?: finishAffinity()
if (removeFragment<DownloadsFragment>() || removeFragment<AudioPlayerFragment>()) return@addCallback

finishAffinity()
}
}

private inline fun <reified T: Fragment> removeFragment(): Boolean {
val fragment = supportFragmentManager.fragments.filterIsInstance<T>()
.firstOrNull()

if (fragment != null) {
supportFragmentManager.commit {
remove(fragment)
}

return true
}

return false
}

override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent)

Expand Down

0 comments on commit c29a93c

Please sign in to comment.