DisplayManager

From MIB-Helper.com Wiki
Jump to navigation Jump to search

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