RFR: 8343398: Add reducedData preference [v4]

Andy Goryachev angorya at openjdk.org
Wed Dec 11 18:40:16 UTC 2024


On Wed, 11 Dec 2024 16:31:06 GMT, Michael Strauß <mstrauss at openjdk.org> wrote:

>> The `reducedData` preference instructs applications to minimize internet traffic, as users might be on a metered network or a limited data plan.
>> 
>> This corresponds to the following OS settings:
>> 
>> Windows: Settings -> Network and Internet -> Ethernet/WiFi -> Metered connection
>> macOS: Settings -> Network -> Ethernet/WiFi -> Network Settings -> Low data mode
>> Ubuntu: Settings -> Network -> Wired/WiFi -> Metered connection
>> 
>> Change notifications work consistently on Windows and macOS. On my Ubuntu 24 system, the GIO `network-changed` signal is not sent when I only toggle the "metered connection" flag in network settings (and there's no signal specifically for low-data mode). The new value is only picked up when the connection changes by coming offline or going online.
>
> Michael Strauß has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains seven additional commits since the last revision:
> 
>  - Merge branch 'master' into feature/reduced-data
>  - refactor macOS PlatformSupport
>  - javadoc change
>  - error message tweak
>  - add macOS implementation
>  - add linux implementation
>  - Implementation of reducedData

It looks like the scope of this change goes far beyond adding a few properties.  It looks like a non-trivial refactoring that might also impact other platform preferences.

I did check that switching between light/dark modes on macOS results in proper updates, but the native code needs to be re-reviewed.

modules/javafx.graphics/src/main/native-glass/mac/GlassApplication.m line 190:

> 188:     {
> 189:         // unblock main thread. Glass is started at this point.
> 190:         self->platformSupport = [[PlatformSupport alloc] initWithEnv:env application:jApplication];

should we check for failure here?  (alloc)

-------------

PR Review: https://git.openjdk.org/jfx/pull/1656#pullrequestreview-2496523969
PR Review Comment: https://git.openjdk.org/jfx/pull/1656#discussion_r1880713286


More information about the openjfx-dev mailing list