fix(auto): align TabTemplate with required Car API level 6 and tintable icons

- TabTemplate is @RequiresCarApi(6); bump manifest minCarApiLevel from 2
  to 6 so the host doesn't reject the template at runtime.
- Use a proper anonymous TabCallback (androidx's TabCallback is not a
  Kotlin fun interface) and import top-level TabContents (it is not a
  nested type of TabTemplate); the lambda/nested references don't
  compile.
- Mark tab CarIcons tintable (CarColor.DEFAULT) so day-mode AAOS themes
  don't render white-on-white.
- Extract buildChannelRow to keep buildChannelsTemplate under the
  NestedBlockDepth detekt threshold.
- Clarify MAX_LIST_ITEMS KDoc (per-ListTemplate host constraint, not an
  API-level property).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
James Rich 2026-04-17 10:26:15 -05:00
parent 6af9cbf376
commit 38b74441fb
2 changed files with 38 additions and 37 deletions

View file

@ -33,10 +33,11 @@
</intent-filter>
</service>
<!-- TabTemplate requires Car API level 2 (androidx.car.app 1.2.0+) -->
<!-- TabTemplate is annotated @RequiresCarApi(6); the host throws HostException
if we claim a lower minCarApiLevel than any template we actually use. -->
<meta-data
android:name="androidx.car.app.minCarApiLevel"
android:value="2" />
android:value="6" />
</application>
</manifest>