yashsingh1/xdaforums huggingface dataset:
[Android Head-Units] edit:
There's a lot of people that put the effort and time in till their project reach a certain point or level that they find satisfying and then move on to other things.

Me for instance I also got pretty close to that point if it weren't for there issues, in order of importance :

1. GPS 3.6 km/h increments issues

2. Viper EQ section is unusable in android 6 so a lot less sound customisable through viper - I think they did it on purpose to promote their new shiny units with their new EQ

3. Solve the BT speed drop with Android 6 - this one might be impossible

4. Google App not playing well with the sleep mode of the unit.

The difference between me and gusten is that he knew how to deal with the issues and if he put in the time (don't know if was worth it for him) he might sort out some of the issue.... I can't do a thing about the issues so I have to call it quits and move along being happy with what I could get because in comparison with the old 3066/1Gb ram old unit that I had before this is definitely a step forward.

I started to read up on the MTCD octa core units but so many people complain of hardware and software issues that knowing what I have now with the Joying unit I don't quite find it an interesting alternative. Yes, the MTCD units have lots more traction and many people working to improve them, there are 2 custom roms in development, people are using them and are quite happy, things are way more advanced in the MTCD camp. I have to take into consideration that If I'll go the MTCD route I'll loose the BT tethering, the hardware implementation is not so great in all the Chinese units and I haven't seen a lot of resellers that offer decent prices in Europe.
[Android Head-Units] Logicsystem360:
Hi !

I successfully installed the key customization with my custom launcher.sh but I have a latency (about ~5 seconds), have you this latency ? if yes, how did you solve it ?

Thanks.
[Android Head-Units] ideletejunk:
Hi everyone, I'm hoping someone is still lurking that has this capability.. I've tried decompiling, mucking with smali etc.. I even got to the java source and made changes to find it wouldn't compile.

I'd really like to either have original functionality in the calling keys and access to the source key via launcher.sh, or modify the Google voice source button version to execute some shell commands, probably via a very simple 2 line launcher.sh. I plan on using shell to trigger the recent apps, then a input tap to cycle through my last 4 apps.

Anyone capable of modding that source button or giving the calling keys their original functionality back via shell? I've seen that the call button can launch an activity to open bt dialling, but that won't answer calls, and the hang button I can't replicate.

Thank you in advance if anyone is capable of this!

PS.. hope OP is ok.
[Android Head-Units] ideletejunk:
I am an idiot.

I created a tasker app to run the commands and mapped the nav key to the source button in steering wheel app.

Then I set the tasker app I created to be the nav app.

Solved.
[Android Head-Units] romprod:
Hi guys, I'm looking at making launcher.sh do a few things but I really do not understand what I need to do inside the launcher.sh to make it happen, I'm no programmer!

Stop or Kill XiiaLive on ACC_OFF

and setting XiiaLivePro to the BAND button on my head unit.

Can someone give me a pointer please?
[Android Head-Units] dyabolikarl:
You need to find the package name for XiiaLive (will be something like com.companyname.appname)

Here is an example.

98) # ACC_OFF - executes on key off

$pause;
am force-stop org.prowl.torque;
am force-stop com.google.android.apps.maps;
;;

Explaination

98) # ACC_OFF - executes on key off

$pause; (pause music)
am force-stop org.prowl.torque; (use app manager to force stop torque)
am force-stop com.google.android.apps.maps; (use app manager to close google maps)
;;
[Android Head-Units] Logicsystem360:
I auto quote me, I found the partial solution here :

https://xdaforums.com/showpost.php?p=73023988&postcount=930

I code a line for

37)
service call statusbar 1
;;

And only this key have not latency. It's expand the statusbar.

Maybe a workaround to solve the latency ?
[Android Head-Units] julien3001:
Hi team,

I bought this unit for my VW passat :https://www.carjoying.com/eu-warehouse/vw-android-stereos/802.html :

Joying VM130N2, android 6, 2gb RAM, 32gb ROM ...

I installed it, all is ok, working.

But I have 2 questions :

- tool can be installed on this unit ?

- I would like to change shortcut from hard key head unit (on the right, touch "media"). Compare to the original media player, i would like to launch VLC or other. Is it possible, and how ? I searched it, but impossible to find someting.

Thanks a lot for your help
[Android Head-Units] surfer63:
To use the tool (assuming you mean the Joying_Extra_Tools apk), you first need to fully root your unit.

You can use the method described in "How to root a joying devices", or use my tool to "enable tcpip over adb", then use the scripts here (and once rooted you can continue again with the tool.

To modify the buttons you need the V6.3 Custom Key mods. . It comes with an install script butyou can installl it as well from the tool.

My launcher.sh starts the pulsar music player, but you can just as well start another apk like VLC.
[Android Head-Units] z0rn:
Hey,

thanks for your great app!

I will test i tomorrow on my device using "here" maps. Is it possible you will at this app https://play.google.com/store/apps/details?id=de.blitzer&hl=de to the "no mute"-list? It's a radar warning app which warns either with a "beep" sound or a spoken warnings. A lot of people use it in german spoken regions. I guess it is the most used one :). Would be really great!

Thanks in advance!
[Android Head-Units] surfer63:
That's fine with me, but I can't download it as the Play Store says it is not compatible with any of my devices, including the joying one.

So, does it really work for you on the joying?

If so, can you give me the package name?

I assume it is not the same as the CamSam "blitzenwarner"?
[Android Head-Units] z0rn:
But radio always stops when the app warns :/.

I tested it today an it worked :). Name should be "de.blitzer.plus" (found here https://blitzer-de-plus.de.aptoide.com/)

I use this device on android 6.0.1 (latest from july).

---------- Post added at 10:10 PM ---------- Previous post was at 10:07 PM ----------

I forgot the package name of the not plus (free) version. This should be just "de.blitzer" .
[Android Head-Units] surfer63:
I decompiled the version from the link and the package name is "cm.aptoide.pt". The package name is internally in the AndroidManifest.xml. The package name is not the same as the apk name. So where did you get that package name de.blitzer? The one from the link, is that really the official version or some hacked version?
[Android Head-Units] julien3001:
Thanks a lot surfer63 for your explaination. I rooted unit some hours ago, and now installed joying extra tools.

From this app, it seems to be possible to install V6.3 custom key.

1 question concerning V6.3nokill vs V6.3nokillGVS. In my passat B7 I don't have touch "src" in my steering wheel. Do you know how can it react with it ?

And with launcher.sh, I will see how it works. (where can i find this launcher and how can I modify?) I think that I will have more some questions ;)

Thanks for your info about pulsar player. I checked and seems to be good & light. I hesitate between pulsar & Pi, did you test the second ? And what do you advice ?
[Android Head-Units] z0rn:
Ahh, sorry for confusing you :). I justed sended you a link from aptoide for example. I don't know if this is hacked, but i guess because the plus version is a non free app.

Here are the play-store apps:

Premium:

https://play.google.com/store/apps/details?id=de.blitzer.plus&hl=de

Free:

https://play.google.com/store/apps/details?id=de.blitzer&hl=de

I just downloaded the free app, decompiled it and looked at the AndroidManifest.xml-file and package name is "de.blitzer" . The package name of the premium app should be "de.blitzer.plus" . So please add both strings.
[Android Head-Units] surfer63:
You are right about that launcher.sh. The "older" users all have a copy, but new users don't.

Please find attached the default launcher, a simple launcher and my launcher. I don't have steering wheel buttons either.

Note that the file name must be launcher.sh.

I have no experience with Pi. I use Pulsar. I used Rocket Player but that one now comes with a lot of adds. Rocket Player was my favorite as it allows for shortcuts of playlists. I simply had a "second" screen in my launcher with my most important play lists. I might buy the Rocket Player Pro version. I have my unit for 6½ months now. Still investigating as well.

There are 2-3 threads specifically about music players. Search those for more info.
[Android Head-Units] z0rn:
Did you need more informations from me? :)
[Android Head-Units] ngochoangimsat:
Thank you very much for your hard work!

Could you make this app for Some other Head unit, for excame Newsmy Carpad 4 (Serials NMxxxx) or some other.

I would like send keyevent to OS. Because, by default, some head unit (MCU) don't send keyevents to OS, so we can't use thirty app such as Buttons Remaper
[Android Head-Units] edit:
I haven't seen him around here for over 2 months... if not 3. So I would say that he moved on to other projects.... Slim chance that he will build this app for other units since he stopped updating it for his unit latest firmware.
[Android Head-Units] z0rn:
can somebody explain to me, how to install V6.3-Sofia-1-C9-Server_NOKILL.zip? I downloaded the file and extracted the apk-file. I moved it to my radio and try to install it and got an error which just says something like "installation aborted".

Do i miss something? Thanks for any help :)
[Android Head-Units] surfer63:
Try my apk: https://xdaforums.com/android-auto/android-head-units/joying-extra-tools-apk-apk-to-help-t3628200
[Android Head-Units] z0rn:
Thanks i will try that. Is their the de.blitzer and de.blitzer.plus app allready implemented :)?
[Android Head-Units] surfer63:
No.

I'm working on a couple of things at the same time and I simply don't have the time to do all at once. (My live consists of so much more than Joying alone).

This weekend I might update the V6.3 apks from Gustden to include even more navi apps, your blitzer software and some Dutch versions (like Flitsmeister) as well (Tomtom speedcams is already in). That would be a V6.31 then.

I reworked Gustdens NoKill V 6.3 25 May version to the 07 July version, but did not test yet. The custom key mod is too difficult as the new sofiaserver has also modifications in those parts.

I will most probable just drop the entire SofiaServer modification trial&error. At this moment I use the launcher3 on the 07 July version only with the expanded navi_app.txt: without Nokill and with key mods.

I'm completely happy with it.

The only option I now consider for the sofiaserver.apk is to make the internal "navi_app.txt" and "unkill_app.txt" external, and make them editable from my apk. In that case anyone can add what he/she wants to the "navi_app.txt", and everyone can decide for him/herself which applications should "survive" the sleep mode by adding them to the "unkill_app.txt". That is a very simple hack as it (theoretically) only requires a change of 2 paths in one smali file (and to add the functionality to my apk).
[Android Head-Units] z0rn:
Sorry i don't wanted to rush you, just wanted to know if you have any further question and what is the status. But ok.

I don't need any custom key stuff, i guess for 90% of the users it is enough to just don't kill the audio in other navigation apps. If you could manage it to make i configurable by our own, this would be a dream.

Is their any way to drop you something more than just kudos? :D Maybe bitcoin-wallet or paypal. Nobody should do great work for free i guess.
[Android Head-Units] surfer63:
I didn't feel rushed. I just wanted to explain that I'm not a nerd sitting behind his laptop for long hours. I (try to) keep it below 1 hour a day, but indeed: It's already a lot of hours as I want to test my changes as well.

I have a paypal account setup for donations which I did for my previous programs (one of them is pyExifToolGui, where I actually stopped further developments as I don't use it myself anymore).

I might put up a paypal link for this joying stuff.

The point is though that it also contains the work of others. I simply put an "install Gui" around it, with a few extra whistles & bells. Nothing more than that. (But my wife pushes me as well to put in a donation link :))
[Android Head-Units] edit:
What are you waiting for ? Listen to your wife ! I always wanted to buy you a beer :)
[Android Head-Units] Lowen SoDium:
I too have been working on modding the July version with Gustden's changes. I also did not attempt the custom key version for the same reasons you didn't.

I will be testing my version in the next hour.

What I want to try to accomplish if I get this working is a No Kill GVS version that also have a Play command put in to the AccOn event.
[Android Head-Units] Lowen SoDium:
Good news. It worked.

Attached are NO KILL mod and NO KILL with Google Voice Search bound to the SRC button on the July 5th version.

Note, I am not much of a programmer. I have literally just decompiled the original May versions and Gustden's version and compared the changes, then made those same changes on the July version. If there are any problems with either of these, there is probably not much I can do about it.
[Android Head-Units] dyabolikarl:
I haven't done much android programming i have done a tiny bit of java but a lot of old C. I am just learning how to decompile and recompile APK Can you give me any guides for the easiest way? I want to pitch in with the joying group as much as i can. I have apktool and android studio. Guides for comparing the apk's for changes etc etc. I started doing A studio apps a year or so ago but i never got it to build the apps properly.

EDIT: I found a tool which seems to decompile the server apk all the way back to java classes. So i'll poke around in there and see if there's anything cool.

Do you know if your version would also work on the may 25 version? I have a weird issue where i have my PHONE using gmaps (it paired with the joying) and it tries to lower the volume (or pause the music player) to give a gmaps announcement. The joying pauses and mutes but no audio comes out. Not sure why. I am not using gmaps on the joying at the moment as unit is busy with other tasks which use the screen.
[Android Head-Units] Lowen SoDium:
First I tried an online tool that decompiled back to java here: http://www.javadecompilers.com/apk But I didn't have the tools installed on this machine to compile and package java files to APK. If you already have Android Studio installed and set up, this might be all you need.

Next I tried APK Studio here: http://vaibhavpandey.com/apkstudio/ That decompiles to Smali and can compile back to APK, all in one tool.

I used WinMerge to compare the unmodified May 25th version to Gustden's versions. Then I took a decompiled version of the July 5th version and made the same changes to it and then just recompiled it using APK studio again.

I have no idea if the version I posted will work on any thing other than the July 5th version. The problem you describe is the reason that I upgraded to the July 5th version in the first place.
[Android Head-Units] dyabolikarl:
I managed to get the server apk all the way back to java source but can not edit it (only view it) I am looking up some tuts on how i can edit it and recompile to apk (never got apk to compile right even with A studio) Some of the stuff in there is interesting (although i am not a strict java programmer). I am not sure of the structure of the server either as it's all generally cally named and no commenting.

But i'll try to make progress so we can make our own server apk to fix bugs etc. Although i am a super noob. I can understand what each class is doing more or less.
[Android Head-Units] romprod:
I have the following but XiiaLive still survives ignition off etc.

I run the command over SSH and the app quits, so it's the right command

97) # ACC_ON - execute on key on
$play
am broadcast -a net.dinglisch.android.tasker.ACTION_TASK -e task_name accon
;;
98) # ACC_OFF
$pause;
am force-stop org.prowl.torque;
am force-stop com.google.android.apps.maps;
am force-stop com.android.DroidLivePlayer;
;;
99) # RESUME - executes on resume of system
sleep 2; $home
;;

*) # DO NOT REMOVE - Pass any other keys pressed as keyevent
# 3-Home, 4-Back, 85-PlayPause, 88-Prev, 86-Stop, 89-FB
# 90-FF, 87-Next, 126-Play, 127-Pause
input keyevent $key
;;
esac # End $key cases

exit 0

Am I missing something?
[Android Head-Units] dyabolikarl:
Post the entire launcher script it seems ok there.

Only questions i would have is

1. Do you have the right keymod server installed?

2. Did you update busybox?
[Android Head-Units] akuma148:
I'm still on Android 5.1.1, using 4.1 Custom Keys. Joying has an updated Keymapper app, with added Hang Up/Previous Track and Pick up/Next track buttons. Does anybody happen to know the keycodes for those? Also the keycode for the Mute button? I want to use those to pass more functions to my steering wheel keys. I've tried using the regular fast forward button to assign a function, but it only works if I have an app open that uses fast forward, like PlayerPro. If PlayerPro or any music app isn't open, then the fast forward key does nothing.
[Android Head-Units] surfer63:
I looked into the java code from the 07 July SYU-1-C9-Steer-V1.0.apk as decompiled by the dex2jar scripts and examined in jd-gui.

I don't know whether these are the correct key commands, but I assume they are

from the Finalsound.class for mute:

public static final int C_BACKCAR_MUTE = 13;

From FinalBT.class for Bluetooth:

public static final int C_BTAV_NEXT = 1;
public static final int C_BTAV_PAUSE = 3;
public static final int C_BTAV_PLAY = 27;
public static final int C_BTAV_PLAYPAUSE = 2;
public static final int C_BTAV_PREV = 0;
public static final int C_BTAV_STOP = 4;
public static final int C_DIAL = 7;
public static final int C_HANG = 10;

Note that we already knew the 27 which [MENTION=3076686]gustden[/MENTION] provided.

So nothing for sure. It's up to you to test.
[Android Head-Units] akuma148:
Thanks for the help, I appreciate it. Unfortunately, these codes don't work. According to the first post, 27 for Phone pickup/answer, and not Play. Hang is 28, not 10. I tested 13 for mute, but that doesn't work either.
[Android Head-Units] surfer63:
Many versions back, gustden created a debug SofiaServer.apk. You installed it, pressed the buttons, copy the logcat and them immediately reinstalled the original SofiaServer. From the logcat you can find the key codes.

That was a version for 5.1.1. I have no idea if that debug version even works on 6.0.1, but I will check whether I can still find that version. And you can check your key codes.

Edit: See this post for the debug apk

See also this post that even contains the HANG key
[Android Head-Units] dyabolikarl:
I'll see what i come up with this weekend.
[Android Head-Units] edit:
Why when using the No Kill Custom Keys mod the steering wheel buttons (and the unit buttons) on android 6 have such a big lag and on android 5 almost no lag at all?
[Android Head-Units] pwood999:
I have not installed this mod yet, but wondering if there is a simple way to change which apps the stock Source button rotates through ?

Stock 6.0.1 goes through Radio, Dialer, AuxIn, Video, Media, etc. but I want to change it to be something like Radio, DAB, Poweramp, Dialer.

Is there a config file somewhere that tells the standard server which apps to rotate ?
[Android Head-Units] surfer63:
Now that you mention it.

I think only Gustden can give an answer on that. So we have to wait for his holidays to end, after his short come back last week.

No, there is no clear config for that as it is all hard-coded into several apks.

I already looked at that especially as I wanted to change the hardware media button on my device from switching to the default joying music player to a player I wanted to.

It is a really big mess with those assigned package names like com.syu.radio, com.syu.music and the others through the Sofiaserver.apk, the SystemUI.apk, the several laucher apks and the SubServer.apk. Next to that also the Joying BT bluetooth apk is also referring to the standard radio and music player buttons (disable them I presume).

So that route is very time consuming and error prone. And I'm not a java programmer, so I can't solve that.

So then I built a "OneKeyMedia.apk" which I placed between, what I thought, the hardware button selection for Media. Same like the Navi app which allows you to select a desired navi app and on hardware click starts the selected navi app.

I did not get that one to work either, but I will have a look again.

So I think it can be done, but it is definitely not easy.

Edit: I mentioned: "I will have a look again". My new plan is to simply replace the music player of Joying with my "OneKeyMedia" apk (I "program" in appinventor, not in java) and give it the package name com.syu.music. But I'm busy with all kind of other things :) and I have a shortcut on my home screen to my music player of choice, which makes this very low priority.
[Android Head-Units] pwood999:
Thanks for the detailed answer. My Joying (UMS03N2) doesn't have the HW buttons, but does allow the soft keys to be re-assigned, so I have done this for the Nav key to Waze. I will have a try of the basic Custom Keys version, as I do want all apps to close & probably don't need the NoKill part.
[Android Head-Units] ch_swat_89:
Hi there

I have also the Unit without Hard Keys.

If i don't have any idea how to programm, can you please help me to write the script?

I'm happy with the originial one, i wish only two changes:

- Home Button (picture position 1)

- Google Voice search (picture position 2)

The rest can fully stay stock. No double press ect. needed

Regards

ch_swat_89
[Android Head-Units] Chr1Zz_:
I'm not sure whether button 2 can be mapped, but I can give you the code tomorrow to map key 1 with the home button.
[Android Head-Units] tangoman99:
Trying to get my head around this.

I only want to configure 2 buttons - the Media and Nav buttons

Nav can stay as it is - switching between GMaps and the last app is great.

I'd like Media to do the same with Poweramp - if I just replace "maps" in the grep expressions in the Nav code with poweramp and obviously change $map to $poweramp then will that work?
[Android Head-Units] tangoman99:
OK so this is my code

33) # MEDIA
#
# Toggle between Poweramp and last app
x=`dumpsys activity activities | grep "Run #" | cut -f 13 -d" "| head -1 | grep poweramp`
if [ "$x" = "" ]
then
$poweramp
else
am start `dumpsys activity activities | grep "Run #" | cut -f 13 -d" " | grep -v launcher | grep -v systemui | grep -v poweramp |head -1`
fi
;;

The result of that effort is that poweramp successfully starts when the button is pressed, but a second press of the button does not return the previous app, unlike the NAV button which works as expected which means that it is never finding "poweramp" in the activities list.

Is there a way to add logging to this code so that I can view the actual list returned by the dumpsys expression.

---------- Post added at 08:05 AM ---------- Previous post was at 07:57 AM ----------

One other query I have on this, I noticed in a separate thread a tip to use the Google Maps "Drive" widget to start Maps so that at night you get the Night Interface immediately rather than only once you start navigating.

I did try to install the widget on my HUD but the widget doesn't exist! Regardless, presumably the widget is simply calling Maps with parameters, so is it possible for the Nav button to make the same call here?
[Android Head-Units] Dvalin21:
Hey guys I noticed that the Samsung Galaxy Player 4.2 has a Bluetooth Dialer. Do you think it would work for our device? Or possibly deved to work for our device? Thanks