Skip to content

Fix #6209: Add EDGE_TO_EDGE feature flag for edge-to-edge display support#6212

Draft
Neer-rn wants to merge 1 commit intooppia:developfrom
Neer-rn:fix-6209-edge-to-edge-feature-flag
Draft

Fix #6209: Add EDGE_TO_EDGE feature flag for edge-to-edge display support#6212
Neer-rn wants to merge 1 commit intooppia:developfrom
Neer-rn:fix-6209-edge-to-edge-feature-flag

Conversation

@Neer-rn
Copy link
Copy Markdown
Collaborator

@Neer-rn Neer-rn commented Apr 10, 2026

Explanation

Fixes #6209: This PR adds the EDGE_TO_EDGE feature flag that will be used to gate all edge-to-edge display changes behind a toggle.

On Android 15+ (API 35+), edge-to-edge is enforced by default and our app currently opts out using windowOptOutEdgeToEdgeEnforcement in values-v35/themes.xml. This opt-out is deprecated in SDK 36 and will stop working -- link: https://developer.android.com/about/versions/16/behavior-changes-16#edge-to-edge

So we need to properly handle window insets across all screens. This feature flag lets us gate those changes safely so we can roll back if something breaks.

Changes

  • Added EDGE_TO_EDGE = 19 to the FeatureFlagId proto enum
  • Added feature flag definition in feature_flags.textproto with default_is_enabled: false
  • Added @EnableEdgeToEdge qualifier and default value in FeatureFlagConstants.kt
  • Wired up the provider in FeatureFlagBindingModule.kt
  • Wired up the map binding in FeatureFlagsMapBindingModule.kt
  • Added forceEnableEdgeToEdge() in TestPlatformParameterModule.kt for tests
  • Updated feature flag count to 16 in FeatureFlagsLoggerTest.kt

The flag is false by default and will be set to true once all screens are fixed in #5940 and #6208.

Full discussion and approach: #6196 and #5943

Essential Checklist

  • The PR title starts with "Fix #bugnum: " (If this PR fixes part of an issue, prefix the title with "Fix part of #bugnum: ...".)
  • The explanation section above starts with "Fixes #bugnum: " (If this PR fixes part of an issue, use instead: "Fixes part of #bugnum: ...".)
  • Any changes to scripts/assets files have their rationale included in the PR explanation.
  • The PR follows the style guide.
  • The PR does not contain any unnecessary code changes from Android Studio (reference).
  • The PR is made from a branch that's not called "develop" and is up-to-date with "develop".
  • The PR is assigned to the appropriate reviewers (reference).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG]: Add edge-to-edge feature flag and remove SDK 35 opt-out after migration

1 participant