Skip to content

Commit 3ffc017

Browse files
committed
Replace deprecated onBackPressed with onBackPressedDispatcher
1 parent d35852c commit 3ffc017

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

app/src/main/java/net/xcreen/restsms/MainActivity.kt

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import android.os.Bundle
77
import android.view.Menu
88
import android.view.MenuItem
99
import android.widget.Toast
10+
import androidx.activity.OnBackPressedCallback
1011
import androidx.appcompat.app.ActionBarDrawerToggle
1112
import androidx.appcompat.app.AppCompatActivity
1213
import androidx.appcompat.widget.Toolbar
@@ -48,7 +49,7 @@ class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelecte
4849
val navigationView: NavigationView = findViewById(R.id.nav_view)
4950
navigationView.setNavigationItemSelectedListener(this)
5051

51-
//Dont replace Fragment, on orientation-change
52+
//Don't replace Fragment, on orientation-change
5253
if (savedInstanceState == null) {
5354
//Set Home Fragment
5455
val fragmentTransaction = supportFragmentManager.beginTransaction()
@@ -59,6 +60,17 @@ class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelecte
5960
ex.printStackTrace()
6061
}
6162
}
63+
64+
onBackPressedDispatcher.addCallback(this, object: OnBackPressedCallback(true) {
65+
override fun handleOnBackPressed() {
66+
if (drawerLayout.isDrawerOpen(GravityCompat.START)) {
67+
drawerLayout.closeDrawer(GravityCompat.START)
68+
} else {
69+
isEnabled = false
70+
onBackPressedDispatcher.onBackPressed()
71+
}
72+
}
73+
})
6274
}
6375

6476
override fun onCreateOptionsMenu(optionsMenu: Menu): Boolean {
@@ -67,15 +79,6 @@ class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelecte
6779
return true
6880
}
6981

70-
override fun onBackPressed() {
71-
val drawerLayout: DrawerLayout = findViewById(R.id.drawer_layout)
72-
if (drawerLayout.isDrawerOpen(GravityCompat.START)) {
73-
drawerLayout.closeDrawer(GravityCompat.START)
74-
} else {
75-
onBackPressedDispatcher.onBackPressed()
76-
}
77-
}
78-
7982
override fun onNavigationItemSelected(item: MenuItem): Boolean {
8083
val drawerLayout: DrawerLayout = findViewById(R.id.drawer_layout)
8184
//Remove all Option-Menu-Items

0 commit comments

Comments
 (0)