Version 0.16: Beta MR8 (Early Access)
This is the eighth openly available release of the Oppia Android app. Anyone can opt into the beta program and install the app on their Android device via the Play Store. Burndown milestone: https://github.com/oppia/oppia-android/milestone/54.
This release brings a variety of significant crash and bug fixes, and a number of stability improvements due to the introduction of new developer workflow tooling (lint testing). This also is preparing an alpha version of the app for testing the following features:
- Spotlights.
- Multiple classrooms (only with math content for now).
- The new onboarding flow (for the parts complete so far).
- Flashbacks (a new feature developed this summer).
The developer version of the app now includes a dashboard for changing platform parameters and feature flags at runtime for an easier time with testing or developing against different configurations.
The production version of this release is set to expire on 30 September 2026.
What's Changed
- Fix #2974: Reducing Long Press Time in Drag-Drop by @manas-yu in #5677
- Fix #1617, #2745: Remove source code genrules by @BenHenning in #5702
- Fix #5749: Add support for checking lesson compatibility weekly by @BenHenning in #5750
- Fix #5307: Remove all uses of ActivityScenarioRule. by @BenHenning in #5755
- Fix #5761: Create shared oppia-android.bazelproject. by @BenHenning in #5762
- Fix #5308: Remove uses of ActivityTestRule. by @BenHenning in #5759
- Fix #2746 and Fix part of #1723: Update Onboarding Instructions and Bazel Documentation by @adhiamboperes in #5723
- Fix #4072 and Fix Part of #4938: Revised profile chooser UI by @adhiamboperes in #5468
- Fix #5793: Update workflows to Ubuntu 24.04 by @Rd4dev in #5795
- Fix #77, part of #59: Revise testability of Retrofit services by @BenHenning in #5806
- Localisation updates from https://translatewiki.net. by @translatewiki in #5724
- Fix Part of #4971: Added Tests for build stats utilities by @manas-yu in #5742
- Fixes part of #4272: Added Tests for EventLogSubject. by @theayushyadav11 in #5678
- Fix part of #5661: Removed repeated IDs present in TextViewStyleCheck exemption list by @manas-yu in #5811
- Fix #5780: Fix develop CI and improve test file check robustness by @BenHenning in #5814
- Fix #5697: concept card close button by @subhajitxyz in #5810
- Fixes #4272: Added remaining tests for EventLogSubject. by @theayushyadav11 in #5813
- Fixes a part of #2133: Prevent vanishing of input on configuration change. by @theayushyadav11 in #5617
- Fixes #5556: Feature flags failing to log correctly by @kkmurerwa in #5715
- Fix part of #59: Expand and sort module declarations in tests by @BenHenning in #5824
- Fix #5781, #5808, #5796: Handle null imageRetriever Case in CustomHtmlContentHandler by @manas-yu in #5821
- Fix part of #5734: Introduce AndroidLintRunner to invoke Lint tool with minimal configuration by @manas-yu in #5837
- Fix part of #5847: Remove binary file check by @BenHenning in #5849
- Fix #5676, part of #5835: Introduce new platform parameter controller by @BenHenning in #5836
- Fix part of #5732: Introduce feature flag for Flashback by @subhajitxyz in #5862
- Fix part of #5734: Introduce LintAnalysisReporter to parse and extract XML files by @manas-yu in #5843
- Fix part of #5734: Enhance the LintAnalysisReporter to log reports to terminal by @manas-yu in #5854
- Fix part of #5732: Implement domain logic to show flashback button by @subhajitxyz in #5864
- Fix part of #5732: Introduce Flashback button by @subhajitxyz in #5842
- Fix part of #5732: Flashback open navigation logic by @subhajitxyz in #5865
- Fix #5826: Fix Bazel build error caused by building with Xcode 16.3 on macOS by @kkmurerwa in #5827
- Fix part of #5732: Flashback screen design implementation by @subhajitxyz in #5868
- Fix part of #5734: Adding tests for Lint tool execution by @manas-yu in #5863
- Fixes part of #5345 : Implement debug Controller and module for PlatformParameterController. by @theayushyadav11 in #5845
- Fix part of #5732: Flashback close navigation logic by @subhajitxyz in #5869
- Fix part of #5734: Enhance the LintProjectDescription utility to generate XML files by @manas-yu in #5866
- Fix part of #5734: Enhance the LintProjectDescription utility to generate model XML files by @manas-yu in #5870
- Fixes part of #5345 : Introduced Feature Flag Screen by @theayushyadav11 in #5861
- Fix part of #5734: Final configurations for Lint tool and Added tests by @manas-yu in #5874
- Fixes part of #5345 : Introduced Platform parameter screen. by @theayushyadav11 in #5867
- Fix part of #5734: Enhance LintAnalysisReporter to exempt issues by @manas-yu in #5876
- Fixes part of #5345: Added Feature flag overriding impementation by @theayushyadav11 in #5871
- Fix part of #5734: Enhance static_checks for CI integration of script by @manas-yu in #5877
- Fix part of #5734: Resolve issues UseRequireInsteadOfGet and UseAppTint by @manas-yu in #5878
- Fix part of #5734: Added Wiki for Android Lint tool Script execution by @manas-yu in #5879
- Fix part of #5732: Flashback button now correctly gated by feature flag by @subhajitxyz in #5881
- Fix part of #5734: Failing script for Warning Level issues by @manas-yu in #5888
- Fix 5890: Remove nonexistent TODO by @adhiamboperes in #5891
- Fixes #5883 and part of #5345 : Keyboard opening automaticaly in Platform Parameter dashboard disabled. by @theayushyadav11 in #5885
- Fix #5872: Buf Lint Script Does Not Resolve Darwin-arm64 Execs for Apple Silicon Macs by @harleenkaur2003 in #5889
- Fix part of #5734: Resolve issues UselessLeaf + ObsoleteSdkInt by @manas-yu in #5909
- Fix part of #5732: Change flashback triggering logic (1/5) by @subhajitxyz in #5916
- Fixes part of #5345: Added Platform parameter overridding implementation. by @theayushyadav11 in #5892
- Fix part of #5734: Resolve issue NewApi of severity Error by @manas-yu in #5912
- Fix part of #5734: Resolve issues RtlSymmetry + UselessParent + UnusedIds + Typos by @manas-yu in #5896
- Fix part of #5732: Enhance conversation flow by adding “See example” button and feedback in the previous response section (2/5) by @subhajitxyz in #5910
- Fix part of #5734: Resolve Issues LabelFor + StringFormatCount by @manas-yu in #5925
- Fix part of #5734: Resolve issues of severity Error by @manas-yu in #5913
- Fix #5911, Fix #5907, Fix #5904, Fix #5903, Fix #5902, Fix #5901, Fix #5914: Onboarding M1 Fixes by @adhiamboperes in #5908
- Fix part of #5732: Submitted answer design implementation (3/5) by @subhajitxyz in #5917
- Fix part of #5734: Update Lint Reporter and update unknown ID flow by @manas-yu in #5933
- Fix part of #5734: Added test for MissingClass Issue ID by @manas-yu in #5937
- Fix #5932 and Fix part of #5732: Remove flashback confirmation dialog and update design of Explanation box (4/5) by @subhajitxyz in #5918
- Fix part of #5734 and Fix #5897: Suppress Issue Categories and Include timer by @manas-yu in #5921
- Fix #5732: Logs flashback related events (5/5) by @subhajitxyz in #5939
- Fix part of #5734: Supress Issues IDs affected from AAR/JAR files issue by @manas-yu in #5936
- Fix #5898, #5923, #5924, #5926, #5927, #5928, #5884, part of #5940, #5941: Target Sdk 35 and fix resulting issues by @adhiamboperes in #5922
- Fixes part of #5345: Implemented Reset functionality of Platform Parameters with new UI. by @theayushyadav11 in #5894
- Fixes part of #5345: Implemeted restart dialog after overridding. by @theayushyadav11 in #5929
- Fixes part of #5345: Implementing Force downloading . by @theayushyadav11 in #5949
- Fixes part of #5345: Fixing restarting of app on config change. by @theayushyadav11 in #5953
- Fixes part of #5345: Fixes restarting of download on config change. by @theayushyadav11 in #5958
- Fix #5734: Lint tool wrapper for ensured execution termination by @manas-yu in #5957
- Fix #5960: Update kdoc for LintTimeoutWrapper by @manas-yu in #5966
- Fix #5736, Fix #5721, Fix 5954, Fix 5636 and Fix part of #5800: 0.16 beta bug fixes by @adhiamboperes in #5831
New Contributors
- @harleenkaur2003 made their first contribution in #5889
Full Changelog: v0.15...v0.16