title: How is config_systemUIFactoryComponent from System UI overlayed by Car / TV System UI?
body: <p>In <a href="https://cs.android.com/android/platform/superproject/+/master:frameworks/base/packages/SystemUI/res/values/config.xml;l=311?q=config_systemUIFactoryComponent%20" rel="nofollow noreferrer">Androids System UI</a> <code>config_systemUIFactoryComponent</code> is used to define the factory that shall be used for starting different System UI services.</p>
  <pre><code>&lt;string name=&quot;config_systemUIFactoryComponent&quot; translatable=&quot;false&quot;&gt;
      com.android.systemui.SystemUIFactory
  &lt;/string&gt;
  </code></pre>
  <p>For TVs or Cars this is somehow overridden with own config files.</p>
  <p><a href="https://cs.android.com/android/platform/superproject/+/master:packages/apps/Car/SystemUI/res/values/config.xml;l=21?q=config_systemUIFactoryComponent%20" rel="nofollow noreferrer">For Cars</a> this is done at <code>packages/apps/Car/SystemUI/res/values/config.xml</code>:</p>
  <pre><code>&lt;string name=&quot;config_systemUIFactoryComponent&quot; translatable=&quot;false&quot;&gt;
      com.android.systemui.CarSystemUIFactory
  &lt;/string&gt;
  </code></pre>
  <p>From my understanding this does not follow the usual overlay approach of Android, since I cannot find any reference to this path via the Android Code Search.</p>
  <p>The only place, where this config variable is used is in the code is <a href="https://cs.android.com/android/platform/superproject/+/master:frameworks/base/packages/SystemUI/src/com/android/systemui/SystemUIFactory.java;l=65?q=config_systemUIFactoryComponent" rel="nofollow noreferrer">SystemUIFactory</a>:</p>
  <pre><code>final String clsName = context.getString(R.string.config_systemUIFactoryComponent);
  </code></pre>
  <p>I guess that <code>context</code> is important for deciding, from which <code>config.xml</code> to read the value from.</p>
  <p>Where is decided, whether to take the <code>config.xml</code> from System UI or Car System UI?</p>