[Android 7.0+] AppRadio Unchained Rootless

Search This thread

Sym_Link

Senior Member
Jun 4, 2010
662
528
Orlando
New beta is now available. To get it sign up here: https://play.google.com/apps/testing/mars.area51.arunchainednr
V0.09:
- Fix for black menu text color, now white as it should be.
- SWC commands can now be directed to a target app.

To set SWC target app:
- Goto 'Settings->Screen Settings and more'
- Hit 'SWC target app' and select an app from the list that can handle media buttons
An example that works is 'Google Play Music'.

The Steering Wheel Control commands are injected as media buttons. In Androids 7 those were sent to all apps than can handle them. However since Android 8 they only work when being directed to a specific app. This is now possible.
Tested with 'Google Play Music' and 'Youtube'.

I have used tasker and the autonotification tasker plugin to allow me to use the SWC for multiple apps. I have ARUnchained pointing to taker for the SWC app. I have four tasker profiles for each app I want to use. Two of them uses autonotification to see if an app is running by checking to see if it is in notifications and sets a variable to 1 or 0. The other two are for next and previous tracks. Those are triggered by the next/previous commands sent by ARU and whether the variable is on or off, then send the media command to the app.

This works great for Poweramp, Google Play Music, and Pandora. I tried to do LiveXLive (Slacker) but it just wouldn't work. LiveXLive doesn't work if I set that as the SWC app either, so it must just not take media controls, which is terrible for a music app. I imagine if the apps works being set in ARU as the SWC app, then it will work with tasker.

I was having an issue getting the variables to switch back to 0 when Play Music and Pandora stop playing. Works fine with Poweramp. It has something to do with the way the notifications are dismissed in those apps. It detects when the app starts playing music, just not when it stops. I worked around it by having tasker set all of the app variables back to 0 when one opens. For instance, when Poweramp opens and sets it's variable to 1, it also sets the other app variables to 0. So, I never have more than one app receiving media controls.

I can upload my profiles if anyone wants them.
 
Last edited:

Area51©

Senior Member
Aug 30, 2013
2,507
1,079
Breda
I have used tasker and the autonotification tasker plugin to allow me to use the SWC for multiple apps.
...
Great idea. I was considering to make it possible to add multiple apps and just send the media buttons to all of them but I wasn't sure what would happen. If only the currently running app would respond then it would be fine. But it might be that it would activate a non running app that then in turn could stop the active app. Kinda not what you want.
I didn't have time to test it with multiple apps. So decided to make it so that at least one app can be controlled.
Do you know if it doesn't hurt to send media buttons to multiple apps? It would probably not be too much work to add that.
 
Last edited:
Anybody has any issues with the beta version? About 72 people have installed it now. I guess no news is good news.......
In the meantime I made a workaround for the text color being black in the app's overflow menu. It seems a bug in Android 9 as the correct text color (white) is being displayed when running on Android 7 and 8. It's just cosmetic but it makes the menu very hard to read.

You are doing this on Tasker without root?

EDIT :sorry, not the good related post... I send a new message at the end of the thread
 
Last edited:

Sym_Link

Senior Member
Jun 4, 2010
662
528
Orlando
...
Do you know if it doesn't hurt to send media buttons to multiple apps? It would probably not be too much work to add that.

I did try that at first and results weren't great. Each app behaves a little different. Poweramp will change the track even if not playing, but it didn't actually cause it to start playing. So it would always be changing tracks in the background. Play Music always starts playing and takes over, even if it hasn't been open at all recently and definitely not running background.

Pandora and YouTube music were fine and didn't do anything unless they were actively playing music. Even if they had just been closed and probably still in running processes, they wouldn't react.

So, you can see with just those four apps, you get three different results. I don't think you could get away with sending to multiple apps without some serious testing to know which apps play nice together. I imagine it would create a lot of headache for you from users complaining if you left it up to them to figure out which ones work together, lol.
 
  • Like
Reactions: Area51©
I have used tasker and the autonotification tasker plugin to allow me to use the SWC for multiple apps. I have ARUnchained pointing to taker for the SWC app. I have four tasker profiles for each app I want to use. Two of them uses autonotification to see if an app is running by checking to see if it is in notifications and sets a variable to 1 or 0. The other two are for next and previous tracks. Those are triggered by the next/previous commands sent by ARU and whether the variable is on or off, then send the media command to the app.

This works great for Poweramp, Google Play Music, and Pandora. I tried to do LiveXLive (Slacker) but it just wouldn't work. LiveXLive doesn't work if I set that as the SWC app either, so it must just not take media controls, which is terrible for a music app. I imagine if the apps works being set in ARU as the SWC app, then it will work with tasker.

I was having an issue getting the variables to switch back to 0 when Play Music and Pandora stop playing. Works fine with Poweramp. It has something to do with the way the notifications are dismissed in those apps. It detects when the app starts playing music, just not when it stops. I worked around it by having tasker set all of the app variables back to 0 when one opens. For instance, when Poweramp opens and sets it's variable to 1, it also sets the other app variables to 0. So, I never have more than one app receiving media controls.

I can upload my profiles if anyone wants them.
Are you doing this with a rooter device?
 

bigcid10

Senior Member
Dec 17, 2011
531
77
West Palm Beach
I have a avh-x8500bhs and aru
is there a swc app that I need to have installed on my phone as well to
make the connection between the swc controller and aru?
Thank you
 

Orthok

Senior Member
Aug 14, 2013
65
2
Hi I have an Appradio 3, is there a way so that when I receive calls I can still use the head unit and see the whole screen? I cant even use the dialer for touch tones since the head unit highjacks the display.

When I turn off bluetooth for calls it resolves the head unit recognizing the phone call but then I lose call audio.

Any solutions that can keep phone call audio playing through the head unit, but it not recognizing it as a phone call?

Thank you
 

Fcgrande

New member
Oct 22, 2019
1
0
Hi, bought aru rootless and using a miracast adapter. Screen mirroring works just fine but theres no audio. What can be the problem. Thanks
 

Jeremiah_cox

New member
Oct 24, 2019
1
0
What Is the beat used in the Samsung folder 2 video by xda

I have been searching for ever and have found no luck I would love to know
 

philgriffin423

New member
Oct 30, 2019
1
0
Problems with ARU rootless on S9 with AppRadio 4

I got my AppRadio 4 set up with my Samsung S9 through an MHL adapter today and it seems to connect but it only gives me the home screen, with very tiny icons at that. It gives me the message that says drag corners of the screen to adjust size and press okay. Anytime I touch the screen though it just brings up the Pioneer controls, (settings, etc.). I'm wondering if I have a setting wrong that's not allowing the touchscreen to control the phone? I also really wish I could explain it better.
 
The beta is now available. To get it sign up here: https://play.google.com/apps/testing/mars.area51.arunchainednr
V0.08:
- Fix for calibration out of range.
- Fix for delay of casting start.
- Support for automatic casting on Samsung Android 9.
- Fix for startForegroundService.
- Fix for rotation locker.
- Change HDMI wired connection trigger to be triggered by Bluetooth connection.

Hello, I'm on the rooted ARU. Galaxy S10 now and calibration don't look nice. If the fix calibration listed here mean availability to catch correct touch input with smartphones in more than 16/9, do you think you will add it to rooted version?

It feels OK for me to buy the rootless but if steering buttons don't works as expected I prefer stay on rooted
 

astracd

Senior Member
Jul 6, 2014
734
219
OnePlus 3
Samsung Galaxy S9
Hi,

I update to Android 10 (Oneplus 6T), and again auto connecting to cast screen doesn't work.
Not sure if you remember few months ago I was sending you info to fix it for Oneplus. I can do it again if needed, thank you.
 
  • Like
Reactions: seburton

Top Liked Posts

  • There are no posts matching your filters.
  • 7
    Great news regarding AAUnchained. Finally video streaming to my Pioneer Android Auto head unit is working and it is really stable. See here for a demo: AAUnchained video mirroring demo.
    This demo shows the AAUnchained app running on my old Nexus 6 with Android 9. It's connected wirelessly to the head unit via an AAWireless adapter. AAunchained mirrors the phone's screen to the head unit directly, 'talking' the Android Auto protocol. Because Android Auto is not used, all of the screen estate is available for mirroring.
    Next things to do is to get audio working and implementing touch from the head unit to the phone.

    I did some more testing with audio and it's also sent to the head unit using the AA protocol. Capturing internal audio is only possible with Android 10 and higher so that's going to be a requirement for the app. Have to see how that works but it's not nearly as difficult as getting the video to work.

    Touch is even simpler. Touch info is already sent via the AA protocol, just a matter of hooking it up.
    6
    Now have audio working as well. Going to add touch and then make a full demo.
    4
    AppRadio Unchained Rootless allows full mirroring of your phone from your AppRadio. This means that any app can be controlled from the head unit screen and not just a few that are specially adapted.

    AppRadio Unchained Rootless is available from the Play store here: AppRadio Unchained Rootless
    The user's manual is available here: User's manual

    For this app to work Android 7 or higher is required. As Android 7 only allows to inject complete gestures, a gesture has to be completed first on the head unit before it will be dispatched to the phone. It works similar to record and playback. Suppose you need to do a long press of 2 seconds, first press for 2 seconds, once you lift your finger it will be dispatched and replicated on the phone where it will take 2 seconds as well. It's recommended to only do things that take a short time so there won't be too much delay.

    Important
    The 'Smartphone setup' on the head unit needs to be set correctly for Android as by default it's configured for Iphone. Go to Settings->System->Input/Output Settings->SmartphoneSetup and set Device to 'Others' and Connection to 'HDMI'. See this video: Smartphone setup

    Any other AppRadio related app needs to be uninstalled as this blocks the connection to AppRadio Unchained Rootless.

    AppRadio mode requires that your device is connected to the HDMI input of the head unit. Depending on the device this can be done with a MHL / Slimport / Miracast / Chromecast adapter. This app supports automatic connection to wireless screencasting devices. Since Google API doesn't support this directly it is done via the phone's GUI. Note that only the phone's built-in screencasting capabilities can be used.

    Because this app may not work for your setup there's an extended trial period of 48 hours. In order to claim this simply request a refund within 48 hours after purchase by emailing the order number to the support email address.

    Supported head units: any AppRadio that supports Android AppMode via HDMI.
    For example: SPH-DA100, SPH-DA110, SPH-DA210, SPH-DA120, AVH-X8500BHS, AVH-4000NEX, AVH-4100NEX, AVH-4200NEX, AVIC-X850BT, AVIC-X950BH, AVIC-Z150BH, AVIC-6000NEX, AVIC-6100NEX, AVIC-6200NEX, AVIC-7000NEX, AVIC-7100NEX, AVIC-7200NEX, AVIC-8000NEX, AVIC-8100NEX, AVIC-8200NEX

    Units that have AppRadio mode via USB (a.k.a. AppRadio One) are not supported.

    Android 7 Bluetooth bug
    If during connection 'Accept thread error' is displayed this is not because of a bug in the app but due to a bug in Android 7.
    It can be fixed by disabling BT background scanning: Go to Settings -> Location, in top right menu click Scanning -> Bluetooth Scanning.

    The following features are supported:
    - Multitouch
    - AppRadio buttons
    - GPS data transfer via mock locations (only works with head units that have a GPS receiver)
    - Wake lock
    - Rotation locker (to put any app in landscape mode)
    - Real calibration
    - Start on HDMI detection (for use with phones and HDMI adapters)
    - Notifications to indicate connection state
    - Diagnostics
    - Automatic Bluetooth toggle for improved connection

    Beta test version
    The beta test version has the latest features but can also contain bugs.
    You need to become a tester of the AppRadio Unchained Rootless app to be able to get it.
    Please apply here: https://play.google.com/apps/testing/mars.area51.arunchainednr

    Beta test release notes
    0.09
    - Fix for black menu text color, now white as it should be.
    - SWC commands can now be directed to a target app.

    0.08
    - Fix for calibration out of range.
    - Fix for delay of casting start.
    - Support for automatic casting on Samsung Android 9.
    - Fix for startForegroundService.
    - Fix for rotation locker.
    - Change HDMI wired connection trigger to be triggered by Bluetooth connection.

    AppRadio is a registered trademark of Pioneer.
    Disclaimer: You are solely responsible for using this app in such a way that it does not impair your ability to drive.
    4
    A coincidence that you ask , but recently I started working on AAUnchained again. I talked to some people about it and got some new insights as how to go forward.
    It's pretty tough but I am slowly making progress. It's pretty stable now when talking to the OpenAuto head unit simulator. I can also talk to my Pioneer head unit via AAwireless but not stable yet. Plan to do some tests to talk to the head unit via USB and iron out the kinks. The code that I have now is basically a prototype and nowhere near production quality.
    4
    @Area51© have you seen those repositories : AACS and AAVideoSink ?
    You could use it as explained here .
    I think I had a look at that and it was not very useful for me. I already have code that can do more than that.

    My main issue was getting system audio (REMOTE_SUBMIX) from Android. I managed to do that only with a rooted phone. Recently I discovered that it's possible to get system audio with only shell rights (via ADB) in Android 12 and up.
    Now there's the Shizuku app that can be used to use ADB rights in your app. I have been doing some experiments with that and got system audio capture working on a non rooted phone.
    Furthermore this could also be used to capture video without the need to give consent each time the app is started.
    Touch can be injected without the need to use an accessibility service. This way real touch events can be injected giving much better response than the gestures via an accessibility service.
    Last but not least it gives the possibility to set the aspect ratio to match the head unit's aspect ratio so there's no black bars.
    And the best is that no root is necessary. You only need to install the Shizuku app and enable Wireless debugging.

    Next week I have some time available so I will be working on getting some of this working in my prototype and hopefully will be able to make a demo.