Skip to content

Building with Android 15 SDK triggers deprecated API warnings in Google Play Console #891

Description

@velocitysystems

The problem

Google Play Console is flagging an app using the SDK for using deprecated Android 15 edge-to-edge and Window APIs. The warnings originating from com.plaid.internal are the only ones we cannot resolve by upgrading dependencies — they trace back to the Plaid SDK's internal BottomSheetDialog usage and the deprecated Window.setStatusBarColor / Window.setNavigationBarColor / LAYOUT_IN_DISPLAY_CUTOUT_MODE_* APIs.

Specifically, Google Play Console reports:

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.

  • android.view.Window.getStatusBarColor
  • android.view.Window.setStatusBarColor
  • android.view.Window.setNavigationBarColor
  • android.view.Window.getNavigationBarColor
  • LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
  • LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT

These start in the following places (Plaid-originated entries only):

  • com.plaid.internal.m7.a

Host app is already correctly configured for edge-to-edge ("edgeToEdgeEnabled": true via Expo), and we have upgraded React Native, react-native-screens, and Material Components past the versions where the equivalent warnings have been fixed.

Environment

Plaid Link React Native 12.8.0
ReactNative Version 0.83.4 (Expo SDK 55)
Occurs on Android yes
Android OS Version 15 (API 35)
Android Devices/Emulators Pixel 7a physical, Pixel 8 Pro emulator
Occurs on iOS no
iOS Version n/a
iOS Devices/Emulators n/a
Link Session ID n/a (static analysis by Google Play Console)

Steps to Reproduce

  1. Create (or use an existing) React Native / Expo app targeting targetSdkVersion = 35 with edge-to-edge enabled ("edgeToEdgeEnabled": true in app.json for Expo, or WindowCompat.setDecorFitsSystemWindows(window, false) in bare RN).

  2. Install react-native-plaid-link-sdk@12.8.0.

  3. Open a Plaid Link session:

    create({ token: linkToken });
    open({ onSuccess, onExit });
  4. Build a release AAB and upload to Google Play Console (Internal/Closed testing track is sufficient).

  5. Wait for the automated pre-launch report, or check Policy → App content → Edge-to-edge in the Play Console.

Plaid Link configuration (keys omitted, server-side):

{
   "client_id": "OMITTED",
   "secret": "OMITTED",
   "user": {
      "client_user_id": "OMITTED"
   },
   "client_name": "OMITTED",
   "products": ["auth"],
   "country_codes": ["US"],
   "language": "en",
   "android_package_name": "com.foo.app"
}

Expected Result

The Google Play Console edge-to-edge warning for com.plaid.internal.* should no longer appear for apps.

Logs

No runtime logcat exception — this is a static-analysis warning emitted by Google Play Console.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions