diff --git a/app/src/main/java/io/nekohasekai/sagernet/ui/MainActivity.kt b/app/src/main/java/io/nekohasekai/sagernet/ui/MainActivity.kt index 1ba8f3c..55b2aca 100644 --- a/app/src/main/java/io/nekohasekai/sagernet/ui/MainActivity.kt +++ b/app/src/main/java/io/nekohasekai/sagernet/ui/MainActivity.kt @@ -11,7 +11,7 @@ import android.os.Bundle import android.os.RemoteException import android.view.KeyEvent import android.view.MenuItem -import android.widget.Toast +import androidx.activity.addCallback import androidx.annotation.IdRes import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat @@ -73,6 +73,13 @@ class MainActivity : ThemedActivity(), if (savedInstanceState == null) { displayFragmentWithId(R.id.nav_configuration) } + onBackPressedDispatcher.addCallback { + if (supportFragmentManager.findFragmentById(R.id.fragment_holder) is ConfigurationFragment) { + moveTaskToBack(true) + } else { + displayFragmentWithId(R.id.nav_configuration) + } + } binding.fab.setOnClickListener { if (DataStore.serviceState.canStop) SagerNet.stopService() else connect.launch(