RFR: 8301302: Platform preferences API [v9]

Andy Goryachev angorya at openjdk.org
Wed Sep 6 17:35:15 UTC 2023


On Wed, 6 Sep 2023 00:14:45 GMT, Michael Strauß <mstrauss at openjdk.org> wrote:

>> Please read [this document](https://gist.github.com/mstr2/9f46f92c98d3c86aa6a0b4224a9a6548) for an introduction to the Platform Preferences API, and how it interacts with the proposed style theme and stage appearance features.
>
> Michael Strauß has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Update Eclipse .classpath file

tests/manual/events/PlatformPreferencesTest.java line 85:

> 83:         textArea.setText("preferences = " + formatPrefs(cachedPreferences.entrySet().stream()));
> 84: 
> 85:         Platform.getPreferences().addListener(

While testing on macOS 13.3.1a, a change in the Appearance settings page results in one valid change reported, followed by a number of empty changes.  Is it possible to suppress empty changes?

example:


changed = {
	macOS.NSColor.alternatingContentBackgroundColors=[Ljavafx.scene.paint.Color;@58d04cb
	macOS.NSColor.controlBackgroundColor=0xffffffff
	macOS.NSColor.controlColor=0xffffffff
	macOS.NSColor.controlTextColor=0x000000d8
	macOS.NSColor.disabledControlTextColor=0x0000003f
	macOS.NSColor.gridColor=0xe6e6e6ff
	macOS.NSColor.headerTextColor=0x000000d8
	macOS.NSColor.highlightColor=0xffffffff
	macOS.NSColor.keyboardFocusIndicatorColor=0x4eab307f
	macOS.NSColor.labelColor=0x000000d8
	macOS.NSColor.linkColor=0x0068daff
	macOS.NSColor.placeholderTextColor=0x0000003f
	macOS.NSColor.quaternaryLabelColor=0x00000019
	macOS.NSColor.secondaryLabelColor=0x0000007f
	macOS.NSColor.selectedContentBackgroundColor=0x4da033ff
	macOS.NSColor.selectedControlColor=0xd0eac8ff
	macOS.NSColor.selectedControlTextColor=0x000000d8
	macOS.NSColor.selectedTextBackgroundColor=0xd0eac8ff
	macOS.NSColor.selectedTextColor=0x000000ff
	macOS.NSColor.separatorColor=0x00000019
	macOS.NSColor.systemBlueColor=0x007affff
	macOS.NSColor.systemBrownColor=0xa2845eff
	macOS.NSColor.systemGrayColor=0x8e8e93ff
	macOS.NSColor.systemGreenColor=0x28cd41ff
	macOS.NSColor.systemIndigoColor=0x5856d6ff
	macOS.NSColor.systemOrangeColor=0xff9500ff
	macOS.NSColor.systemPinkColor=0xff2d55ff
	macOS.NSColor.systemPurpleColor=0xaf52deff
	macOS.NSColor.systemRedColor=0xff3b30ff
	macOS.NSColor.systemTealColor=0x59adc4ff
	macOS.NSColor.systemYellowColor=0xffcc00ff
	macOS.NSColor.tertiaryLabelColor=0x00000042
	macOS.NSColor.textBackgroundColor=0xffffffff
	macOS.NSColor.textColor=0x000000ff
	macOS.NSColor.underPageBackgroundColor=0x969696e5
	macOS.NSColor.unemphasizedSelectedContentBackgroundColor=0xdcdcdcff
	macOS.NSColor.unemphasizedSelectedTextBackgroundColor=0xdcdcdcff
	macOS.NSColor.unemphasizedSelectedTextColor=0x000000ff
	macOS.NSColor.windowBackgroundColor=0xecececff
	macOS.NSColor.windowFrameTextColor=0x000000d8
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}
changed = {
	
}

tests/manual/events/PlatformPreferencesTest.java line 108:

> 106:         String entries = prefs
> 107:                 .sorted(Map.Entry.comparingByKey())
> 108:                 .map(Object::toString)

very, very minor: you could format arrays, to avoid [Ljavafx.scene.paint.Color;@2bacc543

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

PR Review Comment: https://git.openjdk.org/jfx/pull/1014#discussion_r1317617606
PR Review Comment: https://git.openjdk.org/jfx/pull/1014#discussion_r1317618960


More information about the openjfx-dev mailing list