## oppia/oppia-android — v0.17…v0.18

_122 commits._

### Features
- **Fixes #76: Introduce RetryInterceptor for transient network errors (#6305)** (be85e11)
- **Add study guide sections to subtopic records (#6261)** (aa918c0)
- **Fixes  #6147: Keep Save enabled by default on Authorize to add profiles screen (#6193)** (5be9964)
- **Fixes #6146 rendering of bold in Authorize to add profiles screen (#6248)** (6791c7e)
- **Fixes part of #5035: Add missing reading text size tests (#6227)** (b00f635)
- **Fixes part of #5035: Add missing app data reset flow tests (#6224)** (7a2a70e)
- **Fixes #4236: Add remaining tests for AsyncResultSubject (#6175)** (0e3d62b)

### Fixes
- **Fix part of #6302: Revert some content versions to an earlier value (#6407)** (c495933)
- **Fix #5994, #5927, #6291, Part of #6258 and Part of #6312: Upgrade targetSdk to 36 (#6366)** (f6721d1)
- **Fix #5924: Enable edge-to-edge by default and remove the SDK 35 opt-out (#6368)** (138e2b0)
- **Fix part of #6106: Make frozen baseline test utility resilient to FrozenReleaseConfig changes (#6372)** (820e374)
- **Fix part of #6106: Exclude frozen version codes from cross-track ordering checks (#6369)** (8209176)
- **Fix part of #6104: Render nested lists in worked examples correctly (#6363)** (0da1590)
- **Fix #6258: Deprecated Lollipop (#6350)** (37bfd0f)
- **Fix part of #6208: Add edge-to-edge insets to no-toolbar screens (#6241)** (06e5074)
- **Fix #6358: Fix ComputeAffectedTests failing on develop (#6364)** (1022c2a)
- **Fix part of #5940: Add edge-to-edge insets to toolbar-hosted screens (#6214)** (a89c4f0)
- **Fix #6360: Exclude frozen version codes from VersionInversionChecker (#6361)** (e838f4f)
- **Fix #6310 : fix alpha langauge selection (#6359)** (0c7c6a4)
- **Fix #6300: Consolidate FakePlayConsoleClient and MockWebServer into a single testing pattern (#6339)** (62e9dc4)
- **Fix #4212, #482: Remove obsolete TODOs and hardcoded admin profile (#6362)** (867d3e8)
- **Fix part of #6203: Migrate exploration and progress controllers to use ProfileId (#6294)** (3b3bcaa)
- **Fix part of #6104: Add lesson progress animation, night colours, and spacing (#6354)** (16d1cc4)
- **Fix #6330: Merge frozen version codes into new release entry (#6353)** (3b7c0d1)
- **Fix part of #6104: Add support for worked examples (GSoC 4.1 PR 2.1) (#6318)** (7c78659)
- **Fix #6149, Fix part of #6202: Use official setup-bazel workflow (#6356)** (13305c5)
- **Fix #5989, #6053, #6059, #6060, #6097, #6200: Rebuild app & `WorkManager` initialization (#6062)** (b046fef)
- **Fix part of #209: Introduce a tokenizer and parser for NumberWithUnits (#6137)** (2a7251f)
- **Fix #6186: Separate add break between binary_deployable.jar and remaining build process. (#6334)** (5aef96c)
- **Fix part of #6106: Implement GenerateChangelogs script with Vertex AI integration (#6313)** (0643cc6)
- **Fix #6327: Update `deploy_updated_changelog.yml` concurrency group (#6342)** (70d78df)
- **Fix #6330: Preserve frozen version codes in Play Console track updates (#6338)** (9e2c606)
- **Fix part of #6106: Add chmod fix (#6333)** (7cd4578)
- **Fix part of #6106: zip issue fix (#6332)** (6810f9b)
- **Fix part of #6106: Fix remaining issues in workflows (#6331)** (c77a99d)
- **Fix #6321: Introduce changelog for 0.17 release & placeholder for 0.18 (#6322)** (a471fb0)
- **Fix part of #6106: Fixes issues in play console run (#6328)** (c398ba4)
- **Fix #6260: Add concurrency to comment workflows (#6282)** (3cddabd)
- **Fix part of #6106: Adds missing fixes to workflows (#6325)** (00e4cb1)
- **Fix part of #6106: Fix upload certificate for Cloud KMS release signing (#6324)** (d170793)
- **Fix part of #6106: Use pre-Proguard application source target in Phase 2 (#6323)** (cde79b4)
- **Fix #6308: Remove custom AAPT2 proto compilation workaround (#6314)** (9732cf5)
- **Fix #6315, #6070: Re-pin lesson script & versions (#6316)** (25aab92)
- **Fix part of #6106: Fixes issues in build_and_sign workflow (#6307)** (a185212)
- **Fix part of #6104: Enable lesson progress & study guides in alpha builds for QA (GSoC 4.1) (#6299)** (a12730d)
- **Fix part of 6106: Implement Deploy Updated Changelog workflow (#6295)** (b6e0329)
- **Fix part of #6106: Implement live track auditing logic for UploadChangelogToPlayConsole & Upload Rollout workflow (#6277)** (a9ddfa5)
- **Fix part of #6106: Fix bazel build step (#6301)** (09e04f2)
- **Fix part of #6106: Implement Deploy to Play Console workflow (#6274)** (49733e5)
- **Fix part of #6106: Introduce Play Console API client, Retrofit service, and model layer (#6271)** (1497421)
- **Fix part of #6106: Add deploy to firebase workflow (#6270)** (c4b9b7d)
- **Fix part of #6106: Add `build_and_sign.yml` workflow for building, signing, and archiving release AABs (#6267)** (8bbd03a)
- **Fix part of #6104: Add study guide UI (GSoC 4.1 PR 1.4) (#6286)** (a6aa90c)
- **Fix part of #6104: Add domain-layer study guide support (#6276)** (4a2b5ed)
- **Fix part of #6104: Add domain-layer lesson progress support  (#6275)** (0c6b22d)
- **Fix #5033, #6215, #6217, #6218, #6219, #6220, #6221, #6222, #6223: Prepare for release automation (#6265)** (f82c13d)
- **Fix part of #6203: Migrate domain layer from LegacyProfileId to ProfileId (#6254)** (418dae9)
- **Fix #6269: Add coderabbit configuration for oppia-android (#6268)** (4ee34e9)
- **Fix #6209: Add EDGE_TO_EDGE feature flag for edge-to-edge display support (#6212)** (1a4b6c5)
- **Fix #6186: Flaky proguard in CI (#6213)** (a40c4fc)
- **Fix part of #6106: Introduce changelog and certificate infrastructure (#6262)** (530ff00)
- **Fix #5886: Optimize lint execution (#6098)** (6fc9cfb)
- **Fix #5785, #6210 : Handle Network transition during playback  (#6205)** (e3ba1fb)
- **Fix #5607: Prevent toolbar title truncation in AudioLanguageFragment at 200% font scaling (#6135)** (0e297f7)
- **Fix #6206: Update triage instructions for new label types (#6207)** (e9c7ffe)
- **Fix #5812: Coverage Script fixed for incorrectly placed test (#6170)** (07ff2b3)
- **Fix #5847: Replace shell binary check with Kotlin script and tests (#6168)** (bafece4)
- **Fix #6022: Update AudioLanguageFragmentTest to use production-only languages (#6131)** (92c61f5)
- **Fix #6019: Resolve TopicController crash and CheckBox recycling issues (#6112)** (bbd9cd6)
- **Fix #6176: Add replay indicator for newly played lessons (#6177)** (4ee2ddf)
- **Fix #6163, #3759: Enable pre-fetching and more stable builds (#6164)** (24e5845)
- **Fix #6103: Add support for `is_checkpoint` state property (#6185)** (3eddb03)
- **Fix #5998: Fix audio player crashes in AudioPlayerController and AudioViewModel (#6090)** (9ae99f2)
- **Fix #5818: Robolectric edittext input action (#6148)** (cc8fff0)
- **Fix #5959: Profile colors and positions change when selecting a profile in the Profile screen (#6129)** (097bed3)
- **Fix #5935: Prevent submitted answer and feedback text from flashing previous card's content (#6126)** (8b41011)
- **Fix #5779: Display translated custom text for Continue button (#6102)** (370f99a)
- **Fix #5980 Drag and Drop option  answers to be persistent when user rotates the screen  (#6094)** (2fd9014)
- **Fix part of #3926: Add support for GitHub merge queues plus a bunch of other CI improvements (#6150)** (8e13fc9)
- **Fix part of #4971: Compute aab differences tests  (#6113)** (b1a9147)
- **Fix part of #5792: Make LaTeX rendering theme-aware and separate Glide caching across Light/Dark modes (#6122)** (6406d12)
- **Fix part of #5035: Add missing ProfileChooserViewModel data reset tests (#6125)** (0413998)
- **Fix  #5036: Add stringification tests for LearnerAnalyticsLogger (#6128)** (c3a6c00)
- **Fix #6141: Add workflows for issue assignment & force push checking (#6142)** (078d3e4)
- **Fix #6140: Add some clarification to Oppiabot stale messaging (#6130)** (5e5c1da)
- **Fix part of #5035: Add missing deleteAllProfiles tests for ProfileManagementController (#6121)** (a17c8dd)
- **Fix #6076: Remove headers and body logs from network call logs (#6089)** (0f9d4bd)
- **Fix #5956: Handle audio playback crash when Wi-Fi is disabled (#6101)** (53c81db)
- **Fix part of #5815: Add Missing Tests (#6074)** (191e15d)
- **Fix #6006: Add Installation ID with copy option to App Version screen (#6073)** (dc8f709)
- **Fix #5915: Improve TalkBack content description for concept card links (#6033)** (4bda09f)
- **Fix #6042 Drawer highlight issue (#6045)** (8dd48de)
- **Fix #5452: Update dependencies for pending intent support (#6054)** (ed9d8d2)
- **Fix #6043: Support Hindi Strings in the Resource Checker (#6051)** (fccae19)
- **Fix part of #2747, #1532: Remove support for Gradle (#5652)** (f613397)
- **Fix #6034 - Android Wiki bug (#6038)** (27d80bd)
- **Fix #5983: Restrict Fractions Lesson to accept only exact 1/2 answer (#6039)** (8d3046c)
- **Fix #5838: Use --target_pattern_file for Bazel commands to avoid comm… (#6008)** (3452830)
- **Fix #6029: Update `//scripts:download_lessons` CLI arguments for CI workflow (#6030)** (6b1a3ac)
- **Fix #5992 and Fix Part of #5995: Fix Android Studio Bazel import failing (#6001)** (e8b31f4)
- **Fix part of #5571: Support practice questions (#5729)** (db54e4d)
- **Fix #482: Remove default admin for onboarding V2 (3/12) (#5968)** (038dfc8)
- **Fix Part of #4938: Create Admin  Onboarding Intro(2/12) (#5839)** (eadee71)
- **Fix #4751: Update work manager to 2.7.0 and enable it on S+ devices (#6002)** (1c4d4f0)

### Backend
- **Fixes Part of #6393: Apply 0.18 fixes (#6404)** (8a598ca)
- **apply release specific changes** (ceafafb)
- **Fixes #6149, Fixes part of #6202: Use bazel-contrib/setup-bazel in workflows to setup bazel (#6284)** (b025eb5)
- **Fixes #6257: Disclosure of llm usage in PR's (#6273)** (cee72f5)
- **Fixes part of #6104: Lesson progress indicator UI (GSoC 4.1 PR 1.3) (#6285)** (11d6f46)
- **Fixes  #5039: Force LTR alignment for Terms of Service & Privacy Policy in RTL languages (#6198)** (f7f5b26)
- **Fixes part of #5440: Profile id migration utility update (#6225)** (f70f6f0)
- **Fixes part of #5440: ProfileId migration utility (#6199)** (2893ca4)
- **Fixes part of #5440 : Change ProfileId defaulting to be an invalid profile (#6155)** (8ee6c25)
- **Fixes part of #5440: Redesign profile type identification (#6066)** (da36801)
- **Bump version codes for 0.18 release (#6111)** (e69a684)
- **Fixes #5934: Fixes flaky CI failures in `zlib` fetch (#6091)** (6149129)
- **Correctly enable holiday messaging (#6055)** (37cb257)
- **Fixes #5972: Profile name accepts invalid inputs like single dot (.) or single space ( ) (#5997)** (6ce9ad6)
- **Minor README updates (#6047)** (edf6e04)
- **Bump version codes for 0.17 RC02 (#6040)** (8bfb519)
- **Update repository 'vacation' mode reminders for end-of-year 2025 (#6027)** (4d360d4)
- **Localisation updates from https://translatewiki.net. (#6032)** (3386f85)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/oppia/oppia-android?utm_source=github-action)._