Fix #3506, #5950, #5951: Add support for remote platform parameters [Blocked: #6062]#6061
Conversation
This includes a bunch of troubleshooting and testing for workers which have been found to be broken. Also, additional work is needed to make the production side of remote parameter syncing work. However, syncing does work with the backup migration server on developer builds.
|
Thanks for submitting this pull request! Some main reviewers have taken time off for the next few weeks, so it may take a little while before we can look at this PR. We appreciate your patience while some of our team members recharge. We'll be fully returning on 05 January 2026. |
|
Hi @BenHenning, I'm going to mark this PR as stale because it hasn't had any updates for 7 days. If no further activity occurs within 7 days, it will be automatically closed so that others can take up the issue. |
…ote-platform-parameters Conflicts: app/src/main/AndroidManifest.xml app/src/main/java/org/oppia/android/app/application/AbstractOppiaApplication.kt app/src/main/java/org/oppia/android/app/application/dev/DeveloperApplicationComponent.kt domain/src/main/java/org/oppia/android/domain/oppialogger/logscheduler/MetricLogSchedulingWorker.kt domain/src/main/java/org/oppia/android/domain/oppialogger/logscheduler/MetricLogSchedulingWorkerFactory.kt domain/src/main/java/org/oppia/android/domain/oppialogger/loguploader/LogReportWorkManagerInitializer.kt domain/src/main/java/org/oppia/android/domain/oppialogger/loguploader/LogUploadWorkerFactory.kt domain/src/main/java/org/oppia/android/domain/platformparameter/syncup/PlatformParameterSyncUpWorkManagerInitializer.kt domain/src/main/java/org/oppia/android/domain/platformparameter/syncup/PlatformParameterSyncUpWorkerFactory.kt domain/src/main/java/org/oppia/android/domain/workmanager/WorkManagerConfigurationModule.kt
There are still a bunch of test failures but they all relate to the changes either on this branch or its parent.
…ote-platform-parameters
…ote-platform-parameters
adhiamboperes
left a comment
There was a problem hiding this comment.
Thanks @BenHenning, I took a look at all the changes, but should probably wait until the PR is out of draft for the rest.
| private val context: Context | ||
| ) : CustomPropertyRetriever { | ||
| private val packageName = "org.oppia.android" | ||
| private val contentResolver by lazy { context.contentResolver } |
There was a problem hiding this comment.
Is there benefit to contentResolver being lazy delegated?
|
Hi @BenHenning, I'm going to mark this PR as stale because it hasn't had any updates for 7 days. If no further activity occurs within 7 days, it will be automatically closed so that others can take up the issue. |
|
Not stale. |
|
Hi @BenHenning, I'm going to mark this PR as stale because it hasn't had any updates for 7 days. If no further activity occurs within 7 days, it will be automatically closed so that others can take up the issue. |
This improves debuggability and improves coroutine failure resilience, though much of that will probably be removed from this change. Otherwise, this properly fixes trying to sync parameters when offline and fixes actual syncing so that it works.
…ote-platform-parameters Conflicts: data/src/main/java/org/oppia/android/data/backends/gae/NetworkLoggingInterceptor.kt
|
Note for now that in order to test the platform parameters you need to use ADB shell to set app-specific settings then trigger a re-download (either via time or the developer options menu), only in adb shell settings put global org.oppia.android.android_min_supported_version_code 23
adb shell settings put global org.oppia.android.android_min_supported_version_code 9999
adb shell settings delete global org.oppia.android.android_min_supported_version_code
adb shell settings put global org.oppia.android.android_min_version_code_for_recommending_app_update 9999
adb shell settings delete global org.oppia.android.android_min_version_code_for_recommending_app_update
adb shell settings put global org.oppia.android.android_min_supported_api_level 40
adb shell settings delete global org.oppia.android.android_min_supported_api_level
adb shell settings put global org.oppia.android.android_enable_fast_language_switching_in_lesson true
adb shell settings delete global org.oppia.android.android_enable_fast_language_switching_in_lesson |
|
Hi @BenHenning, I'm going to mark this PR as stale because it hasn't had any updates for 7 days. If no further activity occurs within 7 days, it will be automatically closed so that others can take up the issue. |
|
Not stale. |
TODO: Finish one PR is actually code complete.
Explanation
Essential Checklist
For UI-specific PRs only
If your PR includes UI-related changes, then: