[DEV] Getting Headphone Vol+/Vol- working on Android - HTC Sensation

Hi there,
as I mentioned in different threads, I noticed, that it is not possible to change the volume of your device via headphones (in my case Beats Tour with ControlTalk). I did some research about it and found, that Apple has got a patent on this procedure, so it is not possible to implement this in Android devices.
As is did some further research I found the basics, how it is working. As far as I understood the volume control is possible because of different resistors (three) in the cable. Each of this resistor is bound to one button (vol+/play-pause/vol-). If you press one button, the amperage is reduced because of the resistor. Now the only thing that has to be done is to interpret this amperage and decide which button was pressed. I was wondering why exactly the Android devices are not able to recognize the clicks on vol+/-. I did some research and testing again and found out, that "Headset Droid" does not even recognize, that the button were pressed, "Headset monitor" does not show any event. The funny thing is, that, if I press vol+ and vol- together, the click IS recognized, but the device interprets it as a click on the play-pause button. With this I would say, it is not a
hardware issue, it should be software, kernel, related.
I looked into the latest XE kernel (pyramidLE-crc-2.6.35) and searched for different keywords, but can’t find the exact files, where the headset control is configured (there must be any files, cause htc headphones are working like a charm with previous/play-pause/next). I've got two ideas how this could work.
Add some code to recognize the button-presses and interpret them correctly. That would be the elegant, clean way.
Another idea is, that we could get every headphone treated like htc headphones (vol+ would be next track, vol- last track). There is an app to change the htc previous/next buttons to work like vol+/- so that would be enough. That would be the "easy" way, but more dirty.
Some more information: I did not change anything in the kernel and never compiled the kernel, so I can’t say, if I'm on the right track.
Here is what I found in the kernelfiles so far:
\arch\arm\mach-msm //it seems, that there are some amperages are configured here, but it does not seem to be the right ones...
Code:
/* HTC OTHC Driver - BEGIN */
[...]
static struct hsed_bias_config htc_headset_othc_bias_config = {
.othc_headset = OTHC_HEADSET_NO,
.othc_lowcurr_thresh_uA = 100,
.othc_highcurr_thresh_uA = 500,
.othc_hyst_prediv_us = 3000,
.othc_period_clkdiv_us = 3000,
.othc_hyst_clk_us = 45000,
.othc_period_clk_us = 6000,
.othc_wakeup = 1,
};
[...]
\arch\arm\mach-msm\htc_headset_mgr.c //here’s the headsetmanager, the type of headphone seems to be set here
Code:
[...]
switch (hi->hs_35mm_type) {
case HEADSET_UNPLUG:
state = "headset_unplug";
break;
case HEADSET_NO_MIC:
state = "headset_no_mic";
break;
case HEADSET_MIC:
state = "headset_mic";
break;
case HEADSET_METRICO:
state = "headset_metrico";
break;
case HEADSET_UNKNOWN_MIC:
state = "headset_unknown_mic";
break;
case HEADSET_TV_OUT:
state = "headset_tv_out";
break;
case HEADSET_UNSTABLE:
state = "headset_unstable";
break;
case HEADSET_BEATS:
state = "headset_beats";
break;
case HEADSET_BEATS_SOLO:
state = "headset_beats_solo";
break;
case HEADSET_INDICATOR:
state = "headset_indicator";
break;
default:
state = "error_state";
}
[...]
As I never worked in kernel before (I am experienced in C) I don’t know whether I'm doing it wrong or not. Some help and any suggestions would be helpful, perhaps we can get this working.
I hope you understand my thoughts and problems, it's hard to express them in german and it's even harder in englisch
Kind regards,

I have also wanted my tour headphones volumes buttons to work. Thanks for this hopefully a solution could be near.

Dev of Headset Droid here.
I'd say it's a cool initiative to try to make the volume buttons work. The last time I researched the issue, it seemed to be a hardware problem at the 3.5mm plug. My guess for why clicking both vol+ and vol- generates a play/pause, is that by pressing them both, the play/pause button might actually be pressed. Of course, I could be wrong about this.
Either way, to give you an idea of what to aim for: Catching the volume button clicks globally is a lot harder than to catch the next and previous buttons in Android. Headset Droid doesn't support vol+ or vol- presses, but will only show play/pause, next and previous in the headset monitor.
If you somehow manage to get the volume buttons working as they should, the volume level should change as if you pressed the volume buttons on your device.

Headset button controller app works fine with beats. My set up is long press to change track on either button and short press to increase/decrease volume
Sent from my HTC Sensation XE with Beats Audio

tvkanters said:
Dev of Headset Droid here.
I'd say it's a cool initiative to try to make the volume buttons work. The last time I researched the issue, it seemed to be a hardware problem at the 3.5mm plug. My guess for why clicking both vol+ and vol- generates a play/pause, is that by pressing them both, the play/pause button might actually be pressed. Of course, I could be wrong about this.
Either way, to give you an idea of what to aim for: Catching the volume button clicks globally is a lot harder than to catch the next and previous buttons in Android. Headset Droid doesn't support vol+ or vol- presses, but will only show play/pause, next and previous in the headset monitor.
If you somehow manage to get the volume buttons working as they should, the volume level should change as if you pressed the volume buttons on your device.
Click to expand...
Click to collapse
nice to have you here!
i thought the same about pressing vol+ and - at the same time, bit i took a close look, the button itself (i mean the part of the button that you are actually seeing) is not moving while pressing both.
whats the difference between the htc buttons (next/previous) and, lets call them, "apple" ones (vol+/-). I read about how 3.5mm plugs are technically working and I cant imagine, that htc headphones are working THAT different from "apples" version. I had a nice article about that, I will search for it and post it here.
//EDIT: Can't find it anywhere... read the first post, I tried to explain it, hope you understand how it works.

Just some small information (sorry for double-post): Found this - reverse engineering apple headphones - and this today - reverese engineering htc headphones. It seems that it is indeed a voltage drop, that lets the system recognize the button-presses in BOTH headphones. I'll have a closer look in the evening when I'm home from work and will compare the results, if it’s similar, we might get it working by a software patch.

The second link is broken for me, but if the plug plays no role in it as you suggest, it does sound a lot more promising. : )
I'm still not convinced about pressing the two volume buttons not trigging the play/pause button, though. I've got some earphones with 'Apple' volume buttons as well (a-JAYS Four) and I can't reproduce what you're describing on my Nexus One running CM7.1.
I'll be looking forward to hearing what you find out later on. : )

Again some news and could be, that I need some help...
As far as I can see, the current cycle in both headphones (apple and htc) are exactly the same, except for the different resistors, which would explain the different voltages.
Regarding code I'm stuck at this function in \arch\arm\mach-msm\htc_headset_mgr.c
Code:
static void button_35mm_work_func(struct work_struct *work)
{
int key;
struct button_work *works;
wake_lock_timeout(&hi->hs_wake_lock, HS_WAKE_LOCK_TIMEOUT);
HS_DBG();
[B]
works = container_of(work, struct button_work, key_work.work);
hi->key_level_flag = works->key_code;[/B]
if (hi->key_level_flag) {
switch (hi->key_level_flag) {
case 1:
key = HS_MGR_KEYCODE_MEDIA;
break;
case 2:
key = HS_MGR_KEYCODE_BACKWARD;
break;
case 3:
key = HS_MGR_KEYCODE_FORWARD;
break;
default:
HS_LOG("3.5mm RC: WRONG Button Pressed");
kfree(works);
return;
}
headset_button_event(1, key);
} else { /* key release */
if (atomic_read(&hi->btn_state))
headset_button_event(0, atomic_read(&hi->btn_state));
else
HS_LOG("3.5mm RC: WRONG Button Release");
}
kfree(works);
}
I tried to roll back the events that are triggered by a keypress and the different functions are (from the first to the last):
??-->button_35mm_work_func-->headset_button_event-->button_pressed-->??
But I does not understand how button_35mm_work_func "does know" which button has been pressed... I'm stuck there for the moment :x
I do not want to know whats coming after button_pressed, cause I think its enough to get the button working as next/previous for the moment. Then we can look into volume control.
If any kernel-dev would be helping it should be easier, as I said, I never worked with kernels before, still learning.
So far.

loliman,
I just found this thread .. how is it coming? Any slightest light here? like at least a punch in volt signal and all?

Forget to tell you... I'm at vacation till tomorrow (friday). I found some more things and compiled a Kernel with some changes. I'll tell you when I'm back home.
Sent from my HTC Sensation XE with Beats Audio using XDA App

loliman said:
Forget to tell you... I'm at vacation till tomorrow (friday). I found some more things and compiled a Kernel with some changes. I'll tell you when I'm back home.
Sent from my HTC Sensation XE with Beats Audio using XDA App
Click to expand...
Click to collapse
Oh my ... you have fun now .. but yeah .. keep us posted!

jeebsion said:
Oh my ... you have fun now .. but yeah .. keep us posted!
Click to expand...
Click to collapse
loliman said:
Forget to tell you... I'm at vacation till tomorrow (friday). I found some more things and compiled a Kernel with some changes. I'll tell you when I'm back home.
Sent from my HTC Sensation XE with Beats Audio using XDA App
Click to expand...
Click to collapse
no news yet, huh? :-(

Some bad news... I tried some things yesterday wich didnt worked and now I accidently deleted my virtual machine (linux...) I'll creat a new one and try some more things (I've got some more ideas) tomorrow, I'll post more recently in the next days, sorry, had been busy

Any luck on this?

Any news? I'd love to help, though I've got no experience with C or kernel level code. How are you reading the headphone amperage? What about just writing a headphone button driver from scratch? I was just thinking simply detect an amperage change and pass that info up to handle everything else in the Android framework, but I'm not sure exactly how to do that . How have you gone about this, and if I were to experiment, where should I start?

Its been a while but I am wondering if any things changed with regards to this. I got a Klipsch S4i as a gift and I know it wont work on my Droid X2, hate to give away these headphones they sound so sweet.

I was hoping for a fix so I can use the volume control on my Sennheisers, but then my gf's cat chewed through them so now I can be patient
Sent from my Nexus 4 using Tapatalk 2

Beats volume boton
loliman said:
Some bad news... I tried some things yesterday wich didnt worked and now I accidently deleted my virtual machine (linux...) I'll creat a new one and try some more things (I've got some more ideas) tomorrow, I'll post more recently in the next days, sorry, had been busy
Click to expand...
Click to collapse
loliman, what happen with this research? did you finf something more? or did you just quit ? im asking because im trying to do the same....

I have ludacris
Hey anything new found i found this problem with my sould by ludacris sl49 i bought them for 80 euro and they didn't even post a sticker on the goddamn box or somewhere visible they ts all should just make universal drivers for earbuds and headphones this anoyes me only the middle button works for play and pause stupid bull****

From what I've seen it appears to be a patent issue with apple being the bad guys. I may be wrong though.

Related

Bluetooth Keyboard working brilliantly with G1!!!

go here:
http://i-miss-erin.blogspot.com/2009/09/connect-bluetooth-keyboard-in-android.html
when i tried remounting as rw, it wouldnt work, so i tried pushing the files anyway and for whatever reason it wrote no problem. now that i think about it, it could be that when i adb pushed, i was booted into the recovery console, but i dont remember.
anyway, you have to go through the bluez commands every time you connect, and it would be wonderful if someone would write a script, but its really really awesome!
also, whenever you run the hcitool scan command, the keyboard needs to be discoverable.
Im using a rocketfish bluetooth keyboard, no problems. So far, I've discovered the following keymaps:
Home = home key
End = red end key/sleep key
F1 = Menu
holding down the home key pulls up the mru, and while holding down the home key, you can navigate around using the arrow keys and hit enter to select.
holding down ctrl and shift and using the arrows lets you select text!
im running cyanogens 4.2.8, btw.
sharin' the love...
enjoy!
berish said:
go here:
http://i-miss-erin.blogspot.com/2009/09/connect-bluetooth-keyboard-in-android.html
when i tried remounting as rw, it wouldnt work, so i tried pushing the files anyway and for whatever reason it wrote no problem. now that i think about it, it could be that when i adb pushed, i was booted into the recovery console, but i dont remember.
anyway, you have to go through the bluez commands every time you connect, and it would be wonderful if someone would write a script, but its really really awesome!
also, whenever you run the hcitool scan command, the keyboard needs to be discoverable.
Im using a rocketfish bluetooth keyboard, no problems. So far, I've discovered the following keymaps:
Home = home key
End = red end key/sleep key
F1 = Menu
holding down the home key pulls up the mru, and while holding down the home key, you can navigate around using the arrow keys and hit enter to select.
holding down ctrl and shift and using the arrows lets you select text!
im running cyanogens 4.2.8, btw.
sharin' the love...
enjoy!
Click to expand...
Click to collapse
Wow!
Thats alot of work just to use a ky to type or whatever you said =/
The batt isnt good enough to be using all this juice unless you got one of em solar batteries from mars
dunno 'bout you, but i've been using it for over an hour at a stretch, with headphones plugged in and listening while typing, and lost about 10% battery...
and yes, if it was just to type out a text message, its obviously ridiculous, but if you use it to take notes or something else more text intensive, its well worth the minute it takes to set up...
berish said:
dunno 'bout you, but i've been using it for over an hour at a stretch, with headphones plugged in and listening while typing, and lost about 10% battery...
and yes, if it was just to type out a text message, its obviously ridiculous, but if you use it to take notes or something else more text intensive, its well worth the minute it takes to set up...
Click to expand...
Click to collapse
Your using the stock batt? Your texting on it?
might be good for a game though.
I wonder how many G1 owners are going to go buy one of these, now:
http://www.thinkgeek.com/electronics/8193/

Volume rocker as camera's shutter button

I had this brilliant idea of using the volume rocker as a shutter button, but then I realised this occurred to a whole bunch of people
I quickly found a way to make this work, manualy, or with an app. Unfortunately this is not what I, or most people, are looking for. These methods remap volume buttons for good, so while you can take a photo with the volume rocker, you can't change the volume.
Later I found a few camera apps which implement this option, but these either don't work on the Sensation, or they are just crap.
Also, CM7's camera has this option, but I am not interested in CM7 on my phone just yet
So I figured there are two ways to make this work properly, and I hope somebody will support me in this
1. Implement this option into a proper camera app - Amaze, BluRay, or even stock camera.
2. Make a standalone app which remaps the volume rocker when it's started, and maps it back when turned off. Tasker or AutomateIt could start/stop the app. It could also sit in the background and wait for a camera app to get started/stopped and remap the keys accordingly.
I think the second option is better... I just need a developer with some spare time and good will to make it work.
I really doubt making this sort of app is complicated... I'll try it myself, but I'm still new to the ways of android
Anyone interested to help?
That would be an awesome idea
Sent from my HTC Sensation Z710e using XDA App
Haha, that is actually exactly what I have asked for just yesterday!
But I would like to use the power button instead.
F-Styla said:
Haha, that is actually exactly what I have asked for just yesterday!
But I would like to use the power button instead.
Click to expand...
Click to collapse
I've seen people ask for this as well... If an app is made this could easily be included. But why would you want that? It's harder to press and used way to often already... Also, volume rocker is positioned exactly where the shutter button should be located
I updated my girlfriend's iPhone to iOS 5 this past weekend, and this was literally the only change that elicited any kind of reaction from her.
I'd also love this feature on our phones. Hopefully this will catch the eye of some devs out there :]
Sounds like a good plan. Im in
CdTDroiD said:
Sounds like a good plan. Im in
Click to expand...
Click to collapse
Wow, nice!
Which option though? A standalone app, or implementation into the Amaze mod?
A standalone app would help everybody. Even non-Sensation users
zmfl said:
Wow, nice!
Which option though? A standalone app, or implementation into the Amaze mod?
A standalone app would help everybody. Even non-Sensation users
Click to expand...
Click to collapse
Ill impliment it to the stock camera..
At the moment stock camera has the zoom function mapped as volume up, down so should just be able to change that to shutter and zoom with touch screen
Sent from my HTC Sensation XE with Beats Audio Z715e using xda premium
Update... im not overly good with .smali edits but it seems whatever the edit needs to be will be in "HTCCamera.smali"
Found these:
Code:
.field public static final INCREASE_ZOOM_TIMEOUT:I = 0x96
.field public static final INCREASE_ZOOM_POSITION:I = 0x37
.field public static final EVENT_VOL_DECREASE_ZOOM:Ljava/lang/String; = "Zoom.Decreased"
.field public static final EVENT_VOL_INCREASE_ZOOM:Ljava/lang/String; = "Zoom.Increased"
So it should be changing values to swap them round somehow i guess... still looking into it anyway
CdTDroiD said:
Update... im not overly good with .smali edits but it seems whatever the edit needs to be will be in "HTCCamera.smali"
Found these:
Code:
.field public static final INCREASE_ZOOM_TIMEOUT:I = 0x96
.field public static final INCREASE_ZOOM_POSITION:I = 0x37
.field public static final EVENT_VOL_DECREASE_ZOOM:Ljava/lang/String; = "Zoom.Decreased"
.field public static final EVENT_VOL_INCREASE_ZOOM:Ljava/lang/String; = "Zoom.Increased"
So it should be changing values to swap them round somehow i guess... still looking into it anyway
Click to expand...
Click to collapse
That does sound like it's close... But I'm not sure swapping anything there will do it
I found a whole bunch on zooming, but nothing actually detects the volume keys being pressed.. Or I just don't realise that it does :\
I'll do a more detailed sweep of the code tomorrow...
I would prefer using the search soft key for taking pics as that I'd more comfortable to reach...
jjdoctor said:
I would prefer using the search soft key for taking pics as that I'd more comfortable to reach...
Click to expand...
Click to collapse
That's almost the same as clicking on the button that's on the screen
zmfl said:
That's almost the same as clicking on the button that's on the screen
Click to expand...
Click to collapse
I'm not so sure, i recon it wouldnt be that bad, as all you need to do is find the edge of the device, and your finger is basically on it- - then it leaves the volume keys for the zoom still
If that could be done to the amaze cam, that would be fantastic....
awesome idea. but I could like to use power button as shoot button and volume as zoom in and out. use touchscreen to take photo alway hard to stable without handshake ha.
+1 to power button
Sent from my HTC Sensation XE with Beats Audio Z715e using XDA App
Volume Rocker
first step is to disable volume button or power Button function while in Cam mode
Volume rocker please!
I remember in the good'ol Windows 6/6.5 days there used to be a small utility which performed like this :-
(1) User click Camera App
(2) Utility gets triggered 'before' camera app and blocks all hardware keys to custom mapping
(3) User exits Camera App
(4) Utility exits releasing control on all hardware buttons
(The utility was totally background !)
But of course that was Windows ... I am thinking on these lines if you cant find any code specific to button trigger in the camera app ...
Also, I suspect the button trigger is not in the Camera app and passed on from the system/kernel to the app when pressed (again similar concept of Windows prog)
My vote is for the power button. It is easy to reach while having both thumbs available to manipulate the volume rocker for zoom. Also, holding the phone this way, you can grip it nicely with the right hand, and stabilize it with the left... and there's no chance of covering the lense with a finger.
Turning the phone around the other way to use volume rocker for image capture means that it is now difficult to grip the phone nicely without your fingers getting in the way of the lense... And of course you lose the ability to zoom with physical buttons.
Sent from my HTC Sensation Z710e using Tapatalk

"pressy" like button for 0.39

Found on BensBargains (site with the least pleasant user community - so don't blame me if somebody's rude to you there)
Audio plug with button.
$2.00 w free ship or .39 with code GBSMR (no idea how long that'll last).
It's basically a button you can stick into the audio jack - and you're supposed to be able to "do things" when the button is pressed. Which means you probably need some sort of APK to make things go - or maybe it's triggering "audio jack insterted". Dunno - just ordered it.
Posting here as I've read that the power button on our tf700s is a tad fragile, so this might give someone an alternate button.
BTW, you don't need an off button if you've got CM or CROMI installed - just go to settings / interface . status bar / double-tap to sleep.

[Q] Looking to use volume buttons as power button.

It's no secret that the M8 is a bit taller than the M7, and that HTC opted to keep the power button on top for whatever reason. I mean, don't fix what isn't broken and all that but I have tiny baby hands.
I'm hoping to be able to define pressing both volume buttons at the same time (perhaps with a delay on each press to cut down on false triggers) as the lock / power button.
I don't know if two buttons could be defined as one key pressed for sure. I highly doubt it.
Things to note:
- I've looked into every conceivable app that promises such functionality
- I'm on NEO's ported Lollipop ROM (excellent work, by the way, man.)
- My baby is S-OFF (not really relevant, but who knows?)
- I did a little development before we hit gingerbread way back in the day. I used to make my HTC G1 dance. I have plenty of experience tweaking bits under the hood.
I appreciate any help you guys can spare!
And of course, thanks for all that you developers do for us and our phones!
Tekgeekify said:
It's no secret that the M8 is a bit taller than the M7, and that HTC opted to keep the power button on top for whatever reason. I mean, don't fix what isn't broken and all that but I have tiny baby hands.
I'm hoping to be able to define pressing both volume buttons at the same time (perhaps with a delay on each press to cut down on false triggers) as the lock / power button.
I don't know if two buttons could be defined as one key pressed for sure. I highly doubt it.
Things to note:
- I've looked into every conceivable app that promises such functionality
- I'm on NEO's ported Lollipop ROM (excellent work, by the way, man.)
- My baby is S-OFF (not really relevant, but who knows?)
- I did a little development before we hit gingerbread way back in the day. I used to make my HTC G1 dance. I have plenty of experience tweaking bits under the hood.
I appreciate any help you guys can spare!
And of course, thanks for all that you developers do for us and our phones!
Click to expand...
Click to collapse
Try this http://forum.xda-developers.com/showthread.php?t=2401316..Of course you can remap a volume button as power button.But you can't do both power/wake & volume up/down too.
Tekgeekify said:
It's no secret that the M8 is a bit taller than the M7, and that HTC opted to keep the power button on top for whatever reason. I mean, don't fix what isn't broken and all that but I have tiny baby hands.
I'm hoping to be able to define pressing both volume buttons at the same time (perhaps with a delay on each press to cut down on false triggers) as the lock / power button.
I don't know if two buttons could be defined as one key pressed for sure. I highly doubt it.
Things to note:
- I've looked into every conceivable app that promises such functionality
- I'm on NEO's ported Lollipop ROM (excellent work, by the way, man.)
- My baby is S-OFF (not really relevant, but who knows?)
- I did a little development before we hit gingerbread way back in the day. I used to make my HTC G1 dance. I have plenty of experience tweaking bits under the hood.
I appreciate any help you guys can spare!
And of course, thanks for all that you developers do for us and our phones!
Click to expand...
Click to collapse
Xposed framework and sense six toolbox. Used it when I blew out my power button and had to replace it.

Software Development Modded syu.ms.apk

Hi all.
This syu.ms.apk mod main function is to extend control of steering wheel controls plus some extra.
It is two part mod :
- factory com.syu.ms.apk must be replaced with this modded syu.ms.apk - easiest way is to use lsec mathod . If you don't know how see post #15
- Mod Config App (install like every apk ) - the configuration tool for this mod.
- Accessibility Service . This is optional. It will be required only for touch actions and split screen.
Here you have last version of my mod.Based on 17.05.23 version of syu.ms.apk
What is working :
- managing steering wheel buttons (CAN and Analog) and Head unit buttons (Need to enable this in misc page)
- assigning an APK
-assigning User Sources
-assigning Split Screen Apps
-assigning a Touch Action
-assigning Key Event : send system wide selected key code.
- assigning two functions action : "PREV / Call" and "NEXT / Hang"
- switchable No Kill
- external assets
- block some Write_to_Mcu
Config App has in built help and a language selector.
Also i attached strings.xml packaged as strings.zip .
NOTE: if the accessibility service gets killed add : "mod.accessibility.service = -15" to the skipkillapp.prop
Hi @seb21 nice idea to open a new thread as it is a complete project
can you please tell me what did you improve in com.syu.ms related to your previous version ? (SORRY IS IN THE CHANGELOG LOLOLOL)
Cheers !
@seb21 I think this one is still killing apps
public static void h(String str) {
ActivityManager n = ae.n();
try {
if (str.startsWith(":")) {
str = str.substring(0, str.indexOf(":"));
}
if (!p.a(str)) {
k(str);
n.forceStopPackage(str);
a.o.c.a(str);
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
File smali/app/aj.smali
seb21 said:
[...]
And i have a question. Maybe someone of you can help me.
I try to make my dashboard display to show navigational data (distance,directions, e.t.c) - so far no success. I have 2 canbus boxes : simplesoft (XP) and raise (RZC) .Do someone of you know a place where i can get the full functions list for the canboxes ???
Click to expand...
Click to collapse
Thank you so much for the tag, and also for the modified apk. Can't wait to try it out tomorrow.
As for your question:
Does that kind of dashboard panel support the displaying of the navigation data? Even if it looks like it should, there could be different hardware and software revisions of the display with different functionalities.
When I upgraded my display first time in my Peugeot 308, I made a mistake of not checking the actual software number on the back of the new unit. While some of the functionality was present, I wasn't able to connect the radio bluetooth (yes, the radio, which is a separate unit) because of the old software on the display.
daviddosa said:
Thank you so much for the tag, and also for the modified apk. Can't wait to try it out tomorrow.
As for your question:
Does that kind of dashboard panel support the displaying of the navigation data? Even if it looks like it should, there could be different hardware and software revisions of the display with different functionalities.
When I upgraded my display first time in my Peugeot 308, I made a mistake of not checking the actual software number on the back of the new unit. While some of the functionality was present, I wasn't able to connect the radio bluetooth (yes, the radio, which is a separate unit) because of the old software on the display.
Click to expand...
Click to collapse
Yes,it does. I have Leon 3 and with the original multimedia station i had the possibility to display navigational data on the dashboard. As i switched to android unit first i had simplesoft canbox and i was able to send media info but not navi nor compass. On their web site (only chinese) there is info that my canbox can send navi data to the dashboard. But there are not one piece of documentation. Now i have raise and from start the compass started working but still no navi.
mariodantas said:
@seb21 I think this one is still killing apps
public static void h(String str) {
ActivityManager n = ae.n();
try {
if (str.startsWith(":")) {
str = str.substring(0, str.indexOf(":"));
}
if (!p.a(str)) {
k(str);
n.forceStopPackage(str);
a.o.c.a(str);
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
File smali/app/aj.smali
Click to expand...
Click to collapse
It's not.
killAppWhenSleep() -> KillAllAppButSome() -> killApp(String)
Class aj n() -> o() -> h(String)
I call in n() my method that calls (or not) o()
I'm using h(String) to kill aps in the user sources (kill switch)
I see the difference on my unit. When i switch on No Kill then after evrey sleep my unit is performing boot, probably because i have low end unit UIS 8581 with only 2 gigs of RAM.
seb21 said:
Hi all.
I decided to make separate thread with my modded ms.apk.
@surfer63 Please change the link in your first post. I will no longer clutter your thread. It is to help people with different problems.
And i have a question. Maybe someone of you can help me.
I try to make my dashboard display to show navigational data (distance,directions, e.t.c) - so far no success. I have 2 canbus boxes : simplesoft (XP) and raise (RZC) .Do someone of you know a place where i can get the full functions list for the canboxes ???
Click to expand...
Click to collapse
I changed the link.
Thanks for this great contribution.
I don't consider something this useful as cluttering of "my" thread, but it is indeed better to separate it so that your app gets the attention it deserves.
I have read somewhere about a person who had an arduino connected to read all CANbus codes. I already searched frantically the last hour, but could not find it. I will continue my search.
New contrib, French strings translation (values-fr/strings.xml)
mariodantas said:
New contrib, French strings translation (values-fr/strings.xml)
Click to expand...
Click to collapse
Thanks. Config App is updated.
surfer63 said:
I changed the link.
Thanks for this great contribution.
I don't consider something this useful as cluttering of "my" thread, but it is indeed better to separate it so that your app gets the attention it deserves.
I have read somewhere about a person who had an arduino connected to read all CANbus codes. I already searched frantically the last hour, but could not find it. I will continue my search.
Click to expand...
Click to collapse
Thanks.
But don't waste your time on this. I have searched this forum on every topic related to canboxes and i have not found nothing that could help me. Beside this can loggers is not what I'm looking for. Unfortunately canbox functions having nothing common with can bus commands - different canboxes have different command ID for the same can bus commands ID
seb21 said:
Thanks. Config App is updated.
Click to expand...
Click to collapse
Thanks to you fellow for this amazing project !
And the Dutch translation.
I have the idea that "User Apk" is not yet a translatable string (but I suppose everyone can translate that)
And the original English <string name="Out_Of_Range">Argument of out integer range !!!</string>
should be "Argument out of integer range", but personally I would have used "Argument outside integer range"
surfer63 said:
And the Dutch translation.
I have the idea that "User Apk" is not yet a translatable string (but I suppose everyone can translate that)
And the original English <string name="Out_Of_Range">Argument of out integer range !!!</string>
should be "Argument out of integer range", but personally I would have used "Argument outside integer range"
Click to expand...
Click to collapse
Thanks. File updated.
And i also added whole buttons names list to strings file.
Thanks for pointing me this mistake.
Does anyone know how one would install this? And other note would this allow me to change the default action from pressing the volume button on the car. right now it turns off the screen. but leaves the sound on. If i press the power button on the radio itself on the side it turns the screen off AND mutes it. Thats what I want the volume button to do. Just like it used to do with the OEM radio.
stealthee said:
Does anyone know how one would install this? And other note would this allow me to change the default action from pressing the volume button on the car. right now it turns off the screen. but leaves the sound on. If i press the power button on the radio itself on the side it turns the screen off AND mutes it. Thats what I want the volume button to do. Just like it used to do with the OEM radio.
Click to expand...
Click to collapse
I have packed everything into this ZIP file. All you need to do is to unpack it directly onto a FAT32 formatted USB drive, plug the drive into your headunit, and wait for it to install.
The installer will make a copy of the original file into the "backup" folder.
In case something goes wrong, and you want to restore the original file, all you need to do is to copy the files 7862lsec.sh and 8581lsec.sh from lsec_updatesh\restore_script to lsec_updatesh to replace the already existing ones.
Once done, just unplug and plug back in the USB storage and wait for it to complete.
Spoiler: Used commands
If you want to write the code for yourself, use the commands below.
Save it as 7862lsec.sh and also as 8581lsec.sh
Copy modified to system
Code:
#make backup to "backup" folder on USB storage
cp -rf /oem/app/190000000_com.syu.ms/190000000_com.syu.ms.apk /storage/sdcard1/backup/190000000_com.syu.ms.apk
#copy modded file from USB storage to headunit
cp -rf /storage/sdcard1/190000000_com.syu.ms_modded.apk /oem/app/190000000_com.syu.ms/190000000_com.syu.ms.apk
#set ownership and permissions
chown -R 0.0 /oem/app/190000000_com.syu.ms/190000000_com.syu.ms.apk
chmod 0755 /oem/app/190000000_com.syu.ms
chmod 0644 /oem/app/190000000_com.syu.ms/190000000_com.syu.ms.apk
Restore original
Code:
#restore backup from "backup" folder
cp -rf /storage/sdcard1/backup/190000000_com.syu.ms.apk /oem/app/190000000_com.syu.ms/190000000_com.syu.ms.apk
#set ownership and permissions
chown -R 0.0 /oem/app/190000000_com.syu.ms/190000000_com.syu.ms.apk
chmod 0755 /oem/app/190000000_com.syu.ms
chmod 0644 /oem/app/190000000_com.syu.ms/190000000_com.syu.ms.apk
File updated on 06/11/2022 22:47 GMT
Installers added for JOYING and MEKEDE separately, updated with newer files on 21/12/2022 20:09 GMT
stealthee said:
Does anyone know how one would install this? And other note would this allow me to change the default action from pressing the volume button on the car. right now it turns off the screen. but leaves the sound on. If i press the power button on the radio itself on the side it turns the screen off AND mutes it. Thats what I want the volume button to do. Just like it used to do with the OEM radio.
Click to expand...
Click to collapse
You can't change the functions of Vol Up and Vol Down buttons, all others buttons you can change.
seb21 said:
You can't change the functions of Vol Up and Vol Down buttons, all others buttons you can change.
Click to expand...
Click to collapse
its the volume up volume down knob but if you press it . oem radio would turn off the oem radio. With this head unit it leaves the volume on and turns off the screen. Would like it to mute and turn off the screen the android unit power button on the top left if i touch that it turns off the screen and mutes.
stealthee said:
its the volume up volume down knob but if you press it . oem radio would turn off the oem radio. With this head unit it leaves the volume on and turns off the screen. Would like it to mute and turn off the screen the android unit power button on the top left if i touch that it turns off the screen and mutes.
Click to expand...
Click to collapse
When you install the app and also the modified app, you will be able to see what action is assigned to the volume button press. It's only the volume up and volume down actions which are locked, the rest should be configurable.
Do you have a CANBUS decoder, or you had to connect the Key1 Key2 wires?
It's easy to install using the method in my previous post, and also gives you a backup in case something goes wrong.
stealthee said:
its the volume up volume down knob but if you press it . oem radio would turn off the oem radio. With this head unit it leaves the volume on and turns off the screen. Would like it to mute and turn off the screen the android unit power button on the top left if i touch that it turns off the screen and mutes.
Click to expand...
Click to collapse
Pressing the volume knob sends signal Black Screen (or something like that), and yes you can assign to it function Power
daviddosa said:
When you install the app and also the modified app, you will be able to see what action is assigned to the volume button press. It's only the volume up and volume down actions which are locked, the rest should be configurable.
Do you have a CANBUS decoder, or you had to connect the Key1 Key2 wires?
It's easy to install using the method in my previous post, and also gives you a backup in case something goes wrong.
Click to expand...
Click to collapse
I have a canbus decoder . Silly Dodge Journey. Without a decoder I was stuck with a OEM radio.

Categories

Resources