Skip to content

Commit 067080a

Browse files
authored
fix: Fixes Android back navigation on target SDK 36 (#3055)
1 parent b624f72 commit 067080a

1 file changed

Lines changed: 27 additions & 3 deletions

File tree

‎packages/mobile/android/app/src/main/java/com/standardnotes/MainActivity.java‎

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package com.standardnotes;
22

3-
import android.content.Context;
43
import android.content.Intent;
5-
import android.content.SharedPreferences;
4+
import android.os.Build;
65
import android.os.Bundle;
7-
import android.content.res.Configuration;
6+
7+
import androidx.activity.OnBackPressedCallback;
88

99
import com.facebook.react.ReactActivity;
1010
import com.facebook.react.ReactActivityDelegate;
@@ -13,6 +13,21 @@
1313

1414
public 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

Comments
 (0)