RFR: 8286872: Refactor add/modify notification icon (TrayIcon) [v3]
Alexey Ivanov
aivanov at openjdk.java.net
Wed May 18 17:54:30 UTC 2022
> Encapsulate the logic of adding or modifying a notification icon aka tray icon. This is to avoid code duplication between [`AwtTrayIcon::WmTaskbarCreated`](https://github.com/openjdk/jdk/blob/7b988b31c661c6e3e58cf8ced81732e40a79d4f5/src/java.desktop/windows/native/libawt/windows/awt_TrayIcon.cpp#L477) and [`AwtTrayIcon::_UpdateIcon`](https://github.com/openjdk/jdk/blob/7b988b31c661c6e3e58cf8ced81732e40a79d4f5/src/java.desktop/windows/native/libawt/windows/awt_TrayIcon.cpp#L796).
>
> Separating adding and modifying the icon simplifies the methods, the actions are clearer: adding the icon requires sending `NIM_SETVERSION` message whereas modifying the icon doesn't.
>
> To verify the code works as before, I used `TrayIconScalingTest.java`. I killed explorer.exe process to verify the notification icon gets added. Changing DPI of the main display updates the displayed icon as expected.
Alexey Ivanov has updated the pull request incrementally with two additional commits since the last revision:
- Inline AddTrayIcon and ModifyTrayIcon
- Make SendTrayMessage private - it's used internally only
-------------
Changes:
- all: https://git.openjdk.java.net/jdk/pull/8749/files
- new: https://git.openjdk.java.net/jdk/pull/8749/files/67625852..52f5ecae
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jdk&pr=8749&range=02
- incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=8749&range=01-02
Stats: 28 lines in 2 files changed: 11 ins; 15 del; 2 mod
Patch: https://git.openjdk.java.net/jdk/pull/8749.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/8749/head:pull/8749
PR: https://git.openjdk.java.net/jdk/pull/8749
More information about the client-libs-dev
mailing list