@@ -9,6 +9,7 @@ import android.view.View
99import android.widget.ImageView
1010import android.widget.RelativeLayout
1111import android.widget.TextView
12+ import androidx.activity.OnBackPressedCallback
1213import androidx.appcompat.app.ActionBarDrawerToggle
1314import androidx.appcompat.app.AppCompatActivity
1415import androidx.appcompat.widget.Toolbar
@@ -35,6 +36,7 @@ import app.opass.ccip.ui.schedule.ScheduleTabFragment
3536import app.opass.ccip.ui.wifi.WiFiNetworkFragment
3637import app.opass.ccip.util.CryptoUtil
3738import app.opass.ccip.util.PreferenceUtil
39+ import app.opass.ccip.util.ScheduleUtil
3840import coil3.load
3941import com.google.android.material.navigation.NavigationView
4042import kotlinx.coroutines.CoroutineScope
@@ -88,6 +90,9 @@ class MainActivity : AppCompatActivity(), CoroutineScope {
8890 setContentView(R .layout.activity_main)
8991 mActivity = this
9092 mJob = Job ()
93+ launch(Dispatchers .Default ) {
94+ ScheduleUtil .rescheduleStarredSessionAlarms(applicationContext)
95+ }
9196
9297 mDrawerLayout = findViewById(R .id.drawer_layout)
9398 navigationView = findViewById(R .id.nav_view)
@@ -129,6 +134,21 @@ class MainActivity : AppCompatActivity(), CoroutineScope {
129134 }
130135 currentEventId = event.eventId
131136
137+ onBackPressedDispatcher.addCallback(this , object : OnBackPressedCallback (true ) {
138+ override fun handleOnBackPressed () {
139+ when {
140+ mDrawerLayout.isDrawerOpen(GravityCompat .START ) -> mDrawerLayout.closeDrawers()
141+ dispatchBackPressToChildFragment() -> Unit
142+ isDefaultFeatureSelected -> {
143+ isEnabled = false
144+ onBackPressedDispatcher.onBackPressed()
145+ isEnabled = true
146+ }
147+ else -> onDrawerItemClick(defaultFeatureItem)
148+ }
149+ }
150+ })
151+
132152 launch {
133153 try {
134154 val response = PortalClient .get().getEventConfig(event.eventId).asyncExecute()
@@ -188,16 +208,6 @@ class MainActivity : AppCompatActivity(), CoroutineScope {
188208 return fragment.onBackPressed()
189209 }
190210
191- @Deprecated(" Deprecated in Java" )
192- override fun onBackPressed () {
193- when {
194- mDrawerLayout.isDrawerOpen(GravityCompat .START ) -> mDrawerLayout.closeDrawers()
195- dispatchBackPressToChildFragment() -> Unit
196- isDefaultFeatureSelected -> super .onBackPressed()
197- else -> onDrawerItemClick(defaultFeatureItem)
198- }
199- }
200-
201211 override fun onNewIntent (intent : Intent ? ) {
202212 super .onNewIntent(intent)
203213 if (PreferenceUtil .getCurrentEvent(this ).eventId != currentEventId) {
0 commit comments