Skip to content

Commit eea4fe4

Browse files
committed
Target Android 16 (API level 36)
Google Play rejects app updates that target below API 36 after Aug 30, 2026. Bumping compileSdk and targetSdk to 36 is the whole compliance change, but API 36 also enables predictive back by default, and Android then stops calling onBackPressed or dispatching KEYCODE_BACK. React Native 0.79's ReactActivity only overrides onBackPressed and registers no OnBackInvokedCallback, so every BackHandler listener would go dead: react-navigation's back handling, EdgeModal dismissal, and the useBackButtonToast exit guard. Opt out of predictive back to keep the back button behaving as it does today. React Native 0.86 ships an OnBackPressedCallback shim for this and moves to AGP 8.12, so both the opt-out and the compileSdk warning suppression come back out with that upgrade.
1 parent 38c7621 commit eea4fe4

4 files changed

Lines changed: 17 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
## Unreleased (develop)
44

55
- added: "-m" tag on the version number in the Help scene for Maestro test builds
6+
- changed: Target Android 16 (API level 36), which Google Play requires for app updates submitted after Aug 30, 2026. Predictive back is opted out of for now, since React Native 0.79 cannot handle it, so the back button behaves exactly as it did before.
67
- changed: Style the entire "Already have an account? Sign in" line in the getting-started USP carousel with the tertiary link color, not just "Sign in".
78
- changed: Refresh the buy, sell, sort, scan-QR and FIO names icons to the updated design.
89
- changed: Use a custom chart icon for the side menu Markets row, so it matches the rest of the menu.

android/app/src/main/AndroidManifest.xml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,22 @@
2929
</intent>
3030
</queries>
3131

32+
<!--
33+
Targeting API 36 turns on predictive back by default, which stops Android
34+
from calling `onBackPressed` or dispatching KEYCODE_BACK. React Native
35+
0.79's ReactActivity has no OnBackInvokedCallback, so that would silently
36+
kill every `BackHandler` listener - react-navigation's back handling, modal
37+
dismissal, and the "tap again to exit" guard. Opt out until we upgrade to
38+
React Native 0.86, which ships its own predictive-back shim.
39+
-->
3240
<application
3341
android:name=".MainApplication"
3442
android:label="@string/app_name"
3543
android:icon="@mipmap/ic_launcher"
3644
android:roundIcon="@mipmap/ic_launcher_round"
3745
android:allowBackup="false"
3846
android:usesCleartextTraffic="true"
47+
android:enableOnBackInvokedCallback="false"
3948
android:theme="@style/AppTheme">
4049
<meta-data android:name="io.sentry.auto-init" android:value="false" />
4150
<meta-data android:name="com.google.firebase.messaging.default_notification_icon"

android/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ buildscript {
22
ext {
33
buildToolsVersion = "35.0.0"
44
minSdkVersion = 28 // Edge modified from 21
5-
compileSdkVersion = 35
6-
targetSdkVersion = 35
5+
compileSdkVersion = 36
6+
targetSdkVersion = 36
77
ndkVersion = "27.1.12297006"
88
kotlinVersion = "2.3.20" // Required by zcash-android-sdk >= 2.4.8 (Kotlin 2.3 metadata)
99
}

android/gradle.properties

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,8 @@ newArchEnabled=false
4444
hermesEnabled=true
4545

4646
VisionCamera_enableCodeScanner=true
47+
48+
# React Native 0.79 pins Android Gradle Plugin 8.8.2, which was only tested up
49+
# to compileSdk 35. Building against 36 works, but AGP warns on every build.
50+
# Drop this once the React Native 0.86 upgrade brings AGP 8.12.
51+
android.suppressUnsupportedCompileSdk=36

0 commit comments

Comments
 (0)