Skip to content

Fix part of #6106: Implement generate changelog workflow and update bazel setup step - #6341

Merged
adhiamboperes merged 35 commits into
developfrom
pr2.2
Sep 9, 2026
Merged

Fix part of #6106: Implement generate changelog workflow and update bazel setup step#6341
adhiamboperes merged 35 commits into
developfrom
pr2.2

Conversation

@Sandesh282

@Sandesh282 Sandesh282 commented Jul 26, 2026

Copy link
Copy Markdown
Collaborator

Fixes part of #6106

Explanation

This PR introduces generate changelog workflow, the GitHub Actions workflow that automates changelog generation whenever the minor version is bumped in version.bzl. Additionally, this PR removes the placeholder changelog 0.18.md file and removes automated-changelog label from generate changelog script. Along with that this PR also updates build_and_sign workflows' bazel setup step to use version instead of commit sha.

The workflow triggers on any push to develop that touches version.bzl (and can also be triggered manually via workflow_dispatch). It authenticates to GCP via Workload Identity Federation, obtains a short-lived access token, and runs the GenerateChangelogs Kotlin script. The script determines the previous version from version.bzl, collects merged PRs between the two most recent release branches, calls Vertex AI to generate a 2-3 sentence user-facing summary, and opens a PR adding config/changelogs/<version>.md. If the Vertex AI call fails, the PR is still created with a raw commit list and an <!-- LLM generation failed --> marker for the coordinator to fill in manually.

Three non-sensitive configuration values (GCP_PROJECT, GCP_LOCATION, VERTEX_MODEL) are expected as GitHub Actions repository variables (Settings → Variables → Actions) rather than secrets, since they do not need to be masked in logs.

Infrastructure Prerequisites

Before this workflow is functional, the following one-time GCP setup is required:

  1. Create a dedicated changelog service account with minimal permissions — only roles/aiplatform.user on the specific Vertex model resource (not the whole project).This keeps the blast radius of a compromised changelog workflow limited to Vertex AI calls; it cannot touch signing keys, Play Console, or artifact registry.
  2. Add a WIF IAM binding for the new SA, tightened via attribute.job_workflow_ref so GCP will only federate a token when generate_changelog.yml is specifically the workflow running:
attribute.job_workflow_ref.startsWith( "oppia/oppia-android/.github/workflows/generate_changelog.yml@" )
  1. Add GCP_CHANGELOG_SERVICE_ACCOUNT as a secret in the oppia-android-automation-env
    GitHub environment (the email of the SA created in step 1).

Disclosure of LLM Usage

AI was used for debugging, code-completion and research.

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

Sandesh282 added 17 commits July 6, 2026 19:15
…eration

Introduces a narrow VertexAiClient interface abstracting Vertex AI text
generation calls, and a FakeVertexAiClient for unit testing.

The fake records all received prompts, supports a configurable shouldFail
flag (auto-resets after each throw), and exposes a reset() helper — matching
the same pattern as FakePlayConsoleClient and FakeCloudSigner.

Part of fix #6106 (M2 PR 2.1 — GenerateChangelogs script).
Implements VertexAiClient using OkHttp + Moshi to call the Vertex AI
generateContent REST endpoint. Auth is via a GCP Bearer token obtained
through Workload Identity Federation in CI.

Key details:
- Sends synchronous HTTP POST to the generateContent endpoint
- Parses candidates[0].content.parts[0].text from the JSON response
- Fails with a descriptive message on non-2xx status or empty response
- apiBaseUrl is a companion object var, overridable in tests to point
  at a local MockWebServer without subclassing

Part of fix #6106 (M2 PR 2.1 — GenerateChangelogs script).
…og PRs

Implements the GenerateChangelogs.kt script that:
1. Reads MAJOR/MINOR_VERSION from version.bzl to derive the previous version
   whose changelog needs to be generated (e.g. bump 0.17→0.18 generates 0.17)
2. Finds the commit range between the two most recent release branch merge-bases
3. Collects merged PRs (via 'git log --oneline') and parses Fixes/Closes #NNNN
   issue references from commit subjects
4. Invokes Vertex AI (Gemini) with a structured prompt to produce a 2-3 sentence
   user-facing summary of the release
5. Falls back to a raw commit list with a <!-- LLM generation failed --> marker
   if the Vertex AI call throws, so the PR is still created for human review
6. Creates/updates a PR on 'automated/changelog-<version>' branch via 'gh pr create'
   with links to all reference material in the PR body

Also adds Bazel library and binary targets for all new source files, following
the same visibility pattern as the existing release automation targets.

Part of fix #6106 (M2 PR 2.1 — GenerateChangelogs script).
@Sandesh282
Sandesh282 requested review from a team as code owners July 26, 2026 10:57
@Sandesh282
Sandesh282 requested a review from adhiamboperes July 26, 2026 10:57
@coderabbitai

coderabbitai Bot commented Jul 26, 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: Team

Run ID: 33f205e0-c5f6-426c-8535-b4341563f3f4

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
  • Commit unit tests in branch pr2.2

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.

@Sandesh282
Sandesh282 marked this pull request as draft July 26, 2026 10:57
@Sandesh282
Sandesh282 changed the base branch from develop to pr2.1/generate-changelogs-script July 26, 2026 10:59
@Sandesh282 Sandesh282 self-assigned this Jul 26, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Coverage Report

Results

Number of files assessed: 4
Overall Coverage: 89.56%
Coverage Analysis: PASS

Passing coverage

Files with passing code coverage
File Coverage Lines Hit Status Min Required
GoogleVertexAiClient.ktscripts/src/java/org/oppia/android/scripts/release/GoogleVertexAiClient.kt
92.59% 50 / 54 70%
FakeVertexAiClient.ktscripts/src/java/org/oppia/android/scripts/release/FakeVertexAiClient.kt
100.00% 13 / 13 70%
GenerateChangelogs.ktscripts/src/java/org/oppia/android/scripts/release/GenerateChangelogs.kt
88.26% 203 / 230 70%

Exempted coverage

Files exempted from coverage
File Exemption Reason
VertexAiClient.ktscripts/src/java/org/oppia/android/scripts/release/VertexAiClient.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

@Sandesh282
Sandesh282 marked this pull request as ready for review July 27, 2026 18:46

@adhiamboperes adhiamboperes left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @Sandesh282, PTAL.

Comment thread .github/workflows/generate_changelog.yml Outdated
Comment thread .github/workflows/generate_changelog.yml Outdated
Comment thread .github/workflows/generate_changelog.yml
Comment thread .github/workflows/generate_changelog.yml Outdated
Comment thread .github/workflows/generate_changelog.yml
Comment thread .github/workflows/generate_changelog.yml Outdated
Comment thread .github/workflows/generate_changelog.yml Outdated
Comment thread .github/workflows/generate_changelog.yml Outdated
Comment thread .github/workflows/generate_changelog.yml

@adhiamboperes adhiamboperes left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @Sandesh282, everything LGTM

@adhiamboperes
adhiamboperes enabled auto-merge (squash) September 6, 2026 13:17
@oppiabot

oppiabot Bot commented Sep 6, 2026

Copy link
Copy Markdown

Unassigning @adhiamboperes since they have already approved the PR.

@oppiabot oppiabot Bot added the PR: LGTM label Sep 6, 2026
@oppiabot

oppiabot Bot commented Sep 6, 2026

Copy link
Copy Markdown

Hi @Sandesh282, this PR is ready to be merged. Please address any remaining comments prior to merging, and feel free to merge this PR once the CI checks pass and you're happy with it. Thanks!

@Sandesh282

Copy link
Copy Markdown
Collaborator Author

@adhiamboperes Disabling auto-merge since Sean requested some changes.

@Sandesh282
Sandesh282 disabled auto-merge September 6, 2026 16:26
@github-actions

github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Coverage Report

Results

Number of files assessed: 362
Overall Coverage: 90.93%
Coverage Analysis: PASS

Passing coverage

Files with passing code coverage
File Coverage Lines Hit Status Min Required
SurveyGatingController.ktdomain/src/main/java/org/oppia/android/domain/survey/SurveyGatingController.kt
96.97% 32 / 33 70%
MetricLogSchedulingWorker.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/logscheduler/MetricLogSchedulingWorker.kt
100.00% 31 / 31 70%
MetricLogSchedulingWorkerScheduler.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/logscheduler/MetricLogSchedulingWorkerScheduler.kt
100.00% 19 / 19 70%
LogUploadWorker.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/loguploader/LogUploadWorker.kt
98.44% 63 / 64 70%
LogReportWorkerScheduler.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/loguploader/LogReportWorkerScheduler.kt
100.00% 5 / 5 70%
PerformanceMetricsLogger.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/analytics/PerformanceMetricsLogger.kt
100.00% 98 / 98 70%
FeatureFlagsLogger.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/analytics/FeatureFlagsLogger.kt
100.00% 23 / 23 70%
CpuPerformanceSnapshotter.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/analytics/CpuPerformanceSnapshotter.kt
87.61% 99 / 113 70%
LocaleController.ktdomain/src/main/java/org/oppia/android/domain/locale/LocaleController.kt
92.49% 160 / 173 70%
TranslationController.ktdomain/src/main/java/org/oppia/android/domain/translation/TranslationController.kt
94.15% 161 / 171 70%
PlatformParameterSyncUpWorkerScheduler.ktdomain/src/main/java/org/oppia/android/domain/platformparameter/syncup/PlatformParameterSyncUpWorkerScheduler.kt
100.00% 8 / 8 70%
PlatformParameterSyncUpWorker.ktdomain/src/main/java/org/oppia/android/domain/platformparameter/syncup/PlatformParameterSyncUpWorker.kt
75.86% 22 / 29 70%
DebugWorker.ktdomain/src/main/java/org/oppia/android/domain/workmanager/debug/DebugWorker.kt
100.00% 19 / 19 70%
DebugWorkerScheduler.ktdomain/src/main/java/org/oppia/android/domain/workmanager/debug/DebugWorkerScheduler.kt
100.00% 9 / 9 70%
WorkManagerScheduler.ktdomain/src/main/java/org/oppia/android/domain/workmanager/WorkManagerScheduler.kt
100.00% 30 / 30 70%
BootstrapOppiaWorker.ktdomain/src/main/java/org/oppia/android/domain/workmanager/BootstrapOppiaWorker.kt
100.00% 51 / 51 70%
WorkManagerConfigurationModule.ktdomain/src/main/java/org/oppia/android/domain/workmanager/WorkManagerConfigurationModule.kt
100.00% 8 / 8 70%
RetrofitModule.ktdata/src/main/java/org/oppia/android/data/backends/gae/RetrofitModule.kt
100.00% 15 / 15 70%
RetryInterceptor.ktdata/src/main/java/org/oppia/android/data/backends/gae/RetryInterceptor.kt
87.50% 28 / 32 70%
NumberWithUnitsParser.ktutility/src/main/java/org/oppia/android/util/math/NumberWithUnitsParser.kt
99.15% 352 / 355 70%
NumberWithUnitsTokenizer.ktutility/src/main/java/org/oppia/android/util/math/NumberWithUnitsTokenizer.kt
98.10% 103 / 105 70%
WorkedExampleTagHandler.ktutility/src/main/java/org/oppia/android/util/parser/html/WorkedExampleTagHandler.kt
97.37% 74 / 76 70%
LiTagHandler.ktutility/src/main/java/org/oppia/android/util/parser/html/LiTagHandler.kt
89.86% 133 / 148 70%
CustomHtmlContentHandler.ktutility/src/main/java/org/oppia/android/util/parser/html/CustomHtmlContentHandler.kt
87.42% 132 / 151 70%
MachineLocaleImpl.ktutility/src/main/java/org/oppia/android/util/locale/MachineLocaleImpl.kt
86.05% 37 / 43 70%
OppiaBidiFormatterImpl.ktutility/src/main/java/org/oppia/android/util/locale/OppiaBidiFormatterImpl.kt
100.00% 5 / 5 70%
AndroidLocaleProfile.ktutility/src/main/java/org/oppia/android/util/locale/AndroidLocaleProfile.kt
100.00% 94 / 94 70%
TestOppiaBidiFormatter.ktutility/src/main/java/org/oppia/android/util/locale/testing/TestOppiaBidiFormatter.kt
82.61% 19 / 23 70%
ActivityRouter.ktapp/src/main/java/org/oppia/android/app/activity/route/ActivityRouter.kt
100.00% 12 / 12 70%
EdgeToEdgeHelper.ktapp/src/main/java/org/oppia/android/app/utility/edgetoedge/EdgeToEdgeHelper.kt
96.85% 246 / 254 70%
ActivityLanguageLocaleHandler.ktapp/src/main/java/org/oppia/android/app/translation/ActivityLanguageLocaleHandler.kt
100.00% 11 / 11 70%
AppLanguageWatcherMixin.ktapp/src/main/java/org/oppia/android/app/translation/AppLanguageWatcherMixin.kt
71.05% 27 / 38 70%
UploadChangelogToPlayConsole.ktscripts/src/java/org/oppia/android/scripts/release/UploadChangelogToPlayConsole.kt
86.67% 91 / 105 70%
GooglePlayConsoleClient.ktscripts/src/java/org/oppia/android/scripts/release/GooglePlayConsoleClient.kt
96.63% 86 / 89 70%
FindAlphaCandidate.ktscripts/src/java/org/oppia/android/scripts/release/FindAlphaCandidate.kt
78.46% 51 / 65 70%
GenerateChangelogs.ktscripts/src/java/org/oppia/android/scripts/release/GenerateChangelogs.kt
85.48% 212 / 248 70%
FakePlayConsoleClient.ktscripts/src/java/org/oppia/android/scripts/release/FakePlayConsoleClient.kt
86.36% 114 / 132 70%
PendingReleaseChecker.ktscripts/src/java/org/oppia/android/scripts/release/PendingReleaseChecker.kt
100.00% 13 / 13 70%
FakeGitHubCiClient.ktscripts/src/java/org/oppia/android/scripts/release/FakeGitHubCiClient.kt
100.00% 11 / 11 70%
UploadBinaryToPlayConsole.ktscripts/src/java/org/oppia/android/scripts/release/UploadBinaryToPlayConsole.kt
98.23% 111 / 113 70%
UpdateRolloutFraction.ktscripts/src/java/org/oppia/android/scripts/release/UpdateRolloutFraction.kt
86.30% 63 / 73 70%
VersionInversionChecker.ktscripts/src/java/org/oppia/android/scripts/release/VersionInversionChecker.kt
100.00% 48 / 48 70%
KdocValidityCheck.ktscripts/src/java/org/oppia/android/scripts/docs/KdocValidityCheck.kt
99.25% 132 / 133 70%
RegexPatternValidationCheck.ktscripts/src/java/org/oppia/android/scripts/regex/RegexPatternValidationCheck.kt
100.00% 104 / 104 70%
AndroidLintRunner.ktscripts/src/java/org/oppia/android/scripts/lint/AndroidLintRunner.kt
71.83% 255 / 355 70%
LintModelCreator.ktscripts/src/java/org/oppia/android/scripts/lint/LintModelCreator.kt
81.82% 180 / 220 70%
AndroidBuildSdkProperties.ktscripts/src/java/org/oppia/android/scripts/common/AndroidBuildSdkProperties.kt
100.00% 10 / 10 70%
CpuPerformanceSnapshotterModule.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/analytics/CpuPerformanceSnapshotterModule.kt
80.00% 4 / 5 26% *
JsonPrefixNetworkInterceptor.ktdata/src/main/java/org/oppia/android/data/backends/gae/JsonPrefixNetworkInterceptor.kt
28.57% 4 / 14 28% *
ActivityIntentFactories.ktapp/src/main/java/org/oppia/android/app/activity/ActivityIntentFactories.kt
0.00% 0 / 0 0% *
InitializeDefaultLocaleRule.kttesting/src/main/java/org/oppia/android/testing/junit/InitializeDefaultLocaleRule.kt
100.00% 85 / 85 100% *

* represents tests with custom overridden pass/fail coverage thresholds

Exempted coverage

Files exempted from coverage
File Exemption Reason
TopicController.ktdomain/src/main/java/org/oppia/android/domain/topic/TopicController.kt
This file is incompatible with code coverage tooling; skipping coverage check.
TopicListController.ktdomain/src/main/java/org/oppia/android/domain/topic/TopicListController.kt
This file is incompatible with code coverage tooling; skipping coverage check.
StoryProgressController.ktdomain/src/main/java/org/oppia/android/domain/topic/StoryProgressController.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ApplicationStartupListener.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/ApplicationStartupListener.kt
This file is exempted from having a test file; skipping coverage check.
MetricLogSchedulerModule.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/logscheduler/MetricLogSchedulerModule.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ExceptionsController.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/exceptions/ExceptionsController.kt
This file is incompatible with code coverage tooling; skipping coverage check.
UncaughtExceptionLoggerStartupListener.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/exceptions/UncaughtExceptionLoggerStartupListener.kt
This file is incompatible with code coverage tooling; skipping coverage check.
LogReportWorkerModule.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/loguploader/LogReportWorkerModule.kt
This file is exempted from having a test file; skipping coverage check.
ApplicationLifecycleListener.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/analytics/ApplicationLifecycleListener.kt
This file is exempted from having a test file; skipping coverage check.
ApplicationLifecycleLogger.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/analytics/ApplicationLifecycleLogger.kt
This file is exempted from having a test file; skipping coverage check.
ApplicationLifecycleObserver.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/analytics/ApplicationLifecycleObserver.kt
This file is incompatible with code coverage tooling; skipping coverage check.
LearnerAnalyticsLogger.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/analytics/LearnerAnalyticsLogger.kt
This file is incompatible with code coverage tooling; skipping coverage check.
QuestionAssessmentProgressController.ktdomain/src/main/java/org/oppia/android/domain/question/QuestionAssessmentProgressController.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ExplorationCheckpointController.ktdomain/src/main/java/org/oppia/android/domain/exploration/lightweightcheckpointing/ExplorationCheckpointController.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ExplorationDataController.ktdomain/src/main/java/org/oppia/android/domain/exploration/ExplorationDataController.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ExplorationProgressListener.ktdomain/src/main/java/org/oppia/android/domain/exploration/ExplorationProgressListener.kt
This file is exempted from having a test file; skipping coverage check.
TimerSessionState.ktdomain/src/main/java/org/oppia/android/domain/exploration/TimerSessionState.kt
This file is exempted from having a test file; skipping coverage check.
ExplorationProgress.ktdomain/src/main/java/org/oppia/android/domain/exploration/ExplorationProgress.kt
This file is exempted from having a test file; skipping coverage check.
ExplorationActiveTimeController.ktdomain/src/main/java/org/oppia/android/domain/exploration/ExplorationActiveTimeController.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ExplorationProgressController.ktdomain/src/main/java/org/oppia/android/domain/exploration/ExplorationProgressController.kt
This file is incompatible with code coverage tooling; skipping coverage check.
PlatformParameterModule.ktdomain/src/main/java/org/oppia/android/domain/platformparameter/PlatformParameterModule.kt
This file is incompatible with code coverage tooling; skipping coverage check.
PlatformParameterSyncUpWorkerModule.ktdomain/src/main/java/org/oppia/android/domain/platformparameter/syncup/PlatformParameterSyncUpWorkerModule.kt
This file is exempted from having a test file; skipping coverage check.
FeatureFlagsMapBindingModule.ktdomain/src/main/java/org/oppia/android/domain/platformparameter/FeatureFlagsMapBindingModule.kt
This file is exempted from having a test file; skipping coverage check.
FeatureFlagBindingModule.ktdomain/src/main/java/org/oppia/android/domain/platformparameter/FeatureFlagBindingModule.kt
This file is exempted from having a test file; skipping coverage check.
ModifyLessonProgressController.ktdomain/src/main/java/org/oppia/android/domain/devoptions/ModifyLessonProgressController.kt
This file is incompatible with code coverage tooling; skipping coverage check.
DebugWorkerDebugModule.ktdomain/src/main/java/org/oppia/android/domain/workmanager/debug/DebugWorkerDebugModule.kt
This file is incompatible with code coverage tooling; skipping coverage check.
StartupWorkerScheduleReadinessMonitor.ktdomain/src/main/java/org/oppia/android/domain/workmanager/StartupWorkerScheduleReadinessMonitor.kt
This file is exempted from having a test file; skipping coverage check.
OppiaWorker.ktdomain/src/main/java/org/oppia/android/domain/workmanager/OppiaWorker.kt
This file is exempted from having a test file; skipping coverage check.
StartupWorkerScheduleReadinessListener.ktdomain/src/main/java/org/oppia/android/domain/workmanager/StartupWorkerScheduleReadinessListener.kt
This file is exempted from having a test file; skipping coverage check.
OppiaWorkManagerTestDriver.ktdomain/src/main/java/org/oppia/android/domain/workmanager/testing/OppiaWorkManagerTestDriver.kt
This file is exempted from having a test file; skipping coverage check.
AudioPlayerController.ktdomain/src/main/java/org/oppia/android/domain/audio/AudioPlayerController.kt
This file is incompatible with code coverage tooling; skipping coverage check.
NetworkDelayHandlerImpl.ktdata/src/main/java/org/oppia/android/data/backends/gae/NetworkDelayHandlerImpl.kt
This file is exempted from having a test file; skipping coverage check.
NetworkDelayHandler.ktdata/src/main/java/org/oppia/android/data/backends/gae/NetworkDelayHandler.kt
This file is exempted from having a test file; skipping coverage check.
NumberWithUnitsParsingError.ktutility/src/main/java/org/oppia/android/util/math/NumberWithUnitsParsingError.kt
This file is exempted from having a test file; skipping coverage check.
AccessibilityServiceImpl.ktutility/src/main/java/org/oppia/android/util/accessibility/AccessibilityServiceImpl.kt
This file is exempted from having a test file; skipping coverage check.
MathBitmapModelLoader.ktutility/src/main/java/org/oppia/android/util/parser/math/MathBitmapModelLoader.kt
This file is exempted from having a test file; skipping coverage check.
HtmlParser.ktutility/src/main/java/org/oppia/android/util/parser/html/HtmlParser.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ListItemLeadingMarginSpan.ktutility/src/main/java/org/oppia/android/util/parser/html/ListItemLeadingMarginSpan.kt
This file is incompatible with code coverage tooling; skipping coverage check.
FeatureFlagConstants.ktutility/src/main/java/org/oppia/android/util/platformparameter/FeatureFlagConstants.kt
This file is exempted from having a test file; skipping coverage check.
PlatformParameterConstants.ktutility/src/main/java/org/oppia/android/util/platformparameter/PlatformParameterConstants.kt
This file is exempted from having a test file; skipping coverage check.
TestApplicationComponent.ktinstrumentation/src/java/org/oppia/android/instrumentation/application/TestApplicationComponent.kt
This file is exempted from having a test file; skipping coverage check.
ConceptCardFragment.ktapp/src/main/java/org/oppia/android/app/topic/conceptcard/ConceptCardFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ConceptCardFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/topic/conceptcard/ConceptCardFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
TopicLessonsFragment.ktapp/src/main/java/org/oppia/android/app/topic/lessons/TopicLessonsFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
TopicLessonsFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/topic/lessons/TopicLessonsFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
TopicFragment.ktapp/src/main/java/org/oppia/android/app/topic/TopicFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
TopicRevisionFragment.ktapp/src/main/java/org/oppia/android/app/topic/revision/TopicRevisionFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
TopicInfoFragment.ktapp/src/main/java/org/oppia/android/app/topic/info/TopicInfoFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
RevisionCardActivity.ktapp/src/main/java/org/oppia/android/app/topic/revisioncard/RevisionCardActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
RevisionCardFragment.ktapp/src/main/java/org/oppia/android/app/topic/revisioncard/RevisionCardFragment.kt
This file is incompatible with code coverage tooling; 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.
StudyGuideActivity.ktapp/src/main/java/org/oppia/android/app/topic/studyguide/StudyGuideActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
StudyGuideFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/topic/studyguide/StudyGuideFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
StudyGuideFragment.ktapp/src/main/java/org/oppia/android/app/topic/studyguide/StudyGuideFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
StudyGuideActivityPresenter.ktapp/src/main/java/org/oppia/android/app/topic/studyguide/StudyGuideActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
TopicPracticeFragment.ktapp/src/main/java/org/oppia/android/app/topic/practice/TopicPracticeFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
TopicActivity.ktapp/src/main/java/org/oppia/android/app/topic/TopicActivity.kt
This file is incompatible with code coverage tooling; 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.
QuestionPlayerActivity.ktapp/src/main/java/org/oppia/android/app/topic/questionplayer/QuestionPlayerActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
WelcomeViewModel.ktapp/src/main/java/org/oppia/android/app/home/WelcomeViewModel.kt
This file is incompatible with code coverage tooling; skipping coverage check.
PromotedStoryViewModel.ktapp/src/main/java/org/oppia/android/app/home/promotedlist/PromotedStoryViewModel.kt
This file is incompatible with code coverage tooling; skipping coverage check.
PromotedStoryListViewModel.ktapp/src/main/java/org/oppia/android/app/home/promotedlist/PromotedStoryListViewModel.kt
This file is incompatible with code coverage tooling; skipping coverage check.
RecentlyPlayedFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/home/recentlyplayed/RecentlyPlayedFragmentPresenter.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.
RecentlyPlayedFragment.ktapp/src/main/java/org/oppia/android/app/home/recentlyplayed/RecentlyPlayedFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
RecentlyPlayedActivity.ktapp/src/main/java/org/oppia/android/app/home/recentlyplayed/RecentlyPlayedActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
TopicSummaryViewModel.ktapp/src/main/java/org/oppia/android/app/home/topiclist/TopicSummaryViewModel.kt
This file is incompatible with code coverage tooling; skipping coverage check.
HomeActivity.ktapp/src/main/java/org/oppia/android/app/home/HomeActivity.kt
This file is incompatible with code coverage tooling; 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.
AdminIntroActivity.ktapp/src/main/java/org/oppia/android/app/onboarding/AdminIntroActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
OnboardingProfileTypeActivityPresenter.ktapp/src/main/java/org/oppia/android/app/onboarding/OnboardingProfileTypeActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
AudioLanguageFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/onboarding/AudioLanguageFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
AdminIntroFragment.ktapp/src/main/java/org/oppia/android/app/onboarding/AdminIntroFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
OnboardingFragment.ktapp/src/main/java/org/oppia/android/app/onboarding/OnboardingFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
AdminIntroFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/onboarding/AdminIntroFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
CreateProfileFragment.ktapp/src/main/java/org/oppia/android/app/onboarding/CreateProfileFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
IntroFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/onboarding/IntroFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
AdminIntroActivityPresenter.ktapp/src/main/java/org/oppia/android/app/onboarding/AdminIntroActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
OnboardingFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/onboarding/OnboardingFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
CreateProfileFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/onboarding/CreateProfileFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
CreateProfileActivityPresenter.ktapp/src/main/java/org/oppia/android/app/onboarding/CreateProfileActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
OnboardingProfileTypeActivity.ktapp/src/main/java/org/oppia/android/app/onboarding/OnboardingProfileTypeActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
OnboardingProfileTypeFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/onboarding/OnboardingProfileTypeFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
IntroFragment.ktapp/src/main/java/org/oppia/android/app/onboarding/IntroFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
OnboardingActivity.ktapp/src/main/java/org/oppia/android/app/onboarding/OnboardingActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
OnboardingProfileTypeFragment.ktapp/src/main/java/org/oppia/android/app/onboarding/OnboardingProfileTypeFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
IntroActivity.ktapp/src/main/java/org/oppia/android/app/onboarding/IntroActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
CreateProfileActivity.ktapp/src/main/java/org/oppia/android/app/onboarding/CreateProfileActivity.kt
This file is incompatible with code coverage tooling; 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.
OnboardingActivityPresenter.ktapp/src/main/java/org/oppia/android/app/onboarding/OnboardingActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
IntroActivityPresenter.ktapp/src/main/java/org/oppia/android/app/onboarding/IntroActivityPresenter.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.
SplashActivity.ktapp/src/main/java/org/oppia/android/app/splash/SplashActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
SurveyWelcomeDialogFragment.ktapp/src/main/java/org/oppia/android/app/survey/SurveyWelcomeDialogFragment.kt
This file is exempted from having a test file; skipping coverage check.
SurveyActivity.ktapp/src/main/java/org/oppia/android/app/survey/SurveyActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
SurveyOutroDialogFragment.ktapp/src/main/java/org/oppia/android/app/survey/SurveyOutroDialogFragment.kt
This file is exempted from having a test file; skipping coverage check.
SurveyWelcomeDialogFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/survey/SurveyWelcomeDialogFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
SurveyActivityPresenter.ktapp/src/main/java/org/oppia/android/app/survey/SurveyActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
SurveyFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/survey/SurveyFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
SurveyOutroDialogFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/survey/SurveyOutroDialogFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
SurveyFragment.ktapp/src/main/java/org/oppia/android/app/survey/SurveyFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
BindableAdapter.ktapp/src/main/java/org/oppia/android/app/recyclerview/BindableAdapter.kt
This file is incompatible with code coverage tooling; skipping coverage check.
StoryChapterSummaryViewModel.ktapp/src/main/java/org/oppia/android/app/story/storyitemviewmodel/StoryChapterSummaryViewModel.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.
StoryActivity.ktapp/src/main/java/org/oppia/android/app/story/StoryActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
StoryFragment.ktapp/src/main/java/org/oppia/android/app/story/StoryFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ProfileChooserFragment.ktapp/src/main/java/org/oppia/android/app/profile/ProfileChooserFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
AddProfileActivity.ktapp/src/main/java/org/oppia/android/app/profile/AddProfileActivity.kt
This file is incompatible with code coverage tooling; 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.
ProfileLoginActivityPresenter.ktapp/src/main/java/org/oppia/android/app/profile/ProfileLoginActivityPresenter.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.
AdminAuthActivity.ktapp/src/main/java/org/oppia/android/app/profile/AdminAuthActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ProfileChooserActivity.ktapp/src/main/java/org/oppia/android/app/profile/ProfileChooserActivity.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.
PinPasswordActivityPresenter.ktapp/src/main/java/org/oppia/android/app/profile/PinPasswordActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
PinPasswordActivity.ktapp/src/main/java/org/oppia/android/app/profile/PinPasswordActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ProfileLoginFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/profile/ProfileLoginFragmentPresenter.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.
ProfileLoginActivity.ktapp/src/main/java/org/oppia/android/app/profile/ProfileLoginActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
AdminPinActivity.ktapp/src/main/java/org/oppia/android/app/profile/AdminPinActivity.kt
This file is incompatible with code coverage tooling; 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.
AdminPinActivityPresenter.ktapp/src/main/java/org/oppia/android/app/profile/AdminPinActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ProfileLoginFragment.ktapp/src/main/java/org/oppia/android/app/profile/ProfileLoginFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ActivityRouterModule.ktapp/src/main/java/org/oppia/android/app/activity/route/ActivityRouterModule.kt
This file is incompatible with code coverage tooling; skipping coverage check.
OptionalAppDeprecationNoticeDialogFragment.ktapp/src/main/java/org/oppia/android/app/notice/OptionalAppDeprecationNoticeDialogFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
OsDeprecationNoticeDialogFragment.ktapp/src/main/java/org/oppia/android/app/notice/OsDeprecationNoticeDialogFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
GeneralAvailabilityUpgradeNoticeDialogFragment.ktapp/src/main/java/org/oppia/android/app/notice/GeneralAvailabilityUpgradeNoticeDialogFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ForcedAppDeprecationNoticeDialogFragment.ktapp/src/main/java/org/oppia/android/app/notice/ForcedAppDeprecationNoticeDialogFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
BetaNoticeDialogFragment.ktapp/src/main/java/org/oppia/android/app/notice/BetaNoticeDialogFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
PoliciesFragment.ktapp/src/main/java/org/oppia/android/app/policies/PoliciesFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
PoliciesActivity.ktapp/src/main/java/org/oppia/android/app/policies/PoliciesActivity.kt
This file is incompatible with code coverage tooling; 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.
SpotlightFragment.ktapp/src/main/java/org/oppia/android/app/spotlight/SpotlightFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
MyDownloadsFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/mydownloads/MyDownloadsFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
MyDownloadsActivityPresenter.ktapp/src/main/java/org/oppia/android/app/mydownloads/MyDownloadsActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
MyDownloadsFragment.ktapp/src/main/java/org/oppia/android/app/mydownloads/MyDownloadsFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
MyDownloadsActivity.ktapp/src/main/java/org/oppia/android/app/mydownloads/MyDownloadsActivity.kt
This file is exempted from having a test file; skipping coverage check.
MathExpressionAccessibilityUtil.ktapp/src/main/java/org/oppia/android/app/utility/math/MathExpressionAccessibilityUtil.kt
This file is incompatible with code coverage tooling; skipping coverage check.
RatioExtensions.ktapp/src/main/java/org/oppia/android/app/utility/RatioExtensions.kt
This file is incompatible with code coverage tooling; skipping coverage check.
DateTimeUtil.ktapp/src/main/java/org/oppia/android/app/utility/datetime/DateTimeUtil.kt
This file is incompatible with code coverage tooling; skipping coverage check.
AppLanguageFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/options/AppLanguageFragmentPresenter.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.
OptionsActivity.ktapp/src/main/java/org/oppia/android/app/options/OptionsActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
AppLanguageFragment.ktapp/src/main/java/org/oppia/android/app/options/AppLanguageFragment.kt
This file is incompatible with code coverage tooling; 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.
AudioLanguageSelectionViewModel.ktapp/src/main/java/org/oppia/android/app/options/AudioLanguageSelectionViewModel.kt
This file is exempted from having a test file; skipping coverage check.
ReadingTextSizeActivity.ktapp/src/main/java/org/oppia/android/app/options/ReadingTextSizeActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
OptionsFragment.ktapp/src/main/java/org/oppia/android/app/options/OptionsFragment.kt
This file is incompatible with code coverage tooling; 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.
ReadingTextSizeActivityPresenter.ktapp/src/main/java/org/oppia/android/app/options/ReadingTextSizeActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
AppLanguageActivity.ktapp/src/main/java/org/oppia/android/app/options/AppLanguageActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ReadingTextSizeFragment.ktapp/src/main/java/org/oppia/android/app/options/ReadingTextSizeFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
AudioLanguageActivity.ktapp/src/main/java/org/oppia/android/app/options/AudioLanguageActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
AudioLanguageFragment.ktapp/src/main/java/org/oppia/android/app/options/AudioLanguageFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
FractionParsingUiError.ktapp/src/main/java/org/oppia/android/app/parser/FractionParsingUiError.kt
This file is incompatible with code coverage tooling; skipping coverage check.
StringToRatioParser.ktapp/src/main/java/org/oppia/android/app/parser/StringToRatioParser.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ProfileRenameFragment.ktapp/src/main/java/org/oppia/android/app/settings/profile/ProfileRenameFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ProfileResetPinFragment.ktapp/src/main/java/org/oppia/android/app/settings/profile/ProfileResetPinFragment.kt
This file is incompatible with code coverage tooling; 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.
ProfileResetPinActivity.ktapp/src/main/java/org/oppia/android/app/settings/profile/ProfileResetPinActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ProfileRenameActivity.ktapp/src/main/java/org/oppia/android/app/settings/profile/ProfileRenameActivity.kt
This file is incompatible with code coverage tooling; 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.
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.
ProfileEditFragment.ktapp/src/main/java/org/oppia/android/app/settings/profile/ProfileEditFragment.kt
This file is exempted from having a test file; skipping coverage check.
ProfileListFragment.ktapp/src/main/java/org/oppia/android/app/settings/profile/ProfileListFragment.kt
This file is incompatible with code coverage tooling; 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.
ProfileListActivity.ktapp/src/main/java/org/oppia/android/app/settings/profile/ProfileListActivity.kt
This file is incompatible with code coverage tooling; 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.
ProfileEditActivity.ktapp/src/main/java/org/oppia/android/app/settings/profile/ProfileEditActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
CompletedStoryListActivity.ktapp/src/main/java/org/oppia/android/app/completedstorylist/CompletedStoryListActivity.kt
This file is incompatible with code coverage tooling; 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.
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.
AppVersionActivity.ktapp/src/main/java/org/oppia/android/app/administratorcontrols/appversion/AppVersionActivity.kt
This file is incompatible with code coverage tooling; 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.
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.
ProfileAndDeviceIdFragment.ktapp/src/main/java/org/oppia/android/app/administratorcontrols/learneranalytics/ProfileAndDeviceIdFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ProfileAndDeviceIdActivity.ktapp/src/main/java/org/oppia/android/app/administratorcontrols/learneranalytics/ProfileAndDeviceIdActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
AdministratorControlsActivity.ktapp/src/main/java/org/oppia/android/app/administratorcontrols/AdministratorControlsActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
AdministratorControlsFragment.ktapp/src/main/java/org/oppia/android/app/administratorcontrols/AdministratorControlsFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ClassroomListActivity.ktapp/src/main/java/org/oppia/android/app/classroom/ClassroomListActivity.kt
This file is incompatible with code coverage tooling; 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.
ClassroomListFragment.ktapp/src/main/java/org/oppia/android/app/classroom/ClassroomListFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ExplorationFragment.ktapp/src/main/java/org/oppia/android/app/player/exploration/ExplorationFragment.kt
This file is exempted from having a test file; skipping coverage check.
ExplorationActivity.ktapp/src/main/java/org/oppia/android/app/player/exploration/ExplorationActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ExplorationFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/player/exploration/ExplorationFragmentPresenter.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.
BottomSheetOptionsMenu.ktapp/src/main/java/org/oppia/android/app/player/exploration/BottomSheetOptionsMenu.kt
This file is incompatible with code coverage tooling; skipping coverage check.
StateFragment.ktapp/src/main/java/org/oppia/android/app/player/state/StateFragment.kt
This file is incompatible with code coverage tooling; 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.
LessonProgressViewModel.ktapp/src/main/java/org/oppia/android/app/player/state/itemviewmodel/LessonProgressViewModel.kt
This file is exempted from having a test file; skipping coverage check.
StateViewModel.ktapp/src/main/java/org/oppia/android/app/player/state/StateViewModel.kt
This file is exempted from having a test file; skipping coverage check.
StatePlayerRecyclerViewAssembler.ktapp/src/main/java/org/oppia/android/app/player/state/StatePlayerRecyclerViewAssembler.kt
This file is exempted from having a test file; skipping coverage check.
StateFragmentTestActivityPresenter.ktapp/src/main/java/org/oppia/android/app/player/state/testing/StateFragmentTestActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ImageRegionSelectionInteractionView.ktapp/src/main/java/org/oppia/android/app/player/state/ImageRegionSelectionInteractionView.kt
This file is incompatible with code coverage tooling; skipping coverage check.
AudioViewModel.ktapp/src/main/java/org/oppia/android/app/player/audio/AudioViewModel.kt
This file is exempted from having a test file; skipping coverage check.
AudioFragment.ktapp/src/main/java/org/oppia/android/app/player/audio/AudioFragment.kt
This file is incompatible with code coverage tooling; 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.
ProfilePictureActivity.ktapp/src/main/java/org/oppia/android/app/profileprogress/ProfilePictureActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ProfileProgressFragment.ktapp/src/main/java/org/oppia/android/app/profileprogress/ProfileProgressFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ProfileProgressActivity.ktapp/src/main/java/org/oppia/android/app/profileprogress/ProfileProgressActivity.kt
This file is incompatible with code coverage tooling; 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.
LessonThumbnailImageView.ktapp/src/main/java/org/oppia/android/app/customview/LessonThumbnailImageView.kt
This file is incompatible with code coverage tooling; skipping coverage check.
MathExpressionInteractionsView.ktapp/src/main/java/org/oppia/android/app/customview/interaction/MathExpressionInteractionsView.kt
This file is incompatible with code coverage tooling; skipping coverage check.
LessonProgressIndicatorView.ktapp/src/main/java/org/oppia/android/app/customview/LessonProgressIndicatorView.kt
This file is incompatible with code coverage tooling; 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.
OngoingTopicListActivity.ktapp/src/main/java/org/oppia/android/app/ongoingtopiclist/OngoingTopicListActivity.kt
This file is incompatible with code coverage tooling; 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.
ResumeLessonFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/resumelesson/ResumeLessonFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ResumeLessonActivity.ktapp/src/main/java/org/oppia/android/app/resumelesson/ResumeLessonActivity.kt
This file is incompatible with code coverage tooling; 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.
ResumeLessonFragment.ktapp/src/main/java/org/oppia/android/app/resumelesson/ResumeLessonFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
AppLanguageResourceHandler.ktapp/src/main/java/org/oppia/android/app/translation/AppLanguageResourceHandler.kt
This file is incompatible with code coverage tooling; skipping coverage check.
WalkthroughFinalFragment.ktapp/src/main/java/org/oppia/android/app/walkthrough/end/WalkthroughFinalFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
WalkthroughWelcomeFragment.ktapp/src/main/java/org/oppia/android/app/walkthrough/welcome/WalkthroughWelcomeFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
WalkthroughActivity.ktapp/src/main/java/org/oppia/android/app/walkthrough/WalkthroughActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
WalkthroughTopicListFragment.ktapp/src/main/java/org/oppia/android/app/walkthrough/topiclist/WalkthroughTopicListFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
WalkthroughActivityPresenter.ktapp/src/main/java/org/oppia/android/app/walkthrough/WalkthroughActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
PlatformParametersActivity.ktapp/src/main/java/org/oppia/android/app/devoptions/platformparameters/PlatformParametersActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
PlatformParametersActivityPresenter.ktapp/src/main/java/org/oppia/android/app/devoptions/platformparameters/PlatformParametersActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
PlatformParametersFragment.ktapp/src/main/java/org/oppia/android/app/devoptions/platformparameters/PlatformParametersFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
PlatformParametersFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/devoptions/platformparameters/PlatformParametersFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ViewEventLogsActivityPresenter.ktapp/src/main/java/org/oppia/android/app/devoptions/vieweventlogs/ViewEventLogsActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ViewEventLogsFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/devoptions/vieweventlogs/ViewEventLogsFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ViewEventLogsFragment.ktapp/src/main/java/org/oppia/android/app/devoptions/vieweventlogs/ViewEventLogsFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ViewEventLogsActivity.ktapp/src/main/java/org/oppia/android/app/devoptions/vieweventlogs/ViewEventLogsActivity.kt</de...[Comment body truncated]

Comment thread .github/workflows/generate_changelog.yml

@adhiamboperes adhiamboperes left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@oppiabot

oppiabot Bot commented Sep 9, 2026

Copy link
Copy Markdown

Unassigning @adhiamboperes since they have already approved the PR.

@oppiabot

oppiabot Bot commented Sep 9, 2026

Copy link
Copy Markdown

Hi @Sandesh282, this PR is ready to be merged. Please address any remaining comments prior to merging, and feel free to merge this PR once the CI checks pass and you're happy with it. Thanks!

@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Coverage Report

Results

Number of files assessed: 362
Overall Coverage: 91.37%
Coverage Analysis: PASS

Passing coverage

Files with passing code coverage
File Coverage Lines Hit Status Min Required
SurveyGatingController.ktdomain/src/main/java/org/oppia/android/domain/survey/SurveyGatingController.kt
96.97% 32 / 33 70%
MetricLogSchedulingWorker.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/logscheduler/MetricLogSchedulingWorker.kt
100.00% 31 / 31 70%
MetricLogSchedulingWorkerScheduler.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/logscheduler/MetricLogSchedulingWorkerScheduler.kt
100.00% 19 / 19 70%
LogUploadWorker.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/loguploader/LogUploadWorker.kt
98.44% 63 / 64 70%
LogReportWorkerScheduler.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/loguploader/LogReportWorkerScheduler.kt
100.00% 5 / 5 70%
PerformanceMetricsLogger.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/analytics/PerformanceMetricsLogger.kt
100.00% 98 / 98 70%
FeatureFlagsLogger.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/analytics/FeatureFlagsLogger.kt
100.00% 23 / 23 70%
CpuPerformanceSnapshotter.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/analytics/CpuPerformanceSnapshotter.kt
87.61% 99 / 113 70%
LocaleController.ktdomain/src/main/java/org/oppia/android/domain/locale/LocaleController.kt
92.49% 160 / 173 70%
TranslationController.ktdomain/src/main/java/org/oppia/android/domain/translation/TranslationController.kt
94.15% 161 / 171 70%
PlatformParameterSyncUpWorkerScheduler.ktdomain/src/main/java/org/oppia/android/domain/platformparameter/syncup/PlatformParameterSyncUpWorkerScheduler.kt
100.00% 8 / 8 70%
PlatformParameterSyncUpWorker.ktdomain/src/main/java/org/oppia/android/domain/platformparameter/syncup/PlatformParameterSyncUpWorker.kt
75.86% 22 / 29 70%
DebugWorker.ktdomain/src/main/java/org/oppia/android/domain/workmanager/debug/DebugWorker.kt
100.00% 19 / 19 70%
DebugWorkerScheduler.ktdomain/src/main/java/org/oppia/android/domain/workmanager/debug/DebugWorkerScheduler.kt
100.00% 9 / 9 70%
WorkManagerScheduler.ktdomain/src/main/java/org/oppia/android/domain/workmanager/WorkManagerScheduler.kt
100.00% 30 / 30 70%
BootstrapOppiaWorker.ktdomain/src/main/java/org/oppia/android/domain/workmanager/BootstrapOppiaWorker.kt
100.00% 51 / 51 70%
WorkManagerConfigurationModule.ktdomain/src/main/java/org/oppia/android/domain/workmanager/WorkManagerConfigurationModule.kt
100.00% 8 / 8 70%
RetrofitModule.ktdata/src/main/java/org/oppia/android/data/backends/gae/RetrofitModule.kt
100.00% 15 / 15 70%
RetryInterceptor.ktdata/src/main/java/org/oppia/android/data/backends/gae/RetryInterceptor.kt
87.50% 28 / 32 70%
NumberWithUnitsParser.ktutility/src/main/java/org/oppia/android/util/math/NumberWithUnitsParser.kt
99.15% 352 / 355 70%
NumberWithUnitsTokenizer.ktutility/src/main/java/org/oppia/android/util/math/NumberWithUnitsTokenizer.kt
98.10% 103 / 105 70%
WorkedExampleTagHandler.ktutility/src/main/java/org/oppia/android/util/parser/html/WorkedExampleTagHandler.kt
97.37% 74 / 76 70%
LiTagHandler.ktutility/src/main/java/org/oppia/android/util/parser/html/LiTagHandler.kt
89.86% 133 / 148 70%
CustomHtmlContentHandler.ktutility/src/main/java/org/oppia/android/util/parser/html/CustomHtmlContentHandler.kt
87.42% 132 / 151 70%
MachineLocaleImpl.ktutility/src/main/java/org/oppia/android/util/locale/MachineLocaleImpl.kt
86.05% 37 / 43 70%
OppiaBidiFormatterImpl.ktutility/src/main/java/org/oppia/android/util/locale/OppiaBidiFormatterImpl.kt
100.00% 5 / 5 70%
AndroidLocaleProfile.ktutility/src/main/java/org/oppia/android/util/locale/AndroidLocaleProfile.kt
100.00% 94 / 94 70%
TestOppiaBidiFormatter.ktutility/src/main/java/org/oppia/android/util/locale/testing/TestOppiaBidiFormatter.kt
82.61% 19 / 23 70%
ActivityRouter.ktapp/src/main/java/org/oppia/android/app/activity/route/ActivityRouter.kt
100.00% 12 / 12 70%
EdgeToEdgeHelper.ktapp/src/main/java/org/oppia/android/app/utility/edgetoedge/EdgeToEdgeHelper.kt
96.85% 246 / 254 70%
ActivityLanguageLocaleHandler.ktapp/src/main/java/org/oppia/android/app/translation/ActivityLanguageLocaleHandler.kt
100.00% 11 / 11 70%
AppLanguageWatcherMixin.ktapp/src/main/java/org/oppia/android/app/translation/AppLanguageWatcherMixin.kt
71.05% 27 / 38 70%
UploadChangelogToPlayConsole.ktscripts/src/java/org/oppia/android/scripts/release/UploadChangelogToPlayConsole.kt
86.67% 91 / 105 70%
GooglePlayConsoleClient.ktscripts/src/java/org/oppia/android/scripts/release/GooglePlayConsoleClient.kt
96.63% 86 / 89 70%
FindAlphaCandidate.ktscripts/src/java/org/oppia/android/scripts/release/FindAlphaCandidate.kt
78.46% 51 / 65 70%
GenerateChangelogs.ktscripts/src/java/org/oppia/android/scripts/release/GenerateChangelogs.kt
85.83% 212 / 247 70%
FakePlayConsoleClient.ktscripts/src/java/org/oppia/android/scripts/release/FakePlayConsoleClient.kt
86.36% 114 / 132 70%
PendingReleaseChecker.ktscripts/src/java/org/oppia/android/scripts/release/PendingReleaseChecker.kt
100.00% 13 / 13 70%
FakeGitHubCiClient.ktscripts/src/java/org/oppia/android/scripts/release/FakeGitHubCiClient.kt
100.00% 11 / 11 70%
UploadBinaryToPlayConsole.ktscripts/src/java/org/oppia/android/scripts/release/UploadBinaryToPlayConsole.kt
98.23% 111 / 113 70%
UpdateRolloutFraction.ktscripts/src/java/org/oppia/android/scripts/release/UpdateRolloutFraction.kt
86.30% 63 / 73 70%
VersionInversionChecker.ktscripts/src/java/org/oppia/android/scripts/release/VersionInversionChecker.kt
100.00% 48 / 48 70%
KdocValidityCheck.ktscripts/src/java/org/oppia/android/scripts/docs/KdocValidityCheck.kt
99.25% 132 / 133 70%
RegexPatternValidationCheck.ktscripts/src/java/org/oppia/android/scripts/regex/RegexPatternValidationCheck.kt
100.00% 104 / 104 70%
AndroidLintRunner.ktscripts/src/java/org/oppia/android/scripts/lint/AndroidLintRunner.kt
76.62% 272 / 355 70%
LintModelCreator.ktscripts/src/java/org/oppia/android/scripts/lint/LintModelCreator.kt
81.82% 180 / 220 70%
AndroidBuildSdkProperties.ktscripts/src/java/org/oppia/android/scripts/common/AndroidBuildSdkProperties.kt
100.00% 10 / 10 70%
CpuPerformanceSnapshotterModule.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/analytics/CpuPerformanceSnapshotterModule.kt
80.00% 4 / 5 26% *
JsonPrefixNetworkInterceptor.ktdata/src/main/java/org/oppia/android/data/backends/gae/JsonPrefixNetworkInterceptor.kt
28.57% 4 / 14 28% *
ActivityIntentFactories.ktapp/src/main/java/org/oppia/android/app/activity/ActivityIntentFactories.kt
0.00% 0 / 0 0% *
InitializeDefaultLocaleRule.kttesting/src/main/java/org/oppia/android/testing/junit/InitializeDefaultLocaleRule.kt
100.00% 85 / 85 100% *

* represents tests with custom overridden pass/fail coverage thresholds

Exempted coverage

Files exempted from coverage
File Exemption Reason
TopicController.ktdomain/src/main/java/org/oppia/android/domain/topic/TopicController.kt
This file is incompatible with code coverage tooling; skipping coverage check.
TopicListController.ktdomain/src/main/java/org/oppia/android/domain/topic/TopicListController.kt
This file is incompatible with code coverage tooling; skipping coverage check.
StoryProgressController.ktdomain/src/main/java/org/oppia/android/domain/topic/StoryProgressController.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ApplicationStartupListener.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/ApplicationStartupListener.kt
This file is exempted from having a test file; skipping coverage check.
MetricLogSchedulerModule.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/logscheduler/MetricLogSchedulerModule.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ExceptionsController.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/exceptions/ExceptionsController.kt
This file is incompatible with code coverage tooling; skipping coverage check.
UncaughtExceptionLoggerStartupListener.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/exceptions/UncaughtExceptionLoggerStartupListener.kt
This file is incompatible with code coverage tooling; skipping coverage check.
LogReportWorkerModule.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/loguploader/LogReportWorkerModule.kt
This file is exempted from having a test file; skipping coverage check.
ApplicationLifecycleListener.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/analytics/ApplicationLifecycleListener.kt
This file is exempted from having a test file; skipping coverage check.
ApplicationLifecycleLogger.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/analytics/ApplicationLifecycleLogger.kt
This file is exempted from having a test file; skipping coverage check.
ApplicationLifecycleObserver.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/analytics/ApplicationLifecycleObserver.kt
This file is incompatible with code coverage tooling; skipping coverage check.
LearnerAnalyticsLogger.ktdomain/src/main/java/org/oppia/android/domain/oppialogger/analytics/LearnerAnalyticsLogger.kt
This file is incompatible with code coverage tooling; skipping coverage check.
QuestionAssessmentProgressController.ktdomain/src/main/java/org/oppia/android/domain/question/QuestionAssessmentProgressController.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ExplorationCheckpointController.ktdomain/src/main/java/org/oppia/android/domain/exploration/lightweightcheckpointing/ExplorationCheckpointController.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ExplorationDataController.ktdomain/src/main/java/org/oppia/android/domain/exploration/ExplorationDataController.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ExplorationProgressListener.ktdomain/src/main/java/org/oppia/android/domain/exploration/ExplorationProgressListener.kt
This file is exempted from having a test file; skipping coverage check.
TimerSessionState.ktdomain/src/main/java/org/oppia/android/domain/exploration/TimerSessionState.kt
This file is exempted from having a test file; skipping coverage check.
ExplorationProgress.ktdomain/src/main/java/org/oppia/android/domain/exploration/ExplorationProgress.kt
This file is exempted from having a test file; skipping coverage check.
ExplorationActiveTimeController.ktdomain/src/main/java/org/oppia/android/domain/exploration/ExplorationActiveTimeController.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ExplorationProgressController.ktdomain/src/main/java/org/oppia/android/domain/exploration/ExplorationProgressController.kt
This file is incompatible with code coverage tooling; skipping coverage check.
PlatformParameterModule.ktdomain/src/main/java/org/oppia/android/domain/platformparameter/PlatformParameterModule.kt
This file is incompatible with code coverage tooling; skipping coverage check.
PlatformParameterSyncUpWorkerModule.ktdomain/src/main/java/org/oppia/android/domain/platformparameter/syncup/PlatformParameterSyncUpWorkerModule.kt
This file is exempted from having a test file; skipping coverage check.
FeatureFlagsMapBindingModule.ktdomain/src/main/java/org/oppia/android/domain/platformparameter/FeatureFlagsMapBindingModule.kt
This file is exempted from having a test file; skipping coverage check.
FeatureFlagBindingModule.ktdomain/src/main/java/org/oppia/android/domain/platformparameter/FeatureFlagBindingModule.kt
This file is exempted from having a test file; skipping coverage check.
ModifyLessonProgressController.ktdomain/src/main/java/org/oppia/android/domain/devoptions/ModifyLessonProgressController.kt
This file is incompatible with code coverage tooling; skipping coverage check.
DebugWorkerDebugModule.ktdomain/src/main/java/org/oppia/android/domain/workmanager/debug/DebugWorkerDebugModule.kt
This file is incompatible with code coverage tooling; skipping coverage check.
StartupWorkerScheduleReadinessMonitor.ktdomain/src/main/java/org/oppia/android/domain/workmanager/StartupWorkerScheduleReadinessMonitor.kt
This file is exempted from having a test file; skipping coverage check.
OppiaWorker.ktdomain/src/main/java/org/oppia/android/domain/workmanager/OppiaWorker.kt
This file is exempted from having a test file; skipping coverage check.
StartupWorkerScheduleReadinessListener.ktdomain/src/main/java/org/oppia/android/domain/workmanager/StartupWorkerScheduleReadinessListener.kt
This file is exempted from having a test file; skipping coverage check.
OppiaWorkManagerTestDriver.ktdomain/src/main/java/org/oppia/android/domain/workmanager/testing/OppiaWorkManagerTestDriver.kt
This file is exempted from having a test file; skipping coverage check.
AudioPlayerController.ktdomain/src/main/java/org/oppia/android/domain/audio/AudioPlayerController.kt
This file is incompatible with code coverage tooling; skipping coverage check.
NetworkDelayHandlerImpl.ktdata/src/main/java/org/oppia/android/data/backends/gae/NetworkDelayHandlerImpl.kt
This file is exempted from having a test file; skipping coverage check.
NetworkDelayHandler.ktdata/src/main/java/org/oppia/android/data/backends/gae/NetworkDelayHandler.kt
This file is exempted from having a test file; skipping coverage check.
NumberWithUnitsParsingError.ktutility/src/main/java/org/oppia/android/util/math/NumberWithUnitsParsingError.kt
This file is exempted from having a test file; skipping coverage check.
AccessibilityServiceImpl.ktutility/src/main/java/org/oppia/android/util/accessibility/AccessibilityServiceImpl.kt
This file is exempted from having a test file; skipping coverage check.
MathBitmapModelLoader.ktutility/src/main/java/org/oppia/android/util/parser/math/MathBitmapModelLoader.kt
This file is exempted from having a test file; skipping coverage check.
HtmlParser.ktutility/src/main/java/org/oppia/android/util/parser/html/HtmlParser.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ListItemLeadingMarginSpan.ktutility/src/main/java/org/oppia/android/util/parser/html/ListItemLeadingMarginSpan.kt
This file is incompatible with code coverage tooling; skipping coverage check.
FeatureFlagConstants.ktutility/src/main/java/org/oppia/android/util/platformparameter/FeatureFlagConstants.kt
This file is exempted from having a test file; skipping coverage check.
PlatformParameterConstants.ktutility/src/main/java/org/oppia/android/util/platformparameter/PlatformParameterConstants.kt
This file is exempted from having a test file; skipping coverage check.
TestApplicationComponent.ktinstrumentation/src/java/org/oppia/android/instrumentation/application/TestApplicationComponent.kt
This file is exempted from having a test file; skipping coverage check.
ConceptCardFragment.ktapp/src/main/java/org/oppia/android/app/topic/conceptcard/ConceptCardFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ConceptCardFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/topic/conceptcard/ConceptCardFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
TopicLessonsFragment.ktapp/src/main/java/org/oppia/android/app/topic/lessons/TopicLessonsFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
TopicLessonsFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/topic/lessons/TopicLessonsFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
TopicFragment.ktapp/src/main/java/org/oppia/android/app/topic/TopicFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
TopicRevisionFragment.ktapp/src/main/java/org/oppia/android/app/topic/revision/TopicRevisionFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
TopicInfoFragment.ktapp/src/main/java/org/oppia/android/app/topic/info/TopicInfoFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
RevisionCardActivity.ktapp/src/main/java/org/oppia/android/app/topic/revisioncard/RevisionCardActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
RevisionCardFragment.ktapp/src/main/java/org/oppia/android/app/topic/revisioncard/RevisionCardFragment.kt
This file is incompatible with code coverage tooling; 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.
StudyGuideActivity.ktapp/src/main/java/org/oppia/android/app/topic/studyguide/StudyGuideActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
StudyGuideFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/topic/studyguide/StudyGuideFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
StudyGuideFragment.ktapp/src/main/java/org/oppia/android/app/topic/studyguide/StudyGuideFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
StudyGuideActivityPresenter.ktapp/src/main/java/org/oppia/android/app/topic/studyguide/StudyGuideActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
TopicPracticeFragment.ktapp/src/main/java/org/oppia/android/app/topic/practice/TopicPracticeFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
TopicActivity.ktapp/src/main/java/org/oppia/android/app/topic/TopicActivity.kt
This file is incompatible with code coverage tooling; 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.
QuestionPlayerActivity.ktapp/src/main/java/org/oppia/android/app/topic/questionplayer/QuestionPlayerActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
WelcomeViewModel.ktapp/src/main/java/org/oppia/android/app/home/WelcomeViewModel.kt
This file is incompatible with code coverage tooling; skipping coverage check.
PromotedStoryViewModel.ktapp/src/main/java/org/oppia/android/app/home/promotedlist/PromotedStoryViewModel.kt
This file is incompatible with code coverage tooling; skipping coverage check.
PromotedStoryListViewModel.ktapp/src/main/java/org/oppia/android/app/home/promotedlist/PromotedStoryListViewModel.kt
This file is incompatible with code coverage tooling; skipping coverage check.
RecentlyPlayedFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/home/recentlyplayed/RecentlyPlayedFragmentPresenter.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.
RecentlyPlayedFragment.ktapp/src/main/java/org/oppia/android/app/home/recentlyplayed/RecentlyPlayedFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
RecentlyPlayedActivity.ktapp/src/main/java/org/oppia/android/app/home/recentlyplayed/RecentlyPlayedActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
TopicSummaryViewModel.ktapp/src/main/java/org/oppia/android/app/home/topiclist/TopicSummaryViewModel.kt
This file is incompatible with code coverage tooling; skipping coverage check.
HomeActivity.ktapp/src/main/java/org/oppia/android/app/home/HomeActivity.kt
This file is incompatible with code coverage tooling; 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.
AdminIntroActivity.ktapp/src/main/java/org/oppia/android/app/onboarding/AdminIntroActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
OnboardingProfileTypeActivityPresenter.ktapp/src/main/java/org/oppia/android/app/onboarding/OnboardingProfileTypeActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
AudioLanguageFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/onboarding/AudioLanguageFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
AdminIntroFragment.ktapp/src/main/java/org/oppia/android/app/onboarding/AdminIntroFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
OnboardingFragment.ktapp/src/main/java/org/oppia/android/app/onboarding/OnboardingFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
AdminIntroFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/onboarding/AdminIntroFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
CreateProfileFragment.ktapp/src/main/java/org/oppia/android/app/onboarding/CreateProfileFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
IntroFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/onboarding/IntroFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
AdminIntroActivityPresenter.ktapp/src/main/java/org/oppia/android/app/onboarding/AdminIntroActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
OnboardingFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/onboarding/OnboardingFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
CreateProfileFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/onboarding/CreateProfileFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
CreateProfileActivityPresenter.ktapp/src/main/java/org/oppia/android/app/onboarding/CreateProfileActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
OnboardingProfileTypeActivity.ktapp/src/main/java/org/oppia/android/app/onboarding/OnboardingProfileTypeActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
OnboardingProfileTypeFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/onboarding/OnboardingProfileTypeFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
IntroFragment.ktapp/src/main/java/org/oppia/android/app/onboarding/IntroFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
OnboardingActivity.ktapp/src/main/java/org/oppia/android/app/onboarding/OnboardingActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
OnboardingProfileTypeFragment.ktapp/src/main/java/org/oppia/android/app/onboarding/OnboardingProfileTypeFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
IntroActivity.ktapp/src/main/java/org/oppia/android/app/onboarding/IntroActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
CreateProfileActivity.ktapp/src/main/java/org/oppia/android/app/onboarding/CreateProfileActivity.kt
This file is incompatible with code coverage tooling; 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.
OnboardingActivityPresenter.ktapp/src/main/java/org/oppia/android/app/onboarding/OnboardingActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
IntroActivityPresenter.ktapp/src/main/java/org/oppia/android/app/onboarding/IntroActivityPresenter.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.
SplashActivity.ktapp/src/main/java/org/oppia/android/app/splash/SplashActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
SurveyWelcomeDialogFragment.ktapp/src/main/java/org/oppia/android/app/survey/SurveyWelcomeDialogFragment.kt
This file is exempted from having a test file; skipping coverage check.
SurveyActivity.ktapp/src/main/java/org/oppia/android/app/survey/SurveyActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
SurveyOutroDialogFragment.ktapp/src/main/java/org/oppia/android/app/survey/SurveyOutroDialogFragment.kt
This file is exempted from having a test file; skipping coverage check.
SurveyWelcomeDialogFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/survey/SurveyWelcomeDialogFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
SurveyActivityPresenter.ktapp/src/main/java/org/oppia/android/app/survey/SurveyActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
SurveyFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/survey/SurveyFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
SurveyOutroDialogFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/survey/SurveyOutroDialogFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
SurveyFragment.ktapp/src/main/java/org/oppia/android/app/survey/SurveyFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
BindableAdapter.ktapp/src/main/java/org/oppia/android/app/recyclerview/BindableAdapter.kt
This file is incompatible with code coverage tooling; skipping coverage check.
StoryChapterSummaryViewModel.ktapp/src/main/java/org/oppia/android/app/story/storyitemviewmodel/StoryChapterSummaryViewModel.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.
StoryActivity.ktapp/src/main/java/org/oppia/android/app/story/StoryActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
StoryFragment.ktapp/src/main/java/org/oppia/android/app/story/StoryFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ProfileChooserFragment.ktapp/src/main/java/org/oppia/android/app/profile/ProfileChooserFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
AddProfileActivity.ktapp/src/main/java/org/oppia/android/app/profile/AddProfileActivity.kt
This file is incompatible with code coverage tooling; 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.
ProfileLoginActivityPresenter.ktapp/src/main/java/org/oppia/android/app/profile/ProfileLoginActivityPresenter.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.
AdminAuthActivity.ktapp/src/main/java/org/oppia/android/app/profile/AdminAuthActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ProfileChooserActivity.ktapp/src/main/java/org/oppia/android/app/profile/ProfileChooserActivity.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.
PinPasswordActivityPresenter.ktapp/src/main/java/org/oppia/android/app/profile/PinPasswordActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
PinPasswordActivity.ktapp/src/main/java/org/oppia/android/app/profile/PinPasswordActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ProfileLoginFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/profile/ProfileLoginFragmentPresenter.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.
ProfileLoginActivity.ktapp/src/main/java/org/oppia/android/app/profile/ProfileLoginActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
AdminPinActivity.ktapp/src/main/java/org/oppia/android/app/profile/AdminPinActivity.kt
This file is incompatible with code coverage tooling; 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.
AdminPinActivityPresenter.ktapp/src/main/java/org/oppia/android/app/profile/AdminPinActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ProfileLoginFragment.ktapp/src/main/java/org/oppia/android/app/profile/ProfileLoginFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ActivityRouterModule.ktapp/src/main/java/org/oppia/android/app/activity/route/ActivityRouterModule.kt
This file is incompatible with code coverage tooling; skipping coverage check.
OptionalAppDeprecationNoticeDialogFragment.ktapp/src/main/java/org/oppia/android/app/notice/OptionalAppDeprecationNoticeDialogFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
OsDeprecationNoticeDialogFragment.ktapp/src/main/java/org/oppia/android/app/notice/OsDeprecationNoticeDialogFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
GeneralAvailabilityUpgradeNoticeDialogFragment.ktapp/src/main/java/org/oppia/android/app/notice/GeneralAvailabilityUpgradeNoticeDialogFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ForcedAppDeprecationNoticeDialogFragment.ktapp/src/main/java/org/oppia/android/app/notice/ForcedAppDeprecationNoticeDialogFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
BetaNoticeDialogFragment.ktapp/src/main/java/org/oppia/android/app/notice/BetaNoticeDialogFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
PoliciesFragment.ktapp/src/main/java/org/oppia/android/app/policies/PoliciesFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
PoliciesActivity.ktapp/src/main/java/org/oppia/android/app/policies/PoliciesActivity.kt
This file is incompatible with code coverage tooling; 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.
SpotlightFragment.ktapp/src/main/java/org/oppia/android/app/spotlight/SpotlightFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
MyDownloadsFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/mydownloads/MyDownloadsFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
MyDownloadsActivityPresenter.ktapp/src/main/java/org/oppia/android/app/mydownloads/MyDownloadsActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
MyDownloadsFragment.ktapp/src/main/java/org/oppia/android/app/mydownloads/MyDownloadsFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
MyDownloadsActivity.ktapp/src/main/java/org/oppia/android/app/mydownloads/MyDownloadsActivity.kt
This file is exempted from having a test file; skipping coverage check.
MathExpressionAccessibilityUtil.ktapp/src/main/java/org/oppia/android/app/utility/math/MathExpressionAccessibilityUtil.kt
This file is incompatible with code coverage tooling; skipping coverage check.
RatioExtensions.ktapp/src/main/java/org/oppia/android/app/utility/RatioExtensions.kt
This file is incompatible with code coverage tooling; skipping coverage check.
DateTimeUtil.ktapp/src/main/java/org/oppia/android/app/utility/datetime/DateTimeUtil.kt
This file is incompatible with code coverage tooling; skipping coverage check.
AppLanguageFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/options/AppLanguageFragmentPresenter.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.
OptionsActivity.ktapp/src/main/java/org/oppia/android/app/options/OptionsActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
AppLanguageFragment.ktapp/src/main/java/org/oppia/android/app/options/AppLanguageFragment.kt
This file is incompatible with code coverage tooling; 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.
AudioLanguageSelectionViewModel.ktapp/src/main/java/org/oppia/android/app/options/AudioLanguageSelectionViewModel.kt
This file is exempted from having a test file; skipping coverage check.
ReadingTextSizeActivity.ktapp/src/main/java/org/oppia/android/app/options/ReadingTextSizeActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
OptionsFragment.ktapp/src/main/java/org/oppia/android/app/options/OptionsFragment.kt
This file is incompatible with code coverage tooling; 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.
ReadingTextSizeActivityPresenter.ktapp/src/main/java/org/oppia/android/app/options/ReadingTextSizeActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
AppLanguageActivity.ktapp/src/main/java/org/oppia/android/app/options/AppLanguageActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ReadingTextSizeFragment.ktapp/src/main/java/org/oppia/android/app/options/ReadingTextSizeFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
AudioLanguageActivity.ktapp/src/main/java/org/oppia/android/app/options/AudioLanguageActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
AudioLanguageFragment.ktapp/src/main/java/org/oppia/android/app/options/AudioLanguageFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
FractionParsingUiError.ktapp/src/main/java/org/oppia/android/app/parser/FractionParsingUiError.kt
This file is incompatible with code coverage tooling; skipping coverage check.
StringToRatioParser.ktapp/src/main/java/org/oppia/android/app/parser/StringToRatioParser.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ProfileRenameFragment.ktapp/src/main/java/org/oppia/android/app/settings/profile/ProfileRenameFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ProfileResetPinFragment.ktapp/src/main/java/org/oppia/android/app/settings/profile/ProfileResetPinFragment.kt
This file is incompatible with code coverage tooling; 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.
ProfileResetPinActivity.ktapp/src/main/java/org/oppia/android/app/settings/profile/ProfileResetPinActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ProfileRenameActivity.ktapp/src/main/java/org/oppia/android/app/settings/profile/ProfileRenameActivity.kt
This file is incompatible with code coverage tooling; 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.
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.
ProfileEditFragment.ktapp/src/main/java/org/oppia/android/app/settings/profile/ProfileEditFragment.kt
This file is exempted from having a test file; skipping coverage check.
ProfileListFragment.ktapp/src/main/java/org/oppia/android/app/settings/profile/ProfileListFragment.kt
This file is incompatible with code coverage tooling; 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.
ProfileListActivity.ktapp/src/main/java/org/oppia/android/app/settings/profile/ProfileListActivity.kt
This file is incompatible with code coverage tooling; 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.
ProfileEditActivity.ktapp/src/main/java/org/oppia/android/app/settings/profile/ProfileEditActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
CompletedStoryListActivity.ktapp/src/main/java/org/oppia/android/app/completedstorylist/CompletedStoryListActivity.kt
This file is incompatible with code coverage tooling; 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.
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.
AppVersionActivity.ktapp/src/main/java/org/oppia/android/app/administratorcontrols/appversion/AppVersionActivity.kt
This file is incompatible with code coverage tooling; 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.
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.
ProfileAndDeviceIdFragment.ktapp/src/main/java/org/oppia/android/app/administratorcontrols/learneranalytics/ProfileAndDeviceIdFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ProfileAndDeviceIdActivity.ktapp/src/main/java/org/oppia/android/app/administratorcontrols/learneranalytics/ProfileAndDeviceIdActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
AdministratorControlsActivity.ktapp/src/main/java/org/oppia/android/app/administratorcontrols/AdministratorControlsActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
AdministratorControlsFragment.ktapp/src/main/java/org/oppia/android/app/administratorcontrols/AdministratorControlsFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ClassroomListActivity.ktapp/src/main/java/org/oppia/android/app/classroom/ClassroomListActivity.kt
This file is incompatible with code coverage tooling; 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.
ClassroomListFragment.ktapp/src/main/java/org/oppia/android/app/classroom/ClassroomListFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ExplorationFragment.ktapp/src/main/java/org/oppia/android/app/player/exploration/ExplorationFragment.kt
This file is exempted from having a test file; skipping coverage check.
ExplorationActivity.ktapp/src/main/java/org/oppia/android/app/player/exploration/ExplorationActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ExplorationFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/player/exploration/ExplorationFragmentPresenter.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.
BottomSheetOptionsMenu.ktapp/src/main/java/org/oppia/android/app/player/exploration/BottomSheetOptionsMenu.kt
This file is incompatible with code coverage tooling; skipping coverage check.
StateFragment.ktapp/src/main/java/org/oppia/android/app/player/state/StateFragment.kt
This file is incompatible with code coverage tooling; 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.
LessonProgressViewModel.ktapp/src/main/java/org/oppia/android/app/player/state/itemviewmodel/LessonProgressViewModel.kt
This file is exempted from having a test file; skipping coverage check.
StateViewModel.ktapp/src/main/java/org/oppia/android/app/player/state/StateViewModel.kt
This file is exempted from having a test file; skipping coverage check.
StatePlayerRecyclerViewAssembler.ktapp/src/main/java/org/oppia/android/app/player/state/StatePlayerRecyclerViewAssembler.kt
This file is exempted from having a test file; skipping coverage check.
StateFragmentTestActivityPresenter.ktapp/src/main/java/org/oppia/android/app/player/state/testing/StateFragmentTestActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ImageRegionSelectionInteractionView.ktapp/src/main/java/org/oppia/android/app/player/state/ImageRegionSelectionInteractionView.kt
This file is incompatible with code coverage tooling; skipping coverage check.
AudioViewModel.ktapp/src/main/java/org/oppia/android/app/player/audio/AudioViewModel.kt
This file is exempted from having a test file; skipping coverage check.
AudioFragment.ktapp/src/main/java/org/oppia/android/app/player/audio/AudioFragment.kt
This file is incompatible with code coverage tooling; 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.
ProfilePictureActivity.ktapp/src/main/java/org/oppia/android/app/profileprogress/ProfilePictureActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ProfileProgressFragment.ktapp/src/main/java/org/oppia/android/app/profileprogress/ProfileProgressFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ProfileProgressActivity.ktapp/src/main/java/org/oppia/android/app/profileprogress/ProfileProgressActivity.kt
This file is incompatible with code coverage tooling; 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.
LessonThumbnailImageView.ktapp/src/main/java/org/oppia/android/app/customview/LessonThumbnailImageView.kt
This file is incompatible with code coverage tooling; skipping coverage check.
MathExpressionInteractionsView.ktapp/src/main/java/org/oppia/android/app/customview/interaction/MathExpressionInteractionsView.kt
This file is incompatible with code coverage tooling; skipping coverage check.
LessonProgressIndicatorView.ktapp/src/main/java/org/oppia/android/app/customview/LessonProgressIndicatorView.kt
This file is incompatible with code coverage tooling; 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.
OngoingTopicListActivity.ktapp/src/main/java/org/oppia/android/app/ongoingtopiclist/OngoingTopicListActivity.kt
This file is incompatible with code coverage tooling; 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.
ResumeLessonFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/resumelesson/ResumeLessonFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ResumeLessonActivity.ktapp/src/main/java/org/oppia/android/app/resumelesson/ResumeLessonActivity.kt
This file is incompatible with code coverage tooling; 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.
ResumeLessonFragment.ktapp/src/main/java/org/oppia/android/app/resumelesson/ResumeLessonFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
AppLanguageResourceHandler.ktapp/src/main/java/org/oppia/android/app/translation/AppLanguageResourceHandler.kt
This file is incompatible with code coverage tooling; skipping coverage check.
WalkthroughFinalFragment.ktapp/src/main/java/org/oppia/android/app/walkthrough/end/WalkthroughFinalFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
WalkthroughWelcomeFragment.ktapp/src/main/java/org/oppia/android/app/walkthrough/welcome/WalkthroughWelcomeFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
WalkthroughActivity.ktapp/src/main/java/org/oppia/android/app/walkthrough/WalkthroughActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
WalkthroughTopicListFragment.ktapp/src/main/java/org/oppia/android/app/walkthrough/topiclist/WalkthroughTopicListFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
WalkthroughActivityPresenter.ktapp/src/main/java/org/oppia/android/app/walkthrough/WalkthroughActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
PlatformParametersActivity.ktapp/src/main/java/org/oppia/android/app/devoptions/platformparameters/PlatformParametersActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
PlatformParametersActivityPresenter.ktapp/src/main/java/org/oppia/android/app/devoptions/platformparameters/PlatformParametersActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
PlatformParametersFragment.ktapp/src/main/java/org/oppia/android/app/devoptions/platformparameters/PlatformParametersFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
PlatformParametersFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/devoptions/platformparameters/PlatformParametersFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ViewEventLogsActivityPresenter.ktapp/src/main/java/org/oppia/android/app/devoptions/vieweventlogs/ViewEventLogsActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ViewEventLogsFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/devoptions/vieweventlogs/ViewEventLogsFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ViewEventLogsFragment.ktapp/src/main/java/org/oppia/android/app/devoptions/vieweventlogs/ViewEventLogsFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ViewEventLogsActivity.ktapp/src/main/java/org/oppia/android/app/devoptions/vieweventlogs/ViewEventLogsActivity.kt</de...[Comment body truncated]

@adhiamboperes
adhiamboperes merged commit 747b56e into develop Sep 9, 2026
66 of 73 checks passed
@adhiamboperes
adhiamboperes deleted the pr2.2 branch September 9, 2026 13:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants