yashsingh1/xdaforums huggingface dataset:
[Xposed Framework Modules] agentdr8:
Simple module to make Android Auto less restrictive. History on this module can be found here and an article about the in-motion tap limits here. This module should remove the "speed bump" notification (Browsing locked for safety) and allow you to scroll through lists (playlists, song lists, etc) without hindrance.

There's also a reddit thread/request which has more specifics about what this module is trying to accomplish.

Features:

Should work for all aftermarket AA-capable headunits (might require a hard-wired bypass module depending on model)

Should also work for most OEM AA headunits that are built into newer vehicles

Should also work for standalone AA running on a phone and not connected to a headunit

Here comes the really large and obnoxious disclaimer.......

This module can alter the built-in safety features that Google has implemented in Android Auto. By downloading and installing, you agree that YOU, and only YOU, are solely responsible for any negative repercussions that may result. This can include injury to yourself and/or others, property damage, or loss of life. Under no circumstances is the author of this module responsible for its use!

...not that a simple disclaimer on a forum post would go far if anything were to happen, but I felt the need to put it out there. Please use YOUR best judgement when it comes to operating a vehicle and futzing with your Android Auto headunit.

Development and testing was done on a Nexus 5x running Android Auto v1.6.240040 (2719917-release) and a Pioneer AVH-4200NEX w/ micro bypass. This should work on any Lollipop and newer rom, assuming Android Auto works on it.

Downloads

See attached files on this post.

You can also grab it from the Xposed Repo

XDA:DevDB Information

Sensible Android Auto:Xposed , Xposed for all devices (see above for details)

Contributors

agentdr8

Source Code: Gitlab

Xposed Package Name: com.dr8.xposed.saax

Version Information

Status: Stable

Current Stable Version: 6.3.611314

Stable Release Date: 2021-04-12

Created 2016-06-04

Last Updated 2021-04-12
[Xposed Framework Modules] Livingod:
What does this mod do?

"Make Android Auto less restrictive" is very vague, and the history thread is disorganized. Can you add a feature list?
[Xposed Framework Modules] agentdr8:
Sorry about that. I've added a few lines about what it does to the OP.
[Xposed Framework Modules] ahaan:
Hi great work so far! Where can I download it?
[Xposed Framework Modules] HLG114:
In Xposed [emoji12]

☆☆☆ :D ☆☆☆
[Xposed Framework Modules] ranova:
amazing, exactly what I have been looking for.

Installed on a Sprint Galaxy S5 with blisspop rom. Will give it a run tomorrow and report back. I just set the number of taps to 999.
[Xposed Framework Modules] agentdr8:
That's odd. When I edit the first post, I can see that the APK is attached. But it isn't showing up. It's probably something to do with the DevDB project.

I've added it to the Downloads tab up top though. And I'll put the xposed repo link on the OP.
[Xposed Framework Modules] chevyguy128:
Works great! thank you for this. This is highly needed and worked with out a hitch for me on a quick test of spotify (was on a quick drive and was unable to test everything)
[Xposed Framework Modules] ahaan:
Looks great now, downloaded and tested successfully with the Head unit hack using self mode! Great experience :D
[Xposed Framework Modules] ranova:
update on my test, works great on my Sprint Galaxy S5 with blisspop 6.0 rom with the pioneer 4100nex. The first time I tried, AA seemed to have froze when I tapped Spotify, removed the usb and replugged it back in, but the module didnt seem to work, it only allowed 6 taps. On my 2nd drive, it worked great scrolling through my entire playlist when I was in movement
[Xposed Framework Modules] Jeffy!:
Thank you!! Works great on my Droid Turbo with CM13, Pioneer 4200 NEX.

First time I started AA it froze and crashed with "cannot connect to AA at the moment, when safe please disconnect and check your phone." All I did was disconnect and plug it back in, and it's been great ever since.
[Xposed Framework Modules] agentdr8:
Interesting. If it continues to happen, please enable debug in the settings and provide the Xposed Installer logs + logcat so I can account for this behavior.
[Xposed Framework Modules] Jeffy!:
I've used it about 10 times since then, running errands and whatnot. It's been working perfectly for me, no glitches!
[Xposed Framework Modules] ranova:
yup, only happened to me the first time after installing the module. Its been working ever since. Thanks again!
[Xposed Framework Modules] ljo13:
This is fantastic! Great job. Let's hope you will be able to add more features in the future or that other developers will join you. I love Android Auto but the current restrictions (on which apps can be used for example) are just plain stupid. I understand that there are people who would abuse Android Auto to type entire messages while driving if it was possible but that is not the responsibility of Google. At least, it wouldn't be the responsibility of Google in Europe. It's a totally different story in the US of course ;)
[Xposed Framework Modules] agentdr8:
Updated the module today. I figured out that the values for "unlimited browsing speed" and "max speed parking card" were in meters per second (float), so the default of 0.5F is roughly 1.1 MPH. I've made an adjustment so the preference slider accurately represents MPH at which it will no longer allow for unlimited browsing.

Of course if you have the tap limit set to max, then it won't matter. But a sensible tap limit, combined with a sensible max unlimited browsing speed is now achievable.

I also addressed the crash at initial launch.
[Xposed Framework Modules] manos78:
Hi agentdr8,

Great Module! Congratulations!

One suggestion: Please, can you add the option of "Execute action in the CAR screen"? The idea is: add one entry in this "unused" menu for trigger a Broadcast Intent; this intent then will be captured and processed by another App (like Tasker, AutomateIt, Llama, etc.)

Here some guide about "Broadcast Intent": http://inchoo.net/dev-talk/android-development/broadcast-receiver-from-activity/

For the "Car Screen" see: http://arstechnica.com/cars/2015/07...icle-diagnostic-app-expanded-car-integration/

I hope you agree! :fingers-crossed:
[Xposed Framework Modules] agentdr8:
I'll see what can be done about adding some things to that screen. I'm not positive, but I believe most apps won't be able to display any activities on that screen unless they have specific Android Auto layouts. But firing off a configurable intent should be possible.

Stay tuned....

EDIT: Upon further investigation, it seems that this isn't doable right now. Those entries under the "Car" screen are services that have to be defined in the manifest. AFAIK, you can't inject service entries (and their associated metadata tags) into an app via Xposed. I think at some point, Google may open up that restriction for OEMs, and allow them to just apply a specific xml description tag to indicate that a particular app can be shown/used in that screen.

I can try and see if I can hook the layout inflation of those entries, and modify their titles there. I can also try and override what they currently launch (right now, just demo screens).
[Xposed Framework Modules] manos78:
Hi agentdr8,

Thank you for your efforts! Good work! :good:

In reference to the limitations: Then I suggest to just hook the button for selecting the CAR screen. I feel this can be possible, and we use this event to trigger some intent. Please, think that sending one intent is by far more simple that printing on the screen. So, perhaps the first goal can be hook the AA UI for sending events to other Apps. You agree?
[Xposed Framework Modules] pjcamp:
6 taps enforced regardless of in motion or not

I'm still having issues on Moto X Pure Android 6. Yeah. Main result of Lenovo's purchase is that Moto no longer does updates.

As in the title, I have a six tap limit when I'm moving and when I'm stationary. I'm not sure whether this is the module's fault or AA's. Error log attached.
[Xposed Framework Modules] agentdr8:
The class names have changed in AA 2.5.728xxx, so the module needed updating. I've posted 1.7.3 on the OP (and Repo). Please test and let me know if it still isn't working for you.
[Xposed Framework Modules] agentdr8:
Is this on an aftermarket headunit or an OEM unit in your vehicle?
[Xposed Framework Modules] feffrey:
Dodge uConnect
[Xposed Framework Modules] chevyguy128:
humm, Is it possible to make a Modded version of the Android Auto APK? (like they have moded other APK's they edit then rebuild thne side load and boom) may be this would be easyer? Also would help our non rooted folks (and that sadly to say is me with my new V20 LG Verizon Verizon since my LG G3 Blue screened...yes, Blue screened lol)
[Xposed Framework Modules] agentdr8:
I haven't been able to successfully recompile the package. Most likely due to the obfuscation Google uses. So statically modified APKs are likely not going to happen, at least not by me.
[Xposed Framework Modules] GStarrr:
I had an s8 before and returned it because of this stupid "safety feature". Does this work on the current s8? If it does ill be purchasing it again. Thanks

I have a OEM carplay/AA headset
[Xposed Framework Modules] feffrey:
Anything I can do to test or gather additional data? The 6 tap limit is frustrating to say the least.
[Xposed Framework Modules] agentdr8:
This is a "safety" feature in Android Auto itself, not in the phone. The AA app uses both phone sensors and vehicle sensors (on some vehicles) to determine if there's motion and/or if it's safe to interact with AA. The Xposed module addresses only the on-phone detection of motion and tap limits; so for any vehicle-based sensors, it won't bypass those unfortunately. Every vehicle mfg that puts an OEM AA headunit in their vehicle implements their sensors in a different fashion, so to support them all I'd have to have access to each and every one of those vehicles, and that's just not feasible.

It's likely a vehicle sensor that's causing AA to bypass my bypass. Without running through many iterations to determine which sensor(s) are sending which data, it would be impossible for me to know what to override via Xposed.

Way back when, I had a test version of SAAX that was to help me gain some insight into how AA inter-operated with vehicle sensors, but those test cases weren't as cut and dry as I had hoped, so I was unable to reliably bypass them.

I guess a definitive test to determine where the issue lies would be to not connect your phone to your vehicle, and run the AA app just on your phone as you drive around. See if you can tap on the phone screen more than 6 times. If this works reliably, then it's most definitely a vehicle sensor that's causing the issue.
[Xposed Framework Modules] feffrey:
I can confirm, it is a car sensor, AA on the phone while moving works great. Yay Dodge. It worked great for about a month before it stooped working altogether, I might have gotten a firmware update which could have added some additional sensors.
[Xposed Framework Modules] agentdr8:
Most likely it was a change in the latest version of AA, which enabled or started reading from more vehicle sensors, whereas prior versions may have just ignored that data.
[Xposed Framework Modules] agentdr8:
Posted a new version today for the latest AA update. I added a few more override options, thanks to suggestions by [MENTION=5609142]Syquel[/MENTION]

Hopefully the added vehicle-based sensor settings address the issue you're having [MENTION=2032056]feffrey[/MENTION]

Basically, it should work like this: if the vehicle senses (via gps or wheel sensors) a speed over whatever value you set the slider to, it no longer thinks the vehicle is parked, and issues pauses or warnings. Since I have no way of testing this, it's all theoretical on my part. But hopefully it'll work out.
[Xposed Framework Modules] feffrey:
I updated and everything is working great! AA is actually usable again.

Thank you!
[Xposed Framework Modules] CUBENSIS:
SAAX had never worked well for me in my 2017 Audi. After your last update SAAX works flawlessly, i.e. no limits on scrolling! So this should now work in all audi/VW/Skoda cars. Thanks [MENTION=434511]agentdr8[/MENTION] !
[Xposed Framework Modules] CUBENSIS:
No posts in this thread for 4 weeks? I guess this means the last version works great for everyone. Thanks again for this amazing module and all your hard work [MENTION=434511]agentdr8[/MENTION] !
[Xposed Framework Modules] WebBuddha:
I'll try it under Android Auto Version 2.7.573954 and let you know.
[Xposed Framework Modules] agentdr8:
I posted an updated version for the latest AA on the OP and to the Xposed Repo.
[Xposed Framework Modules] kjacques1:
After latest update to AA and Saax now getting browsing is locked message again after 6 presses.
[Xposed Framework Modules] agentdr8:
Missed a method name change. Uploaded a new version to the OP and repo.
[Xposed Framework Modules] kjacques1:
Installed 1.7.5a but issue remains. Browsing still locked after 6 presses. Thank you for your efforts.
[Xposed Framework Modules] agentdr8:
Please post your Xposed error.log so I can see what's going on.
[Xposed Framework Modules] WebBuddha:
This version is working fine. I'll try the new 1.7.5.a later today.
[Xposed Framework Modules] krilok:
Just wondering... How would you set the maximum parked sensor speed? At a higher value, or lower? I've tried setting it to 1mph, but I still get the paused for safety warning on Spotify... And what's the passenger mode feature exactly? Thanks in advance...
[Xposed Framework Modules] agentdr8:
By default, the maximum speed which it considers you "parked" is 1.5m/s, which is roughly 3.4MPH. Any speed over that and you're no longer parked. So if you set this "maximum" to say 100m/s, that would be about 225MPH. So any speed over 225MPH and you'd no longer be parked. The idea being that if you can't exceed the maximum parked speed, AA will think you're always parked, and avoid showing you warnings.

Not sure what the passenger mode features are. It was a setting suggested to me by another forum member, and I just threw it in. Usually for these driving-based apps, anything that mentions passengers translates to "bypass restrictions if you say you're a passenger".
[Xposed Framework Modules] krilok:
Thanks for the clarification... Will set it up at 150 mph and see how it goes.

As for passenger mode, I would have guessed it allowed for more 'interaction' if you're not at the wheel, but, how would the car figure that out...? Anyway, thanks for all the help.
[Xposed Framework Modules] agentdr8:
Keep in mind, for the most part, the vehicle isn't involved in how AA determines what restrictions are in place; it's all within your phone and/or the AA app.

From just a quick look over the classes, it seems that there's a number of mentions of "Passenger Mode", but they all appear to be experimental settings at this point, and nothing that I could find indicating what sort of extra functionality (if any) is enabled by this mode being available.

It could very well be a mode that allows a "passenger" to operate your phone while AA is running; currently your only options are to exit AA or drag down the notification window and then use the task switch button to bring up different apps. I think maybe once the Passenger Mode is fleshed out, it'll probably give an option to operate the phone while AA is running.

public [MENTION=799491]interface[/MENTION] ffl
{
public static final int DISABLE_PASSENGER_MODE = 2;
public static final int ENABLE_PASSENGER_MODE = 1;
public static final int EXIT_ANDROID_AUTO = 3;
public static final int UNKNOWN_ACTION = 0;
}
[Xposed Framework Modules] krilok:
Thanks for the explanation... I'll try again with higher speed settings in the morning, and post my results.

If you don't mind, I would like to ask you one more question, Although it's totally unrelated to your app, so I apologise if it's not the right place to ask this... Anyway, I use AA mostly to stream music through my cars speakers, but since AA needs the phone to be plugged in through a USB cable, the music actually gets processed by the cars DSP instead of on the phone itself, thus rendering sound processors such as Viper4android totally useless. my cars audio quality is rather dull to say the least, so I was wondering if you maybe knew of any workaround to this...

I've looked al over for a solution, but can't seem to find any alternatives, so again, sorry for the thread invasion...

Thanks again...
[Xposed Framework Modules] agentdr8:
I believe you can send music over BT to your car (probably have to use the BT input/source) and then V4A will come into play.
[Xposed Framework Modules] krilok:
Yes, if streaming via Bluetooth, v4a works perfectly, but not while on AA since audio is automatically channeled through USB instead...
[Xposed Framework Modules] manos78:
Hi [MENTION=434511]agentdr8[/MENTION],

I have one suggestion for your module: At time, when connecting the smartphone to the car the screen needs to be unlocked. I know that I can use the "Bluetooth smart unlock" function of Android to overcome this. However, I'm not satisfied with this bluetooth unlock... the reason is quite simple: if you spoof the Bluetooth MAC address then you automatically unlock your device. However, I see that if I power-off the car & Headunit, and then I reconnect the power, the connection with the AA is automatic... even if the screen is off and the phone unlocked. That is, the fist time you connect you neeed to unlock; but after, is not needed. With this behaviour I suspect that this "security" limitation is included in the Android Auto code.

Then I suggest to incorporate in your module the option for auto-unlock the device when connecting to AA. In fact, this isn't a real unlock, as it not really unlocking the smarphone, asa it only launches the AA. Even more, this funciton is completly (or partially) safe, as the phone connected to the AA can execute a lot of functions but not all. So, if you are confortable with automatic car use, then the security is not overcome.

What you think? You like to include this in your module?

Regards.
[Xposed Framework Modules] agentdr8:
Hmm. I don't know if that's something I can override with the module, but I'll look into it.

I'll see what can be done with the keyguard. As for security, I know I wouldn't want to leave an option like that enabled, as the AA emulator can be run on just about any PC, and then unlock your device with it.
[Xposed Framework Modules] agentdr8:
Can you try disabling USB audio routing in Developer settings? There's no API or programatic way that's published to disable USB audio routing, aside from that setting.
[Xposed Framework Modules] krilok:
Disabling USB routing was my first idea, but unfortunately doesn't work either. I've even tried with 2 different phones, one with the stock LG Rom and another with Resurrection Remix custom rom, but no luck... The only noticeable difference was that the custom rom volume output was much higher, but that's about it. My assumption after days of trying is that audio routing must be encoded into the Android auto app itself, but I've no knowledge of programming, so it's just a wild guess...
[Xposed Framework Modules] agentdr8:
It is to some degree, within the AA app, but also within each audio player app (e.g. Spotify, Pandora, etc). Android handles audio routing based on policy and priorities, and connected devices. AA creates an adapter for other apps to interface with headunits and vehicles, and that includes routing audio where it needs to go. By default that seems to be over USB, with no indication that AA is forcing that (as far as I can find, there's no way to actually force audio over USB; if it's available, that's where it goes first). I tried playing Spotify over my headunit's BT source while in AA, but the headunit itself won't even let me select Bluetooth as an input if I have the USB connected to my phone.

So I guess what I'm trying to say is, I can't locate a place within the source to override audio routing, as there is none indicated. If anyone has suggestions, I'm all eyes.
[Xposed Framework Modules] manos78:
The security it's not fully compromissed. In fact Google is doing wrong in this case. Why?

- In first versions of AA, when you plug the smartphone, even if it's locked, the AA is launched.

- However, from the begining you have the option inside the AA preferences to automatically accept any car, or not (personally I have this disabled, so I only accept cars explicitly).

- After the introduction of the "Blutooth un-locking" Google has changed the behaviour: the AA is never launched if the device is locked. And if you like to change this, then you need to use the Blutooth unlock.

- But the Blutooth unlock it's very easy to overcome! You only need to know the MAC, and spoof a MAC address it's trivial!

- However, for the AA HU acceptance you need to know the "fingerprint", that is more complex to know and spoof. Futhermore, the launch of the AA only provides a limited access to the functions of the phone, as the terminal continues in fact locked. However, when you unlock with Bluetooth you obtain a full unlock.

- And to provide more reasons to grant to the user the option for selecting if s/he wants to use AA without unlocking or not, the AA has the option to do it after the first connection (when you power off the car and HU, and not disconnect the phone... when you restart the AA is launched even with the phone locked).

So, from my point of view Google is doing wrong not providing this option. And for this reason I ask you if you can provide it into your module.

Thank you for your good work! :good:
[Xposed Framework Modules] 911jason:
I realize this is a long shot, but is there any non-Xposed alternative to this app?
[Xposed Framework Modules] krilok:
Just to confirm the locked for safety warning is now gone using this module, so my congratulations to the Dev for his hard work...

As for my other woe, hopefully a solution can be found, too...
[Xposed Framework Modules] agentdr8:
Not that I'm aware of.
[Xposed Framework Modules] lilloscar:
It's possible to use Android auto with the default interface? I mean even connected to the car and not showing only a black screen?

I want this to avoid the lag on the car, it's useless
[Xposed Framework Modules] agentdr8:
You want to be able to use your phone while it's running Android Auto and plugged into your car? Or am I misunderstanding your question?

There's no officially supported way of running AA in the background (yet) but you can always swipe down from the notification window and then hit the task switcher button to bring up other apps on the phone.
[Xposed Framework Modules] lilloscar:
I know it's all about safety, but I was looking to use the phone normally or even with the default Android Auto interface, it becomes son limitated (I know it is the idea while driving) but some times it get so laggy on the car screen that is better not to use it, and yes it's better use the notification panel to achieve sometimes what you need but that is so limitate too.
[Xposed Framework Modules] agentdr8:
You may just have to wait until Google decides to officially implement/release the Passenger Mode, which if my findings are correct, will allow you to "background" Android Auto so it stays running on your headunit, but allows you to navigate on your phone. Implementing something like this is outside of the scope of my module, and my level of skill, so I'll leave it to the Googs.
[Xposed Framework Modules] lilloscar:
Thanks for your answer m8 so appreciated your efforts
[Xposed Framework Modules] NYFan:
Can I use my phone while connected to Android auto?

Will this allow me to use my phone while connected to Android auto?
[Xposed Framework Modules] WebBuddha:
No! Did you read the first posting in this thread?
[Xposed Framework Modules] agentdr8:
Read 3 posts above yours, and then my reply 2 posts above yours.