fix backstack

This commit is contained in:
Bnyro 2022-07-15 22:26:22 +02:00
parent 49848be904
commit ced89f6f74
2 changed files with 24 additions and 12 deletions

View File

@ -275,7 +275,8 @@ class MainActivity : AppCompatActivity() {
minimizePlayer()
} catch (e: Exception) {
if (navController.currentDestination?.id == startFragmentId) {
super.onBackPressed()
// close app
moveTaskToBack(true)
} else {
navController.popBackStack()
}

View File

@ -3,9 +3,10 @@ package com.github.libretube.activities
import android.os.Build
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.github.libretube.Globals
import com.github.libretube.R
import com.github.libretube.databinding.ActivitySettingsBinding
import com.github.libretube.preferences.AboutFragment
import com.github.libretube.preferences.CommunityFragment
import com.github.libretube.preferences.MainSettings
import com.github.libretube.util.ThemeHelper
@ -22,6 +23,8 @@ class SettingsActivity : AppCompatActivity() {
super.onCreate(savedInstanceState)
binding = ActivitySettingsBinding.inflate(layoutInflater)
// animate the layout transition
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
overridePendingTransition(50, 50)
}
@ -43,11 +46,18 @@ class SettingsActivity : AppCompatActivity() {
}
override fun onBackPressed() {
if (Globals.isCurrentViewMainSettings) {
when (supportFragmentManager.findFragmentById(R.id.settings)) {
is MainSettings -> {
super.onBackPressed()
finishAndRemoveTask()
} else {
Globals.isCurrentViewMainSettings = true
}
is CommunityFragment -> {
supportFragmentManager
.beginTransaction()
.replace(R.id.settings, AboutFragment())
.commit()
}
else -> {
supportFragmentManager
.beginTransaction()
.replace(R.id.settings, MainSettings())
@ -55,6 +65,7 @@ class SettingsActivity : AppCompatActivity() {
changeTopBarText(getString(R.string.settings))
}
}
}
fun changeTopBarText(text: String) {
if (this::binding.isInitialized) binding.topBarTextView.text = text