Skip to content

IllegalArgumentException: Missing required action types: APP_ICON for Android Auto #170

Open
@trandung1601

Description

Describe the bug
I'm in the process of creating an application for Android Auto using react-native-carplay. Unfortunately, the documentation lacks details on configuring the TabBarTemplate. To work around this, I delved into the library's code to understand its functionality. Based on my findings, I've established the following configuration:

  `import {GridTemplate, TabBarTemplate} from 'react-native-carplay';
  import {img_1, img_2} from './templates/file';
  const gridItemImage = require('../assets/img/go.png');
  
  const gridTemp = new GridTemplate({
    buttons: [
      {
        id: 'Odo',
        titleVariants: ['Odo'],
        image: gridItemImage,
      },
    ],
    title: 'TSC',
    id: 't1',
  });
  const gridTemp2 = new GridTemplate({
    buttons: [
      {
        id: 'Odo2',
        titleVariants: ['Odo122'],
        image: gridItemImage,
      },
    ],
    id: 't2',
    title: 'TSC',
  });
  
  export const tabBarTemplate = new TabBarTemplate({
    title: 'TSC',
    headerAction: {type: 'back', appIcon: ''},
    templates: [
      {
        title: 'tab1',
        id: 't1',
        icon: {uri: img_1},
        template: gridTemp,
      },
      {
        title: 'tab2',
        id: 't2',
        icon: {uri: img_2},
        template: gridTemp2,
      },
    ],
  });

`

However, When I run the app, it throws this error:
java.lang.IllegalArgumentException: Missing required action types: APP_ICON, at androidx.car.app.model.constraints.ActionsConstraints.validateOrThrow(ActionsConstraints.java:394) at androidx.car.app.model.TabTemplate$Builder.setHeaderAction(TabTemplate.java:235) at org.birkir.carplay.parser.RCTTabTemplate.parse(RCTTabTemplate.kt:32) at org.birkir.carplay.parser.RCTTabTemplate.parse(RCTTabTemplate.kt:11) at org.birkir.carplay.parser.TemplateParser.parse(TemplateParser.kt:30) at org.birkir.carplay.CarPlayModule.parseTemplate(CarPlayModule.kt:92) at org.birkir.carplay.CarPlayModule.createScreen(CarPlayModule.kt:284) at org.birkir.carplay.CarPlayModule.getScreen(CarPlayModule.kt:294) at org.birkir.carplay.CarPlayModule.setRootTemplate$lambda$2(CarPlayModule.kt:139) at org.birkir.carplay.CarPlayModule.$r8$lambda$cp18Ybhsx4k_Ka2Moa-_hKNT4FY(Unknown Source:0) at org.birkir.carplay.CarPlayModule$$ExternalSyntheticLambda5.run(Unknown Source:4) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:236) at android.app.ActivityThread.main(ActivityThread.java:8061) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967)
Can anyone with experience with Android Auto help me? Thank you, buddy, so much!!!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions