Im trying to contribute tray icon to my e4 based application. In e3 application I use WorkbenchWindowAdvisor class and override
WorkbenchWindowAdvisor.postWindowOpen()
and
WorkbenchWindowAdvisor.dispose()
methods to contribute and dispose tray icon. In e4 app I use MyLifeCycleManager (lifeCycleURI application property) and in @ProcessAdditions annotated method according to topic Add System Tray and Active Workbech Shell reference in E4 application I create tray icon in the following way:
Tray tray = pDisplay.getSystemTray();
trayItem = new TrayItem(tray, SWT.NONE);
Image trayImage = AbstractUIPlugin.imageDescriptorFromPlugin(Activator.PLUGIN_ID, "icons/alt_window_16.gif").createImage();
trayItem.setImage(trayImage);
trayItem.setToolTipText(TRAY_TOOLTIP);
To dispose tray icon I use IWindowCloseHandler instance injected to the context.
What is the correct way to create and dispose tray icon (and other application specific objects) in e4 manner?