BimmerGestalt / AAIdrive

Implementations of some Android Auto features as unofficial IDrive apps
MIT License
541 stars 90 forks source link

Multimedia screen shows duplicate items NBT ID4 2015 BMW i3 #62

Closed ziggythehamster closed 2 years ago

ziggythehamster commented 4 years ago

On a 2015 BMW i3 with NBT iDrive 4, the Multimedia screen shows a bunch of apps, one of which is "Audioplayer". If I choose e.g. CloudPlayer, it doesn't do anything (the car shows a loading animation and nothing happens). But if I go to Audioplayer, the apps list in there works beautifully. This may be unfixable due to the iDrive protocol, so maybe this is a doc/FAQ clarification ticket :).

hufman commented 4 years ago

Thanks for reaching out! This is, unfortunately, working as intended: The RHMI portion of the app is locked to using the icon for the cert it is logging in with (Audioplayer), and the other app icons use a different method that can have any icon and text but can't contain any app within. In the protocol, these are placeholder icons, used to trigger a deferred creation of a full RHMI app to replace those placeholder icons when selected, but instead I just use the input to switch the active music source. There's code to subsequently switch the screen to the main Audioplayer app, but it seems to be flaky on IDrive4. After you've opened the Audioplayer app, I believe those top-level app icons should trigger that transition, for a while at least.

I'll try to figure out a good way to document this behavior. Thanks again for the input!

ziggythehamster commented 4 years ago

If it's possible to deactivate the top level app icons and have it still work, maybe that can be a toggle or a default behavior on NBT ID4. I'm not too sure how the protocol works (I plan on taking a look at the source to this to see about tweaking the layout on my car, though I haven't done Android since when Java was the preferred language, so we'll see how far I get).

hufman commented 4 years ago

I'm afraid I can't make it a toggle satisfactorily: The placeholder api only has an am_create call, and does not provide any function to delete the icons, without disconnecting the entire RPC connection. There is an open request (#60) to only show selected apps in the car, and perhaps that will help?

Perhaps, to conveniently skip past the long Media menu and get right into the Audioplayer, you could assign the Audioplayer app icon to one of the hardware shortcut buttons in the dash? I had my previous car set up like that, and it was incredibly convenient.

ziggythehamster commented 4 years ago

Yeah I think if you made #60 where you can choose individually if an app shows on the main screen and/or is available as an app at all, that would be a solution. I was thinking more like "Hide apps from main Multimedia screen", if they still worked within Audioplayer without showing on the main screen.

hufman commented 4 years ago

I added a User Guide to the README to explain the extra icons, as a quick effort to help document what they are :)

hufman commented 2 years ago

I have since figured out how to toggle the placeholder icons on demand, so disabling the apps in the Music tab updates the displayed apps in the media menu instantly (in 19183b0).