Editing / Modifying existing Custom Rom Utility? - Android Software/Hacking General [Developers Only]

Hi All,
I was wondering if you could point me in the direction of (IF SUCH A UTILITY EXISTS) a webpage / App / Windows Utility, that can open a pre-made existing custom rom. And say for example it can.....
1) Change the Build.Prop file, from Chinese to English and strip out any other unneeded settings.
2) Remove Chinese Apps, or any other unneeded Apps
3) Replace key Chinese Apps, with English Apps... (ie: swap pre-configured MS Bing Voice keyboard to Google Keyboard)
Basically, just tidy up a pre-released Chinese rom, into English....
Does such an App, or service exist....??? If so, can anyone point me in the right direction please...
Thanks, Lister

What you are asking for is very complex and is never one in the same across other devices. In this typical situation the best solution is to manually make the changes.

Hi Modding.MyMind,
Thank you for your quick reply, indeed I was able to make the changes post (AFTER) the initial setup, which I had to exit the setup process as the built in Voice Keyboard didn't recognise some of the words I was saying, and there was no fall back typing keyboard to type what I intended. So it meant I missed some of the in-setup questions / options. Sure, I can sign into my Google account once swapped out to the Google Keyboard that I kept on the SD card. But things like personalizing it were missed.
I'm sure about a year ago or so, there was an App on the PlayStore that could packup your installed live rom, and turn it into a flashable rom. Sure I guess thats what CWM or TWRP project can do... But sure there was a specific App that made it more like a rom packager...??
Any clues...?? Thanks, Lister
Modding.MyMind said:
What you are asking for is very complex and is never one in the same across other devices. In this typical situation the best solution is to manually make the changes.
Click to expand...
Click to collapse

Related

[UTIL][APP]Lenovo Security / LeSec app (anti-virus/spam/theft/firewall)

Edit: Important: The newer V4 version of LeSec may no longer be usable for non-Chinese speakers. See this post #17 here, also to discuss alternatives
For all you Lenovo users out there,
I wanted to (re-)introduce this application. Because I have the impression that many Lenovo phone users rather quicly move on to migrated ROM's from for example APKHOT/Smileyvvv/Etotalk etc, where this app is cooked out.
You may want to reconsider going back to it, if it will still work on your phone with whatever ROM you have. It is really a very useful utility:
Firstly, it is a virusscanner. Not sure how useful a virusscanner is on Android, and as I want to avoid that discussion in this thread, that is the last I say about it.
It is also anti-spam. You can black- or whitelist SMS and Calls. See screenshots for an impression. Very useful.
Anti-theft is there. Send SMS upon SIM change, or remotely instruct the phone to send location or self-destruct. I suspect, but did not try, the SMS instruction is stored in /system, so a data-wipe will not undo this. But a good hacker will fully flash, so it only protects against noob thieves, like all anti-theft apps.
But those are common functions, readily availible in other apps. But now for the interesting feature:
It has a firewall. If that is the correct name. Or an app-wall. An permission-wall? You know those apps that you download that for some reason want permission to send SMS? Why does it need that? Or why does it want to read my contacts?
Well, you can per-app decide to block a permission. This app does not need to read my contacts. That app does not need to send SMS. And it will show you if an app tried to anyway. How cool is that?
Guest- and Childmode. Hide some apps. After all, we do not want junior to see daddies tripple-X rated apps. Or the wife. Which is why you can also hide certain contact's and call-history entries (wink, wink). It may also apply to banking apps and your bookie, though that is a bit more boring. Oh, and in Child mode the radio turns of as we want to protect junior from radiation...
Some of you that use Etotalk or APKHOT ROMS may have noticed the notification area buttons to these last two that were dead because this app was missing.
We could of course worry about whether this app in itself is not a spy, reporting everything you do to the Chinese government. But you may not be aware that this is true for *any* Chinese clone you buy. Typically those clonemakers do not release the kernel or framework source, so such a spy would be in there, not in a de-installable app. And if you are really worried about it, make sure you get a phone where you can install CyanogenMod compiled from source.
Personally, I doubt either Lenovo or China is interested in me, and if they do it means they have a Infinitesimals bigger datastore to clog their machinery before they find something on people like Liu Xiaobo or Tenzin Gyatso, which is actually a good thing. But I suspect the app is simply without such sinister intentions.
Anyway, attached is the version I got from my phone. From a Lenovo A750 ICS 4.0.3 S306. But I suspect it works with any phone that uses the Lenovo Framework, so any Lenovo ICS phone that has a not too heavily modded ROM. It did also work on the ICS 4.0.3 Lenovo P700 ROW S113 (Rest Of World edition) edition.
I provide update.zip installers for MT6575 and MT6577 (because I know their partition table). It probably also works on Lenovo Framework phones based on MT6573/MT7513 or even MSM7227/MSM7527, maybe even GB ones. But then you need to take the two *.apk files from inside the zip file, and copy them manually into /system/app, as the update.zip installer will not work for that.
But do try, and please report back if it does or does not work on your phone/rom. There is also an uninstall package. Oh, and you are messing with /system, so as always, at your own risk, ensure you can always flash back a working ROM or have a Nandroid backup before you experiment.
Your zip didn't work on my A789, which is using the apkhot based rom available on forum.china-iphone.ru. After extracting the apk files, copying to /system/app and manually setting permissions, it's working like a charm.
Thanks, I really missed it. On the most recent cooked roms, I miss many things available on the Lenovo official ones, like the fm transmitter, or the butterfly-like widget on the default home screen. Some cookers tend to leave out any non standard apps without even taking some time to know what they do. Not all Chinese apps are rubbish or impossible to understand, and Lenovo is a serious company.
Ok, here you have the FM radio and transmitter of the A789, but it probably does not work, as it is Odex'ed.
And I uploaded seperate installers for MT6575 and MT6577
Also, on your APKHOT, please confirm it actually blocks permissions and blacklists SMS. I am not sure how much the APKHOT deviates from the Lenovo Framework, so merely being able to install and configure may be too soon to tell.
PS: why not try my factory-cleaned A789 ROM? It comes with all those apps by default, and I now have 3 positive feedback.
Come to think of it, why did I take this security app from A750, when A789 is newer....
Edit: Because they are both the same version. In fact the LeSec has not changed since Dec 2010, according to the internal dex binary.
I have tested call blocking and it works, but it isn't so important, since call blocking is a built in feature of the Mediatek framework. You can block calls from any contact you have on your Google account just out of the box, and it works great. I've tested older phones which used older Mediatek chipsets and that feature has been part of the Mediatek framework since MT6573.
The FM transmitter won't work that way, since it is odexed. But it doesn't work deodexed, either. I've just got a deodexed version of the app, thanks to a friend from another forum, and it doesn't work very well. It works, but I had to stick the phone to the antenna on my radio in order to hear something. People I've talked to say that the transmitter works great on the stock Lenovo roms, so maybe it's just some incompatibility with the apkhot roms.
The only reason I'm not using your rom (which I have downloaded) is that I wanted to setup the phone in Spanish, and the rom I'm currently using is the only one I've found which contains that language. Just a quick question: is there any noticable performance increase on the s227 based roms? If so, I don't care using the phone in English, since I just want the most feature rich rom.
Thinking it twice, I've remembered another reason. One of the things I like most about the apkhot rom I'm using is that the external sdcard is mounted on /sdcard and not /mnt/sdcard2, which avoids problems with many apps. I tried one of the newest apkhot roms, based on s227, and none of the tricks to exchange /sdcard and /mnt/sdcard2 worked with it.
I'll reply to that in the A789 thread, as we seem to deviate from the security app.
cybermaus said:
Edit: Because they are both the same version. In fact the LeSec has not changed since Dec 2010, according to the internal dex binary.
Click to expand...
Click to collapse
I remember there was an update of that app on my A750 with your ROM. Now with apkhot I installed that package posted above and I have the older / original version. But there is no update offered...
That was probably on the S148 Gingerbread ROM. That one has an older version. I know, because I messed up trying to install it, as I had that older GB version and the new ICS one both in my Titanium backup. Also, the Dec 2010 date is probably false, I just got OTA ROW_S114, and it too had all files timestamed to Dec 2010. But I am certain the LeSec from S306 and S227 are the same, the binary compared identical. Official version is V3.5.1.3.5.2.0041 and the update button tells me there is no newer.
Every so often it does update the virus/blacklist signatures, but that is not the app itself. Current virus signature 2012.09.14 Current harasment (blacklist) 2012.07.11
But if you find a newer one, please do let me know.
I've been trying LeSec further and it works, but I found a problem I wasn't able to fix, so, until I found a solution, I've freezed it with Titanium Backup. The problem is that I'm using Go SMS Pro, instead of the default messaging app, since I need to write SMS in Spanish and the default app doesn't support Spanish characters like accents, etc. Go SMS Pro works, but every time I send an SMS, LeSec thinks an unauthorized app is trying to send an SMS in the background, and shows a popup to let you decide whether to allow it or not. I haven't found a way to disable that, and it's a bit annoying having to click two buttons everytime I want to send a message.
Its probably a silly question, but you did go into LeSec->ChargeShield-SMS and ensure that your app was allowed to send SMS in background?
Probably for reasons of 'likely form of attack' the SMS apps are (unlike other permissions) by default in a 'Warning' setting, but if the warning does not come to the foreground on your phone, it may simply not work.
Also, rather than freezing LeSec completely, you could go into ChargeShield, and simply turn of the ChargeShield.
cybermaus said:
That was probably on the S148 Gingerbread ROM. That one has an older version. I know, because I messed up trying to install it, as I had that older GB version and the new ICS one both in my Titanium backup. Also, the Dec 2010 date is probably false, I just got OTA ROW_S114, and it too had all files timestamed to Dec 2010. But I am certain the LeSec from S306 and S227 are the same, the binary compared identical. Official version is V3.5.1.3.5.2.0041 and the update button tells me there is no newer.
Click to expand...
Click to collapse
No, I used the S148 just some days and updated to your S306 V1.2 and simply stayed there, because it works very well. After some time it offered me an update and the user interface changed a bit with that update. The way how you set privacy on app level and so on. The update button itsself never worked for me either.
Sadly, backup never worked on that rom. I found that out as I wanted to try apkhot. To be honest, I didn't try on apkhot, yet.
A few minutes ago, I was offered a 4.1.4 version and installed it. Now it's purely chinese
Maybe I have to reboot the phone for english...
From the design it is a version newer than the version I wrote about...
leFloyd said:
A few minutes ago, I was offered a 4.1.4 version and installed it. Now it's purely chinese
Maybe I have to reboot the phone for english...
From the design it is a version newer than the version I wrote about...
Click to expand...
Click to collapse
Well, before you put the old one back, safe this one for me will ya.
cybermaus said:
Well, before you put the old one back, safe this one for me will ya.
Click to expand...
Click to collapse
I don't want the old one back - I want this one to be english
How do I save it? Any idea where it has downloaded it's update? This was done within the app...
Well, it would have simply replaced the two apk's in the /system/app folder.
So look for:
LenovoSafeCenter.apk
LenovoSageWidget.apk
or something similar, it could have changed its name, or added a 3rd component.
Got the files?
Sent from my Lenovo A750 using xda app-developers app
Well, it seems that Lenove Security (LeSec for short, and LenovoSafeCenter officially) is becoming less usuable. As mentioned above, it is fully Chinese, no Engrish anywere.
I had a look at the new V4 of it, even decompiled it. Not only 100% Chinese, but is hardcoded in the app, there are no resource xml files that we could translate. A big pity.
Also, there is one app (Waze, a social car navigation app) that in the latest version is incompatible with LeSec. Though it is at this moment the only incompatibility I ran into, it is also a pity.
That may mean we need to find an alternative:
For now, these two has shown up:
LBE : Somehow, I think LBE is actually the company that makes Lenovo LeSec. Or at least, there logo is shown in the about menu of LeSec as part of the "in cooperation with" mentions. Maybe the reason why the free LeSec is limiting itself?
Anyway, I am trying out LBE at the moment, to see how it works.
pDroid : pDroid looks promising. Specifically, they are promising ICS support, but right now, only GB, so one to keep an eye on, but not availible to us just yet.
Permissions Denied : A Paid app. But if it works well, it may be worth it. Not looked at it yet.
So, LBE seems to work well. It does not have the hiding of apps for 'child mode' and 'privacy mode'. Nor does it have the 'anti-theft' or 'virus-scan' but it does the permissions thing well.
I tested, it nicely prompted/blocked permissions. And to be honest, using a slight more clear interface. If it is permissions, which was indeed what I was after, LBE seems to do the job. I also like I can block internet use separate for 3G and Wireless. Very useful.
One problem though: Waze is failing in the same way as with LeSec. Even if I make it a 'trusted' app. It seems the latest version of Waze simply does not like to be looked at too closely.
anti theft
I cannot input number In anti theft . for ex if I write +35989xxxxx I need two more digits but it does not allow it. If I write in national format 0899.... I have to write more digits than the phone number has. Any solution?
As mentioned, while I started enthusiastic about LeSec, it is now focussing too much on China alone. Not as good internationally.
Try using one of the other anti-theft solutions.

[Q] An app to configure accounts, re-install apps etc?

Back in the days of WinMo, I'd always use Sashimi. 5 minutes and it would set up my phone with everything. Is there something like this for Windows Phone 7?
Thanks
I would love this too... even a desktop app that will scrip out all accounts, and even install XAPs...
The biggest waste of time when installing a new rom is the hour I need to setup all my accounts and install all my XAPs....
If I could put my phone down, run a script and go... that would be epic..
Reinstaller is an app that can do the xap installation from the market ...
There is no scrippting lang for WP yet
http://wmpoweruser.com/reinstaller-back-in-marketplace-now-working-somewhat/
Well, technically speaking TouchDevelop is essentially a scripting language. It doesn't support things like installing and configuring other apps, though because that would require permissions that a normal app (such as TouchDevelop) doesn't have.
GoodDayToDie said:
Well, technically speaking TouchDevelop is essentially a scripting language. It doesn't support things like installing and configuring other apps, though because that would require permissions that a normal app (such as TouchDevelop) doesn't have.
Click to expand...
Click to collapse
Hello m8
"technically" speaking yes it is ..kind of anyway .. !!!
But he was asking about a scripting lang to do all those things that we used to do with traditional scripts !!!

Hooking into S-Pen Sensor to Change Keyboard

Lenny and I were talking and sorta had the same idea independently, in that it would be nice to be able to use one keyboard "normally", and another when the S-Pen is in use (ie. removed).
Here's my thinking...
1) Hook into the framework via Xposed Framework such that when the S-Pen is removed, we store the current default keyboard.
2) Change the current default keyboard for the alternative keyboard (ie. the one for use when S-Pen is removed from phone)
3) When S-Pen is replaced into the device, the reverse is done - we backup the "S-Pen" keyboard, and restore the previous default.
This way, the user doesn't actually need to program it with their choice of keyboard - instead, it will simply learn what they use
Problems I anticipate:
Root access needed to change default keyboard
Can't remember where default keyboard is stored, but it might be in a database, needing me to actually write more than a few lines of code.
Any thoughts/comments?
What about hooking into the multiwindow keyboard? Or is that just complicating things?
q426669 said:
What about hooking into the multiwindow keyboard? Or is that just complicating things?
Click to expand...
Click to collapse
Not sure what you mean by this tbh... I don't use stock keyboard enough right now to know it..
I have looked at the sdk and there is functionality for the holster state of the s-pen.
I need to think through this, as likely we need a screen on receiver to run a service but only wake if the state changes...
pulser_g2 said:
Lenny and I were talking and sorta had the same idea independently, in that it would be nice to be able to use one keyboard "normally", and another when the S-Pen is in use (ie. removed).
Here's my thinking...
1) Hook into the framework via Xposed Framework such that when the S-Pen is removed, we store the current default keyboard.
2) Change the current default keyboard for the alternative keyboard (ie. the one for use when S-Pen is removed from phone)
3) When S-Pen is replaced into the device, the reverse is done - we backup the "S-Pen" keyboard, and restore the previous default.
This way, the user doesn't actually need to program it with their choice of keyboard - instead, it will simply learn what they use
Problems I anticipate:
Root access needed to change default keyboard
Can't remember where default keyboard is stored, but it might be in a database, needing me to actually write more than a few lines of code.
Any thoughts/comments?
Click to expand...
Click to collapse
ive read about Xposed framework but am not sure why/how its any usefull for this?
also what keyboard vs another would you be using in both situations ? or are you referign to handwriting style vs normal mode ?
when you pull the spen there is already an option in settings to have a pop up version of snote 'poping up' that means the framework is already able to make the call when spen is pulled ..
poping up the ime switcher instead of snote...i assume one to many steps for you .. how about a gesture to launch the keyboard of your choice ?
other then easy workarounds , I think you would need to write more then a few lines of code , like an app or something .. especially for step 3 ...
If you check out a rom with multiwindow, you'll be able to use the mini floating keyboard whem you have two things on the screen so you don't loose visibility of content. Anyways, I think that's just complicating things.
The purpose of this project is so that I could use the 4.2 keyboard whwn my s-pen is holstered, and then the samsung keyboard when it is out.
Currently when I'm using the Android IME I have to make a manual switch to the Samsung keyboard when I pull out my spen.
This would allow one IME to be used while the s-pen is unholstered, and a seperate IME when the pen is put away.
q426669 said:
If you check out a rom with multiwindow, you'll be able to use the mini floating keyboard whem you have two things on the screen so you don't loose visibility of content. Anyways, I think that's just complicating things.
The purpose of this project is so that I could use the 4.2 keyboard whwn my s-pen is holstered, and then the samsung keyboard when it is out.
Currently when I'm using the Android IME I have to make a manual switch to the Samsung keyboard when I pull out my spen.
This would allow one IME to be used while the s-pen is unholstered, and a seperate IME when the pen is put away.
Click to expand...
Click to collapse
Yup that's my thinking!
Multi windrow would be nice at a later date, but that's another stage of this
pulser_g2 said:
Yup that's my thinking!
Click to expand...
Click to collapse
Is there any type of notification (or intent? I get those mixed up) sent by the system when the spen is pulled? If so, a program could be launched on SPen removal. The next step would only be to change the default keyboard (which likely will require root, but should be doable.) So, instead of hacking anything, this would just be a separately installed apk.
garyd9 said:
Is there any type of notification (or intent? I get those mixed up) sent by the system when the spen is pulled? If so, a program could be launched on SPen removal. The next step would only be to change the default keyboard (which likely will require root, but should be doable.) So, instead of hacking anything, this would just be a separately installed apk.
Click to expand...
Click to collapse
I started looking at the samsung sdk and there is a receiver for the spen being removed.
I agree, this can be a standalone root app...
I didn't know the sdk could do this, but it can
I'm not a developer and just a noob, but I noticed that if you have anyother keyboard activated and showing, and you plug an usb on the go cable with a keyboard, you just have to press OK on a popup and then the keyboard changes.
Since I'm not even good at english, I recorded it on screencast. I'm sorry if this is useless, but I thought it could be some more starting point.
This is a very interesting idea, is this project "dead"?
I would be more than happy to help (or do it on my own if it's dead), furthermore I have collected everything I need to make this thing work ...
Okay guys, I will start working on the app. Anyone interested in the details of progress?
If you want to help, you can think of a name better than the one I thought about (SPen IME Switcher)
Or an Icon would be very much appreciated as I'm very bad at picture creating.
EDIT: Changed mind to SPenBoard Switcher
LegendK95 said:
Okay guys, I will start working on the app. Anyone interested in the details of progress?
If you want to help, you can think of a name better than the one I thought about (SPen IME Switcher)
Or an Icon would be very much appreciated as I'm very bad at picture creating.
EDIT: Changed mind to SPenBoard Switcher
Click to expand...
Click to collapse
I'm interested. But I'm not a developer, so I can just help by beta-testing .
Post your progresses here or just open a new topic for the app
Okay then, here's the current progress:
The app is still in the works of course, but I have a working prototype! And it's working better than expected , the prototype changes the keyboard immediately according to the state of the pen (inserted or removed), but currently the keyboards are hardcoded into the service (Swype and Samsung's Keyboard in my case).
I have to find a way to get all installed keyboards and let the user choose which keyboard is wanted for which state (I have an idea how to do that), then I'll have to get enough info from the selected keyboards to switch between them (I also have an idea on how to do that )
Only downside to the app now is, the app MUST be in /system/app.
Currently I'm adding two options, one to enable/disable the service, and one to enable service at boot.
(putting on the 'moderator' hat for this post...)
In trying to promote the purpose of this section (development discussion), can you please share details (and perhaps even code snippets) on what you are doing to detect the s-pen state, how you are going about changing the active keyboard, etc.
If you choose not to share this information, please create another thread in another section for your application.
Thank you
Gary
LegendK95 said:
Okay then, here's the current progress:
The app is still in the works of course, but I have a working prototype! And it's working better than expected , the prototype changes the keyboard immediately according to the state of the pen (inserted or removed), but currently the keyboards are hardcoded into the service (Swype and Samsung's Keyboard in my case).
I have to find a way to get all installed keyboards and let the user choose which keyboard is wanted for which state (I have an idea how to do that), then I'll have to get enough info from the selected keyboards to switch between them (I also have an idea on how to do that )
Only downside to the app now is, the app MUST be in /system/app.
Currently I'm adding two options, one to enable/disable the service, and one to enable service at boot.
Click to expand...
Click to collapse
Sounds good. I might take a look at it again.
Perhaps, if you want to make it work, rough-and-ready style, you could simply have two txt files in /data, that define the s-pen and no-s-pen keyboards.
If not, you could take a look at http://developer.android.com/reference/android/view/inputmethod/InputMethodManager.html
The app being in /system/app likely isn't a major issue, though it's possible we could maybe use root to do it directly...
pulser_g2 said:
Sounds good. I might take a look at it again.
Perhaps, if you want to make it work, rough-and-ready style, you could simply have two txt files in /data, that define the s-pen and no-s-pen keyboards.
If not, you could take a look at http://developer.android.com/reference/android/view/inputmethod/InputMethodManager.html
The app being in /system/app likely isn't a major issue, though it's possible we could maybe use root to do it directly...
Click to expand...
Click to collapse
I used another way to do this, the app is actually close to being finished, I just have to add some more tweaks here and there!
I'll make sure to post detailed information on how I achieved this.
As of now, the user can choose to run service, run it on boot, and choose keyboards for each mode (SPen or No Spen), any suggestions for other options that one might need?
Regarding the /system/app thing, I tried to use root to move the app to /system/app on first launch, but failed.
I'll try to do this later, if anyone knows how to do this, then it would be great .
EDIT: Attached a picture of the app in it's current state.
LegendK95 said:
I used another way to do this, the app is actually close to being finished, I just have to add some more tweaks here and there!
I'll make sure to post detailed information on how I achieved this.
As of now, the user can choose to run service, run it on boot, and choose keyboards for each mode (SPen or No Spen), any suggestions for other options that one might need?
Regarding the /system/app thing, I tried to use root to move the app to /system/app on first launch, but failed.
I'll try to do this later, if anyone knows how to do this, then it would be great .
EDIT: Attached a picture of the app in it's current state.
Click to expand...
Click to collapse
Hmmm that looks nice
Regarding moving the app, here's how I'd suggest you do it. Should defo. work, but can't guarantee it is the fastest way.
1) Gain root
2) Remount /system as writable
3) Copy /data/app/com.your.app.name*.apk to /system/app/, chowning and chmodding to 644
4) Extract a helper app from the main APK, and install it to /data, and gain root
5) Use helper app to delete the /data/app/com.your.app.name*.apk file
That should work after a reboot, I reckon...
thread cleaned. Please read the section guidelines BEFORE posting. LegendK95, if you've started another thread for your app, you are welcome to post a link to it here (so that people can post their comments on that app in another section.)
Gary
garyd9 said:
thread cleaned. Please read the section guidelines BEFORE posting. LegendK95, if you've started another thread for your app, you are welcome to post a link to it here (so that people can post their comments on that app in another section.)
Gary
Click to expand...
Click to collapse
Thank you.
Here's the link to the finished application.
Anyway, as promised, I'll describe how the app works (for developers):
How do I know when is the pen inserted or removed?
Basically, The whole trick is in a broadcast receiver.
I found the action that Samsung uses for the pen while I was working on my other project (SF).
Details: I searched in android.policy.jar, and found it there, in a broadcast receiver subclass for the huge and important PhoneWindowManager class
The broadcast receiver receives an intent with the action "com.samsung.pen.INSERT"
When it's sent from the system, an extra value comes along.
The value is a boolean, with the String identifier "penInsert".
This broadcast receiver is a subclass of the service that switches the keyboard, once this intent is received, the "penInsert" extra value is assigned to a field inside the service's class.
Click to expand...
Click to collapse
How does the service change keyboards?
The current keyboard can be changed using different methods, but they all do it the same way.
I used the "master" way to change the keyboard, which all the different methods lead to in the end.
The current keyboard is stored as a String inside the Settings Provider's Secure Database, with an identifier String of "default_input_method".
The stored value is called the IME ID, which is generated from the package and class name implementing the method, with a / in-between.
*From developer.android.com
So with this known, if we can get the id of a keyboard, we can use the putString method to replace the value inside the Secure Database, thus resulting in changing the default keyboard to that one.
Click to expand...
Click to collapse
How do I get the list of keyboards enabled, and their ids?
You can get a List containing the information for all keyboards enabled using the InputMethodManager service, then calling getEnabledInputMethodList().
From there, you can use each Object in the list (the object will be an InputMethodInfo instance) to get their ids, labels, icons...
Click to expand...
Click to collapse
That's it I guess, if you have questions, feel free to post them here so that everyone can benefit from this.

[Completed] Customizing Cubot X9's rom(replacing apps issues)

Hello everyone
i think this is my first post or one of the first on this forum, i'm a videogame modder(vice-boss at VStanced.com) who for fun also mods/dismounts/analyzes everything that slips in his hands(like, seriously every single thing). I have a semi-good knowledge of java and from some years i'm learning more and more about android, yet(as you can see) i still need help from time to time to figure out some stuff.
So, enough of presentation, time to talk about what i came here for.
I've been gifted a Cubot X9 some days ago, so the first thing i did was rooting(Kingroot -> Supersu-me) and applying a custom recovery(TWRP), i backed up rom and nvram with sp flash tool and the base rom(just rooted and recovery-ed) from recovery to make sure that in case i f**kd up something i could restore it without issues.
After that i restored all the additional apps and a couple gapps(Google Play Store, Google Play Services, Google Account Manager, Google Latin Keyboard) from a backup(Titanium Backup) of my old phone, a LG P990(Optimus Dual/X2/Star/Speed) and it all worked straight at first try. As soon as i finished restoring these i got myself a new recovery backup to prevent having to redo everything once again.
At the moment there are still 4 things that "bother" me, i've not been able to install Dialer, Contacts and Messaging apps from that same backup(they're a lot more comfortable than Cubot's original ones) because they just f**k up the whole thing, after a restart(either with or without cache/dalvik cleanup) System starts flickering/turning on and off and with it the background and the SIM control(it stop receiving any signal/recognizing the sim and wont allow me to open the sim selector/editor - for dual sim mode).
I've installed the first two apps(Dialer and Contacts) flawlessly with a root explorer(ES file explorer) and after deleting all odex files related to the old apps they worked well, cant say the same for Messaging(Mms.apk), it works but as soon as i press either on a received message, on the "new message" button or on "setup" it crashes to desktop.
Moreover, i'm not able to install the data backup(i'm mainly interested in contacts and messages but also the calls history) from Titanium Backup otherwise i'll get those issues i said above.
Mind both phones are 4.4.4 and so are their apps, on the LG P990 i had installed Slimroms' Slimkat but those apps i named should all be stock Google KitKat's ones(correct me if i'm wrong) and thus should work 1:1 on any 4.4.4 OS. Should.
You may ask me why i dont simply use google's backup system, so here's the answer, it is because i just dislike uploading my personal data and i honestly prefer figuring out how to do stuff manually.
I tried moving the *.db files from the old phone but they either cause to not show any messages(mmssms.db) or to not receive signal/not recognize the sim(telephony.db).
I have also installed an app called WAPPushManager.apk(com.android.smspush) from the old phone because i thought it could be somehow connected with the crash from clicking on the new message button but nothing changed.
So now i'm kinda lost, i have no clue if i'm missing to delete/add some files, or replace/add some apps.
Here's a few pics of the apps of which i'm speaking
I hope someone will be able to help me out on this, thanks a lot everyone for even bothering reading all this drama. hahaha
Also, yeah, you noticed well, i said that there are 4 things that bother me but i talked only about 3 things so here's the 4th:
this is more like a random question than a real issue or anything else(since i didnt even try yet). I would like to get the system bar and options/setup menu from the old phone(LG P990 Slimkat) to the new one(Cubot X9) but i have no clue if it is doable or not and what it eventually implies.
I'm looking forward for some magic to happen, thanks again
- BB93
Alright, i've been able to transfer all my contacts, calls and messages using an app called Super Backup, it did the trick quite quickly.
I still cant figure out why the Mms.apk wont work, i sent it over to a couple friends and all of them installed and used it right away. I am now almost sure the Cubot wont work correctly with it because it's dual-sim... in case there's anything(scripting wise) that can be done to make it work properly?
Well i kinda solved all my problems, for some reason that app just dont want to work on this phone, i downloaded another "kitkat 4.4 stock messaging app" from google play and it worked straight on... or almost, because for some reason that Super Backup program was messing my messages in a way that i had two threads for each person, one with sent and the other with received messages. Analyzing the *.xml file created by that tool i realized that it was using spaces between the numbers only for either received or sent messages(i didnt bother checking which of the two was it).
A basic example:
<sms address="+391234567890" time="22/gen/2016 09:18:58" date="1453450738028" type="1" body="THIS IS MY TEXT" read="1" service_center="+291234567890" name="" />
versus
<sms address="+39 123 45 67 890" time="22/gen/2016 09:18:58" date="1453450738028" type="1" body="THIS IS MY TEXT" read="1" service_center="+29 123 45 67 890" name="" />
Click to expand...
Click to collapse
It made so that the phone recognized those as different numbers and thus create the issue i said above.
I hope this little self-research thread will help someone else too in the future, thanks for reading.
- BB93
Bigg Boss93 said:
Well i kinda solved all my problems, for some reason that app just dont want to work on this phone, i downloaded another "kitkat 4.4 stock messaging app" from google play and it worked straight on... or almost, because for some reason that Super Backup program was messing my messages in a way that i had two threads for each person, one with sent and the other with received messages. Analyzing the *.xml file created by that tool i realized that it was using spaces between the numbers only for either received or sent messages(i didnt bother checking which of the two was it).
A basic example:
It made so that the phone recognized those as different numbers and thus create the issue i said above.
I hope this little self-research thread will help someone else too in the future, thanks for reading.
- BB93
Click to expand...
Click to collapse
Hi,
Thanks for using xda assist.
I see you've solved your problem. Thanks for being so thorough with your post. This should help others with the same problem. Enjoy the site :good:
Thread closed.

How to move settings from one specific app to new device?

Among the various keyboards that I use, I have dedicated "Swype" to Spanish for voice typing. (Sometimes dedicating a keyboard to a language prevents Google Voice from confusing languages.)
It installs as a separate apk.
On my old unrooted Huawei, I had downloaded the Spanish module.
On the new rooted OP7, Swype does not want to download Spanish: it just spins. I think they discontinued the app and the servers are down.
MyDevicePro reports that Swype is called "com.nuance.swype.dtc.india".
I looked that folder on the old phone's Android/data, but couldn't find it.
Would anyone have tips as to where to look? My thinking is to copy the files to the new phone. Or is there a better way to do it?
Thanks in advance.

Categories

Resources