Skip to content

0.75.4 - 0.80.1 Android 15-16 for StatusBarModule (EdgeToEdge) #48256

Open

Description

@ertugruldogan

Description

Your app uses deprecated APIs or parameters for end-to-end display

One or more APIs you use or parameters you set for end-to-end screen and window display have been discontinued in Android 15. Your application uses the following deprecated APIs or parameters:

android.view.Window.getStatusBarColor
android.view.Window.setStatusBarColor

These start from:

com.facebook.react.modules.statusbar.StatusBarModule$setColor$1.runGuarded
com.facebook.react.modules.statusbar.StatusBarModule.getTypedExportedConstants

https://developer.android.com/about/versions/15/behavior-changes-15?hl=tr#edge-to-edge

React Native Version

0.75.4, - 0.80.1

Affected Platforms

Runtime - Android

Output of npx react-native info

System:
  OS: Windows 10 10.0.19045
  CPU: (8) x64 Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
  Memory: 15.45 GB / 31.96 GB
Binaries:
  Node:
    version: 22.9.0
    path: C:\Program Files\nodejs\node.EXE
  Yarn: Not Found
  npm:
    version: 10.9.1
    path: C:\Program Files\nodejs\npm.CMD
  Watchman: Not Found
SDKs:
  Android SDK:
    API Levels:
      - "31"
      - "35"
    Build Tools:
      - 34.0.0
      - 35.0.0
    System Images:
      - android-24 | Google Play Intel x86 Atom
      - android-26 | Google APIs Intel x86 Atom
      - android-27 | Intel x86 Atom
      - android-27 | Google APIs Intel x86 Atom
      - android-27 | Google Play Intel x86 Atom
      - android-28 | Google Play Intel x86 Atom
      - android-34 | Google Play Intel x86_64 Atom
      - android-35 | Google Play Intel x86_64 Atom
      - android-35 | Pre-Release 16 KB Page Size Google Play ARM Intel x86_64
        Atom
    Android NDK: Not Found
  Windows SDK: Not Found
IDEs:
  Android Studio: AI-242.23339.11.2421.12700392
  Visual Studio: Not Found
Languages:
  Java: 17.0.9
  Ruby: Not Found
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 18.3.1
    wanted: 18.3.1
  react-native:
    installed: 0.75.4
    wanted: 0.75.4
  react-native-windows: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: false
iOS:
  hermesEnabled: Not found
  newArchEnabled: Not found

2024-12-17_09-50-22

Activity

  1. malinjr07 commented on Jan 25, 2025

    @malinjr07

    No Fix, Patch or Solution till now. I published my React Native CLI App on Google Play Store and I got the exact same Production Level Actionable Task:

    1 action recommended
    Your app uses deprecated APIs or parameters for edge-to-edge
    One or more of the APIs you use or parameters that you set for edge-to-edge and window display have been deprecated in Android 15. Your app uses the following deprecated APIs or parameters:

    android.view.Window.setDecorFitsSystemWindows
    android.view.Window.getStatusBarColor
    android.view.Window.setStatusBarColor
    android.view.Window.setNavigationBarColor
    android.view.Window.getNavigationBarColor

    These start in the following places:

    androidx.core.view.T$b.a
    com.facebook.react.modules.statusbar.StatusBarModule$b.runGuarded
    com.facebook.react.modules.statusbar.StatusBarModule.getTypedExportedConstants
    com.facebook.react.views.view.n.a
    com.google.android.material.internal.d.a
    com.swmansion.rnscreens.N$b.runGuarded
    com.swmansion.rnscreens.N.m
    com.swmansion.rnscreens.N.q
    To fix this, migrate away from these APIs or parameters.

  2. jsuhangita commented on Feb 14, 2025

    @jsuhangita

    Are there any fix for this ? seems like i get these error

    Image

  3. ertugruldogan commented on Feb 14, 2025

    @ertugruldogan
    Author

    This is probably used in libraries like react-native-navigation.

  4. gagtic commented on Feb 27, 2025

    @gagtic

    Is this problem breaking any apps? causing any crashes? I have an app in review, about to go into production. And I love having a job 🥶

    I can't upgrade react-native version right now, due to some deps

  5. ertugruldogan commented on Feb 27, 2025

    @ertugruldogan
    Author

    No crashes, Google Play offers it as a recommendation.

  6. HirenAVyas commented on Apr 23, 2025

    @HirenAVyas

    Do we have any solution here?

  7. astrahov commented on May 23, 2025

    @astrahov

    I also encountered the same problem:

    "react-native": "0.78.2",
    
    // These start in the following places:
    com.facebook.react.modules.statusbar.StatusBarModule$b.runGuarded
    com.facebook.react.modules.statusbar.StatusBarModule.getTypedExportedConstants
    com.huawei.hms.activity.BridgeActivity.onCreate
    com.swmansion.rnscreens.m.m
    com.swmansion.rnscreens.m.q
    com.unistyles.Platform.onSetNavigationBarColor$lambda$3$lambda$2
    com.unistyles.Platform.onSetStatusBarColor$lambda$13$lambda$12
    
  8. ertugruldogan commented on May 23, 2025

    @ertugruldogan
    Author

    "react-native": "0.79.2",

    The problem persists. I think it may be because of using library like "React-Native-Navigation".

  9. changed the title [-]0.75.4 - Android 15 for StatusBarModule (EdgeToEdge)[/-] [+]0.75.4:0.79.2 Android 15-16 for StatusBarModule (EdgeToEdge)[/+] on May 23, 2025
  10. changed the title [-]0.75.4:0.79.2 Android 15-16 for StatusBarModule (EdgeToEdge)[/-] [+]0.75.4 - 0.79.2 Android 15-16 for StatusBarModule (EdgeToEdge)[/+] on May 23, 2025
  11. varaprasad31 commented on Jul 7, 2025

    @varaprasad31

    hi,
    i have the same issue.
    any help / guidance appreciated.
    submitted an app for review .

    app used expo react native and on latest versions.
    expo 53.0.17 and React native 0.79.4.

    to the best of knowledge , whatever is recommended in expo is done.
    for e..g.
    edge to edge in enabled,
    react native edge to edge is used.

    specifically ,if any one who has the app published already, how these messages are effecting the status of the app , pls share your experience?
    or is these messages only advisory / warning messages that does not effect the review / current status , if already published.

    got the following actions recommended.

    1 )Your app uses deprecated APIs or parameters for edge-to-edge

    One or more of the APIs that you use or parameters that you set for edge-to-edge and window display have been deprecated in Android 15. Your app uses the following deprecated APIs or parameters:

    android.view.Window.setStatusBarColor
    android.view.Window.setNavigationBarColor
    android.view.Window.getStatusBarColor
    android.view.Window.getNavigationBarColor
    

    These start in the following places:

    A5.f.g
    com.facebook.react.modules.statusbar.StatusBarModule$b.runGuarded
    com.facebook.react.modules.statusbar.StatusBarModule.getTypedExportedConstants
    com.facebook.react.views.view.o.e
    com.google.android.material.internal.c.a
    com.swmansion.rnscreens.c0$b.runGuarded
    com.swmansion.rnscreens.c0.m
    com.swmansion.rnscreens.c0.q
    

    To fix this, migrate away from these APIs or parameters.

    2 ) Edge-to-edge may not display for all users

    From Android 15, apps targeting SDK 35 will display edge-to-edge by default. Apps targeting SDK 35 should handle insets to make sure that their app displays correctly on Android 15 and later. Investigate this issue and allow time to test edge-to-edge and make the required updates. Alternatively, call enableEdgeToEdge() for Kotlin or EdgeToEdge.enable() for Java for backward compatibility.

  12. changed the title [-]0.75.4 - 0.79.2 Android 15-16 for StatusBarModule (EdgeToEdge)[/-] [+]0.75.4 - 0.80.1 Android 15-16 for StatusBarModule (EdgeToEdge)[/+] on Jul 7, 2025
  13. devhik0 commented on Jul 19, 2025

    @devhik0

    Yes i m on react-native-screens@latest

    Image

    Please offer a solution to this issue to continue building our apps

    Also here is the logs for the ones who are wondering why and where these errors coming

    Google:
    android.View.Window.setStatusBarColor

    'var statusBarColor: Int?' is deprecated. For apps targeting SDK 35 or above this prop has no effect because edge-to-edge is enabled by default and the status bar is always translucent.
    
    w: ~/java/com/swmansion/rnscreens/ScreenViewManager.kt:220:14 'var isStatusBarTranslucent: Boolean?' is deprecated. For apps targeting SDK 35 or above this prop has no effect because edge-to-edge is enabled by default and the status bar is always translucent.
    
        @Deprecated(
            "For apps targeting SDK 35 or above this prop has no effect. " +
                "Since the edge-to-edge is enabled by default the color is always translucent.",
        )
        @ReactProp(name = "statusBarColor", customType = "Color")
        override fun setStatusBarColor(
            view: Screen,
            statusBarColor: Int?,
        ) {
            view.statusBarColor = statusBarColor
        }
    
    w: ~/java/com/swmansion/rnscreens/ScreenViewManager.kt:237:14 'var navigationBarColor: Int?' is deprecated. For all apps targeting Android SDK 35 or above edge-to-edge is enabled by default.
    
    w: ~/java/com/swmansion/rnscreens/ScreenViewManager.kt:246:14 'var isNavigationBarTranslucent: Boolean?' is deprecated. For all apps targeting Android SDK 35 or above edge-to-edge is enabled by default.
    
  14. ertugruldogan commented on Jul 19, 2025

    @ertugruldogan
    Author

    React-Native: Wait for the 0.81.x version because both the third-party libraries and react-native are not fully ready, so it will become clear after the 0.81.x version.

    /android/gradle.properties

    # Use this property to enable edge-to-edge display support.
    # This allows your app to draw behind system bars for an immersive UI.
    # Note: Only works with ReactActivity and should not be used with custom Activity.
    edgeToEdgeEnabled=false
    

    https://react-native-community.github.io/upgrade-helper/?from=0.80.1&to=0.81.0-rc.1

  15. devhik0 commented on Jul 19, 2025

    @devhik0

    React-Native: Wait for the 0.81.x version because both the third-party libraries and react-native are not fully ready, so it will become clear after the 0.81.x version.

    /android/gradle.properties

    # Use this property to enable edge-to-edge display support.
    # This allows your app to draw behind system bars for an immersive UI.
    # Note: Only works with ReactActivity and should not be used with custom Activity.
    edgeToEdgeEnabled=false
    

    https://react-native-community.github.io/upgrade-helper/?from=0.80.1&to=0.81.0-rc.1

    Not ready for 2yo OS version. Nice.

  16. airimiaporsche commented on Nov 24, 2025

    @airimiaporsche

    React-Native: Wait for the 0.81.x version because both the third-party libraries and react-native are not fully ready, so it will become clear after the 0.81.x version.

    /android/gradle.properties

    Use this property to enable edge-to-edge display support.

    This allows your app to draw behind system bars for an immersive UI.

    Note: Only works with ReactActivity and should not be used with custom Activity.

    edgeToEdgeEnabled=false
    https://react-native-community.github.io/upgrade-helper/?from=0.80.1&to=0.81.0-rc.1

    I upgraded my app to 0.81.5. And I am still receiving these warnings from Playstore

    Image

    Does somebody have any update or fix for these?

  17. ramanguptazelhus commented on Apr 16, 2026

    @ramanguptazelhus

    Same issue, any solution?

  18. react-native-bot commented on Oct 13, 2026

    @react-native-bot
    Collaborator

    This issue is stale because it has been open 180 days with no activity. Remove stale label or comment or this will be closed in 7 days.

  19. added
    StaleThere has been a lack of activity on this issue and it may be closed soon.
    on Oct 13, 2026
  20. sidhu commented on Oct 19, 2026

    @sidhu

    Still present on React Native 0.86.3 (Expo SDK 57). We scanned our release build's bytecode, resolved through R8's mapping, for the window APIs that Play Console's "Your app uses deprecated APIs or parameters for edge-to-edge" warning lists. These React Native call sites remain:

    • StatusBarModule.getTypedExportedConstants → Window.getStatusBarColor
    • StatusBarModule.setColor → Window.getStatusBarColor / Window.setStatusBarColor
    • WindowUtilKt.enableEdgeToEdge → Window.setStatusBarColor (with no version check, so it also runs on API 35+) and Window.setNavigationBarColor
    • WindowUtilKt.statusBarHide / statusBarShow → WindowManager.LayoutParams.layoutInDisplayCutoutMode (skipped when edge-to-edge is on, but still in the bytecode)

    For comparison, Material Components now wraps its equivalent calls in SDK_INT < VANILLA_ICE_CREAM checks (material-components-android c2051db2, "Avoid calling deprecated edge-to-edge APIs on 35+"), and expo-navigation-bar does the same below API 29. Something similar here would at least stop these running on API 35+.

  21. chocky335 commented on Oct 19, 2026

    @chocky335

    Still relevant on main. The only remaining call sites are in WindowUtil.kt, in enableEdgeToEdge: one setStatusBarColor and two setNavigationBarColor. I checked by scanning the RNTester release APK with dexdump. StatusBarModule.setColor went away in 0.87 with #57392, so the 0.86.3 list above is out of date.

    On a window where Android 15+ enforces edge-to-edge, PhoneWindow.setStatusBarColor returns early, so that call does nothing there. setNavigationBarColor still sets the color of the 3-button navigation bar scrim. Devices below Android 15 need both calls, so a runtime guard keeps the references in the dex and the Play Console scan keeps finding them.

    I have a small change ready that skips setStatusBarColor on enforced windows, with Robolectric tests and no visual change on a Pixel 8 Pro and a Mi 11 Lite. Before I open it: is a runtime-only cleanup welcome here, or do you see the remaining warning as something to document rather than to change in code?

  22. removed
    StaleThere has been a lack of activity on this issue and it may be closed soon.
    on Oct 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Component: StatusBarNeeds: AttentionIssues where the author has responded to feedback.Needs: ReproThis issue could be improved with a clear list of steps to reproduce the issue.Platform: AndroidAndroid applications.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions