[Paid Software Announcement and Discussion] Emil Borconi:
This Threader is a Spin-off of the original: [Android 4.1+] Headunit for Android Auto - 160117 - Self Mode+ other fixes, x86, 720p by the late :crying: @mikereidis.

App links: https://www.b3itlabs.com/prod.php?id=1

PlayStore: https://play.google.com/store/apps/details?id=gb.xxy.hr

Previous XDA Lab purchases can be downloaded using: https://www.b3itlabs.com/download.php

Last edited: 20/04/2023

Version 7.X Released

- It has braking changes for WiFi, this is mainly due to recent Android SDK limits, like toggling WiFi, BT, getting Mac address and others. Therefore WiFi connection now does need a helper app on the phone.

- Dropped GLES20 as too many issues reported by different bad implementations

- Resolution is now automatically detected based on the cars screen.

- SelfMode (running on phone screen) works without the need of activating developer options in Android Auto.

Last edited: 07/02/2021

Version 6.3 Beta 1 released

- Re-wrote whole rendering process to use GLES20, in simple terms video render should use GPU

- Much better scaling approach

- Added support for native AA Wireless. This will only work on the units where the BT is accessible from the Android, as many of those android powered Chinese units, have a separate BT board. For devices which supports this, no headunit server or no WiFi Launcher is needed.

- Changed key mapping, user can now define their own buttons as they wish.

Last edited: 21/06/2020

Version 5.2 released

- Removed WiFi Direct

- Improved menu UI CREDIT and THANKS TO @sebaw

- Updated margin setting

- Added option to record audio using BT mic (motorcycle helmets)

- Added button to reconnect WiFi connection ( phone and unit depended won't work on all units, please read app forum for how to connect)

- Option to disable touchscreen

- Removed brightness adjustment (some users experienced problems adjusting brightness after using previous version, sadly they need to do a factory reset of the unit, and update to current version)

Version 5 released

- New UI CREDIT and THANKS TO @sebaw

- New over-scan approach allowing any resolution units to work properly (including portrait mode)

- New mic source (should help with speech recognition)

- Added option to keep status bar (user request)

- Added welcome setup

- Added possibility to use old USB driver (android built in one) in case you cannot get it connected with the new version

- Added option for Gain control on mic

- Added option to keep Wifi off (for USB use)

- Changed Wifi Direct implementation (you will need to install the Wifi Launcher for HUR on the phone to use Wifi Direct)

- Removed option to stretch full screen as this is not needed any more (it will always be full screen)

- Fixed Incoming mode not setting password for some devices

- Fixed app crash when Wifi toggled during app running

- Fixed night icon colors for devices running 4.x

- Fixed app freeze if permissions denied

- Fixed app crash after device unplugged when using native android USB driver.

- Fixed day/night calculation if share GPS turned off

- Code cleanup

- Other bug fixes.

Also a big THANK YOU to @ppietak for helping with code cleanup and bug fixes!

Version 4.5 released

- Fixes for USB shuttering

- New USB driver

- Fixes for reverse camera not resuming on some units

- Added support for incoming connection listener (automating Wifi) - Experimental, read below how to connect

Version 4.4 Released

Change log

Fixed broken touchscreen

Changes on WideScreen mode and HD

Fixes for Rotary

Potential fix for black screen for second connection over Wifi

Left/Right hand driving position option (for widescreen)

Buffer setting for mic (could help when Assistant does not hear what you're saying)

Enjoy XDA Ad Free and check out:

Version 4.3 Released

Change log

Fixed double skip on Spotify when using SWC

No more decoder workaround needed (updated code for video playback)

Added support for rotary (arrow keys can be used for non-touch input)

Enhanced mic input (mic sampling rate can be adjusted in settings for better compatibility)

Added intent: "gb.xxy.hr.WifiP2P" for Wifi-Direct start

Added app color scheme (dark menu for night)

Mapped Key N to open Maps (N=Navigation)

Mapped Key L to open Multimedia (L = Listen)

Changed USB code, hoping to help those who suffered for USB disconnection problems

Fixed a serious bug in share GPS code

For some rooted android headunits the app can now disable the default call screen being overlayed when HUR is running (only if HUR is set as the navigation app!) This will require ROOT

Version 4.1 Released

Change log

Removed Google Play Services dependencies

Honda compatibility fixes

Some other small bug fixes

Version 4.0 Released

How to use the app?

USB Mode

Plug in the USB to your device (in case of tablet use an OTG cable), when prompted make sure you allow HUR to be the default app for the action and you check the always box.

If you are running the app on a device with Android 7.0 or higher, you might need to pull down the notification bar and select the connected USB device before the app starts (this is device dependent)

If the app does not start automatically when you plug in your phone, you can always open HUR, tap the USB button and select the phone from the list.

Wifi Mode

READ SECOND POST​

Self Mode (when Android Auto and HUR are running on the same device)

Open HUR and press the self mode button. (you need to make sure Android Auto, Google Play Service, Google maps, Google Text To Speech is also installed on the device and it's up to date)

FAQ / Troubleshoot

All I get is a black screen

- If you are using an Android powered headunit (Joying, Xtrons, etc) look for a setting on your device which allows Video Playback during drive

- Try changing HUR settings and enable Software decoding

What does the "Share GPS" do?

- Share GPS actually forwards the GPS data of your device to the phone, so phone will need to do less work, comes really handy if you have an Android powered headunit, with external GPS antenna, however, if you using a tablet which is built into the dashboard, it's possible that you want to turn off this feature, because your phone will have a more accurate GPS fix.

What is the Sink Audio

- This option enabled HUR to work as a speaker for your phone. If you disable this option, all the sounds will be outputted on your phone speaker (or if your phone is connected to a Bluetooth device, then they will be played back on that)

My carrier doesn't provide data allowance for Wifi, what can I do?

Wifi data used between phone and tablet is classed as intranet not internet so it won't count against your data usage, but do be careful if you have auto-updates enabled on the device running HUR those updates will be downloaded over the phone's Wifi hotspot and that will incur data costs.

I have audio-sink enabled but phone calls are coming from the phone speaker. Why?

Android Auto is designed to sink all the audio over USB (Wifi) except phone calls where it will ALWAYS use a Bluetooth headset, if none is connected it will just flip the phone to speaker mode.

Are any hardware keys supported?

Volume Up

Volume Down

Media Next

Media Prev

Media Play

Media Stop

Media Rewind

Phone answer key (In case of incoming call it will answer the call, in case of not being on a call it will take you to the dial pad

F key - Same as Phone Key

M Key - Mic

H Key - Takes you to home screen

What about intents?

gb.xxy.hr.playpause Same as pressing the Play/Pause media button.

gb.xxy.hr.next Same as pressing the Next media button.

gb.xxy.hr.prev Same as pressing the Prev media button.

gb.xxy.hr.mic Triggers microphone input.

gb.xxy.hr.phone Same as pressing the dial key (answer phone call when ringing, takes you to dialer screen otherwise).

gb.xxy.hr.day Enables day theme.

gb.xxy.hr.night Enables night theme.

gb.xxy.hr.togglenight Switches between day and night theme.

I need more help.

- Feel free to ask a question on this thread, or you can always drop me an email to borconie@gmail.com

How do I collect a bug report / logcat

1. Enabling Developer Mode

1. Open Settings > About phone.

2. Scroll down to the Build number.

3. Tap the Build number 7 times in quick succession until "You're now a developer" appears.

4. Return to the Settings menu and select Developer options.

5. At the top of the screen, make sure 'Developer options' is set to On (green).

6. Scroll down to Debugging and enable both USB debugging and Bug Report Shortcut on (green).

7. Tab on Logger buffer sizes: Default setting is 256K. Select 16M to help capture more information for debugging. Of note, it can affect the apps performance especially with lower spec phone, so change it back after you have finished submitting bug reports.

2. Capturing a Bug Report

It's very important to do this right after you experience the issue again, so your device can log at least one occurrence of the issue.

1. Hold the Power button down until the menu appears.

2. Select Take bug report. and wait for the device to capture the bug report.

3. Tap the 'Bug report captured' notification when it appears.

4. Share the bug report. (I recommend to email it to yourself.)

5. Download the bug report to your computer.

6. Send the bug report by email to borconie@gmail.com

IF YOU UPGRADED TO ANDROID AUTO 2.X

Dial Pad is broken - Workaround available:

- Open AA -> About -> 3 dot menu -> Developer settings -> Application mode -> change to developer. This will bring back the Dial screen.

Version 3.0 Released

Changelog:

​

- Move USB functions from C to Java

- USB popup numbers limited to 2 and they should remain saved

- App will only start on a phone manufacturer vendor

- App is now running in multi-thread for better performance

- Much enhanced Wifi speed

- Better USB stability

- Should work on RK3188 units as well

- App runs as service so can be run in the background as well

- While running in background supports notification control for media

- While running in background on units running 5.0+ and above you will enjoy Heads-Up notifications for navigation

- Ability to rename the "Headunit" to your own prefered string.

- Fixed Wifi-Direct so can connect over Wifi-Direct as well, but not all devices seems to work

- Moved string to XML so translation to other languages should be implemented in the future

- Fixes some memory leaks

- Supports custom hardware keys

Version 2.5a Released

- Fix for USB close bug in 2.5

Version 2.5 Released - Attention contain BUG

- Left/Right button goes into endless loop

- Added support for ARM64

- Changed car name from Emil to Headunit

- Added mirror output support for HUD display.

Version 2.4 Released

- Improved performance (Wifi should be on par with USB now, even with Audio transport enabled)

- Improved touch sync (no accidental long touches and other strange occasional bugs)

- Option to share the GPS with the phone (reduce battery usage footprint on phone)

- Final fixes for Day/Night calculation and theme switching

- Auto volume adjust fixes (on supported ROM, the volume adjuster is hidden from the user)

- Software decoding works with Audio as well.

Version 2.3 Released

- Improvements and fixes for auto volume adjust

- Improvements and fixes for hardware key input

- Wifi speed improvements (should be able to run smoothly even with transport sound enabled)

- Tweaks for SelfMode (home and recent app button can be used to gracefully exit the app)

And the biggest change:

- Unlimited Browsing support - This is experimental and hacky it's possible that Google will close the loophole at some point but for the time being it works.

Version 2.2 Released - With some major changes

- Fixes for Communication Error 2 received with Play Service 10.X

- New Self mode

- Corrected channels order

- Unlimited browsing working when car is parked (only for Android Auto 1.6)

- Totally changed the Day/Night toggle logic, now the calculations are done inside the headunit app and updated each 10 minutes, so if you're driving all day the sunset/sunrise should be correct. even if you are 500 miles more to the north or west or whatever.

- Added Auto adjust volume option (works for bluetooth audio as well).

- Changed all the key mapping, and using real keys instead of simulated touches:

Supported hardware keys:

Volume Up

Volume Down

Media Next

Media Prev

Media Play

Media Stop

Media Rewind

Phone answer key (In case of incoming call it will answer the call, in case of not being on a call it will take you to the dial pad

F key - Same as Phone Key

D key - Changes to Day theme

N Key - Changes to Night theme

M Key - Mic

H Key - Takes you to home screen

The following keys are still usable but they are based on simulated touches:

Up Arrow = Scroll Up

Down Arrow = Scroll Down

Left Arrow = Moves to next Left tab

Right Arrow - Moves to next right tab

Version 2.0 Released

Changelog:

- Fixed calculated night mode

- Added support for Software decoding (should work now with any device) - If you have problems running HUR, go to settings and enable Software decoding. Do not use software decoding with audio transport, the audio playback will suffer a lot, consider streaming the audio from the phone to a A2DP directly or using a cable to connect the phone Jack to the stereo AUX, or if your phone is rooted you might want to consider Wifi Audio streaming app, it's too much to ask from the Software decoder to do both Audio and Video, unless you have a very strong CPU, but if that is the case I'm pretty confident that the Hardware decoding will work on the device.

- Added option for letterbox display (prevent distortion of stretch)

- Added option to start the app when connected to Wifi

Software Decoding

- Based on the feedback although it works, I'm not recommending this app for those with Joying or any other Rockchip (RK3188, RK3066) powered headunit. Feel free to use the trial and decide yourself, but it appears to be painfully slow on those devices.

Version 1.5 Released - Key features

- Stable Wifi connection

- Added support for Android 7.0 (Self mode as well)

- Self mode running in stable and usable way

- Connecting USB cable will start app automatically (even if phone is running Android 6.0 or 7.0)

- Supports keyboard shortcuts:

M = Start the Mic

N = Navigation Tab

P = Phone Tab

H = Home Tab

E = Entertainment Tab

UP Arrow = Scroll Up

Down Arrow = Scroll Down

Left Arrow = Moves to next Left tab

Right Arrow - Moves to next right tab

S = Play/Pause button (only works in Entertainment tab)

F = Next track (only works in Entertainment tab)

R = Prev Track (only works in Entertainment tab)

- Uses light sensor (if available) for toggling Day/Night theme.

If you are updating from version older than 1.2 please read:

You won't be able to install it over the old one (Key signature changed!), so please uninstall the previous version before updating, HOWEVER if you were upgraded for free from Mike's version, please follow this steps:

1) On XDA Labs, click the download Stable

2) When prompted to install select Cancel

3) Open a file explorer and go to Storage -> Android -> com.xda.labs -> files

4) Locate the newly download APK and copy it somewhere else.

5) Uninstall the old version

6) Install the APK which you just copied.

If you miss any of the steps, just reinstall the old version you received from me by email and try again, let me know if you are stuck.

App requirements:

- Android 4.1 or higher

- H264 Hardware decoding!

How to use the app: (Please read this steps before asking for help)

1) USB OTG

- Plug in the OTG cable to your tablet, connect your phone, done!

2) Self mode (for AA 2.0) - See Video

- Start Android Auto, Go to About, if you are not a developer yet press the "Android Auto" header 10 times, from the 3 dotted menu select "Start Head Unit Serve"

- Exit Android Auto

- Start HUR and select Self

3) Wifi

- From the phone create a Wifi hotspot

- Start Android Auto, Go to About, if you are not a developer yet press the "Android Auto" header 10 times, from the 3 dotted menu select "Start Head Unit Serve"

- Connect your tablet to the newly created Wifi hotspot

- Start the Headunit Reloaded app

- HTC ATTENTION! If your phone is a HTC, please change the default IP address to: 192.168.1.1

- Select Wifi

4) Wifi Direct (not supported by all phones/tables)

- Start Headunit Reloaded on the tablet

- Select Wifi Direct

- On the phone go to Settings -> Wifi -> Advanced -> Wifi Direct, join the group. (Do not try to connect as to a normal Wifi it will not work!)

- On the phone start Android Auto, Go to About, if you are not a developer yet press the "Android Auto" header 10 times, from the 3 dotted menu select "Start Head Unit Serve"

Other important notes:

Software Decoding

- Based on the feedback although it works, I'm not recommending this app for those with Joying or any other Rockchip (RK3188, RK3066) powered headunit. Feel free to use the trial and decide yourself, but it appears to be painfully slow on those devices.

To exit the app

If you are connected with USB, just unplug the USB cable, DO NOT use the exit from the menu. If you are running Wifi, Wifi Direct or Self mode, ALWAYS use the exit button from the left drawer menu!

Audio transport option

Will forward (sink) all the audio from the phone to the tablet if enabled, EXCEPT phone call audio, that will go trough the phone speakers or Bluetooth Handsfree if connected. If you wish to stream all the audio from the phone directly to your A2DP bluetooth, then simply disable the Transport Audio option.

Day/Night toggle

The device running the Headunit Reloaded app will be responsible for changing the theme. You can chose between using the light sensor of the device to toggle between day and night mode, or you can use calculated sunset sunrise mode, or even force it to one theme only. If you have previously installed AA Helper to your phone, please uninstall it!

Auto Start on Wifi

This option will launch HUR whenever you are connected to a Wifi (specific Wifi can be named)

Auto increase volume on speed

The logic behind is a very simple approach, every time the speed increases it will send a vol + key to the phone and every time the speed decrease it will send a vol - to the phone. This requires the device running HUR to have a GPS receiver.

OLD STUFF:

Version 1.3 (Wishlist version) - Released

- Added option for easy car mode toggling. (Car mode can be disabled if not using Self mode - avoid conflict with other Car apps)

- Auto Hide status + action bar while running the app no need to use the Hide option from menu

- App will automatically close when Wifi connection is lost

Version 1.2b - Released

- Buffer overflow protection - Special Thanks to invis-zz from GitHub (https://github.com/invisi-zz) - This should random crashes while using the app.

- Removed Send Log feature (it was classed as backdoor/trojan and Google was blocking the app on playstore)

- Updated OpenSSL library to 1.0.1t (used OpenSSL contained vulnerabilities and Play store blocked the app)

- Managed to get the app on PlayStore (wonder if it will stay...) - https://play.google.com/store/apps/details?id=gb.xxy.hr

Signature Key changed!!!!

I had to update the APK signature key (I'm trying my luck with Play Store), this means if you try to install the new version you won't be able to install it over the old one, so please uninstall the previous version before updating, HOWEVER if you were upgraded for free from Mike's version, please follow this steps:

1) On XDA Labs, click the download Stable

2) When prompted to install select Cancel

3) Open a file explorer and go to Storage -> Android -> com.xda.labs -> files

4) Locate the newly download APK and copy it somewhere else.

5) Uninstall the old version

6) Install the APK which you just copied.

If you miss any of the steps, just reinstall the old version you received from me by email and try again, let me know if you are stuck.

Version 1.1 Stable - Released

Jumping the version number due to significant amount of changes:

Removed Day/Night/Auto mode (see bottom of this post for a better solution.)

Added new setting for 720p Video - Fully working now (even on Wifi)

Changed Self mode start sequence (if the phone is rooted it will start automatically and then go back to HU), if your device is not rooted, please use the following sequence to start Self mode:

Start HU app

Select Self mode

When AA opens select Start Developer Server

Added support for hardware keys (simulating touches), so if your tablet is integrated with the car remote you can control AA from the remote.

Hardware keys as follow:

M = Start the Mic

N = Navigation Tab

P = Phone Tab

H = Home Tab

E = Entertainment Tab

UP Arrow = Scroll Up

Down Arrow = Scroll Down

Left Arrow = Moves to next Left tab

Right Arrow - Moves to next right tab

S = Play/Pause button (only works in Entertainment tab)

F = Next track (only works in Entertainment tab)

R = Prev Track (only works in Entertainment tab)

Some other minor tweaks, to improve stability and make Self mode connect 9 out of 10 times.

Fully integrated x86 native binaries

Declared app as CAR HOME, for those using SelfMode it is crucial, that when you get prompted which should be the default CAR HOME app (Android Auto or HU) you select HU!!! - This is needed to be able to bring back the HU on top after a successful connection is established. AA is trying to override everything..... and to block the user out of his phone as soon as it's connected to the car.

Transport Audio option will affect USB connections as well (You can keep the audio on your phone/bluetooth, when connected with the OTG cable)

Version 1.03b released - Beta

- You will find it in XDA Labs (under the Beta version)

- Fixes Wifi/Self mode for some devices which didn't connect before

- Increased stream buffer size to match the DesktopHeadUnit app (128Kb vs 64Kb)

Version 1.02 release

- Fixed wifi not connecting on some device only after numerous attempts (see explanation below if interested)

The issue looks to be related to the timing, on some occasions and on some devices the phone either sends the SSL data too soon, either too late, either to slow :) and because the TCP socket is set to non-blocking mode, it can end up in a missed packet in the initial Handshake. I have tweaked this now, so the TCP socket will connect in non-blocking mode, but will switch to blocking mode and wait for full message after a successful connection and once the SSL Handshake is out of the way it will revert back to non-blocking mode, uhhh event reading this makes me dizzy :)

This however could make the initial startup slightly slower than it was.

- Corrected AutoStart option (Working properly now)

- Fixed USB device overlapping Settings text on the drawer menu

- Added "Send Log" function to be used if there are problems for easier debugging.

Version 1.01 released

- Potential Wifi disconnect fix (see: http://xdaforums.com/showpost.php?p=68078605&postcount=16 for details)

- AutoStart option added to the menu

Very sadly Mike passed away this year and his software stopped working after a Google Update, he left us a slightly outdated GPLv3 version of the software at: https://github.com/mikereidis/headunit which I have used to rebuild (or ty to) rebuild up to his latest build with some additional small modifications as well as fixing the issue caused by Google.

The forked version can be found on: https://github.com/borconi/headunit if anybody is intersted.

Since the app released by him isn't working any longer I have created the new version of it and slightly re-name it just to avoid any confusion.

I take almost no credit in this app, except for some minor changes, and finding the fix for what Google have broke (changed), which was a painful task.

I'm not a developer as such, and this app would never have existed if it wasn't for @mikereidis, however I have spent now several weeks studying the app and understanding how it's working and I plan to continue with the maintenance/development of the app.

I have published the app on XDA Labs under the new name: "Headunit Reloaded Android Auto" and it is now available for purchase. As I have stated previously I'm intending to support all of Mike's customers, so if you have purchased Mike's application before, please email me a proof of purchase to borconie@gmail.com and you can have a free copy of the spin-off app.

How to use (Self / Wifi ) ?

1) Self mode.

See instructions in version 1.1

2) Wifi Mode

Start AA on your phone, tap the header 20 times till you become a developer, once that is completed from the menu select Start Head Unit server. Now start tethering on the phone, connect the tablet to the newly created wifi hotspot, start HU on your tablet and select Wifi. This will make the HU app try to connect to the default Android gateway (192.168.43.1), if you need to change this, use the Settings menu from the HU option list. If HU doesn't start on first, do try a few more times, first setup sometimes proves tricky. If this is the first time you connect your phone to the a HU, please make sure you answer all the questions on the phone.

3) Wifi p2p

This is not supported by all devices and might not work for your device, plus sometimes it can be slightly buggy. Start WifiP2p on the tablet from the HU. On the phone go to Wifi Direct (this is usually found in Advanced Wifi settings settings - DON'T TRY TO CONNECT LIKE TO A NORMAL WIFI and look for a new available connection. If you can see one tap to join. Once you joined the network, give it about 30 seconds or so, then open the AA on the phone and start the head unit developer server (same as describe it above). If you're lucky it will work instantly, if not you might need to play around with it.

Other Options:

Possibility to toggle the Audio mirroring when using a Wifi connection. By disabling the Audio mirroring, you will keep all the audio on your phone rather than on the tablet (or on the handsfree) if the phone is connected to the handsfree. This will improve the performance greatly, since audio will use up a significant quantity of Wifi bandwidth when communicating between the 2 device.

USB OTG connection.

Have remained unchanged and it will work same way it did till now, see original threader for details.

I will monitor both Threads and will do my best to help and support everybody.