DisplayManager
App responsible for setting up contexts, windows, display, etc.
Research
LSD.JXE references
import de.audi.atip.hmi.view.IDisplayManager;
import de.audi.tghu.fwhmi.IDisplayManagerKombiControl;
import de.esolutions.hmi.widgets.audi.evo.DisplayControllerEvo;
private static void initializeDisplayableMapping() {
DisplayManager.displayableMapping[0] = 16;
DisplayManager.displayableMapping[1] = 17;
DisplayManager.displayableMapping[2] = 18;
DisplayManager.displayableMapping[3] = 19;
DisplayManager.displayableMapping[4] = 20;
DisplayManager.displayableMapping[5] = 21;
DisplayManager.displayableMapping[7] = 23;
DisplayManager.displayableMapping[8] = 25;
DisplayManager.displayableMapping[14] = 34;
DisplayManager.displayableMapping[9] = 26;
DisplayManager.displayableMapping[10] = 27;
DisplayManager.displayableMapping[11] = 28;
DisplayManager.displayableMapping[12] = 22;
DisplayManager.displayableMapping[13] = 24;
DisplayManager.displayableMapping[15] = 36;
DisplayManager.displayableMapping[16] = 41;
DisplayManager.displayableMapping[17] = 50;
DisplayManager.displayableMapping[18] = 39;
}
private final void initDSI() {
if (!this.initialized) {
if (this.dsiDispMgmt != null) {
this.defineContexts();
this.dsiDispMgmt.declareContexts(this.dc);
this.configureDM();
this.initialized = true;
} else {
this.log.log(10000, "DSI service is NULL");
}
}
}
@Override
protected void configureDM() {
if (this.framework.getSysConst(541) == 2) {
this.createImageDisplayable(new ResourceLocator(102, "/mnt/app/eso/hmi/lsd/images/HMISystemEvoHigh/987.png"), 102);
this.createImageDisplayable(new ResourceLocator(101, "/mnt/app/eso/hmi/lsd/images/HMISystemEvoHigh/987.png"), 101);
}
}
private boolean isVideoOnlyContext(int n) {
switch (n) {
case 67: { return true; }
case 68: { return true; }
case 69: { return true; }
case 70: { return true; }
case 71: { return true; }
}
return false;
}
@Override
public void declareContexts(DisplayContext[] displayContextArray) {
DSIDisplayManagementProxy$1 dSIDisplayManagementProxy$1 = new DSIDisplayManagementProxy$1(this, displayContextArray);
this.proxy.remoteCallMethod((short)3, dSIDisplayManagementProxy$1);
}
Parameters
Sadly there's no use displaymanager info that would show us how to fully use the potential of displaymanager. Luckily there's DisplayManager Debug Tool with nice description.
But still I would like to know how the displaymanager works when controlled directly. Below info was found by accident in system references to the displaymanager binary.
-splashShow 1-splash-2nd-dbg-dbgcl
Examples
Used by the start script to show splashscreen animation:
./displaymanager -splashShow 1 -splash /eso/lib/splash.psse -2nd libdmfw.so -dbg 0 -dbgcl 1 -t