Skip to content

Fix part of #6208: Add edge-to-edge insets to no-toolbar screens#6241

Open
Neer-rn wants to merge 17 commits into
oppia:developfrom
Neer-rn:fix-6208-edge-to-edge-no-toolbar-screens
Open

Fix part of #6208: Add edge-to-edge insets to no-toolbar screens#6241
Neer-rn wants to merge 17 commits into
oppia:developfrom
Neer-rn:fix-6208-edge-to-edge-no-toolbar-screens

Conversation

@Neer-rn

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

Copy link
Copy Markdown
Collaborator

Explanation

Fixes part of #6208

This PR handles edge-to-edge window insets for the no-toolbar screens listed in #6208, gated behind the EnableEdgeToEdge feature flag. On Android 15+ (API 35+), edge-to-edge is enforced by default and these screens were having their content draw behind the status bar and navigation bar because they don't have a toolbar or AppBarLayout to anchor the insets to. This PR fixes that for the onboarding, profile chooser, and splash screens.

Screens covered

  • SplashActivity
  • OnboardingFragmentPresenterV1
  • ProfileChooserFragmentPresenter (V2)
  • ProfileChooserFragmentPresenterV1 (V1)

Colors preserved

All previous status-bar colors are kept exactly the same:

  • Splash --> component_color_shared_activity_status_bar_color (the theme's default, inherited via SplashScreenTheme -> OppiaThemeWithoutActionBar)
  • Onboarding slides 0-3 --> component_color_onboarding_1..4_status_bar_color (changes on slide change the same way as before)
  • Onboarding final slide --> component_color_shared_activity_status_bar_color
  • Profile Chooser (V1 and V2) --> component_color_shared_profile_status_bar_color

Note on the splash screen

SplashActivityPresenter has a strict comment banning new platform-parameter injections in the outer presenter (parameters haven't finished loading yet at that point, so injections may fail). So I injected @EnableEdgeToEdge into the inner PostParameterLoadingSplashActivityPresenter and applied the edge-to-edge handling in subscribeToOnboardingFlow, which fires the moment parameters load. There is a very brief window (few ms) where the splash shows with the theme's default status bar before the spacer kicks in, but since the spacer color matches the theme's statusBarColor (component_color_shared_activity_status_bar_color), there is no visible flash.

Depends on

Full context: #5943 and the edge-to-edge discussion in #6196

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).

For UI-specific PRs only

Before/after screenshots for all covered screens (onboarding slides, profile chooser, splash) will be added shortly.

@Neer-rn
Neer-rn marked this pull request as ready for review April 28, 2026 17:25
@Neer-rn
Neer-rn requested review from a team as code owners April 28, 2026 17:25
@Neer-rn
Neer-rn requested a review from adhiamboperes April 28, 2026 17:25
@oppiabot

oppiabot Bot commented May 5, 2026

Copy link
Copy Markdown

Hi @Neer-rn, I'm going to mark this PR as stale because it hasn't had any updates for 7 days. If no further activity occurs within 7 days, it will be automatically closed so that others can take up the issue.
If you are still working on this PR, please make a follow-up commit within 3 days (and submit it for review, if applicable). Please also let us know if you are stuck so we can help you! If you're unsure how to reassign this PR to a reviewer, please make sure to review the wiki page that details the Guidance on submitting PRs.

@oppiabot oppiabot Bot added the stale Corresponds to items that haven't seen a recent update and may be automatically closed. label May 5, 2026
@adhiamboperes adhiamboperes removed the stale Corresponds to items that haven't seen a recent update and may be automatically closed. label May 7, 2026
@oppiabot

oppiabot Bot commented May 14, 2026

Copy link
Copy Markdown

Hi @Neer-rn, I'm going to mark this PR as stale because it hasn't had any updates for 7 days. If no further activity occurs within 7 days, it will be automatically closed so that others can take up the issue.
If you are still working on this PR, please make a follow-up commit within 3 days (and submit it for review, if applicable). Please also let us know if you are stuck so we can help you! If you're unsure how to reassign this PR to a reviewer, please make sure to review the wiki page that details the Guidance on submitting PRs.

@oppiabot oppiabot Bot added the stale Corresponds to items that haven't seen a recent update and may be automatically closed. label May 14, 2026
@adhiamboperes adhiamboperes removed the stale Corresponds to items that haven't seen a recent update and may be automatically closed. label May 19, 2026
@oppiabot

oppiabot Bot commented May 29, 2026

Copy link
Copy Markdown

Hi @Neer-rn, I'm going to mark this PR as stale because it hasn't had any updates for 7 days. If no further activity occurs within 7 days, it will be automatically closed so that others can take up the issue.
If you are still working on this PR, please make a follow-up commit within 3 days (and submit it for review, if applicable). Please also let us know if you are stuck so we can help you! If you're unsure how to reassign this PR to a reviewer, please make sure to review the wiki page that details the Guidance on submitting PRs.

@oppiabot oppiabot Bot added the stale Corresponds to items that haven't seen a recent update and may be automatically closed. label May 29, 2026
@Neer-rn Neer-rn removed the stale Corresponds to items that haven't seen a recent update and may be automatically closed. label May 29, 2026
@github-actions

github-actions Bot commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

APK & AAB differences analysis

Note that this is a summarized snapshot. See the CI artifacts for detailed differences.

Dev

Expand to see flavor specifics

Universal APK

APK file size: 19 MiB (old), 19 MiB (new), 7632 bytes (Added)

APK download size (estimated): 18 MiB (old), 18 MiB (new), 3999 bytes (Added)

Method count: 265520 (old), 265454 (new), 66 (Removed)

Features: 1 (old), 1 (new), 0 (No change)

Permissions: 6 (old), 6 (new), 0 (No change)

Resources: 7119 (old), 7118 (new), 1 (Removed)

  • Anim: 43 (old), 43 (new), 0 (No change)
  • Animator: 26 (old), 26 (new), 0 (No change)
  • Array: 15 (old), 15 (new), 0 (No change)
  • Attr: 922 (old), 922 (new), 0 (No change)
  • Bool: 9 (old), 9 (new), 0 (No change)
  • Color: 1005 (old), 1005 (new), 0 (No change)
  • Dimen: 1093 (old), 1093 (new), 0 (No change)
  • Drawable: 393 (old), 393 (new), 0 (No change)
  • Id: 1363 (old), 1362 (new), 1 (Removed):
    • id/audio_language_toolbar_title (removed)
  • Integer: 37 (old), 37 (new), 0 (No change)
  • Interpolator: 11 (old), 11 (new), 0 (No change)
  • Layout: 401 (old), 401 (new), 0 (No change)
  • Menu: 3 (old), 3 (new), 0 (No change)
  • Mipmap: 1 (old), 1 (new), 0 (No change)
  • Plurals: 10 (old), 10 (new), 0 (No change)
  • Raw: 2 (old), 2 (new), 0 (No change)
  • String: 938 (old), 938 (new), 0 (No change)
  • Style: 840 (old), 840 (new), 0 (No change)
  • Xml: 7 (old), 7 (new), 0 (No change)

Lesson assets: 113 (old), 113 (new), 0 (No change)

AAB differences

Expand to see AAB specifics

Supported configurations:

  • hdpi (same)
  • ldpi (same)
  • mdpi (same)
  • tvdpi (same)
  • xhdpi (same)
  • xxhdpi (same)
  • xxxhdpi (same)

Base APK

APK file size: 19 MiB (old), 19 MiB (new), 7628 bytes (Added)
APK download size (estimated): 18 MiB (old), 18 MiB (new), 5600 bytes (Added)
Method count: 265520 (old), 265454 (new), 66 (Removed)
Resources: 7069 (old), 7068 (new), 1 (Removed)

  • Id: 1363 (old), 1362 (new), 1 (Removed)

Configuration hdpi

APK file size: 50 KiB (old), 50 KiB (new), 0 bytes (No change)
APK download size (estimated): 18 KiB (old), 18 KiB (new), 0 bytes (No change)

Configuration ldpi

APK file size: 49 KiB (old), 49 KiB (new), 0 bytes (No change)
APK download size (estimated): 14 KiB (old), 14 KiB (new), 0 bytes (No change)

Configuration mdpi

APK file size: 46 KiB (old), 46 KiB (new), 0 bytes (No change)
APK download size (estimated): 14 KiB (old), 14 KiB (new), 0 bytes (No change)

Configuration tvdpi

APK file size: 86 KiB (old), 86 KiB (new), 0 bytes (No change)
APK download size (estimated): 29 KiB (old), 29 KiB (new), 0 bytes (No change)

Configuration xhdpi

APK file size: 57 KiB (old), 57 KiB (new), 0 bytes (No change)
APK download size (estimated): 21 KiB (old), 21 KiB (new), 0 bytes (No change)

Configuration xxhdpi

APK file size: 63 KiB (old), 63 KiB (new), 0 bytes (No change)
APK download size (estimated): 29 KiB (old), 29 KiB (new), 0 bytes (No change)

Configuration xxxhdpi

APK file size: 64 KiB (old), 64 KiB (new), 0 bytes (No change)
APK download size (estimated): 28 KiB (old), 28 KiB (new), 0 bytes (No change)

Alpha

Expand to see flavor specifics

Universal APK

APK file size: 11 MiB (old), 11 MiB (new), 4940 bytes (Added)

APK download size (estimated): 10 MiB (old), 10 MiB (new), 2440 bytes (Added)

Method count: 118637 (old), 118682 (new), 45 (Added)

Features: 1 (old), 1 (new), 0 (No change)

Permissions: 6 (old), 6 (new), 0 (No change)

Resources: 6054 (old), 6052 (new), 2 (Removed)

  • Anim: 33 (old), 33 (new), 0 (No change)
  • Animator: 24 (old), 24 (new), 0 (No change)
  • Array: 14 (old), 14 (new), 0 (No change)
  • Attr: 888 (old), 888 (new), 0 (No change)
  • Bool: 8 (old), 8 (new), 0 (No change)
  • Color: 853 (old), 853 (new), 0 (No change)
  • Dimen: 815 (old), 815 (new), 0 (No change)
  • Drawable: 355 (old), 355 (new), 0 (No change)
  • Id: 1304 (old), 1303 (new), 1 (Removed):
    • id/audio_language_toolbar_title (removed)
  • Integer: 32 (old), 32 (new), 0 (No change)
  • Interpolator: 11 (old), 11 (new), 0 (No change)
  • Layout: 359 (old), 359 (new), 0 (No change)
  • Menu: 1 (old), 1 (new), 0 (No change)
  • Mipmap: 1 (old), 1 (new), 0 (No change)
  • Plurals: 10 (old), 10 (new), 0 (No change)
  • String: 859 (old), 859 (new), 0 (No change)
  • Style: 486 (old), 485 (new), 1 (Removed):
    • style/ToolbarTitle (removed)
  • Xml: 1 (old), 1 (new), 0 (No change)

Lesson assets: 114 (old), 114 (new), 0 (No change)

AAB differences

Expand to see AAB specifics

Supported configurations:

  • hdpi (same)
  • ldpi (same)
  • mdpi (same)
  • tvdpi (same)
  • xhdpi (same)
  • xxhdpi (same)
  • xxxhdpi (same)

Base APK

APK file size: 11 MiB (old), 11 MiB (new), 4940 bytes (Added)
APK download size (estimated): 10 MiB (old), 10 MiB (new), 3484 bytes (Added)
Method count: 118637 (old), 118682 (new), 45 (Added)
Resources: 6011 (old), 6009 (new), 2 (Removed)

  • Id: 1304 (old), 1303 (new), 1 (Removed)
  • Style: 486 (old), 485 (new), 1 (Removed)

Configuration hdpi

APK file size: 43 KiB (old), 43 KiB (new), 0 bytes (No change)
APK download size (estimated): 17 KiB (old), 17 KiB (new), 0 bytes (No change)

Configuration ldpi

APK file size: 45 KiB (old), 45 KiB (new), 0 bytes (No change)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 0 bytes (No change)

Configuration mdpi

APK file size: 38 KiB (old), 38 KiB (new), 0 bytes (No change)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 0 bytes (No change)

Configuration tvdpi

APK file size: 73 KiB (old), 73 KiB (new), 0 bytes (No change)
APK download size (estimated): 27 KiB (old), 27 KiB (new), 0 bytes (No change)

Configuration xhdpi

APK file size: 50 KiB (old), 50 KiB (new), 0 bytes (No change)
APK download size (estimated): 20 KiB (old), 20 KiB (new), 0 bytes (No change)

Configuration xxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 0 bytes (No change)
APK download size (estimated): 28 KiB (old), 28 KiB (new), 0 bytes (No change)

Configuration xxxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 0 bytes (No change)
APK download size (estimated): 27 KiB (old), 27 KiB (new), 0 bytes (No change)

Beta

Expand to see flavor specifics

Universal APK

APK file size: 11 MiB (old), 11 MiB (new), 5108 bytes (Added)

APK download size (estimated): 10 MiB (old), 10 MiB (new), 7759 bytes (Added)

Method count: 118641 (old), 118686 (new), 45 (Added)

Features: 1 (old), 1 (new), 0 (No change)

Permissions: 6 (old), 6 (new), 0 (No change)

Resources: 6054 (old), 6052 (new), 2 (Removed)

  • Anim: 33 (old), 33 (new), 0 (No change)
  • Animator: 24 (old), 24 (new), 0 (No change)
  • Array: 14 (old), 14 (new), 0 (No change)
  • Attr: 888 (old), 888 (new), 0 (No change)
  • Bool: 8 (old), 8 (new), 0 (No change)
  • Color: 853 (old), 853 (new), 0 (No change)
  • Dimen: 815 (old), 815 (new), 0 (No change)
  • Drawable: 355 (old), 355 (new), 0 (No change)
  • Id: 1304 (old), 1303 (new), 1 (Removed):
    • id/audio_language_toolbar_title (removed)
  • Integer: 32 (old), 32 (new), 0 (No change)
  • Interpolator: 11 (old), 11 (new), 0 (No change)
  • Layout: 359 (old), 359 (new), 0 (No change)
  • Menu: 1 (old), 1 (new), 0 (No change)
  • Mipmap: 1 (old), 1 (new), 0 (No change)
  • Plurals: 10 (old), 10 (new), 0 (No change)
  • String: 859 (old), 859 (new), 0 (No change)
  • Style: 486 (old), 485 (new), 1 (Removed):
    • style/ToolbarTitle (removed)
  • Xml: 1 (old), 1 (new), 0 (No change)

Lesson assets: 114 (old), 114 (new), 0 (No change)

AAB differences

Expand to see AAB specifics

Supported configurations:

  • hdpi (same)
  • ldpi (same)
  • mdpi (same)
  • tvdpi (same)
  • xhdpi (same)
  • xxhdpi (same)
  • xxxhdpi (same)

Base APK

APK file size: 11 MiB (old), 11 MiB (new), 5108 bytes (Added)
APK download size (estimated): 10 MiB (old), 10 MiB (new), 3755 bytes (Added)
Method count: 118641 (old), 118686 (new), 45 (Added)
Resources: 6011 (old), 6009 (new), 2 (Removed)

  • Id: 1304 (old), 1303 (new), 1 (Removed)
  • Style: 486 (old), 485 (new), 1 (Removed)

Configuration hdpi

APK file size: 43 KiB (old), 43 KiB (new), 0 bytes (No change)
APK download size (estimated): 17 KiB (old), 17 KiB (new), 0 bytes (No change)

Configuration ldpi

APK file size: 45 KiB (old), 45 KiB (new), 0 bytes (No change)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 0 bytes (No change)

Configuration mdpi

APK file size: 38 KiB (old), 38 KiB (new), 0 bytes (No change)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 0 bytes (No change)

Configuration tvdpi

APK file size: 73 KiB (old), 73 KiB (new), 0 bytes (No change)
APK download size (estimated): 27 KiB (old), 27 KiB (new), 0 bytes (No change)

Configuration xhdpi

APK file size: 50 KiB (old), 50 KiB (new), 0 bytes (No change)
APK download size (estimated): 20 KiB (old), 20 KiB (new), 0 bytes (No change)

Configuration xxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 0 bytes (No change)
APK download size (estimated): 28 KiB (old), 28 KiB (new), 0 bytes (No change)

Configuration xxxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 0 bytes (No change)
APK download size (estimated): 27 KiB (old), 27 KiB (new), 0 bytes (No change)

Ga

Expand to see flavor specifics

Universal APK

APK file size: 11 MiB (old), 11 MiB (new), 5152 bytes (Added)

APK download size (estimated): 10 MiB (old), 10 MiB (new), 7023 bytes (Added)

Method count: 118641 (old), 118686 (new), 45 (Added)

Features: 1 (old), 1 (new), 0 (No change)

Permissions: 6 (old), 6 (new), 0 (No change)

Resources: 6054 (old), 6052 (new), 2 (Removed)

  • Anim: 33 (old), 33 (new), 0 (No change)
  • Animator: 24 (old), 24 (new), 0 (No change)
  • Array: 14 (old), 14 (new), 0 (No change)
  • Attr: 888 (old), 888 (new), 0 (No change)
  • Bool: 8 (old), 8 (new), 0 (No change)
  • Color: 853 (old), 853 (new), 0 (No change)
  • Dimen: 815 (old), 815 (new), 0 (No change)
  • Drawable: 355 (old), 355 (new), 0 (No change)
  • Id: 1304 (old), 1303 (new), 1 (Removed):
    • id/audio_language_toolbar_title (removed)
  • Integer: 32 (old), 32 (new), 0 (No change)
  • Interpolator: 11 (old), 11 (new), 0 (No change)
  • Layout: 359 (old), 359 (new), 0 (No change)
  • Menu: 1 (old), 1 (new), 0 (No change)
  • Mipmap: 1 (old), 1 (new), 0 (No change)
  • Plurals: 10 (old), 10 (new), 0 (No change)
  • String: 859 (old), 859 (new), 0 (No change)
  • Style: 486 (old), 485 (new), 1 (Removed):
    • style/ToolbarTitle (removed)
  • Xml: 1 (old), 1 (new), 0 (No change)

Lesson assets: 114 (old), 114 (new), 0 (No change)

AAB differences

Expand to see AAB specifics

Supported configurations:

  • hdpi (same)
  • ldpi (same)
  • mdpi (same)
  • tvdpi (same)
  • xhdpi (same)
  • xxhdpi (same)
  • xxxhdpi (same)

Base APK

APK file size: 11 MiB (old), 11 MiB (new), 5156 bytes (Added)
APK download size (estimated): 10 MiB (old), 10 MiB (new), 3332 bytes (Added)
Method count: 118641 (old), 118686 (new), 45 (Added)
Resources: 6011 (old), 6009 (new), 2 (Removed)

  • Id: 1304 (old), 1303 (new), 1 (Removed)
  • Style: 486 (old), 485 (new), 1 (Removed)

Configuration hdpi

APK file size: 43 KiB (old), 43 KiB (new), 0 bytes (No change)
APK download size (estimated): 17 KiB (old), 17 KiB (new), 0 bytes (No change)

Configuration ldpi

APK file size: 45 KiB (old), 45 KiB (new), 0 bytes (No change)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 0 bytes (No change)

Configuration mdpi

APK file size: 38 KiB (old), 38 KiB (new), 0 bytes (No change)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 0 bytes (No change)

Configuration tvdpi

APK file size: 73 KiB (old), 73 KiB (new), 0 bytes (No change)
APK download size (estimated): 27 KiB (old), 27 KiB (new), 0 bytes (No change)

Configuration xhdpi

APK file size: 50 KiB (old), 50 KiB (new), 0 bytes (No change)
APK download size (estimated): 20 KiB (old), 20 KiB (new), 0 bytes (No change)

Configuration xxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 0 bytes (No change)
APK download size (estimated): 28 KiB (old), 28 KiB (new), 0 bytes (No change)

Configuration xxxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 0 bytes (No change)
APK download size (estimated): 27 KiB (old), 27 KiB (new), 0 bytes (No change)

@oppiabot

oppiabot Bot commented Jun 8, 2026

Copy link
Copy Markdown

Hi @Neer-rn, I'm going to mark this PR as stale because it hasn't had any updates for 7 days. If no further activity occurs within 7 days, it will be automatically closed so that others can take up the issue.
If you are still working on this PR, please make a follow-up commit within 3 days (and submit it for review, if applicable). Please also let us know if you are stuck so we can help you! If you're unsure how to reassign this PR to a reviewer, please make sure to review the wiki page that details the Guidance on submitting PRs.

@oppiabot oppiabot Bot added the stale Corresponds to items that haven't seen a recent update and may be automatically closed. label Jun 8, 2026
@oppiabot oppiabot Bot removed the stale Corresponds to items that haven't seen a recent update and may be automatically closed. label Jun 15, 2026
@Neer-rn Neer-rn assigned adhiamboperes and unassigned Neer-rn Jun 15, 2026
@oppiabot

oppiabot Bot commented Jun 22, 2026

Copy link
Copy Markdown

Hi @Neer-rn, I'm going to mark this PR as stale because it hasn't had any updates for 7 days. If no further activity occurs within 7 days, it will be automatically closed so that others can take up the issue.
If you are still working on this PR, please make a follow-up commit within 3 days (and submit it for review, if applicable). Please also let us know if you are stuck so we can help you! If you're unsure how to reassign this PR to a reviewer, please make sure to review the wiki page that details the Guidance on submitting PRs.

@oppiabot oppiabot Bot added the stale Corresponds to items that haven't seen a recent update and may be automatically closed. label Jun 22, 2026
@Neer-rn Neer-rn removed the stale Corresponds to items that haven't seen a recent update and may be automatically closed. label Jun 22, 2026
@oppiabot

oppiabot Bot commented Jul 1, 2026

Copy link
Copy Markdown

Hi @Neer-rn, I'm going to mark this PR as stale because it hasn't had any updates for 7 days. If no further activity occurs within 7 days, it will be automatically closed so that others can take up the issue.
If you are still working on this PR, please make a follow-up commit within 3 days (and submit it for review, if applicable). Please also let us know if you are stuck so we can help you! If you're unsure how to reassign this PR to a reviewer, please make sure to review the wiki page that details the Guidance on submitting PRs.

@oppiabot oppiabot Bot added the stale Corresponds to items that haven't seen a recent update and may be automatically closed. label Jul 1, 2026
@Neer-rn Neer-rn removed the stale Corresponds to items that haven't seen a recent update and may be automatically closed. label Jul 2, 2026
Neer-rn added 2 commits July 8, 2026 19:25
…dge-toolbar-insets

# Conflicts:
#	app/src/main/java/org/oppia/android/app/profile/AdminPinActivityPresenter.kt
#	app/src/main/java/org/oppia/android/app/profileprogress/ProfilePictureActivityPresenter.kt
#	app/src/main/java/org/oppia/android/app/profileprogress/ProfileProgressActivityPresenter.kt
#	app/src/main/java/org/oppia/android/app/resumelesson/ResumeLessonActivityPresenter.kt
#	app/src/main/java/org/oppia/android/app/topic/questionplayer/QuestionPlayerActivityPresenter.kt
#	app/src/main/java/org/oppia/android/app/topic/revisioncard/RevisionCardActivityPresenter.kt
…dge-no-toolbar-screens

# Conflicts:
#	app/src/main/java/org/oppia/android/app/profile/AdminPinActivityPresenter.kt
#	app/src/main/java/org/oppia/android/app/profileprogress/ProfilePictureActivityPresenter.kt
#	app/src/main/java/org/oppia/android/app/profileprogress/ProfileProgressActivityPresenter.kt
#	app/src/main/java/org/oppia/android/app/resumelesson/ResumeLessonActivityPresenter.kt
#	app/src/main/java/org/oppia/android/app/topic/questionplayer/QuestionPlayerActivityPresenter.kt
#	app/src/main/java/org/oppia/android/app/topic/revisioncard/RevisionCardActivityPresenter.kt
#	config/src/java/org/oppia/android/config/platform/feature_flags.textproto
#	domain/src/main/java/org/oppia/android/domain/platformparameter/FeatureFlagBindingModule.kt
#	domain/src/main/java/org/oppia/android/domain/platformparameter/FeatureFlagsMapBindingModule.kt
#	domain/src/test/java/org/oppia/android/domain/oppialogger/analytics/FeatureFlagsLoggerTest.kt
#	model/src/main/proto/platform_parameter.proto
#	testing/src/main/java/org/oppia/android/testing/platformparameter/TestPlatformParameterModule.kt
#	utility/src/main/java/org/oppia/android/util/platformparameter/FeatureFlagConstants.kt
@coderabbitai

coderabbitai Bot commented Jul 8, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 186c2bfd-05d5-4212-a081-8d67f285b532

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Neer-rn Neer-rn assigned subhajitxyz and unassigned Neer-rn Jul 8, 2026
@Neer-rn

Neer-rn commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator Author

Hi @subhajitxyz. Please review this PR. Thanks!!

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Coverage Report

Results

Number of files assessed: 56
Overall Coverage: 0.00%
Coverage Analysis: FAIL

Failure Cases

File Failure Reason Status
EdgeToEdgeHelper.ktapp/src/main/java/org/oppia/android/app/utility/EdgeToEdgeHelper.kt
No appropriate test file found for app/src/main/java/org/oppia/android/app/utility/EdgeToEdgeHelper.kt.

Exempted coverage

Files exempted from coverage
File Exemption Reason
OnboardingActivityPresenter.ktapp/src/main/java/org/oppia/android/app/onboarding/OnboardingActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
OnboardingFragmentPresenterV1.ktapp/src/main/java/org/oppia/android/app/onboarding/OnboardingFragmentPresenterV1.kt
This file is exempted from having a test file; skipping coverage check.
SplashActivityPresenter.ktapp/src/main/java/org/oppia/android/app/splash/SplashActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
PoliciesActivityPresenter.ktapp/src/main/java/org/oppia/android/app/policies/PoliciesActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
HomeActivityPresenter.ktapp/src/main/java/org/oppia/android/app/home/HomeActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
RecentlyPlayedActivityPresenter.ktapp/src/main/java/org/oppia/android/app/home/recentlyplayed/RecentlyPlayedActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ProfilePictureActivityPresenter.ktapp/src/main/java/org/oppia/android/app/profileprogress/ProfilePictureActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ProfileProgressActivityPresenter.ktapp/src/main/java/org/oppia/android/app/profileprogress/ProfileProgressActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
HelpActivityPresenter.ktapp/src/main/java/org/oppia/android/app/help/HelpActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
FAQSingleActivityPresenter.ktapp/src/main/java/org/oppia/android/app/help/faq/faqsingle/FAQSingleActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
FAQListActivityPresenter.ktapp/src/main/java/org/oppia/android/app/help/faq/FAQListActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
LicenseTextViewerActivityPresenter.ktapp/src/main/java/org/oppia/android/app/help/thirdparty/LicenseTextViewerActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ThirdPartyDependencyListActivityPresenter.ktapp/src/main/java/org/oppia/android/app/help/thirdparty/ThirdPartyDependencyListActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
LicenseListActivityPresenter.ktapp/src/main/java/org/oppia/android/app/help/thirdparty/LicenseListActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ProfileEditActivityPresenter.ktapp/src/main/java/org/oppia/android/app/settings/profile/ProfileEditActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ProfileListFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/settings/profile/ProfileListFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ProfileRenameActivityPresenter.ktapp/src/main/java/org/oppia/android/app/settings/profile/ProfileRenameActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ProfileResetPinActivityPresenter.ktapp/src/main/java/org/oppia/android/app/settings/profile/ProfileResetPinActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ProfileListActivityPresenter.ktapp/src/main/java/org/oppia/android/app/settings/profile/ProfileListActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
CompletedStoryListFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/completedstorylist/CompletedStoryListFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
CompletedStoryListActivityPresenter.ktapp/src/main/java/org/oppia/android/app/completedstorylist/CompletedStoryListActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
NavigationDrawerFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/drawer/NavigationDrawerFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
OngoingTopicListFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/ongoingtopiclist/OngoingTopicListFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
OngoingTopicListActivityPresenter.ktapp/src/main/java/org/oppia/android/app/ongoingtopiclist/OngoingTopicListActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ClassroomListActivityPresenter.ktapp/src/main/java/org/oppia/android/app/classroom/ClassroomListActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
OptionsActivityPresenter.ktapp/src/main/java/org/oppia/android/app/options/OptionsActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
AudioLanguageActivityPresenter.ktapp/src/main/java/org/oppia/android/app/options/AudioLanguageActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ReadingTextSizeActivityPresenter.ktapp/src/main/java/org/oppia/android/app/options/ReadingTextSizeActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
AppLanguageActivityPresenter.ktapp/src/main/java/org/oppia/android/app/options/AppLanguageActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
AdminAuthActivityPresenter.ktapp/src/main/java/org/oppia/android/app/profile/AdminAuthActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ProfileChooserFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/profile/ProfileChooserFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
PinPasswordActivityPresenter.ktapp/src/main/java/org/oppia/android/app/profile/PinPasswordActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
AdminPinActivityPresenter.ktapp/src/main/java/org/oppia/android/app/profile/AdminPinActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ProfileChooserActivityPresenter.ktapp/src/main/java/org/oppia/android/app/profile/ProfileChooserActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
AddProfileActivityPresenter.ktapp/src/main/java/org/oppia/android/app/profile/AddProfileActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ProfileChooserFragmentPresenterV1.ktapp/src/main/java/org/oppia/android/app/profile/ProfileChooserFragmentPresenterV1.kt
This file is exempted from having a test file; skipping coverage check.
ProfileAndDeviceIdActivityPresenter.ktapp/src/main/java/org/oppia/android/app/administratorcontrols/learneranalytics/ProfileAndDeviceIdActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
AdministratorControlsActivityPresenter.ktapp/src/main/java/org/oppia/android/app/administratorcontrols/AdministratorControlsActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
AppVersionActivityPresenter.ktapp/src/main/java/org/oppia/android/app/administratorcontrols/appversion/AppVersionActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
MarkTopicsCompletedFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/devoptions/marktopicscompleted/MarkTopicsCompletedFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
MarkTopicsCompletedActivityPresenter.ktapp/src/main/java/org/oppia/android/app/devoptions/marktopicscompleted/MarkTopicsCompletedActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
DeveloperOptionsActivityPresenter.ktapp/src/main/java/org/oppia/android/app/devoptions/DeveloperOptionsActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
MarkStoriesCompletedActivityPresenter.ktapp/src/main/java/org/oppia/android/app/devoptions/markstoriescompleted/MarkStoriesCompletedActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
MarkStoriesCompletedFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/devoptions/markstoriescompleted/MarkStoriesCompletedFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
MarkChaptersCompletedActivityPresenter.ktapp/src/main/java/org/oppia/android/app/devoptions/markchapterscompleted/MarkChaptersCompletedActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
MarkChaptersCompletedFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/devoptions/markchapterscompleted/MarkChaptersCompletedFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
RevisionCardActivityPresenter.ktapp/src/main/java/org/oppia/android/app/topic/revisioncard/RevisionCardActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
TopicFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/topic/TopicFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
TopicActivityPresenter.ktapp/src/main/java/org/oppia/android/app/topic/TopicActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
QuestionPlayerActivityPresenter.ktapp/src/main/java/org/oppia/android/app/topic/questionplayer/QuestionPlayerActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ResumeLessonActivityPresenter.ktapp/src/main/java/org/oppia/android/app/resumelesson/ResumeLessonActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
StoryFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/story/StoryFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
StoryActivityPresenter.ktapp/src/main/java/org/oppia/android/app/story/StoryActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ExplorationActivityPresenter.ktapp/src/main/java/org/oppia/android/app/player/exploration/ExplorationActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
StateFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/player/state/StateFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.

Refer test_file_exemptions.textproto for the comprehensive list of file exemptions and their required coverage percentages.

To learn more, visit the Oppia Android Code Coverage wiki page

@oppiabot

oppiabot Bot commented Jul 15, 2026

Copy link
Copy Markdown

Hi @Neer-rn, I'm going to mark this PR as stale because it hasn't had any updates for 7 days. If no further activity occurs within 7 days, it will be automatically closed so that others can take up the issue.
If you are still working on this PR, please make a follow-up commit within 3 days (and submit it for review, if applicable). Please also let us know if you are stuck so we can help you! If you're unsure how to reassign this PR to a reviewer, please make sure to review the wiki page that details the Guidance on submitting PRs.

@oppiabot oppiabot Bot added the stale Corresponds to items that haven't seen a recent update and may be automatically closed. label Jul 15, 2026
@Neer-rn Neer-rn removed the stale Corresponds to items that haven't seen a recent update and may be automatically closed. label Jul 16, 2026
@Neer-rn

Neer-rn commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator Author

@subhajitxyz just a friendly ping to review this PR.

@subhajitxyz

Copy link
Copy Markdown
Collaborator

Please fix those failed checks.

@oppiabot

oppiabot Bot commented Jul 23, 2026

Copy link
Copy Markdown

Hi @Neer-rn, I'm going to mark this PR as stale because it hasn't had any updates for 7 days. If no further activity occurs within 7 days, it will be automatically closed so that others can take up the issue.
If you are still working on this PR, please make a follow-up commit within 3 days (and submit it for review, if applicable). Please also let us know if you are stuck so we can help you! If you're unsure how to reassign this PR to a reviewer, please make sure to review the wiki page that details the Guidance on submitting PRs.

@oppiabot oppiabot Bot added the stale Corresponds to items that haven't seen a recent update and may be automatically closed. label Jul 23, 2026
@oppiabot oppiabot Bot removed the stale Corresponds to items that haven't seen a recent update and may be automatically closed. label Jul 24, 2026
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.

3 participants