[Paid Software Announcement and Discussion] Emil Borconi:
Update 30.11.2022

End of life and open source.

Due to lots of changes both in Android and in my life, I do not have the possibility to maintain / update the code any further, therefore I've decided to open source.

Code is accessible: https://github.com/borconi/obd2aa

I will like to thank all of those who supported this project.

App Requirement

Torque Pro

OBD2 Reader

Android Auto compatible headunit or at least a copy of the Headunit Reloaded App (see signature).

This app will have limited functionality if you are using Android Auto on a your phone, the only functions you will be able to use is to see are notification about the speed cameras and street card!

Gauges and torque data will NOT work!

Previous XDA purchases can be reclaimed here: https://www.b3itlabs.com/download.php

How to purchase:

Visit: https://www.b3itlabs.com/prod.php?id=2

Instructions on how to get it running:

Option 1 - Will work on any phone & car/headunit combination, however the following features won't: - AutoPlay Music, 6 Tap limit remover, DPI change

After installing the app from XDA Labs, sign up for beta testing here: https://play.google.com/apps/testing/uk.co.boconi.emil.obd2aa and update the app

Once app is updated, make sure you disable auto-update in PlayStore then please uninstall it and reinstall it from XDA Labs.

With your screen unlocked, plug in the phone to the car, when prompted which app to use make sure you select "Android Auto"

Option 2 - Might NOT work on some device combination (for sure it won't work on Xiaomi phones), but if this method works all functions of the app are available

Install

Make sure you do not have any other 3rd party app Android Auto app installed.

Open the app and hopefully it will be quite self explanatory on how to set it up (choose colours, set gauge number, etc)

Open Android Auto (on the phone), go to About, tap the "About Android Auto" header 10 times, once you are a developer from the 3 dotted right corner menu select "Start Headunit Server" (ROOT users can skip this step!)

Close Android Auto

MAKE SURE YOUR SCREEN IS UNLOCKED and connect to the car, when prompted which app to use select "OBD2AA" and always (this needs to be done one time only) - If you are a HUR user select Android Auto and always! (If you do not see the prompt to chose, please go to settings -> apps -> all apps -> Google Play Services -> Clear Defaults and then try again)

Select the last tab on the right, by pressing it again you should see an app selector and choose OBD2AA

Give it a bit of time to start pulling the data from Torque.

Change log

Version 3.2 and 3.3 released 04/11/2018

Fix "drunk" map effect on Sync 3 units

Fixed rooted devices not being able to start headunit server.

Added option to change DPI for your screen!

Added option to auto play music on start

Added option to select default start screen.

Version 3.1 releases 26/08/2018

Compatibility fix for Pie devices.

Tap limit remover now working on all device

Tap limit remover allows Maps to be searchable even when driving.

Can be used for those who have problem with the parking brake wire.

Freeze issues fixes.

Important notes

Version 3.0 releases 05/07/2018

Compatibility fix for AA 3.0 and above.

Added option for overriding 6 tap limits

Added option for Bluetooth Audio output.

Important notes

Thanks to @slash_m_a_x for the support offered on this.

- Some users have reported choppy audio when using the app, this will mainly be due to the speed of the phone, the buffer on the car/headunit and other factors which are out of my control, if that is the case and you cannot use the app please feel free to contact me for a refund.

- Bluetooth Audio output might not work on all devices, it does depend how the car/headunit handles the Bluetooth. There will be devices which completely disable A2DP/Bluetooth capabilities of the car when Android Auto is running. In this case all the sound will be heard from the phone speaker rather then the car speakers.

- Tap limit will be disabled only for cars/headunits which are equipped with a GPS.

- In rare cases it can happen that after unplugging the phone from the headunit you will see a message which says that you are still connected to Android Auto, simply Force Stop the Google Play Services.

- You always need to make sure that Headunit Server is running on the phone (unless you have root), if the icon bothers you simply hide it.

Change log

Version 2.0 releases 17/01/2018

Added new layout option

Added styled gauged

Option for custom background on each gauge.

Option for custom needle on each gauge

Removed integration for CamSam/Blitzer.de (fully integrated now)

Possibility to change needle color

Possibility to adjust arch (indent, position, length) when using custom bg

Separated speed camera settings

Option to only download speed cam db over Wifi

Fixes for min/max value

Speed camera warnings over car speaker (Thanks @martoreto for the how-to)

Street info card

Added French translation (Credit to @fbike for doing the translation)

Added Danish (Credit to @Gunde for doing the translation)

Added Finnish (Credit to @Pyrres for doing the translation)

Added Spanish (Credit to @madabase for doing the translation)

Added Italian (Credit to @ilgaspa for doing the translation)

Version 1.6a - releases 03/10/2017

Fixed negative input for min/max values

Code cleanup

Added Greek language (credit to @sosimple for translating)

Version 1.6 - releases 29/09/2017

Fixes for custom PIDS

Fixes on Graphics rendering.

Fixed overlapping text

Fixed PSI/BAR conversion

Enhanced the gauge style.

Different approach for torque data pulling.

Moved to service should start work automatically when connected to the car

Added Supports PID alarms from Torque.

Added Toggle/Collapse layout for Pid settings.

Added Preview button with random data

Added Option to toggle units display

Added notification cleanup on exit

Added translation for DE,HU,RO (Credit to @FormelLMS for DE)

Added import/export setting option

Added option for colored text

Added TPMS option/screen

Added option to override car's headlights based on day/night

Added warning screen if nothing is configured to prevent black screen with no information.

Added more settings and move them to separate Settings options.

Added customizable background

Added search for PIDs

Added Support for Heads-Up notification

Added Speed camera warnings (powered by CamSam Plus)

Supported settings/Features:

3 x Colors for each gauge

Text color

Toggle needle, arch,units,scale,decimal and text for each gauge.

Variable number or gauges ( 1 - 15 )

Set warning limit for each gauge (percentage). This will be calculated relative to the given PID max value which is retrieved from Torque at runtime.

Possibility to set gauge in reverse mode. (example fuel tank)

Units will be converted automatically based on your Preferences in Torque

TPMS Screen (if you have PID's for TPMS data)

Possibility to use custom background/needle for each gauge

Low Fuel warning

Warm Engine warning

Speed Camera Heads Up Warning

Option to Overwrite Headlights state based on calculated sunset/sunrise

How to use it?

Open app and select each PID you want to display on your screen, adjust the number or gauges you want to see adjust the preference for each PID. If you want to use custom background/needle and interested on how to, please read HERE

Locking Pid values

On some PID's Torque reports wrong min/max values, by default if while using the application a reported value is higher/lower than the initially reported range, the app will adjust the range to the new values. However in some cases this is not desired and you will like to specify manually what is the min and max value for the give PID. In this case, simple edit the minimum/maximum for the pid and they will become locked, meaning the app won't make any adjustments.

By editing, it means you have to change the min or max value, the lock is triggered by the first keypress on this input fields.

The lock will be automatically removed when you select a different PID for the same gauge.

Preferences menu

Alternative pulling - Only enable this option if you have difficulties getting gauges updated, it uses an old deprecated method of obtaining data so should not really be used.

Enable debugging - Only enable it if you have problems with the app and I requested you to collect a bug report, otherwise it will spam the logs for no reason.

Automatically start Torque on Android Auto - Nothing to explain here :)

Launch FartKontrol on start - launches a Danish Speed Camera app (useless outside Denmark)

Custom Background (any background you will like to use instead of the black color)

Demo - When enabled random data is generated for the PID's just to see how things will look (in case you do not have an OBD2 adapter), so don't enable it.

Pid Alarms section. You can set up a low level fuel warning (displayed as a heads up notification) and a notification when the engine is warmed up. There a several PID options for both of this, pretty self explanatory.

TPMS Settings

- You set up the 4 PID's for TPMS, this will be used to display the tyre pressure values on the TPMS screen inside Android Auto

Speed Camera

Show current street card - Displays information about current street (name and speed limit if know). This information is updated once in 5 seconds and at a minimum distance of 200 meters so it's not 100% accurate it's more for general information.

Enable speed camera warnings - This will enable the app to display speed camera warning when driving, like any app which does this it relies on a database, which means it does NOT guarantee that it will warn you of all the cameras, and it might also produce false warnings. All options are pretty self explanatory.

Export & Import

- Allows you to export your current app configuration file which can later be imported (grate way of saving time of re-doing everything) after a clean install or so. The format use for Export & Import is JSON so if you want you can manually edit/adjust the values. Please see following post for more details about the sturcture/value/meanings

Permissions

Read notification permission - Only required so the app can read the notifications from CamSam and display them on AA scren

Locations - Only required if you want the app to overwrite the day/night theme based on sunset/sunrise

Storage - Only needed if you want to use your personal image as a background and/or planning to import/export settings

Can I create my own layout for the gauges?

- Yes, see instructions below:

Here is an example of the XML structure required, once you created the XML please send it over by email to borconie@gmail.com and I will include it in the next build.

<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:tag="wrapper_layout">
<!-- Left column -->

<View
android:layout_width="226dp"
android:layout_height="226dp"
android:layout_gravity="center_vertical|start"
android:tag="gauge_2"
/>

<!-- Middle column -->
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:tag="gauge_1" />

<!-- right column -->

<View
android:layout_width="226dp"
android:layout_height="226dp"
android:layout_gravity="center_vertical|end"
android:tag="gauge_3" />

</FrameLayout>

Important

Each view must contain a tag, which is formated like in the example, where the number corresponds to the Gauge number from the setting screen.

The layout which wraps everything together must have a tag called: wrapper_layout

You are free to use any Layout you want, except ScrollView.

How to produce bug report?

Step 1 you need to enabled debugging in OBD2AA app, then follow this instruction set:

2. Enabling Developer Mode

Open Settings > About phone.

Scroll down to the Build number.

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

Return to the Settings menu and select Developer options.

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

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

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.

3. 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.

Hold the Power button down until the menu appears.

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

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

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

Download the bug report to your computer.

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

I have decided to open up my software, meaning I have made the source code available on GitHub, but it's only available for personal use, and you are not allowed (under any form) to redistribute your own version of the app. You can download and compile it yourself if you wish to do so, and you can implement your own changes for your own personal use, but you cannot create clones of the software which you redistribute under your own name. Source can be found here: https://github.com/borconi/obd2aa.

Due to the fact that there are some irresponsible developers out there, who created video apps for moving cars, which was one of the main reasons Google blocked 3rd party apps, I won't be updating the code on github any more, to try to prevent those developers to use my technique to overcome the limits. If you are developing a 3rd party app and you will like to know more about how I have done this, you are always welcome to contact me. If your project is something useful, I will be more then happy to share things with you.

This does not mean it is now a free app and apk can be freely shared!