[Android 7.0+] AppRadio Unchained Rootless

Search This thread

BiohazardX99

Member
May 28, 2019
5
1
A really great app, works fine on my setup. Ford Focus Mk2 + Pioneer SPH-DA100 + Galaxy S8 (on Android Pie 9) using a HDMI to usb-C adaptor. I will continue to support you with this.
One thing though, how does the Steering wheel controls work? I say this because my Ford has only 5 buttons. Vol+, Vol-, Mode, Next Track/Skip, Previous Track/Skip. the first 3 buttons control the headunit as intended to. (alters volume and switches between FM and App Radio mode) but the track buttons... well they work as intended via your app using android auto perfectly. Any other app however, does nothing. Is there something I have to change or for you to support additionally? I am happy to test / alter settings etc. I assume this is a google thing that's perhaps blocking it.
 

Area51©

Senior Member
Aug 30, 2013
2,507
1,079
Breda
A really great app, works fine on my setup. Ford Focus Mk2 + Pioneer SPH-DA100 + Galaxy S8 (on Android Pie 9) using a HDMI to usb-C adaptor. I will continue to support you with this.
One thing though, how does the Steering wheel controls work? I say this because my Ford has only 5 buttons. Vol+, Vol-, Mode, Next Track/Skip, Previous Track/Skip. the first 3 buttons control the headunit as intended to. (alters volume and switches between FM and App Radio mode) but the track buttons... well they work as intended via your app using android auto perfectly. Any other app however, does nothing. Is there something I have to change or for you to support additionally? I am happy to test / alter settings etc. I assume this is a google thing that's perhaps blocking it.
Your first 3 buttons are handled by the head unit directly. The other 2 buttons are processed by the app. However without root the only way to do something useful with the SWCs is to inject those as Media buttons.
From Google: 'Media buttons are hardware buttons found on Android devices and other peripheral devices, for example, the pause/play button on a Bluetooth headset.'
Unfortunately it depends on each app if it has code to handle Media buttons. So basically the only thing you can do is to find an app that does what you need it to do and also handles media buttons.
 

BiohazardX99

Member
May 28, 2019
5
1
Fully understood. I knew it was a Google thing. So if the buttons were Bluetooth buttons then it would work. But as they pass thru the ar protocol they are seen differently. Explains why android auto works. Much appreciated though for your quick reply.
 

BiohazardX99

Member
May 28, 2019
5
1
So I have spotted a really good dashboard app that is very clean, and full of features.
Android auto is good but its very plain and lacks customisation.
Car dashdroid-Car infotainment is a nice app, £5.99 for the year, only missing feature is the steering wheel support via media buttons. So thanks to Area51 for explaining how his app works I contacted the developer of Car dashdroid-Car infotainment, and he is very active. Together I will test media buttons for his app when he implements it. This app could just be the awesome companion to perfectly match AR Unchained Rootless and give us Pioneer users exactly what we want.
The best part is both of you are very open with your app permissions.

Cant wait to get this implemented.
 

Area51©

Senior Member
Aug 30, 2013
2,507
1,079
Breda
So I have spotted a really good dashboard app that is very clean, and full of features.
Android auto is good but its very plain and lacks customisation.
Car dashdroid-Car infotainment is a nice app, £5.99 for the year, only missing feature is the steering wheel support via media buttons. So thanks to Area51 for explaining how his app works I contacted the developer of Car dashdroid-Car infotainment, and he is very active. Together I will test media buttons for his app when he implements it. This app could just be the awesome companion to perfectly match AR Unchained Rootless and give us Pioneer users exactly what we want.
The best part is both of you are very open with your app permissions.

Cant wait to get this implemented.
These are the media keys that ARUR can inject:
KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE
KeyEvent.KEYCODE_MEDIA_NEXT
KeyEvent.KEYCODE_MEDIA_PREVIOUS
KeyEvent.KEYCODE_MEDIA_FAST_FORWARD
KeyEvent.KEYCODE_MEDIA_REWIND

It depends on the actual SWCs and interface to the head unit if you can get the head unit to send those.
In your case you will probably only have KeyEvent.KEYCODE_MEDIA_NEXT and KeyEvent.KEYCODE_MEDIA_PREVIOUS.
 

BiohazardX99

Member
May 28, 2019
5
1
These are the media keys that ARUR can inject:
KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE
KeyEvent.KEYCODE_MEDIA_NEXT
KeyEvent.KEYCODE_MEDIA_PREVIOUS
KeyEvent.KEYCODE_MEDIA_FAST_FORWARD
KeyEvent.KEYCODE_MEDIA_REWIND

It depends on the actual SWCs and interface to the head unit if you can get the head unit to send those.
In your case you will probably only have KeyEvent.KEYCODE_MEDIA_NEXT and KeyEvent.KEYCODE_MEDIA_PREVIOUS.

yes, i see in the logs it triggers these two

KeyEvent.KEYCODE_MEDIA_NEXT
KeyEvent.KEYCODE_MEDIA_PREVIOUS

I'll pass this one on. it doesn't target a specific app does it? i say this because when testing google music didn't respond to steering. infact only android auto did....
 

Area51©

Senior Member
Aug 30, 2013
2,507
1,079
Breda
yes, i see in the logs it triggers these two

KeyEvent.KEYCODE_MEDIA_NEXT
KeyEvent.KEYCODE_MEDIA_PREVIOUS

I'll pass this one on. it doesn't target a specific app does it? i say this because when testing google music didn't respond to steering. infact only android auto did....
No, the Media buttons can't target a specific app. Android uses some kind of scheme to find the appropriate media session to direct the events to. I don't know details because I only send them, don't handle them.
Older Google music versions used to work until they didn't anymore. It may still handle media buttons but it might only do that when it has an appropriate hardware device detected. I don't know how it's implemented internally.
 

Area51©

Senior Member
Aug 30, 2013
2,507
1,079
Breda
Screencast auto connect update

I have been doing some work on the screencast auto connect not working anymore on Samsung phones after the Pie update.
Basically it's only due to changers in the Smart View app.

Current status:
- I have added code to detect the Smart View screen is shown & select the configured screencast device.
- The Black view screen detection is now updated. Black view is the screen saver that becomes active when screencasting. It blocks user input so it needs to be detected to be able to unlock it.

While doing some testing I found there's some useful changes in the Smart View app. It's now possible to disable the floating icon. Which is recommended as it doesn't show on the casted screen so you may inadvertently hit it. Also it's now possible to fix the phone aspect ratio to 16:9 for screencasting. So there's no need to connect first and then adjust it every time.

I was also testing the screen calibration and there's some issues with it. Mostly it's due to the phone's screen size changing while the app is already connected due to the aspect ratio change when the screencasting starts. Basically the app wasn't designed to handle dynamic screen sizing so this has to be added.
Once that's done I will make a Beta version so you can test it.
 
  • Like
Reactions: Orthok and bigcid10

bigcid10

Senior Member
Dec 17, 2011
531
77
West Palm Beach
I have been doing some work on the screencast auto connect not working anymore on Samsung phones after the Pie update.
Basically it's only due to changers in the Smart View app.

Current status:
- I have added code to detect the Smart View screen is shown & select the configured screencast device.
- The Black view screen detection is now updated. Black view is the screen saver that becomes active when screencasting. It blocks user input so it needs to be detected to be able to unlock it.

While doing some testing I found there's some useful changes in the Smart View app. It's now possible to disable the floating icon. Which is recommended as it doesn't show on the casted screen so you may inadvertently hit it. Also it's now possible to fix the phone aspect ratio to 16:9 for screencasting. So there's no need to connect first and then adjust it every time.

I was also testing the screen calibration and there's some issues with it. Mostly it's due to the phone's screen size changing while the app is already connected due to the aspect ratio change when the screencasting starts. Basically the app wasn't designed to handle dynamic screen sizing so this has to be added.
Once that's done I will make a Beta version so you can test it.

Anyway to get the aspect ratio thing to work with hdmi?
I still have my adapter ,I could always go back though,Thanks
 

Sym_Link

Senior Member
Jun 4, 2010
662
528
Orlando
Well, disregard the below. I finally fixed it. I knew it was the phone itself all along. Had to be, I have used ARUnchained for years and never had a problem. Anyways others were having issues with their S10 and certain head units. One the things people were having success with is using an app called Bluetooth Force Pin. I had tried it once without success but not sure what I did differently this time but I tried again and now everything connects like it should, every time with minimal delay.

Just an FYI really if other S10 users are having issues. It's not ARUnchained but the phone itself and bug with the way it pairs.

Hey Area51,

Lately I have been having an issue connecting. S10 HDMI. Sometimes it connects right up. Most of the time it hangs at 50% for quite awhile, 10 - 15 minutes sometimes. I tried the channel work around but didn't have much luck.

Do you mind looking at the attached log off it happening to see if you can set anything. I have been using arunchained for years in various Galaxy phones and haven't had a problem until now. It seemed to work fine when I first got my S10 and even reported it working here but something has gone wrong.

I did try resetting the app and even the radio itself.

Thanks
 

Attachments

  • logcat_19-06-09_21-02-42.txt
    58.3 KB · Views: 22
Last edited:

bigcid10

Senior Member
Dec 17, 2011
531
77
West Palm Beach
I'm Planning on upgrading to the note 10+
Should there be any issues running your ARU on it ?

one more thing ,did you ever get the screencast mod done ?
Thank you
 
Last edited:

Area51©

Senior Member
Aug 30, 2013
2,507
1,079
Breda
I'm Planning on upgrading to the note 10+
Should there be any issues running your ARU on it ?
I don't think so. It still works on my S8+ running Android 9. The Note 10+ runs Android 9 as well.

one more thing ,did you ever get the screencast mod done ?
Almost done. I had it working quickly but still needed to do some testing. Then it was ready to release however Google didn't allow the update as it required to use the SDK API level 26). This required some more changes to how the Comm service is started. Which had to be tested. It behaves differently on Android 7 and Android 8 or higher. So had to test it on a phone with Android 7, one with Android 8 and one with Android 9 just to be sure. Just want to test it a little bit more and will try to release it this week.
 

bigcid10

Senior Member
Dec 17, 2011
531
77
West Palm Beach
I don't think so. It still works on my S8+ running Android 9. The Note 10+ runs Android 9 as well.


Almost done. I had it working quickly but still needed to do some testing. Then it was ready to release however Google didn't allow the update as it required to use the SDK API level 26). This required some more changes to how the Comm service is started. Which had to be tested. It behaves differently on Android 7 and Android 8 or higher. So had to test it on a phone with Android 7, one with Android 8 and one with Android 9 just to be sure. Just want to test it a little bit more and will try to release it this week.

OOOh, I'm a happy camper now!!
Thank you
 

bigcid10

Senior Member
Dec 17, 2011
531
77
West Palm Beach
Ok,
got my Note 10+ and it works with ARU unrooted
only issue us with the hdmi resolution
has black bars on top and bottom
I'll have to wait till area51 get the fix out for the wireless display
 

Orthok

Senior Member
Aug 14, 2013
65
2
I have been doing some work on the screencast auto connect not working anymore on Samsung phones after the Pie update.
Basically it's only due to changers in the Smart View app.

Current status:
- I have added code to detect the Smart View screen is shown & select the configured screencast device.
- The Black view screen detection is now updated. Black view is the screen saver that becomes active when screencasting. It blocks user input so it needs to be detected to be able to unlock it.

While doing some testing I found there's some useful changes in the Smart View app. It's now possible to disable the floating icon. Which is recommended as it doesn't show on the casted screen so you may inadvertently hit it. Also it's now possible to fix the phone aspect ratio to 16:9 for screencasting. So there's no need to connect first and then adjust it every time.

I was also testing the screen calibration and there's some issues with it. Mostly it's due to the phone's screen size changing while the app is already connected due to the aspect ratio change when the screencasting starts. Basically the app wasn't designed to handle dynamic screen sizing so this has to be added.
Once that's done I will make a Beta version so you can test it.

Thanks for your work on this, Auto screen cast connect and screen calibration if I want to change my aspect ratio are the two issues I'm still having trouble with on my Samsung.

Wishlist:
1. A side docking keyboard on the left side of the screen and the window I want to type in on the right side. Floating keyboard works okay but it's not ideal.

2. Auto switch resolution AppRadio compatible size upon screencasting so that I don't have to switch it every time I connect

Thanks again for everything!
 
  • Like
Reactions: bigcid10

bigcid10

Senior Member
Dec 17, 2011
531
77
West Palm Beach
I reinstalled my Microsoft wireless display adapter this weekend in preparation for the beta from Area51
and I noticed on my note 10+ that the smartview app now has a "save this setting" feature that wasn't available
on my S8+ or note 9
That feature would eliminate the constant changing of the aspect ratio everytime I connected my phone to my HU
 

Area51©

Senior Member
Aug 30, 2013
2,507
1,079
Breda
I reinstalled my Microsoft wireless display adapter this weekend in preparation for the beta from Area51
and I noticed on my note 10+ that the smartview app now has a "save this setting" feature that wasn't available
on my S8+ or note 9
That feature would eliminate the constant changing of the aspect ratio everytime I connected my phone to my HU
Yes that's a SmartView update. You can also disable the floating icon. See here.
Since the Android9 update even my S8+ has that feature.
I will try to get the beta out this week.
 
  • Like
Reactions: bigcid10

Area51©

Senior Member
Aug 30, 2013
2,507
1,079
Breda
Did some more testing of the new beta with Android 9 and the wireless casting support for Samsung is working fine. However due to changes in Android now "android.intent.action.HDMI_PLUGGED" is not working anymore. This means that I can't use the detection of an HDMI adapter plugged in to start the communication service. Basically this means that in this case also Bluetooth detection of the head unit has to be used. I have to make some more changes to support this. I still intend to finish it this week.
 

bigcid10

Senior Member
Dec 17, 2011
531
77
West Palm Beach
Did some more testing of the new beta with Android 9 and the wireless casting support for Samsung is working fine. However due to changes in Android now "android.intent.action.HDMI_PLUGGED" is not working anymore. This means that I can't use the detection of an HDMI adapter plugged in to start the communication service. Basically this means that in this case also Bluetooth detection of the head unit has to be used. I have to make some more changes to support this. I still intend to finish it this week.

I've been using the wireless option for a bit now and it seems to be fine as far as the aspect ratio
but I have problem ,and that I lose touch after about a minute. If I touch the power button on my 10+
it will come back ,so It's not that big of a deal,but was wondering if you new of a fix for that?
also I noticed that when I touched the power button ,I saw the gps icon on the top flash
I wonder if that has something to do with it?
Thank you
 

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.