11package com .standardnotes ;
22
3- import android .content .Context ;
43import android .content .Intent ;
5- import android .content . SharedPreferences ;
4+ import android .os . Build ;
65import android .os .Bundle ;
7- import android .content .res .Configuration ;
6+
7+ import androidx .activity .OnBackPressedCallback ;
88
99import com .facebook .react .ReactActivity ;
1010import com .facebook .react .ReactActivityDelegate ;
1313
1414public class MainActivity extends ReactActivity {
1515
16+ private final OnBackPressedCallback backPressedCallback =
17+ new OnBackPressedCallback (true ) {
18+ @ Override
19+ public void handleOnBackPressed () {
20+ setEnabled (false );
21+ MainActivity .this .onBackPressed ();
22+ setEnabled (true );
23+ }
24+ };
25+
26+ private boolean usesTargetSdk36BackWorkaround () {
27+ return Build .VERSION .SDK_INT >= 36
28+ && getApplicationInfo ().targetSdkVersion >= 36 ;
29+ }
30+
1631 @ Override
1732 protected String getMainComponentName () {
1833 return "StandardNotes" ;
@@ -21,6 +36,9 @@ protected String getMainComponentName() {
2136 @ Override
2237 protected void onCreate (Bundle savedInstance ) {
2338 super .onCreate (null );
39+ if (usesTargetSdk36BackWorkaround ()) {
40+ getOnBackPressedDispatcher ().addCallback (this , backPressedCallback );
41+ }
2442 }
2543
2644 /**
@@ -43,7 +61,13 @@ protected ReactActivityDelegate createReactActivityDelegate() {
4361 */
4462 @ Override
4563 public void invokeDefaultOnBackPressed () {
64+ if (usesTargetSdk36BackWorkaround ()) {
65+ backPressedCallback .setEnabled (false );
66+ }
4667 moveTaskToBack (true );
68+ if (usesTargetSdk36BackWorkaround ()) {
69+ backPressedCallback .setEnabled (true );
70+ }
4771 }
4872
4973 @ Override
0 commit comments