I recently got some BlueTooth headphones for running and they don't sound that great but I was able to really brighten them up with DSP Manager. The problem is that I also use BlueTooth audio in my car, which doesn't need any enhancement by DSP Manager since it has ample sound quality already.
Can I automate changing DSP Manager preferences via Tasker? I can put it in a shell script and run with the Tasker Execute plugin, but I'm not sure what it would entail. Could I keep two copies of the preferences files and swap them in and out via tar? I guess I'd need a way to reload DSP Manager after doing so...
I guess some helpful hints would be where to look to find the DSP Manager preferences on the file system, and then how to reload the app/settings after editing the files outside of the GUI.
Thanks!
---------- Post added at 06:57 PM ---------- Previous post was at 06:39 PM ----------
I found the location of the XML files, but no combination of shuffling versions of the files and force quitting/relaunching the DSP Manager enabled the new preferences. I'd appreciate any ideas if anyone has them.
I'm new at this, so bear with me please
Through checking out the AndroidManifest.xml file, I was able to launch the DSP Manage app via:
Code:
# am start -a android.intent.action.MAIN -n com.bel.android.dspmanager/.activity.DSPManager
And into the Bluetooth headset preferences screen directly via:
Code:
# am start -a com.bel.android.dspmanager.BLUETOOTH
But I'm still having the issue where if I edit the xml settings file, the changes are not reflected when launching the app. I feel like I'm on the verge of figuring this but I can't string together the correct search term in Google to find it.
Did you ever figure this out? I want to do basically the same thing.
I was able to change the XML preferences file and launch the various settings, but nothing would activate the changes in the XML file. Maybe there's a way to intentionally crash the app and then have it reload the XML file but I was not able to figure it out and abandoned it.
alanthing said:
I was able to change the XML preferences file and launch the various settings, but nothing would activate the changes in the XML file. Maybe there's a way to intentionally crash the app and then have it reload the XML file but I was not able to figure it out and abandoned it.
Click to expand...
Click to collapse
That is very disappointing. :-(
I take it you tried closing the app via the app close task in Tasker? That's really the only way I can think of to terminate the app in memory. I'm guessing, though, that it's not the main app that needs to be recycled, but a service associated with the app.
Who wrote DSPManager? Do you happen to know? Any way to contact the author and request a feature?
DSP Manager is part of CyanogenMod core code. It can't be restarted like a regular app. I suppose the GUI could be punted but it won't reload in any new configs without interacting with the GUI. It'd be nice if they could extend it to include profiles and then allow Tasker integration.
alanthing said:
DSP Manager is part of CyanogenMod core code. It can't be restarted like a regular app. I suppose the GUI could be punted but it won't reload in any new configs without interacting with the GUI. It'd be nice if they could extend it to include profiles and then allow Tasker integration.
Click to expand...
Click to collapse
I'm not using a CyanogenMod ROM. I'm on a Sense ROM. So it must be fairly modular? That's encouraging. I wonder if I can modify the source code and replcae the version on my ROM with that version. A lot of work, though...
From what I understand, it can be flashed on any rooted rom via Clockwork recovery, so it hooks into the core of Android instead of a regular "app." When I meant it's part of the CM core code, I meant that the code is now maintained as part of the CM project. But yeah, because it's not a regular application, I think this stands to be nearly impossible without Tasker hooks from the developers.
Related
LightJacker 1.0.3
Universal backlight fix / TomTom backlight fix
for WM5 & Up​
Hi guys! I just installed TomTom on my S740 and found it still has that annoying bug where the backlight keeps going off, so I decided I would write my own app to fix this problem.
It features completely transparent operation with backlight resuming normal function when the target app is not focused (i.e. when one minimizes TomTom), universal-ness so it can be applied to any app, lightweightness, and doesn't touch the system in any way.
In future, I may also expand it to support configurable key-to-key and key-to-mouse translation, to make some PocketPC-only apps usable also on the Smartphone.
For the interested, see all the details at the program's webpage.
And let me know what you think about it.
Thank you!
Thanks! I think it is a great idea!
I have been looking around for such app to keep the backlight always on when necessary - e.g. reading e-books, watching video and etc.
My feedback is it may be a little troublesome to do the link to each application you want to apply?
Is it possible to make it a background app, whereby when turned on it keep the backlight on always, but when turned off it revert back to the default setting in Power management.
Thanks.
zhuozhi211 said:
Thanks! I think it is a great idea!
I have been looking around for such app to keep the backlight always on when necessary - e.g. reading e-books, watching video and etc.
My feedback is it may be a little troublesome to do the link to each application you want to apply?
Is it possible to make it a background app, whereby when turned on it keep the backlight on always, but when turned off it revert back to the default setting in Power management.
Thanks.
Click to expand...
Click to collapse
I've put on my web page an easier semi-automatic procedure for creating the link, you just have to enter the path to the executable and the name for your shortcut, and download the ready-made .lnk file (be warned that it doesn't work with firefox, though, but it does with IE and Opera.)
I don't think it's so difficult and time-consuming now
There already are apps or mortscritps that do what you want, I.e. changing the systemwide setting, but it is exactly what I don't want to do: impose additional hassle on the user having to start/stop an app, and mess with registry and systemwide settings... I wanted LightJacker to be as invisible to the use as it could.
Hi there thenext1, I tried your app and the set up was fine and it works great, so thanks very much for that. I like the way it picks up the icon from the original app, this got me thinking that you could make an adaption of your app that just injected a new icon into a shortcut for any app and that is all it would do, just to change the icon for any app and nothing else, if you see what I mean, sorry to be a little off topic but just a thought. I have some apps that have horrible Icons I would like a simple way of adding my own Icon into a shortcut. "IconJacker"
uniqueboy said:
Hi there thenext1, I tried your app and the set up was fine and it works great, so thanks very much for that. I like the way it picks up the icon from the original app, this got me thinking that you could make an adaption of your app that just injected a new icon into a shortcut for any app and that is all it would do, just to change the icon for any app and nothing else, if you see what I mean, sorry to be a little off topic but just a thought. I have some apps that have horrible Icons I would like a simple way of adding my own Icon into a shortcut. "IconJacker"
Click to expand...
Click to collapse
That function is outside LightJacker's scope, anyway, you can try editing the .lnk file and changing the last path after the "?" mark to reflect a path to an .ico file on your phone, and editing the last number to be zero or remove it with the comma altogether.
I don't know if it will work.
Perfect idea! Sounds like a super program!! I have been looking for a feature like this!
A question: can it monitor several programs also? (e.g. Tomtom and igo and acrobat reader)? Seems like the shortcut generator can only support one program...
parkhaus said:
Perfect idea! Sounds like a super program!! I have been looking for a feature like this!
A question: can it monitor several programs also? (e.g. Tomtom and igo and acrobat reader)? Seems like the shortcut generator can only support one program...
Click to expand...
Click to collapse
Just create a shortcut for each of your program.... be warned though, I didn't test multiple programs at once. It might not work.
Has anyone gotten this to work with an HTC Touch Pro? I've tried installing this - and after I create the shortcut, and click the master app I'm trying to keep lighted - I get the following error message:
"The file 'ljack' cannot be opened. Either it is not signed with a trusted certificate or one of its components cannot be found. If the problem persists, try reinstalling or restoring this file."
When I click on the ljack.exe file on it's own - I get the following message:
"LightJacker error 2"
I'd read that another program that requires a purchase, "smartlight" was incompatible with our phones, so I'm wondering if it's something unique to the Touch Pro.
P0ll0L0c0 said:
Has anyone gotten this to work with an HTC Touch Pro? I've tried installing this - and after I create the shortcut, and click the master app I'm trying to keep lighted - I get the following error message:
"The file 'ljack' cannot be opened. Either it is not signed with a trusted certificate or one of its components cannot be found. If the problem persists, try reinstalling or restoring this file."
When I click on the ljack.exe file on it's own - I get the following message:
"LightJacker error 2"
I'd read that another program that requires a purchase, "smartlight" was incompatible with our phones, so I'm wondering if it's something unique to the Touch Pro.
Click to expand...
Click to collapse
Error 2 means that an incorrect command line was supplied - in your case, no cmd line at all.
The other error with the proper shortcut is a windows mobile generic error, and I don't know why it comes up, it should run fine as it does when start ljack.exe on its own....
Maybe your phone isn't fully app-unlocked?
A super idea for a program! however, a GUI would be nice....
command-line options are not very handy. And I think that is where the Error 2 comes from. I also had trouble using your .lnk maker.
Hmmm, your site seems to be down.
Any chance you could upload the cab here on xda?
Yes, I confirm...
I tried several times.... The website is dead since this morning. So, no chance to download this promissing application until now.
For a very similar app go here:
http://oldsap.blogspot.com/2009/02/dontsleep.html
there is a version which prevents the PPC from entering standby, and one that does it only while wifi is on. Also a great app!
arturobandini said:
Yes, I confirm...
I tried several times.... The website is dead since this morning. So, no chance to download this promissing application until now.
Click to expand...
Click to collapse
You are right! Will investigate the problem.
@parkhaus: what'd be the GUI for?
I would love to have a program that keeps the backlight on when certain programs are running (Adobe reader, Tomtom, ebook reader, etc).
A menu for defining those programs would be great! making shortcuts for each program is a bit too complicated for most users.
A solution in MortScript you can find here
Note: knowledge of german language is required
parkhaus said:
I would love to have a program that keeps the backlight on when certain programs are running (Adobe reader, Tomtom, ebook reader, etc).
A menu for defining those programs would be great! making shortcuts for each program is a bit too complicated for most users.
Click to expand...
Click to collapse
An utility in .NET CF can be easily made, but I absolutely don't have any spare time to do it.
Or you can use the method provided by the above users, although it's the old method of changing values in the registry.
Thankyou very much, I needed an app like this for Memory-Map OS5 (App for Off-road satnav in the UK).
I don't suppose you use winmo 6.5 do you? I have another problem with that app in 6.5 where it has icons along the bottom like 6.5 does - however, as 6.5 changes the width of the icons at the bottom, I cannot see all the icons when in the app. If there is any chance you could also code something to alter the size of the bottom buttons whilst in a certain app, that would be even better!
There is a free trial @ http://www.memory-map.co.uk/ should you care to try and code this in.
OK, I used and tested this with TomTom and Memory-Map, and all seems good.
A couple of things, however.
As the size of the app is so small, why go around duplicating it?
Personally, I found that putting LightJacker in \Program Files\LightJack and then doing my app shortcuts like this:
107#"\Program Files\LightJack\ljack.exe" \Program Files\Navigator\TomTom Navigator.exe?TomTom Navigator.exe,101
Meant that I could:
a) Only keep one copy of lightjacker for multiple apps. If there is an update, you only need replace the exe and dll once.
b) Use the shortcuts anywhere. I have one shortcut in the start menu, and one in the app folder. That way, if you have to pick an app via a folder list that starts in the root, you do not have to navigate through the windows folder to get to the start folder, which takes ages
Working on Rhodium (ATT Tilt2 - WM 6.5)
This works on my Tilt2, but with the following tweaks.
The author's site recommends this format for the .lnk file, but this didn't work for me. It produced and Error 4:
123#"\Storage Card\Program Files\GoogleMaps\ljack.exe" GoogleMaps.exe?\Storage Card\Program Files\GoogleMaps\GoogleMaps.exe,101
But using the format in the previous post, it works - the backlight stays on while this program is the front program, and the backlight dims properly when the program goes into the background or is shut down:
123#"\Storage Card\Program Files\GoogleMaps\ljack.exe" \Storage Card\Program Files\GoogleMaps\GoogleMaps.exe?GoogleMaps.exe,101
The only thing not working is the icon. Following the advice on the author's site, I used Resource Hacker to find the Resource ID for the icon, which appears to be 800. But changing that in the link file stilll results in the link showing a generic icon.
Any suggestions on how to get the proper icon to show in the Start Menu for Google Maps?
I am trying to get the Library and Reader apks from the 2.1 working on cm7. I am fairly close (I hope), the next thing I have to do is sign the apks with the same key as the other apks that share the "media" userid.
If you copy over the following files you will get to where I am at.
[not sure what apks I will need just yet, so this might change]
Code:
/system/app/CryptoServer.apk
/system/app/GlobalSearch.apk
/system/app/Home.apk
/system/app/Library.apk
/system/app/Reader.apk
copy these supporting libraries/files
Code:
/system/framework/bncloudapi.jar
/system/framework/com.bn.authentication.jar
/system/framework/com.bn.cloud.jar
/system/framework/com.bn.gpb.jar
/system/framework/com.bn.provider.utils.jar
/system/lib/libbndeviceinfo.so
/system/lib/libbravodeviceinfo.so
/system/lib/libpdfhost.so
/system/etc/permissions/com.bn.app.crypto.xml
/system/etc/permissions/com.bn.app.deviceinfo.xml
Edit the following file and add the information below
Code:
/system/etc/permissions/platform.xml
This will declare the library in order for the apps to use it.
Code:
<!-- This is a list of all the libraries available for application
code to link against. -->
<library name="android.test.runner"
file="/system/framework/android.test.runner.jar" />
<library name="javax.obex"
file="/system/framework/javax.obex.jar"/>
<library name="com.bn.gpb"
file="/system/framework/com.bn.gpb.jar"/>
<library name="bncloudapi"
file="/system/framework/bncloudapi.jar"/>
<library name="com.bn.cloud"
file="/system/framework/com.bn.cloud.jar"/>
<library name="com.bn.authentication"
file="/system/framework/com.bn.authentication.jar"/>
<library name="com.bn.provider.utils"
file="/system/framework/com.bn.provider.utils.jar"/>
Once you have all this in place, restart the device. Logcat will complain about the wrong certificate for the user android.media.
My next steps are to find out which apks on cm7 use this shared id and resign them all with the same key.
Once that is done, I will launch the Library and Reader with the following commands in adb to attempt to start the activities:
Reader
Code:
am start -a android.intent.action.VIEW -n com.bn.nook.reader.activities/com.bn.nook.reader.activities.ReaderActivity
Library
Code:
am start -a android.intent.action.MAIN -n com.bn.nook.library/com.bn.nook.library.LibraryMainActivity
Very interesting concept. Possibly post in other developers sections than the NC - you may get some support.
I'm not a coder but I follow the concept.
I hope you and others are able to get this to work, because the stock reader app is my favorite.
Not sure if you've already caught this, but from looking at files so far in the APK I think there is a call being made to check for the version of android (specifically Android SDK 7 (2.1)). Is this something you got around by recompiling it?
I've made more progress. I signed the apks with ZipSigner (free in the market). I am getting some force closes trying to run the Library right now, which means I probably need to sign more of the BN apks.
FYI, if anybody else wants to give this a shot, my steps were:
1. edit the apk with 7zip and remove the META-INF dir (not sure if this is required by zipsigner) to unsign it
2. push the unsigned apk to the nook's sdcard
3. From the nook run ZipSigner and choose "media" for the key
4. sign it
5. copy the signed apk to /system/app
If you do this with the Library you should see it show up in the app drawer.
i would love to see this working
Pyrot1c said:
i would love to see this working
Click to expand...
Click to collapse
Agree'd I tried this a while back, but I really know nothing about dev stuff for android, so I didn't get far, I was really hoping someone with the know how would do this.
More Power to you. Can't wait to see this working, the library and shop apps that come with the nook color, are so much better than the Nook app off the market.
I've made a little more progress. I had to decompile the cm7 framework.jar and add some files from nook's framework.jar. I also had to merge changes into 2 files. This was all in order to get the Library app up and running. I have it loading up and I am able to see my sd card.
When I click on an epub it tries to launch the Reader but for some reason the Reader app isn't finding the libpdfhost.so shared library.
I will post instructions on what to do to the framework.jar to get the Library app up and running, but I think long-term it won't be feasible to have since the changes will need to be applied every cm7 update.
What will probably happen is I will make an app that handles epub intents and passes that off to the Reader app. The Library is adding some extra info when it starts the Reader app so I will need to copy that.
This will all be possible once I figure out why the shared library isn't being loaded properly.
Nice job man! Keep it going
Would love to see this working as well keep up the good work
Really cool.
Great progress so far. If you need a tester I'm.
I completely understand why CM can't distribute B&N software, but often it is not recognised that to many of us, the Nook Color is a family device. So it would be great if we can make these mods ourselves.
With the Market Nook app not having newspapers and magazines or NC childrens books, we still have to accommodate the entire family, in which some members of mine, still think of Gingerbread only as a type of cookie.
While I think about it...mmm ..could the library not be found because the original app's code was written to look within the file structure of Eclair instead of Gingerbread and Ext4? Or have you completely rewritten the code for the new file structure? Just thinking on my feet before I seriously studied the posted commands.
Thanks again!
Following this thread with great excitement. I would love to be able to run CM7 but still have the stock nook color app (which supports magazines, nookbooks for kids, etc.). Keep up the great work!!!!
/Kevin
OMG this would be awesome!!!
JoshMiers said:
I've made a little more progress. I had to decompile the cm7 framework.jar and add some files from nook's framework.jar. I also had to merge changes into 2 files. This was all in order to get the Library app up and running. I have it loading up and I am able to see my sd card.
When I click on an epub it tries to launch the Reader but for some reason the Reader app isn't finding the libpdfhost.so shared library.
I will post instructions on what to do to the framework.jar to get the Library app up and running, but I think long-term it won't be feasible to have since the changes will need to be applied every cm7 update.
What will probably happen is I will make an app that handles epub intents and passes that off to the Reader app. The Library is adding some extra info when it starts the Reader app so I will need to copy that.
This will all be possible once I figure out why the shared library isn't being loaded properly.
Click to expand...
Click to collapse
Have you given libpdfhost.so the correct permissions? If not chmod that mofo.
I attempted this a few weeks back myself. Your first post describes my findings exactly, including which files to copy over and adding the shared libs to platform.xml. Your followup post on modding the framework and getting the Library to stay open without FC is further than I got, however. If you want to compare notes, hit me on freenode, #nookie.
In the end, I gave up primarily because the work involved seemed to not be work it considering the Nook app from the market is quite good. The only thing it lacks is magazine subscriptions, I think. I might like a second look considering you seem to be getting closer.
-Muffin
that would be real cool if you guys could make this work.
I wish i knew how to make apps... but i'm not talented like that unfortunately.
anyone got an idea as to how to deal with the home button not working after upgrade? how about clearing of opened up apps in the notification section? how about closure of apps after being done with them as not all apps have exit button ?
i'd appreciate any comments.
thanks
Subscribed. This is the only thing keeping me from upgrading to a Froyo/GB/Honeycomb build.
Also sub'ed ... about to go with a dual-boot Stock+Froyo but would love to have the app on Froyo so I could dump stock.
This is the only thing holding me back from completely getting rid of stock. I actually use Aldiko for reading most of my books but am really looking forward to being able to read magazines from CM7.
I just wanna say keep up the good work. Your progress looks promising thus far.
Having this as an option would be great... seriously.
Work was busy last week so I didn't have much time to look into this.
I have hit a few potentially serious roadblocks. Other than needing to modify the framework.jar (with fairly simple changes) I will also need to either modify the MediaProvider.apk or write my own media provider that declares the content:// URLs that the Reader and Library apps expect.
I figured out how to launch the Reader apk from the commandline, so it will be trivial to write a front-end to do this when an epub is clicked. Also, I have gottem the Reader app to display the first page of my epub before force closing (due to unhandled content:// intents).
I was going to just stop working on this since Aldiko is suitable for my needs right now, but judging by the replies I will keep banging on it and try and write a media provider for all the content intents being sent.
Hello,
I have a problem with an android application on my GS3.
I use "My Music On" to play MP3 on my phone because i prefer the file and folder display of this application. The stock player don't allow to see directly file and creating quick playlist like play this entire folder (and all sub folder and mp3 file into). I you know a better application, I'am interested but this is not the goal of my question.
But sometimes Android kill my mp3 app, because it has been too long in background or he need more memory for another application or perhaps because Mars meet the Moon or everything else...
So the question is : Is it a way to prevent android to kill a specific task (lock-it?) ?
Like perhaps in completing an exception list or make the task a system task ???
Thanks for the help, i am tired to have to constantly re launch the app...
PS : I use the samsung stock rom version IMM76D.I9300XXBLFB
Like perhaps in completing an exception list or make the task a system task ???
Click to expand...
Click to collapse
You need root and understanding about processes, but in /proc/{PID}/ you can control the OOM-Killer through the files oom_adj and oom_score_adj.
Here's more specific details about the pseudofile's values: http://elinux.org/Android_Notes#oom_killer_info
I'd recommend getting rid of the bloatware first, though. It usually solves the issue for you
Hey guys when the latest RUU was released I pulled all the WiFi calling stuff out (well.. lots of bits and pieces) to update my fourth bar install... Figured I'd share it here. This will fix the increasing lag/delay with WiFi calling on all ICS sense based roms..
It shouldn't work on cm10 but i haven't tried it.I am pretty sure the movial implementation of WiFi calling requires many sense hooks though... But the interesting thing to me is that I have modified fourth bar quite a lot from the original to the point where there is practically no sensE stuff left whatsoever.. so it's either a modified telephony provider or it doesn't require sense at all... I haven't tested it much. Feel free to play around if you want.
Made this on the fly from my phone (and also is why I using DB) so let me know if it works if not I'll make one proper. Feel free to try on viper but if you do I'd suggest also.copying over htc frameworks.as well as telephony provider from a sense rom, just a suggestion!
You can tell.the update worked.because the WiFi calling active icon will be different. Oh and those using fourth.bar or speedrom..WiFi calling doesn't have to be permanent.. simply make a shortcut to the WiFi calling activity "wificall preferences" using apex or nova activity shortcuts.. you can also make shortcuts to the full IMS config including SIP reg server, auth info, protocol type, etc. I wouldn't mess with these.settings but could be useful to those porting. FLASH.THE ZIP.IN RECOVERY
LINK: http://db.tt/4B6tcCE1
(uHH... got a PM asking if it was odexed... these files are obviously deodexed..lol.. considering there's no .odex file... but yeah I mounted the system.img from the latest RUU, extracted it, deodexed the entire thing.. and pulled these out to make this zip. I've actually been combed through it with diff to the last RUU and there's really not a lot changed at all. Couple libs here and there, maybe a few other APKs... Not much at all!.. if you need it odexed, it's easy enough to reodex.. I actually prefer my phone to be odexed as well. Good tool to do this is called Dexo, The Universal Odexer.. you can find it on google. It's basically a couple of binaries and a script.. works like a DREAM and the basic script odexes your system apps as well as framework.. and it's easy enough to modify to odex data.. only thing with odexed data is you must delete the .odex file manually after you uninstall any apps because you'll get out of space etc errors if you do not... I find things are much MUCH faster on an odexed system, by far... matter of fact I'll go ahead and create another post with the Tool and a quick batch file I wrote for windows that makes the process very quick and easy.)
Good work :dance:
Just wondering, would there be anyway to get it to work with Miui
build.prop
might need to add this to the build prop if it isn't there
ro.ril.enable.ganlite=1
ro.ril.def.agps.feature=1
chevycowboyusa said:
might need to add this to the build prop if it isn't there
ro.ril.enable.ganlite=1
ro.ril.def.agps.feature=1
Click to expand...
Click to collapse
actually I think that's for the Kineto Gan implementation of Wifi calling, which uses a Userspace application (The one we tried to port over for Viper)
This is actually the Movial IMS implementation. Have you tried this implementation on viper perhaps? You would need some framework files, I think... but it's worth a shot honestly. I don't think it's as tightly hooked into Sense as a lot of us originally thought. I decompiled all of the APKs and I combed through it and I didn't really see any hooks into Sense.. I think that it more than likely depends on a modified telephony provider..
The Kineto Gan implementation used a bit of trickery with what's called a RIL switch, where it would (as the name implies) basically switch the RIL out on the fly between Kineto's RIL (for wifi calling) and the normal one. This implementation is a lot cleaner, and the configurations are included within the files themselves... It actually uses SIP. All the configuration info is actually easily found within the XMLs once the APKs are installed as system apps. The trickery is with the authentication. I've been running wireshark and capturing packets... between that and decompiling the APKs it appears that a basic SIP registration address is used for everyone, it's not unique. There's some kind of SIP address->mobile number translation that happens... the IMS project is open source, and the full source code is actually available on Google Code.. and it has even been updated for Jelly Bean. The interesting part is, I was able to compile the IMS Test App for ICS, take the configuration information I found.. entered it into the test App, and was able to establish half-way working service with the Test application. The thing is, even though it uses SIP, it's not your everyday run of the mill SIP. There's some wrapping and translation going on that uses info contained in the packets to determine where it's going (mobile number).. and don't even get me started on Text Messaging.... that looks like one giant hack-job...basically hijacking the SIP/RTP protocol for a proprietary implementation that just uses the base outline.
I tried to register with a regular SIP client using the configuration information I found (The password was TMO-VOIP-TRIAL) and i couldn't establish registration... and looking at the source I could definitely see why. There's a lot of stuff going on behind the scenes.
The good news is there's VERY LITTLE that appears to have been changed when it was updated for jellybean... what this means is... theoretically if someone was skilled enough they could take the DIFF's (which are freely available on google code) and update the IMS implementation for jellybean. It would take a good amount of time and effort, but I honestly think it's much more possible than a lot of people originally believed. It's the authentication part that's tricky..
But yeah, you might want to give it a shot on Viper! For a start I would probably move over ip-provider.apk, ims-service.apk, IPService.apk, WifiCall.apk (This is basically the on/off switch that Settings calls.. you can just use an activity shortcut to reach it though), and gba-service.apk
Push those all to /system/app
Then on the framework side I would move over javax.obex.jar, gba-service-lib.jar, and the other important one is going to be jsr-api.jar... I didn't know that it was related but it's clearly defined in the IMS source code (https://code.google.com/p/the-ims-open-source-project-for-android/source/browse/#git/jsr-api)
I would also copy over TelephonyProvider.apk and Phone.apk, for good measure. .. and see what happens.
You would need a way to trigger it ON, which can easily be done with Nova/Apex by making an activity shortcut to WIfiCall.apk, you can also make activity shortcuts to all the configuration options within the IMS-server itself but it comes preconfigured.
it's worth a shot... currently WiFi calling is working flawlessly for me on Fourth Bar and I have pretty much EVERYTHING htc related disabled. Including com.htc etc...
Could be in the HTC frameworks though.. or somewhere else... but it's def. worth a shot!
I think this is a awaresome job,although I don't know what's this...
Please do that!
Great work. I tried your file to no avail. Good catch on the other files. I read somewhere that phonesky is also required.
Biggest issue I had with the semi working one that I used is that it wouldn't read the SIM. I moved some files around and then it hung on connecting to the Wi-Fi due to a lack of server address
I'll follow your instructions tonight and see where I can get... I still am working on GPS and now vpn too. Last night I attempted a sense 3.6 venom build.
Wasn't pretty. Something kept failing in the updater script and I got too tired to pay with it..
**tried all the files and made the short cut..
No love.. It didn't work..
Still trying a few things
Any other ideas?
chevycowboyusa said:
Great work. I tried your file to no avail. Good catch on the other files. I read somewhere that phonesky is also required.
Biggest issue I had with the semi working one that I used is that it wouldn't read the SIM. I moved some files around and then it hung on connecting to the Wi-Fi due to a lack of server address
I'll follow your instructions tonight and see where I can get... I still am working on GPS and now vpn too. Last night I attempted a sense 3.6 venom build.
Wasn't pretty. Something kept failing in the updater script and I got too tired to pay with it..
**tried all the files and made the short cut..
No love.. It didn't work..
Still trying a few things
Any other ideas?
Click to expand...
Click to collapse
Hmm... there IS a build.prop entry that I actually just noticed
ro.ril.ims=1
I would try to add that.
Phonesky is just the updated google play market, I believe.
I would try that build.prop entry, then get a logcat if you can and post it. I'd try but currently can't really mess around with my phone as I need wifi calling for work stuff.
See what is going on in the logcat, or post it and I'll comb through it. See if there's API calls that are failing under something like Function does not exist or something or another.. that would seem to indicate some missing framework stuff that provides those functions. Then it might just be including said frameworks as well as altering the bootclasspath in the kernel (Pretty easy thing to do, just break the boot.img into parts with unpackbootimg, un-gzip the ramdisk with gzip and CPIO, edit the init.rc, recompress the ram disk with GZIP, then recompile the boot.img with mkbootimg) and I believe you'd also have to deodex the ROM itself, then if you wanted it odexed you'd have to odex it back with the correct BOOTCLASSPATH or else it will not boot. I'm not sure but I THINK deodexed APKs need to be built with the right bootclasspath.
There HAS to be a way to get it working on Viper. After all it's the same underlying android OS version.. The sensation guys got it worknig on CM9...
ok..
ericdjobs said:
Hmm... there IS a build.prop entry that I actually just noticed
ro.ril.ims=1
I would try to add that.
Phonesky is just the updated google play market, I believe.
I would try that build.prop entry, then get a logcat if you can and post it. I'd try but currently can't really mess around with my phone as I need wifi calling for work stuff.
See what is going on in the logcat, or post it and I'll comb through it. See if there's API calls that are failing under something like Function does not exist or something or another.. that would seem to indicate some missing framework stuff that provides those functions. Then it might just be including said frameworks as well as altering the bootclasspath in the kernel (Pretty easy thing to do, just break the boot.img into parts with unpackbootimg, un-gzip the ramdisk with gzip and CPIO, edit the init.rc, recompress the ram disk with GZIP, then recompile the boot.img with mkbootimg) and I believe you'd also have to deodex the ROM itself, then if you wanted it odexed you'd have to odex it back with the correct BOOTCLASSPATH or else it will not boot. I'm not sure but I THINK deodexed APKs need to be built with the right bootclasspath.
There HAS to be a way to get it working on Viper. After all it's the same underlying android OS version.. The sensation guys got it worknig on CM9...
Click to expand...
Click to collapse
I fixed VPN and I'm uploading it in a few. I think I noticed something as well. I went back to stock ota to see what was going on and noticed wifi calling isn't showing up in settings/more should be there with vpn/ wifi hotspot/ nfc etc....
ericdjobs said:
The trickery is with the authentication. I've been running wireshark and capturing packets... between that and decompiling the APKs it appears that a basic SIP registration address is used for everyone, it's not unique. There's some kind of SIP address->mobile number translation that happens... the IMS project is open source, and the full source code is actually available on Google Code.. and it has even been updated for Jelly Bean. The interesting part is, I was able to compile the IMS Test App for ICS, take the configuration information I found.. entered it into the test App, and was able to establish half-way working service with the Test application. The thing is, even though it uses SIP, it's not your everyday run of the mill SIP. There's some wrapping and translation going on that uses info contained in the packets to determine where it's going (mobile number).. and don't even get me started on Text Messaging.... that looks like one giant hack-job...basically hijacking the SIP/RTP protocol for a proprietary implementation that just uses the base outline.
I tried to register with a regular SIP client using the configuration information I found (The password was TMO-VOIP-TRIAL) and i couldn't establish registration... and looking at the source I could definitely see why. There's a lot of stuff going on behind the scenes.
Click to expand...
Click to collapse
How was the Test App half-way working for you? I didn't compile it, but I tried an apk I found a while back and it CLAIMED it was registered, but I couldn't make it call out. I tried random presence and subscribe options but I don't think they were taking and nothing happened when I called my mobile number from somewhere else. My guess is that I have to subscribe or set presence to something magic for my phone number. After not really finding what I should actually be doing from skimming the 4th or 5th spec, and noticing that the nexus 4 guys have a $1400 bounty and don't really have progress, I gave up.
Yeah there's a pile of authentication (on both sides) that IMS has over SIP. If I understand right, the first part of registration is similar, but then TMO's side says you're unauthorized along with a challenge that's supposed to be sent to the ISIM and part of a key for establishing an IPSec tunnel that everything else goes through. Can't tunnel, then use SIP because you need the key (and part of that probably comes from the ISIM too), and a regular SIP client will just think it failed.
I downloaded and started using "terminal-launcher" as my homescreen (available from Google Play Store); it's amazing, simple, and has super-low-memory usage, but...
If you have multiple apps with the same name (I have two called Calendar and two called Messenger) it can only launch one of them (due to being text based and the names sharing text). I asked the developer if he could remedy but he (very politely) said he'd moved on and I should develop it if I wanted to. I have enough knowledge of java to know roughly what is going on in his script (roughly!), but not enough knowledge to make the change required, recompile, or pretty much anything really useful.
His script is on github.com/mattpvaughn/terminal-launcher but I can't post the link as I'm a newbie (but that basically was the link).
My theory is that either:
it appends app names (where multiples exist) with ~1, ~2, etc
it lists app ids next to the names (it lists app names when you type "apps" on your homescreen) and allows launch via app id
it does something more clever than I can come up with (this is the more likely option
To be honest, this is a great launcher that just needs a final polish (TUI console launcher crashes too much as it's script is too involved, this launcher has tried to keep script to a bare minimum); unfortunately there aren't enough comment lines to guide an inept idiot like me through adjusting the script.
Any ideas?