Fixed
Status Update
Comments
ap...@google.com <ap...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
commit 76352a65dd0e6eaf5f2ca7925d82f8fa283afad3
Author: Sergey Vasilinetc <sergeyv@google.com>
Date: Thu Nov 09 15:01:23 2023
Support required NetworkRequest via jobScheduler
bug: 280634452
Test: SystemJobInfoConverterTest && integration-tests
Change-Id: I3738df661fdb93c49b356ffad742c9921a5ce63d
M work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/MainActivity.kt
M work/integration-tests/testapp/src/main/res/layout/activity_main.xml
M work/integration-tests/testapp/src/main/res/values/donottranslate-strings.xml
M work/work-runtime/src/androidTest/java/androidx/work/impl/background/systemjob/SystemJobInfoConverterTest.java
M work/work-runtime/src/main/java/androidx/work/impl/background/greedy/GreedyScheduler.java
M work/work-runtime/src/main/java/androidx/work/impl/background/systemjob/SystemJobInfoConverter.java
A work/work-runtime/src/main/java/androidx/work/impl/background/systemjob/SystemJobInfoConverterExt.kt
https://android-review.googlesource.com/2824432
Branch: androidx-main
commit 76352a65dd0e6eaf5f2ca7925d82f8fa283afad3
Author: Sergey Vasilinetc <sergeyv@google.com>
Date: Thu Nov 09 15:01:23 2023
Support required NetworkRequest via jobScheduler
bug: 280634452
Test: SystemJobInfoConverterTest && integration-tests
Change-Id: I3738df661fdb93c49b356ffad742c9921a5ce63d
M work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/MainActivity.kt
M work/integration-tests/testapp/src/main/res/layout/activity_main.xml
M work/integration-tests/testapp/src/main/res/values/donottranslate-strings.xml
M work/work-runtime/src/androidTest/java/androidx/work/impl/background/systemjob/SystemJobInfoConverterTest.java
M work/work-runtime/src/main/java/androidx/work/impl/background/greedy/GreedyScheduler.java
M work/work-runtime/src/main/java/androidx/work/impl/background/systemjob/SystemJobInfoConverter.java
A work/work-runtime/src/main/java/androidx/work/impl/background/systemjob/SystemJobInfoConverterExt.kt
ap...@google.com <ap...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit 80ca2374599ebc93feee3eb00fe6ad519ba0fa9a
Author: Sergey Vasilinetc <sergeyv@google.com>
Date: Tue Nov 07 16:43:44 2023
Support custom NetworkRequest in Constraints
This is shallow CL, where constaint tracing itself
wasn't yet added. See, the follow-up changes for the rest.
Relnote: "Adding an ability to specify `NetworkRequest` as the constraint."
bug: 280634452
Test: WorkSpecDaoTest, WorkDatabaseMigrationTest
Change-Id: Id98a186c963c6472ead2392eccf37ae0e88048eb
M work/work-runtime/api/current.txt
M work/work-runtime/api/restricted_current.txt
M work/work-runtime/src/androidTest/java/androidx/work/WorkDatabaseMigrationTest.java
M work/work-runtime/src/androidTest/java/androidx/work/WorkSpecDaoTest.java
M work/work-runtime/src/main/java/androidx/work/Constraints.kt
M work/work-runtime/src/main/java/androidx/work/impl/WorkDatabase.kt
M work/work-runtime/src/main/java/androidx/work/impl/WorkDatabaseMigrations.kt
M work/work-runtime/src/main/java/androidx/work/impl/model/WorkTypeConverters.kt
A work/work-runtime/src/main/java/androidx/work/impl/utils/NetworkRequestCompat.kt
A work/work-runtime/src/schemas/androidx.work.impl.WorkDatabase/21.json
https://android-review.googlesource.com/2817613
Branch: androidx-main
commit 80ca2374599ebc93feee3eb00fe6ad519ba0fa9a
Author: Sergey Vasilinetc <sergeyv@google.com>
Date: Tue Nov 07 16:43:44 2023
Support custom NetworkRequest in Constraints
This is shallow CL, where constaint tracing itself
wasn't yet added. See, the follow-up changes for the rest.
Relnote: "Adding an ability to specify `NetworkRequest` as the constraint."
bug: 280634452
Test: WorkSpecDaoTest, WorkDatabaseMigrationTest
Change-Id: Id98a186c963c6472ead2392eccf37ae0e88048eb
M work/work-runtime/api/current.txt
M work/work-runtime/api/restricted_current.txt
M work/work-runtime/src/androidTest/java/androidx/work/WorkDatabaseMigrationTest.java
M work/work-runtime/src/androidTest/java/androidx/work/WorkSpecDaoTest.java
M work/work-runtime/src/main/java/androidx/work/Constraints.kt
M work/work-runtime/src/main/java/androidx/work/impl/WorkDatabase.kt
M work/work-runtime/src/main/java/androidx/work/impl/WorkDatabaseMigrations.kt
M work/work-runtime/src/main/java/androidx/work/impl/model/WorkTypeConverters.kt
A work/work-runtime/src/main/java/androidx/work/impl/utils/NetworkRequestCompat.kt
A work/work-runtime/src/schemas/androidx.work.impl.WorkDatabase/21.json
ap...@google.com <ap...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit 45cba8b2625b9090bee7cc7f6fb4c33b99af9d3d
Author: Sergey Vasilinetc <sergeyv@google.com>
Date: Fri Nov 10 16:46:37 2023
Adding in-process constraint tracling with NetworkRequest
bug: 280634452
Test: NetworkRequestConstraintControllerTest && integration test
Change-Id: I05d9a5dd1310e36cc5010d5f6cd7a76e842c13dc
M work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/MainActivity.kt
M work/integration-tests/testapp/src/main/res/layout/activity_main.xml
M work/integration-tests/testapp/src/main/res/values/donottranslate-strings.xml
M work/work-runtime/build.gradle
M work/work-runtime/src/androidTest/java/androidx/work/impl/background/systemalarm/SystemAlarmDispatcherTest.java
M work/work-runtime/src/androidTest/java/androidx/work/impl/constraints/controllers/ConstraintControllerTest.kt
M work/work-runtime/src/androidTest/java/androidx/work/impl/testutils/TestConstraints.kt
M work/work-runtime/src/main/java/androidx/work/impl/background/greedy/GreedyScheduler.java
M work/work-runtime/src/main/java/androidx/work/impl/constraints/WorkConstraintsTracker.kt
M work/work-runtime/src/main/java/androidx/work/impl/constraints/controllers/ContraintControllers.kt
M work/work-runtime/src/main/java/androidx/work/impl/constraints/trackers/Trackers.kt
A work/work-runtime/src/test/java/androidx/work/NetworkRequestConstraintControllerTest.kt
https://android-review.googlesource.com/2824776
Branch: androidx-main
commit 45cba8b2625b9090bee7cc7f6fb4c33b99af9d3d
Author: Sergey Vasilinetc <sergeyv@google.com>
Date: Fri Nov 10 16:46:37 2023
Adding in-process constraint tracling with NetworkRequest
bug: 280634452
Test: NetworkRequestConstraintControllerTest && integration test
Change-Id: I05d9a5dd1310e36cc5010d5f6cd7a76e842c13dc
M work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/MainActivity.kt
M work/integration-tests/testapp/src/main/res/layout/activity_main.xml
M work/integration-tests/testapp/src/main/res/values/donottranslate-strings.xml
M work/work-runtime/build.gradle
M work/work-runtime/src/androidTest/java/androidx/work/impl/background/systemalarm/SystemAlarmDispatcherTest.java
M work/work-runtime/src/androidTest/java/androidx/work/impl/constraints/controllers/ConstraintControllerTest.kt
M work/work-runtime/src/androidTest/java/androidx/work/impl/testutils/TestConstraints.kt
M work/work-runtime/src/main/java/androidx/work/impl/background/greedy/GreedyScheduler.java
M work/work-runtime/src/main/java/androidx/work/impl/constraints/WorkConstraintsTracker.kt
M work/work-runtime/src/main/java/androidx/work/impl/constraints/controllers/ContraintControllers.kt
M work/work-runtime/src/main/java/androidx/work/impl/constraints/trackers/Trackers.kt
A work/work-runtime/src/test/java/androidx/work/NetworkRequestConstraintControllerTest.kt
ap...@google.com <ap...@google.com> #5
Project: platform/frameworks/support
Branch: androidx-main
commit e73f03b20876839876da2621d7f43d3e99083d67
Author: Sergey Vasilinetc <sergeyv@google.com>
Date: Mon Nov 13 15:04:51 2023
Multiprocess support for constraints with networkRequest
bug: 280634452
Test: ParcelableConstraintConvertersTest
Change-Id: I00638cd2b5cd9a6061d54a4292fc038bc08eb34a
M work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/ParcelableConstraintConvertersTest.kt
M work/work-multiprocess/src/main/java/androidx/work/multiprocess/parcelable/ParcelableConstraints.java
M work/work-runtime/src/main/java/androidx/work/impl/utils/NetworkRequestCompat.kt
https://android-review.googlesource.com/2827515
Branch: androidx-main
commit e73f03b20876839876da2621d7f43d3e99083d67
Author: Sergey Vasilinetc <sergeyv@google.com>
Date: Mon Nov 13 15:04:51 2023
Multiprocess support for constraints with networkRequest
bug: 280634452
Test: ParcelableConstraintConvertersTest
Change-Id: I00638cd2b5cd9a6061d54a4292fc038bc08eb34a
M work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/ParcelableConstraintConvertersTest.kt
M work/work-multiprocess/src/main/java/androidx/work/multiprocess/parcelable/ParcelableConstraints.java
M work/work-runtime/src/main/java/androidx/work/impl/utils/NetworkRequestCompat.kt
ap...@google.com <ap...@google.com> #6
Project: platform/frameworks/support
Branch: androidx-main
commit 8e58edb325897499550949ba4bbd51fa5e4f935d
Author: Sergey Vasilinetc <sergeyv@google.com>
Date: Mon Nov 13 15:42:00 2023
Throw from the Constaints.Builder if NetworkRequest with NetworkSpecifier is passed
bug: 280634452
Test: ConstraintsTest
Change-Id: I1e6fffd4e5bbdf074c43a974b177dc123e55b54b
A work/work-runtime/src/androidTest/java/androidx/work/ConstraintsTest.kt
M work/work-runtime/src/main/java/androidx/work/Constraints.kt
M work/work-runtime/src/main/java/androidx/work/impl/utils/NetworkRequestCompat.kt
https://android-review.googlesource.com/2827691
Branch: androidx-main
commit 8e58edb325897499550949ba4bbd51fa5e4f935d
Author: Sergey Vasilinetc <sergeyv@google.com>
Date: Mon Nov 13 15:42:00 2023
Throw from the Constaints.Builder if NetworkRequest with NetworkSpecifier is passed
bug: 280634452
Test: ConstraintsTest
Change-Id: I1e6fffd4e5bbdf074c43a974b177dc123e55b54b
A work/work-runtime/src/androidTest/java/androidx/work/ConstraintsTest.kt
M work/work-runtime/src/main/java/androidx/work/Constraints.kt
M work/work-runtime/src/main/java/androidx/work/impl/utils/NetworkRequestCompat.kt
se...@google.com <se...@google.com> #7
Will be released in 2.10.0-alpha01
na...@google.com <na...@google.com> #8
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.work:work-multiprocess:2.10.0-alpha01
androidx.work:work-runtime:2.10.0-alpha01
Description
Version used: 2.8.1
Devices/Android versions reproduced on: Android 10, 13
Our app uses both JobScheduler (in older part) and WorkManager (in newer code)
We noticed that jobs and workers never start on Android 11 and 13 devices connected to a private network (no internet access).
Older devices (Android 8) work fine.
It seems to be related to JobInfo.setRequiredNetworkType creating a NetworkRequest with NET_CAPABILITY_INTERNET and NET_CAPABILITY_VALIDATED.
On the JobScheduler side we fixed the problem by specifying the required network with a proper NetworkRequest instead of a networkType.
Unfortunately this is not possible with the WorkManager.
I believe that private networks are quite common in enterprise environment. The WorkManager is currently not suitable for this use case.
More generally it would be nice to be able define the required network more precisely.
In our case, the workaround we can think of are :
- Modify the URL used to validate the network (via OEM config), so that the devices believe they have internet access. It work but it's ugly and only possible for some devices.
- Migrate the code from WorkManager to JobScheduler. Interestingly enough we were previously considering the opposite.