text:
How is WhatsApp able to receive messages when not in use?
I'm curious about how WhatsApp is able to receive messages when not in use.
I mean, I understand that WhatsApp works using the Internet connection rather than the cellphone network. Imagine that I haven't touched my phone in hours. At that moment, a friend sends me a message on WhatsApp. I get it immediately. Does that mean that WhatsApp is keeping the Internet connection connected at all times? Does that mean that WhatsApp acts as a server, opening ports on the phone? Or maybe a long-running HTTP request?

Also see https://www.whatsapp.com/faq/en/s60/20910578

Also see http://highscalability.com/blog/2014/2/26/the-whatsapp-architecture-facebook-bought-for-19-billion.html

At first, I thought this was most likely an instance of Android cloud to device messaging, but it can't be: WhatsApp doesn't declare the necessary permissions, and it works in Eclair (Android 2.1), while cloud to device messaging (and its replacement, Google Cloud Messaging) require at least Froyo (Android 2.2).
However, it is most likely some sort of push notification service. It's impossible to say exactly how it's implemented without access to WhatsApp's source code.
The part about it being able to receive messages when not in use is relatively easy to explain, though. The app almost certainly has a service which runs in the background to check in with the server periodically (or receive the server push, or whatever it does). When you receive a message, the service pops up a notification.
As for the question as to how the server could do a push, here's a possibility (again, I can't verify without source code):

WhatsApp starts and opens two sockets: One to listen on and one to send a message to the server.
WhatsApps starts listening on the first socket.
WhatsApp sends a message containing your phone number and the port of the listening socket to the server and waits for an acknowledgement.
The server records the phone and port numbers in the message and the IP address that the message came from.
The server sends an acknowledgement to the app.
The app receives the acknowledgement and closes the message socket.
A message with your phone number as the destination comes into the server.
The server uses the IP address and port number it has associated with your phone number and uses that information to push the message to your phone.

For this to work, the app would need to monitor the state of the network connection and reset the listening socket / resend the registration message when necessary (if the IP address changes, for example).

Does Whatsapp depend on the playstore app? Quoting from the Wikipedia link: It requires devices running Android 2.2 or higher that also have the Market application installed. So it might not be exactly that, but certainly is based on the same principles. You might want to include some excerpt from the article's 2nd paragraph, though, to make your answer more valuable (and receive more upvotes ;)

You're quite right, @Izzy, I should have added more details. It was hard to do while I was sitting at Subway writing on my SGS3, though. I've updated the answer now. :-)

You were pointing in the right direction :) After your edit, it looks perfect to me, so +1 :)

How could the server do a push? That's the crux of the question.

I've updated my answer to include a possibility for how the server could accomplish a push.

Thanks for being more specific, but I still think that the crux of the issue wasn't looked at by your analysis. Step 8 is the troublesome one for me: How does it "push the message to your phone"? Send a network packet? But how can your device receive a network packet without being continuously online? Or perhaps there's some kind of mechanism that I'm not familiar with that makes the connection reestablish when a network packet is sent to your phone?

Let me try to explain a bit more: There is a resource that's in use continually. It's the listening socket that was opened by the WhatsApp service. It just sits there on your phone waiting for an incoming network connection (see listen(2) for more information). This has essentially no cost in memory, battery power, or anything else. When the WhatsApp service registers with the server, it sends enough information along for the server to establish a network connection to the listening socket (by calling connect(2).

When you say "waiting for an incoming network connection", do you mean waiting for a TCP connection to be established? How can it wait for a such a thing when the phone is not connected to the Internet? Or is there some kind of mechanism that connects the phone to the Internet when there's a Whatsapp message to receive?

Yes, waiting for a TCP connection. As long as you haven't explicitly turned WiFi and mobile data off, your phone is connected to the Internet, even if the screen is off.

Nat will not allow step 8, even if mobile is on static ip, which will never be the case.
the possible ways are either Xmpp or long polling http

It does have the required permission. It's listed as "receive data from Internet" in the Play Store. See http://android.stackexchange.com/a/61794

Unfortunately, incoming TCP connections are next to impossible on mobile devices. The overwhelming majority of them do not have public IP addresses, and even if they do (e.g. for IPv6 capable operators), incoming connections are usually filtered.
Most applications today either use Google's push services or roll their own persistent client to server socket connection (most notably Facebook). WhatsApp seems to take a hybrid approach, in my experience: If GCM is available, the persistent socket is closed after being idle for a few minutes.

I am certainly sure that WhatsApp does NOT open any listening ports. most ISPs block incoming requests, that would not work.
WhatsApp has a service. Basically that means that technically you never quit WhatsApp. So, the way you receive messages while you're "not running" WhatsApp is the exact same way you receive them when you're running it.
The client, in this case WhatsApp, connects to the server. The client maintains that connection. When the server has something new to say, it sends it to the client via that connection, And that's all.
Your first guess is correct.
WhatsApp has no true log out mechanism, see this.

WhatsApp does not have a logout mechanism. The application is designed
  to always be connected so that you receive your messages quickly, even
  when you are not actively using your phone. This is similar to how SMS
  works and allows WhatsApp messages to be delivered almost instantly.

Your link is for Nokia - I was unable to find a similar question for Android on their site. Are you sure that the same applies to Android? This Question from their Android FAQ indicates that it utilizes a PUSH architecture (under the section "Are messages still taking too long to reach your phone?") - rather than a constantly connected server/client.

@DylanYaga is correct. See e.g. the last paragraph of this answer and Trebors answer here.

This seems the most logical. Many times these services are called push services, but I can't imagine that the client would open a port and in fact act as a local server. That would certainly cause security issues.

Their FAQ suggests they use GCM. Check the answer to "Are messages still taking too long to reach your phone?"

You're right that the FAQ suggests that, but as Trebor Rude points out, the app doesn't have the necessary permission, so they can't be using GCM itself.

It does have the required permission. It's listed as "receive data from Internet" in the Play Store. See http://android.stackexchange.com/a/61794

From what I've seen, they use GCM if it is available. If it is unavailable for some reason (e.g. on a device without Play services or if filtered by the network), the socket is kept around indefinitely.

Whatsapp like other apps is run as service.(You are always connected) Messages sent to you are stored on whatsapp server till 30 days, within which period your whatsapp should be active to receive and acknowledge receipt of the message. Individual accounts are stored with the user phone number @whatsapp.net

30 days.  Please link source for that fact

I think it should be like this:
When whatsapp was new, it would have used PNS based solution, this PNS would just wakeup the device and once it wakes up, it can create a socket connection to whatsapp server.
After when whatsapp is popular now most devices its coming as native application and native application will not be killed. In my samsung s8 i cant uninstall whatsapp, power saving mode can not kill it

Google maintains connection with android and apns server maintains connection with apple devices, without gcm or fcm no third party can send push notification to android devices.


text:
Whatsapp, Keeping the number on the new phone but without the old sim card
Whatsapp, Keeping the number on the new phone but without the old sim card.
Ok the situation is I love my old number and to be honest don't want to ask everybody to change my number again and again.
But I do not have the old sim card, and that bums me out. If there is any way to achieve this?

On a new device WhatsApp generally ask you to verify your phone number by SMS, which will be a bit difficult without the SIM.

Whatsapp checks if there's a sim card installed at the time of boot.
So as long as you have a sim card installed, it shouldn't be a problem to your whatsapp account (The old one)

I've switched sim cards and it hasn't affected my whatsapp account.
The problem of verification arises when you boot your phone without a sim card.

You could move your phone number to your new sim card and just type it in WhatsApp, I did that. WhatsApp will ask you for your phone number and once you type it in it should let you log in without a problem. (It worked for me).

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/

sort: votes


text:
Connect to a FTP server using IPv6?
Currently my device is running on Android 4.1.1 (JB). I have a FTP server with IPv6 address and connecting to it on my computer is just fine.
However when I try to connect to this server on my Android device (using AndFTP and Total Commander), the result is always "Network unreachable"
AFAIK, IPv6 support has been added to Android 4.0 or ICS. But I still don't know what's wrong with my device.
Can anybody tell me how can I fix it, or is there any way to track the problem?

To track the problem: yes. You could check the logcat for more error details, and what the device is doing. Having ADB available on your device (if not, see e.g. Is there a minimal installation of ADB?), this could be done using adb logcat.

ICS has IPv6 support, but only on mobile data networks; it's somewhere between buggy and nonfunctional on Wi-Fi.
Issue 3389 lists a wide variety of Android IPv6 bugs. Your issue is probably among them.
I've been using IPv6 successfully on my Verizon Droid RAZR MAXX since I got it almost a year ago, on ICS. Works great on 4G LTE. No idea what Jelly Bean does on Wi-Fi since I haven't gotten around to redoing my home network to bring IPv6 into every subnet yet...when I do, I'll be sure to update this.

That's really bad. It's my Android mini PC and I don't have mobile network connection, just WiFi and ethernet. Hope there will be a fix in the future for this.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
Issues while accessing system files with su in Chinese make Tablet. (Android 4.0.3)
I have a cheap chinese tablet with Android 4.0.3.
I'm a linux enthusiast and of course I wanna explore the Android capabilities deeper.(I own Nokia N900 and without rooting its nothing).
So my tablet is WM8850.
The interesting is that I can browse in the /, but when I ask for root
privileges su , it says that:
I'm not allowed to access prompt with su priviledges.
UID XXXX not allowed to  su.
So do I need to do the all rooting process or I just have to install the super user package?

You will need to get root privilege. Merely installing Super User won't do anything.
EDIT:
SuperUser must be placed in /system (made a "system app") in order to work, which is not done by "merely installing it", and cannot be done without aquiring root privileges

Funny thing though that su seems to be present. Maybe you should point out why "merely installing SuperUser won't do anything"? IMHO the problem is, SuperUser must be placed in /system (made a "system app") in order to work, which is not done by "merely installing it", and cannot be done without aquiring root privileges.

Feel free to integrate it with your answer :)

Yes, I did the same.


text:
Can I change the download path for the Amazon MP3 cloud?
I want to download my music from the cloud through the Amazon MP3 app, but whenever I download it always puts it in the "amazonmp3" folder on my phone's internal drive. This is kind of annoying because my internal drive is not as big as my perfectly good 16GB SD card plugged in, which I'd much rather put the music on.
I can't find anything in the settings that references the path where music gets downloaded. Even when I move the app itself to the SD card, it still downloads everything to internal storage. Even worse, my phone won't let me easily just move the folders from the internal storage to the SD card; I have to plug it in and connect it to my computer and do it from there. Is there any way to make the app download music from the cloud to my SD card rather than the internal storage?

Manually moving files as suggested by Michael above works (I use Ghost Commander on my device), but today I found the Amazon MP3 Mover app.
It automatically moves the files to the folder you specify on your SD card as they download and then the Amazon MP3 player app (or Apollo or whatever else you might use) finds them in their new location.
I just downloaded it a few minutes ago and am testing it. So far so good!

On first launch, once you select the destination folder, it automatically moves your existing Amazon MP3 files from their originally location in your internal storage as well. Big plus!

I'm afraid you're out of luck. The app doesn't support changing the location and the filesystem doesn't support soft links. I suggest you contact Amazon and suugest they add the feature.

You can download an app called ES File Manager and it lets you move music that is downloaded to anywhere you like.  And then Amazon Mp3 will read it anywhere on your device.


text:
Deactivated HTC Droid Incredible not installing apps
I have an old deactivated HTC Droid incredible from Verizon. I decided I was going to use it as like an iTouch, and it works just fine -- but the Google Play Store has vanished both from the home screen and the "Manage Applications" list (when I first turned on the phone after deactivation not after using it for a while).
At first I was okay with that because I could just go download aptoide or some other third party store. But after I downloaded the apk for aptiode and checked the "Allow Installation from unknown sources" when I tapped it to install I got "Do you want to install this applicaion" and the permissions ect. so I clicked install and then suddenly the phone rebooted? It just showed me the HTC logo, then brought up the home screen. I've tried this with several apks and none of them work. It does not have a SIM card slot.

Could you be a little clearer about "deactivated"? Do you mean the SIM was deactivated by your phone provider? If so, try taking it out, and then edit your question to say if that made a difference.

Well it was using Verizon but the contract expired and this phone was replaced and by a republic wireless phone. I will try removing the sin card now. Thanks

I did a quick Google search and it turns out the HTC Droid incredible does not have a sim card slot

What does the SIM card slot have to do with it? Surely the Droid Incredible has no SIM card slot, as it would be of no use for a CDMA device. @DanHulme that's the trouble with CDMA devices: no SIM to simply change... I'm not familiar with those CDMA devices, but should'nt a de-activation simply disable the service (not the phone)? Not even sure whether they can be "unlocked" (no SIM, no SIM-unlock). But I'd check with them for an explanation.

A lot of the newer Verizon phones actually do have SIM cards, since LTE is a GSM technology. Anyway, I use many devices without service with no problems with Android Market/Google Play. Sounds like the problem is something else. Maybe install a clean stock ROM on your device to fix any software issues.

Yeah but this isn't a newer phone its like 4 years old.

I have three Droid Incredibles that we have replaced with different phones. The play store still works on all of them.
Check out this post for the most recent Google Play apk and side load it.
If that doesn't work, I would recommend doing a factory reset. It seems like your system has gotten confused.
Alos, look into Airplane Mode Wifi app to keep your wireless radio off but leave your wifi on.

But half the problem is that I can't install apks.

I tried that apk and got nothing. Just the normal reboot thing.

Also I think I've heard about not being able to reset without Verizon giving it a new number.

Ok I'm going to do a factory reset now.

Glad something worked. Factory resets can be a pain but they often solve a lot of problems.

It might be a long shot, but have you tried using adb to install apks?


text:
Use Galaxy S2 / S3 as router for PC lan gaming
I have a computer with no network interfaces (the only one it had went faulty). My friend's PC's network interfaces are working fine. We want to play PC LAN games, but when I set my Galaxy phone to tether / hotspot mode, the IP of the PC connected via WIFI hotspot is out of range of the PC connected via USB tethering (the one IP is on 192.168.42.n and the other IP is on 192.168.43.n), and as such we cannot get our PC's to communicate.
Is there a way to force a Galaxy S2 or S3 to put the tethering and hotspot IP's within range of each other? Our phones are rooted.

I got it done via iptables.
First, open the terminal, run su, and type ip route show. This will show which interfaces are currently being used. In my case, I had wlan0 for the wireless hotspot and rndis0 for the usb tether.
Second, run the following iptables commands, replacing wlan0 and rndis0 with your actual interfaces:
# iptables -I FORWARD -i rndis0 -o wlan0 -j ACCEPT
# iptables -I FORWARD -i wlan0 -o rndis0 -j ACCEPT
This will cause the phone to forward the traffic between the two computers.
To revert back to normal settings, I simply restart my phone.

As near as I can tell, you need to run "ip route add" as root. I don't have root, so I can't try it. But something like this should work:
ip route add 192.168.42.0/24 dev rndis0 scope global proto kernel
ip route add 192.168.43.0/24 dev wlan0 scope global proto kernel

You can use ip route show to show the current routing rules.

Thanks for the reply. The ip routes that you suggested are already defined. I deleted the routes, then manually added as per your example, but the 2 computers are still not able to communicate. Is it possible to do a type of ip route add that allows the 2 ip addresses to be redirected to one another?

Hmm, can you post your routing table? And explain how the game is configured to know where the other clients are?

Not sure 100% sure how the game is configured; the game in question is Unreal Tournament 3. The default route table after phone boot is: 192.168.42.0/24 dev rndis0 proto kernel  scope link src  192.168.42.129 192.168.43.0/24 dev wlan0 proto kernel  scope link  src 192.168.43.1

Hmm, I think that either the scope link or the src 192... options are getting in the way. Try deleting the boot routes then using the commands in my edited answer. If it still doesn't work, please post what the routing table looks like after the delete / add.

Unfortunately those didn't work either; I tried it before I went the iptables route. Thanks a lot for your help though, it is much appreciated. The ip route commands you provided led me to accidentally finding relevant iptables information.


text:
Indic font(Kannada) is not rendering properly in Android ICS
I am trying to get the kannada font support for Android ICS. I rooted my Xperia Neo L phone which is running Android ICS 4.0.4 and installed Kannada font (Lohit-Kannada.ttf). I have also included the Lohit-Kannada font as family-set in fallback_fonts.xml in the framework. After that, I am able to see the kannada fonts render in browser but the complex script is not supported. Glyphs are not rendered in proper way, though it is just readable. Other indic languages like Tamil, Hindi, Bengali etc renders perfectly but my language is not rendering properly.
Someone suggested me to go thru this blog. But i'm not able to find out where to make those file changes. I mean where is that lohit-fonts directory, where is the android.mk file? I'm not able to find those folders or those files in my phone. Any help please?

I guess a look at How to make an Android device to display complex rendering of Indic characters? might prove helpful :)

I have a doubt. Other indic languages like Tamil, Hindi, Bengali etc renders perfectly but my language is not rendering properly. Is that a font problem?


text:
how can i stream my screen to an xbmc mediastation?
I have 4 kids and just one tablet.
to avoid them all hanging over each other trying to see the game I would like to be able to project the screen to my Television.
I have a XBMC media station.
What is the best way to do this ?
the tablet is a p7500 ( galaxy tab 10.1 ) with cyanogenmod 10.1 on it
Thanks

Do your TV and your tablet have HDMI ports? In that case, the easiest way would be to connect them using a HDMI cable, which then would "mirror" your screen contents to your TV.

nope. TV had all filled up and for the tablet i haven't got the adapter.

Umm? What "all filled up", and what adapter? There are cables for miniHDMI-to-HDMI. I simply plugged the mini-end to my Android device, and the other end to my TV. Worked out-of-the-box.

Your right but than I have to buy a adapter. I'm looking for a software solution by wifi.

Good luck! If you find any, don't forget to let us know. My cable is not long enough to reach my couch :)

PS: Might be worth taking a look at How do I project the screen of my android phone for a presentation?


text:
Enable Hebrew Swipe Input
I noticed I can use (with my out of the box Nexus 4) swipe for.input in English but there does not seem to be a way to use swipe for Hebrew input.
Am I missing a configuration option that enable this?
I know there are 3rd party applications that does Hebrew swipe input but I prefer not to use them if the OS provides me that functionality.

Today (almost a year after my initial post) I tried using swipe on the Hebrew keyboard and now it works.

Did you activate the Hebrew language pack in the Settings/Language & Input/Android Keyboard Settings/Input Languages? Hebrew is listed there. Check the box.
I don't know if that will give support for swiping but it will at least add the language dictionary.

Yes, Hebrew is activated. I can write (Hebrew keyboard) in Hebrew just not using swipe.

You may have to go with a 3rd party app like Swype Beta SwiftKey to get Hebrew swiping. I believe Swype supports Hebrew. Not sure about SwiftKey.

This worked for me: uninstall your current google keyboard (it will ask you if you're sure you want to uninstall updates as you can't really uninstall the keyboard), then reinstall it.
If you're having trouble finding it in the play store here's a link to open from your phone:
https://play.google.com/store/apps/details?id=com.google.android.inputmethod.latin

Tried it but that did not work for me.

This worked for me. I didn't have gesture support for Croatian. After reinstalling, when I switched to the Croatian language, a toast message applied saying something like "Downloading, gestures will be soon available for Croatian". It sucks that there's no way to trigger this manually.


text:
How to change the way joined contacts are displayed
I have several accounts synchronized on my galaxy S3 (google, google+, skype, facebook, linkedin) and I grouped the same contacts from various accounts into one.
How can I modify the way this merged account is visible in my contacts list? As an example I have the same person as:

in linkedin: John Doe + ugly picture
in google: Johnny + nice picture
in skype: The mad guy + no picture

When merging these contacts I usually end up with the combo "the mad guy" + ugly picture, or whatever combination. I obviously would like to have "John Doe" + nice picture.
Is there a way to select what element should come from which contact?
Fallback question: in case this is not possible: is there a way to enforce one of the contacts as the "master one" ? (I would choose google as I have the most control over that one)
Note: This question was initially asked on Phandroid but it will hopefully apply to any Android device
Thank you for any pointers!

Related question: Is it possible to select default contact picture service?

Open joined contact > menu button > mark as default > chose account, name, phone.
Thats all.


text:
Alternative file transfer clients
I think most people will agree that the official file transfer client for OS X is painful to use. It seems to stagnate at version 1.0 and only offers the bare minimum.
Since my camera connection still isn’t fixed I unfortunately have to use it quite frequently.
Are there alternative clients that are better integrated into the operating system or are there any plans to make it obsolete (after all, neither Linux nor Windows require such a client, they can access the storage of the smartphone directly)?
To clarify, I’m not necessarily looking for more features but better integration. However, anything that makes it easier to use fits the bill.

If you want to go the wireless route I'd recommend Wi-Fi File Explorer pro.
Just make a Tethered WiFi network(or be on the same router) use the app on your phone to get a local IP and transfer all files directly. It needs no installation on your computer; just install it on your phone and use it.

Hmm. Not perfect (website – why not an SMB share?) but already much better – thanks.


text:
Use WhatsApp anonymously
I want someone to be able contact me on WhatsApp. I would prefer to give him an anonymous account.
Is there such thing?
I don't want him to know my phone number.

No it isn't possible. Even if you send him a message without him adding you as a contact the first thing he will see is your number.

any other app or way then? To IM anonymously?


text:
Samsung Galaxy Note N7000 Died
I updated my phone with Odin v.3.04 and now it is not working anymore. I took out the USB cable and I removed the battery while the phone was in download mode. When I went to turn my phone on again, it would not turn on. Can someone please help me?

Please elaborate what "When I power On it nothing mean my phone going died" means. do you see anything at all on the screen? or it's stuck on a single screen?

May sound stupid, but did you put in the (removed) battery again? Also, did you unplug the USB cable and remove the battery while the update was still in progress?

When i power on I dont see anything at all. (died) i also reinsert battary still nothing. When it failed not in progress then i remove USB cable and battery while in download mode i think software destroy.

Ok so I'm going to take a small leap here and assume you were trying to root your device. Here is what you need to know:
Soft-Brick
Symptoms
You can immediately tell that you have a soft-bricked phone if it turns on but doesn't really 'turn on'. You will see some kind of boot loader screen that will prompt you to connect your phone to your computer and start a transfer. Sometimes a soft-brick will look like a hard-brick (see below), in this case you can plug your device into your computer and see if you can connect to it. If you can connect to it and transfer over a new ROM, then your device is soft-bricked.
What is it?
This word is actually miss used all over the internet. When a device is 'bricked', that means that the system can boot up but it can't launch the operating system because it has been erased/corrupted. A soft-bricked device is actually not the worst thing in the world, all you have to do is flash it with a new ROM and you're good to go! Make sure the rom you are trying to flash the device with goes with the EXACT device. 'close' only counts in horseshoes and hand grenades.
Hard-Brick
Symptoms
You can tell that a device is hard-bricked if you try to turn it on or charge it and you get no response. If you cannot launch the boot loader with the special combination (usually power button along with up volume and menu button) then it is probably a hard-brick. Make sure you have determined that your power source and your battery are functioning properly before you jump to this conclusion.
What is it?
A device that is hard bricked is almost useless. There is almost nothing you can do to get it back unless you have professional experience in hardware hacking. Basically what you need to do is make your own 'Jig' that flashes the device ROM with a new boot loader. Once the boot loader is flashed, then you have your backdoor. You can then boot up the phone and flash it.
I will be completely honest with you, you have 2 options if your device has been hard-bricked:

Try to get a new one through your warranty (which is now void) on your device if it is not expired. If you try to do this and you get caught you will have to pay the full price of the device and your carrier will get very angry with you. If you get away with it, you have a new phone and the phone carriers get to sell your phone as a refurbished phone.
Pay someone to J-Tag it for you. Depending on which device you have, it can cost as low as $40. I DO NOT recommend this method because if they decide that they want to keep your phone (especially if you are shipping to Canada or Asia) there is nothing you can do and you are SOL with no phone and $40 missing out of your pocket.

The internet is full of people with your exact same problem. A quick google search will give you answers to most of your questions.
For Samsung device users specifically
Samsung devices can usually be forced into download mode using a JIG. They are pretty simple and cheap to make. If your device has been soft-bricked this will almost always work. If your device is hard-bricked this method will not work, I've tried.


text:
What needs to be set up in an Android device from another region for a Russian user in Russia, and how?
We've got a Samsung Galaxy S from another region (China or Korea).
What needs to be set up in it for a Russian user in Russia?

Simple things
The obvious group of settings that needs to be changed (simply by selecting the appropriate value) is the interface language, time zone.
Keyboard
One unexpected difficulty is the input method.
The factory Samsung OS (from another region) doesn't include a Samsung Russian keyboard, nor does it include the standard Android keyboard (which might have a Russian keyboard). Further complication: The standard Android keyboard cannot be installed separately!
As a solution, I chose to install AnySoftKeyboard (which is also available on F-Droid, which guarantees it is free/open-source, can be rebuilt from sources, and has been inspected by more people for not having spying features). Then in its settings menu, I chose to download a Russian pack.
Mobile networks and internet
For internet to work, one needs to set up an APN (for example, for Megafon, a Russian mobile operator, one needs to add a new APN with "internet" as the value for the field "APN" -- the only essential field; and select it).
(Regressions)
(Still, as compared to Samsung Galaxy S sold in Russia, this one has much more unstable connection to the mobile network (loses the connection, i.e., is offline very often). Perhaps, this can be solved by upgrading the ROM/modem firmware from the present Android 2.2 I9000XXJPK (kernel 2.6.32.9) FROYO.XXJPK.)

It's a good answer, but can be improved with screenshots and examples.

Interestingly, when installing CyanogenMod on this device (cm-10.0.0-galaxysmtd.zip with gapps-jb-20121011-signed.zip), no such manual set up had to be done: it was able to connect to Internet over the mobile network already on the first "welcome" screen after the installation (asking to log in to Google), and then it imported the language seting from Google automatically, too.

@imz Ready mobile network setting is probably a known feature of CyanogenMod -- http://en.wikipedia.org/wiki/CyanogenMod: "Features supported by CyanogenMod include native theming support, FLAC audio codec support, a large Access Point Name list, ..."

The modem firmware that is presently working very bad for us is XXJPK, and--on another device from China or Korea--SPJG2, which also has bad/unstable signal, but not as bad as XXJPK.


text:
How can I use external modem for voice calls on Android tablet?
My tablet doesn't support calling/messaging function by default and also it doesn't have an app for that by default.
Is it possible? In my case I use Micromax Infinity P275 tablet and Huawei E1732 modem. ICS is my OS. I can connect to the internet with that modem.

That's very much possible (I have such tablets as well). There are USB dongles available to provide access to the mobile network world (usually called "UMTS sticks" or the like, at least here in Europe). You might look out for them and, to check compatibility, take your tab with you to a store selling them to "try before buy". Note: You will most likely need an OTG cable to connect them.

i have made calls with this modem from my laptop/Win8. Is there an app available ?

I don't know that Huawei modem you mention. Does it connect to the mobile network, or landline? In the latter case it's unlikely to work with Android. In the former case, it might still be incompatible. You could check with the tablet vendor if there are recommended "UMTS sticks", or even might be "tricks" to get the Huawei modem to work with the tablet.

I can connect to the internet with that modem. If i root my tablet any chance of getting this done?

Root your phone, and download PPP Widget from Google Play.

How will this solve the problem?


text:
Is there a special boot mode to boot into a system with root access (on Galaxy S)?
What if the Samsung Galaxy S I've got has already been rooted?..
Is there perhaps a special boot mode which would boot into the system with root access?
Or normally, a "rooted" device always boots the system with complete root access?

There isn't a special boot for rooted devices AFAIK. Any rooted device necessarily boots with complete root access.

That's correct. Hover your mouse over the "root" tag chosen, and click the "info" link revealed in the popup. This will bring you to the root tag-wiki, where you can find further details. (Remember this trick for other tags, too :)

If you want root access on a production phone, then you are going to have to use a root kit. There are a ton of benefits to having a rooted device, but there are also risks. Some devices are now coming out with the ability to run an app in root mode with user permission.
MY WORD OF CAUTION:
Attempting to root your device without proper knowledge will render it completely useless except for holding down your papers on a windy day. Make sure to do all instructions exactly and only flash your phone with builds that are meant to go with your specific device!
Best of luck!


text:
Android Rooting : Facility vs Harm, Should I make Rooting in my device?
I want to make Rooting of my Android Device. I have searched over internet, I got usefulness and harmfulness.
Android Rooting : Facility vs Harm, Should I make Rooting in my device?

possible duplicate of What are the security disadvantages of rooting an Android phone? See also: Are there any risks to rooting a device?, our nice rooting tag-wiki, and its most frequented questions.

It seems you're asking for advice whether you should root your device or not. Only you can make that determination. This site deals in questions with objective answers.

It really depends on why you want to root. If the feature you want is an important feature for you and you are missing it then there's no reason why you shouldn't root.


text:
Whats the use case of proximity sensor?
Can anyone explain to me what is the purpose of the proximity sensor, on my phone. What if my phone's proximity sensor stops working or gets damaged. What problems will I face?
PS: I am just curious to know.

The proximity sensor on most smart-phones with touchscreen exists to disable accidental touch events. The most common scenario is the ear coming in contact with the screen and generating touch events, while on a call.

mobile phones use IR-based proximity sensors to detect the presence of a human ear. This sensing is done for two purposes: Reduce display power consumption by turning off the LCD backlight and to disable the touch screen to avoid inadvertent touches by the cheek. IR sensors have a number of disadvantages, including high power consumption, high cost, blind zones, and accumulation of dirt, as well as unreliable performance over temperature, hair, and skin color variations.

There are also capacitive proximity sensors. By the way, an interesting application for the IR LED in the proximity sensor is also eye tracking when taking photographs (using the sensors IR light reflected from the cornea which is visible for digital cameras to learn the eyes location). It's also sometimes used to automatically switch to the loudspeaker.

I guess a proximity sensor that uses IR when combined can also be used to prevent taking a picture of a person when their eyes are closed. IR sensors are also called light sensors and are a kind of optical sensors.

"high power consumption" comparing to what alternatives on the topic?

It prevents that your ear is doing input actions on the touchscreen when you are making a call. :)
Most proximity sensors are simply light sensors that will detect "proximity" when they are covered.

Developers can get access to the sensor and use it for other things.  At a users suggestion I use it in my biking app IpBike to wake up the screen.  The user just has to wave there hand over the sensor and the screen switches back on.  Very handy when cycling with gloves on.

Another usage for the proximity sensor is to detect while it's in pocket and disable accidental touch or power button press.
Keep screen off when proximity sensor is covered (in pocket)
In Moto Gx series (and I believe in Moto Z and Moto X also) if you pick the phone out from pocket or move the phone while it's laying on the table it'll show up the screen for fast unlock and a quick glance at notification. If you cover the proximity sensor while it's in static state for a while and uncover it you'll see the same effect

When you get a call in a touch screen smart phone, when your phone get closer to ear or any body part the phone screen get off. That is done by the proximity sensor. Proximity sensor is responsible to heat and when a body part get close to sensor the screen gets off and it prevents accidental touches in the screen. In some smart phones proximity is used to keep the screen off when the mobile phone is in the pocket(pocket mode). If you loose functioning of proximity sensor, your phone will make accidental touches when your phone is in the pocket or when you gets a call.

Proximity detector is non contact type displacement sensor i.e proximity sensor used to are sense and indicate target presence of object to without physical contact.

In simple proximity sensors are light sensors.
It turns the screen off while you are making an call.

Welcome to the site! This answer doesn't add a lot to the existing answers. Try to find a question that needs more information.

Your answer is only partially correct. As this site points out, while light sensors are among the cheapest kinds of proximity sensors and are the way proximity sensors are implemented on most mobile phones, there are also other kinds of proximity sensors such as electrical, magnetic, and sonar based.

The following explanation appears in the instruction manual for most LG phones:

The proximity sensor automatically turns the backlight off and locks the touch screen by sensing when the phone is near your ear. This extends battery life and prevents you from unintentionally activating the touch screen during calls.


text:
gTalk status icon on the notification bar
Instant Messenger apps such as Skype or Windows Live Messenger will display an icon on the notification bar with indication on the connection status. (I know gtalk is supposed to be always on after my first login, but there have been many occasions where it is not true. )
There is no status icon for Google Talk, in order to know my connection status I have to open the gtalk app and check it. Is there any way to have an icon always on the notification bar, other than using a third-party app? There are many useful features on the native client and I don't want to try various new apps.

Provided you have blue bars for your wireless and/or wifi connections and have logged into GTalk you should always be connected.
You have to sign out of GTalk or lose connection with the Google Servers (gray signal bars) in order to be offline.
Short story: as long as you signed in and have a data connection you are online for GTalk.
If that doesn't give you a warm fuzzy feeling then use a third party app like Trillian and use it for GTalk. Trillian might be able give you a notification icon.

"you should always be connected": should is the key here. Many times I should, but I'm not. Therefore, I need some indicator. I don't want to try a new app, I'd have to compare features such as voice messages, history retention, UI, etc etc and I am fine with gtalk currently (except for its lack of status icon).

Are you running a task manager or battery extender? These may be the cause of lost connection. Have you noticed lost connection with blue bars?

I live in a place where connectivity sucks. Often when I get connection again (bars become blue after being grey), gtalk won't get reconnected unless I acively reopen it. A status indicator would come in handy in this situation.

Good look finding a solution.


text:
No Permissions Error Regardless of sudo or shell
I have a Huawei comet u8150 That I decided to root seeing as I'm stuck with it for the time being. I rooted it last night, Flashed Clockwork Mod Recovery 5.0.2 and Installed CyanogenMod 7 for the U8150. Now before I installed Cyanogen I was able to access the device via adb using sudo -s and starting the server via a root shell. Now I can run it as sudo or a root shell and I get the same issue. Inside of 51-android.rules I have
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0e79", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0502", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0b05", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="413c", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="091e", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="24e3", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="2116", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0482", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="17ef", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1004", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0409", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="2080", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="2257", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="10a9", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1d4d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0471", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04da", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1f53", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04dd", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0930", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="19d2", MODE="0666"

and my output of lsusb is
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 064e:a110 Suyin Corp. HP Webcam
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 007: ID 12d1:1038 Huawei Technologies Co., Ltd.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

You can see that 12d1 is included inside of the 51-android.rules file, so I'm not sure where to go from here as everyone tells me to drop to a root shell which has not worked as well. Thanks in advance.
---UPDATE---
Thought I'd give some extra input on the matter real fast.
If I perform an adb pull or an adb shell that seems to be working. However when I try to utilize adb push or nano while in the superuser adb shell I don't have permissions to modify. It recognizes my device, but that's it.
I'm sure I have the rules set correctly, but the problem is I can use

sudo -s

and operate from within the root shell and I have the same output when using adb devices. Hopefully someone will have some thoughts as to what's going on.

Thanks for the suggestion, but the ?????? isn't just to have a ? in the title. It's what the device is being read as.

I had a similar issue once, wrote a long post, and immediately before hitting the button I figured out I had forgotten to turn USB Debugging on in the device. Might sound stupid -- but it was me, so I can say so. Could it be a similar thing in your case?

Thanks for the suggestion Izzy. Unfortunately I do have USB debugging enabled. I wish it was that easy for me as well.

Your question is not exactly clear! Are you trying to access the device from your linux terminal, i.e. adb shell to drop into the android terminal and do whatever? Or is it the fact your computer is not recognizing your device?

Check this answer to make sure you have your rules done correctly - FYI! This is not just for fastboot but is a general consensus in getting your machine to recognize your handset!

Sorry; Trying to access it directly from the Linux Terminal utilizing adb commands. It was working with the stock rom when I dropped to the Linux root shell, but after changing to CyanogenMod it seems like it's behaving as if I don't have the permissions. I'm not sure what else to do from here. My rules are correctly set. I've also changed up my rules a tad bit by the link t0mm13 put up.


text:
Is there a way/browser plug-in available that can turn off and on Airplane Mode without using the physical button?
I want to quickly turn off and on data on my S3 while I read long articles on the web which I noticed saves a lot of battery.  But the physical button is too worn off already and I don't want to exit whatever I'm doing to off the data.  Is there a way to off and on Airplane Mode from the status bar or a plug-in I can install in the Chrome browser?
OS: 4.1.1
Phone: Samsung Galaxy S3

Reconnecting to a Wi-Fi or 3G network uses more power than leaving it idle for several minutes. Although having it off saves power, don't think you can save more power by turning it off for a few minutes at a tine.

I tested it.  For now something is draining my battery at the rate of 1% a minute and I find when I turn the data off it drains at like 1% every 6 per minute.

That's suspiciously much. It sounds more like an app keeping the CPU hot than the data connection itself. If you go into Settings → Battery, are there any apps using a lot?

I've been trying to figure that out.  Right now, it says Chrome is using the most at 40%.  But why does my phone last longer with the data off if it's the CPU?  Temp is 31 degrees in Celsius.

It could be that Chrome is doing something CPU-intensive, but only while an internet connection is available: turning data off stops it running. 40% is a lot, but I can't think what it might be doing. Try force-stopping it and clearing its cache (from Settings → Applications Manager) and see if that helps.

Actually, if it's while you're using Chrome, it may be its precaching. In Chrome, go to Settings → Bandwidth management → Preload web pages and set it to Never, and see if that helps.

Temp of the battery that is....

Chrome wasn't pre-caching at all and I cleared the cache but it doesn't seem to make much difference.  What does the cache do?

Several, I'm sure. There's the simple Airplane Mode Widget for one. Then there's the way more complicated, but way more powerful Tasker for another (since it's capable of creating widgets to execute any of the tasks you define).
Oh, wait, the title said widget, but the question says status bar. On my S3 (also on 4.1.1), I can pull down the notifications, slide the power switches to the left a little bit, and there's the switch for Airplane mode. Does that work on yours?
If you haven't got the Airplane mode switch in your status bar, then the easiest solution would probably be SwipePad with a shortcut (not widget) to toggle Airplane Mode. This is the combination I use to turn on my LED flashlight (with TeslaLED). The reason you want a shortcut instead of a widget is because it saves you steps. If Airplane Mode Switch does indeed use a shortcut instead of a widget, then you're golden without having spent a dime. If it doesn't, then you can still buy the WidgetPad add on for SwipePad and use a widget, or buy Tasker and use it to create a shortcut which toggles airplane mode.

When you pull down the notifications bar, there's a row of buttons at the top: Wi-Fi, GPS, Sound, Screen rotation, &c. You can flick them to the left to see more, but there's no Airplane mode switch on my S3 (4.1.2).

That's interesting @DanHulme. Which country are you in and which carrier are you on? I'm in the US on AT&T, with 4.1.1 and I do have airplane mode in the status bar switches. I think Samsung gives you the ability to choose the switches in their 4.2 update, but who knows when or if the carriers will push that out.

The UK, but with a German unlocked build of the phone. I know I used to have different buttons until it OTA'ed, but can't remember whether Airplane mode was among them.

"Airplane mode switch" has not been updated for years so I'm worried it might be unstable with the newer systems.

I suspect "Airplane Mode Switch" is so simple, there hasn't been any need to update it, @verve. In any case, it worked just fine on my S3 when I tried it earlier.

One of the features of Battery Widget Reborn's notification is buttons to toggle WiFi, Bluetooth, Sync, Mobile Data, and Airplane mode. I got it for the battery usage analysis, but this extra feature is a really nice touch. Now I only need pull down my notification shade to access these important toggles. (Although, yes, with the new settings panel in Jelly Bean I don't really need it. It's a couple less taps.)


text:
How do I open a text file from a terminal window from within the Android GUI?
I'm trying to open a text file from within a terminal window emulator -- but not so it opens in the actual terminal but more like I've just clicked on it.
So my question is: What command can I use to open /mnt/sdcard/textfile.txt from a terminal window emulator from ROM Toolbox Lite within the Android GUI so that it will open with any one of my text editing applications? Will I need to run su before I can run what ever command? I'd prefer not to, but the device is rooted so I can run su.
I'm using Android version 4.0.4.

Do you want to open it in a seperate program? Or do you just want to quickely edit it? nano or vi are usually available on *nix based systems. I prefer nano because it is a bit cleaner imho.

No i want the command to open the file with droid edit or with es text editor

Thank you for your input but i am looking for something simpler than that... I realized last night all i want to know is how to do this like in windows if you type in C:\text.txt from command prompt it will load the default text editor (what ever that may be) so how do i do it using bash terminal emulator from ROM Toolbox Lite?

You can always just rip the file off of the phone using adb and then open it on your computer

Launching apps in Android isn't straightforward. You'll have to use am start combined with certain <PARAMS> to launch the app or a particular section of it.
From the comments, it seems that you may want to launch the text file using ES Note Editor. In that case, first identify the activity responsible for the edit window you see when the file is opened in the editor using GUI.
Note: Tested the solution on Android 4.2, 4.4 and 5.0.
Instructions

Open the file manually in the editor using GUI, and make sure that it stays active on the screen.
Connect your phone into PC in debugging mode, setup ADB on PC, and enter into PC's terminal/cmd the commands:
adb shell
su
dumpsys activity | grep mFocusedActivity

The output may look like:
mFocusedActivity: ActivityRecord{42839028 u0 com.estrongs.android.pop/.app.editor.PopNoteEditor}

The relevant info (activity) is .app.editor.PopNoteEditor and package name is com.estrongs.android.pop. You may use the command dumpsys activity to see some more useful stuff.
That's just for brief understanding. Keep the whole string (com.estrongs.android.pop/.app.editor.PopNoteEditor) ready to be used.
You may close the editor on Android. Open your favorite terminal app in Android and enter:
su
am start -n <PACKAGE_NAME/ACTIVITY> -d <FILEPATH> --activity-clear-task

-n will allow to launch the app's mentioned component.
<PACKAGE_NAME/ACTIVITY> is the string we noted in step 2. For ES Note Editor it would be com.estrongs.android.pop/.app.editor.PopNoteEditor.
-d is to allow data to be passed to the app's activity.
<FILEPATH> is the location of the text file you want to open.
--activity-clear-task will make sure that the activity is not launched from "Recents" but from scratch.

(Enter am start to dive deeper into interesting stuff.)
In my case, the final query for file aero.txt under /sdcard/airdroid/ looked like:
am start -n com.estrongs.android.pop/.app.editor.PopNoteEditor -d file:///sdcard/airdroid/aero.txt --activity-clear-task

The file opened successfully.
I use QuickEdit Text Editor as  default text editor and the relevant query looked like:
am start -n com.rhmsoft.edit/.activity.MainActivity -d file:///sdcard/airdroid/nmon.txt --activity-clear-task

Have fun!

When you "Connect your phone into PC in debugging mode, setup ADB on PC", do you actually send commands to the phone via PC?

Yes. That's true.

In addition to this answer you can use the following solution which is taken from rohitverma's answer here and noticed in Lucky's comment.

am start -a android.intent.action.VIEW -d <FILEPATH> -t text/plain --activity-clear-task

It will execute com.android.internal.app.ResolverActivity activity of android system with all candidates registered for "plain text"   available for selection in a dialog.
For my file, the query was and dialog shown were:
am start -a android.intent.action.VIEW -d file:///sdcard/airdroid/dd.sh -t text/plain --activity-clear-task

                                                                .

You may use input keyevent <KEYCODE/KEYNAME> command to select the app in the dialog. Input events list is available here by LionCoder.
Relevant keyevents are:
19 -->  "KEYCODE_DPAD_UP"
20 -->  "KEYCODE_DPAD_DOWN"
21 -->  "KEYCODE_DPAD_LEFT"
22 -->  "KEYCODE_DPAD_RIGHT"

And the usage would be like:
input keyevent 20

or
input keyevent KEYCODE_DPAD_DOWN

Use the combination of them to achieve the goal, and use 66 -->  "KEYCODE_ENTER to simulate "enter".

I would still go for this answer if needed. :)

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Remapping hardware key on keyboard to trigger voice input
On my Sony Ericsson Xperia Mini Pro running CyanogenMod 10, what I am trying to do is remap a key I never really use, like the capslock key, to trigger voice input. I know keys can be remapped changing the keymap file after your phone is rooted, but what is the syntax to assign to voice input? Is this even possible?

checking if specific key was clicked double and then assign to specific apk package name like com.example.android.calc


text:
How risky is it to return a rooted android device under 'warranty'
A couple days ago I rooted my phone and I hard bricked it. I am debating whether or not to just send it in to get JTagged (for 50$) or to just try to get a new one under warranty. I have heard everything from:

You can send a rooted phone back. Doesn't really matter.

Returning Rooted Phones
and

I've returned a stock, rooted phone and even forgot to put the modded battery icon back to stock. No issues.

ATT Detecting rooted phones?
to:

they can and do check. because they refurbish many of the returns for reuse. they can easily remove the rooted setup in favor of stock. but that isn't the point. its best to remove root with a restore if at all possible with the stock zv9 update. then the device is sent back in factory state. if you cant accomplish this due to issues with the device that prevent it,then you have to send it back as is. but the latter should always be the case to return it not restored.

Returning Rooted Phones
and

not sure if they check that but if they did they can do anything from sue for fraud, since you lied. they can cancel your plan and ruin your esn. thats really about it. im not sure if they think its worth the hassle though.

So what is the truth behind this? Is it risky to return a bricked/rooted phone to your carrier? Is it different for each carrier? (AT&T, Verison, T-Mobile, ...) Are there any precautionary measurements out there people should take before they return a rooted device?

Update:
I received my new phone and then I shipped my bricked phone back to Verizon and I never heard back. Either they didn't check that it was rooted or they didn't care, either way I've got a functional phone again. Thank you for everyone's answers!

I own a Galaxy Note which is rooted and running a custom ROM. My note had a charger issue, the port was damaged. I gave it at the Samsung store with a rooted TouchWiz ROM only to get it back repaired with no questions asked. Just to be on the safe side you could flash a stock ROM and give it.

I'm not sure it would be legal for them to discriminate on warranty just because a phone is rooted. However, there are some "void your warranty" things you could do when rooted (such as overclock way high, etc). You might find a tool on XDA to restore an original ROM, I did once for a bricked phone. They may have such a tool in-store too.

IMO it is neither within the carrier's moral nor legal duty to warrant damages caused by the owner's mishandling. Some carriers/shops might decide to do the replacement anyway because the cost of investigating these cases are often higher than replacement, but unless it is explicitly stipulated within the warranty contract, don't expect it as an entitlement.
While in some areas, there are now laws to protect customers from carriers voiding warranty simply because of rooting, it does not mean that you are entitled for replacement if you damaged the phone because of improper rooting. The law ensures that you will still be eligible for warranty if you rooted a damaged phone because you received a damaged phone in the first place. However if it is an improper rooting or improper use of root privilege that caused the phone to be damaged than it would not be fair to require carriers to replace the phone.
Mind you, I personally believe that selling a phone with an overzealous locking measures that cannot be unlocked by a reasonably knowledgeable customer is selling a damaged goods (akin to selling a house without a front door), but I'm not sure of any places where the law has caught up with this.
IANAL.

I'm not sure there's a good answer to this. As you've seen from your own research, experiences vary. Therefore, if you send in a rooted or otherwise modified phone, you may have a problem. If you unroot / unmod it before you send it in, then you're much less likely to have problems.
In your case, with it being hard bricked, you probably don't have much of a choice. Of course, it's possible they won't be able to tell that you fouled it up (because, if they could, they'd likely have nothing to do with it).
So I think it comes down to this... how much of a gambler are you?

I had rooted my mobile. But as I dint read the instructions properly regarding installation of new ROM, I had hardbricked my mobile.
I thought it would not be repaired under warranty. but one question came to my mind: when I can't switch on my phone how will others do? However, I gave my mobile to service center within two days.
But when I went in search of an answer for my question, I realized the company could find out if a mobile is rooted or not. In the end, that didn't really matter for me because I got my mobile back (repaired under warranty).
The thing is it doesn't really matter for a company whether the mobile is rooted, because if they succeed to know if your mobile is rooted then its for sure that motherboard can be accesed through some sort of method that company uses. When they can access it they can surely wipe the data out of it.
So I guess it's not that risky to get your mobile repaired under warranty – but as someone said in the above comments, one should be good in gambling while dealing with this sort of problem.

Take your bricked phone to a store not manufacturer.  I just bricked my HTC One trying to install different language stock firmware and took it directly back to the HTC Service Centre in my city (Shanghai).  It was stuck in a boot loop after an OTA (root and unlock boot loader and change ROM had worked fine until OTA).
First thing they checked was if my phone was rooted.  It was re-locked and s-off.  Although it could still turn on and be used - just not do OTA updates - Got told by service centre that as it was rooted warranty void (5 day old phone).  Fixing it would require change of logic board they said. Wtf.
In end I "agreed" with them to replace whole phone for cost of changing logic board.  Cost me $300.  Feeling scammed.

I can tell you 100% with all FACT
If you return your phone, bricked or rooted there's NOTHING they can or will do about it. This is only if you send it in and not take it to the store.
I WOULD NEVER TAKE A BRICKED PHONE TO THE STORE - THE EMPLOYEES ARE LIKE US; THEY TEND TO PLAY WITH THIS ROOTING AS WELL AND MORE LIKELY TO CATCH ON AND VOID YOUR WARRANTY.
The phones are simply opened from your return box, torn apart and NOT TESTED for anything as THEY CAN NOT SEND OUT A PHONE THAT HAS BEEN USED BY ANOTHER USER -THIS IS WHY THEY ALL LOOK BRAND NEW WHEN YOU RECEIVE YOUR REPLACEMENT.
The housing is stripped and the main board pulled out ( end of your concern ) and put into a bin where they are simply reprogrammed.
IF ANYONE TRIES TO SELL YOU ON ANYTHING DIFFERENT THEY ARE LYING TO MAKE YOUR DAY HARDER OR UNEDUCATED.
I WILL LET YOU THINK ABOUT WHAT I JUST STATED AND AM SURE YOU WILL SEE EXACTLY WHAT AM REFERRING TOO.
I have a friend that has worked for both Samsung ( still ) and Motorola back in the day  with a few at Verizon and AT&T

Could you please not use ALL CAPS for emphasis? It's hard to read. Use italic or bold (or both) instead.


text:
How to Root LG Optimus Slider VM701?
I tried Gingerbreak.apk also connecting via usb to my laptop, downloaded LG drivers, then LG Esteem Root file, but upon running the excute/Run file it says "Press Enter to begin Root"; then it says "Waiting on Device" but nothing happens after that. I turned on "USB Debugging" & "Allow Downloads from Unknown Sources" but neither method worked? Specifications: Android 2.3.4; Baseband: VM701ZV4_6170; Kernel 2.6.35.7+ lgandroid- build#2; Build# GRJ22 ; SW Version- VM701ZV4


text:
Font rendering problem in ICS 4.0.4
I'm trying to get Kannada language support on my phone. I've rooted my Sony Xperia Neo L which is running ICS 4.0.4 and installed Kannada font in system/fonts. The problem is, all the other indic fonts like tamil, bengali, devanagari, hindi are rendering perfectly but not Kannada. I've added the Kannada font in fallback_fonts.xml file. Is that a font problem?

How is this different than your previous question?

You're not the only one trying to figure it out: Does Android 4.0 (ICS) support Kannada Font?

Sorry but i'm kinda desparate :P

And the weird problem is, the font in the title of the article is rendering properly. But when i click on it to read the full story, the font in the body of the article isn't rendering properly.


text:
Flashing English ROM on Korean Samsung Galaxy S3
I got my Samsung Galaxy S3 (SHW-M440S) but it was bought from South Korea. At first, it was all Korean. But after some time (or some tweaks), I managed to set it to English. (No, I am not a Korean).
Can I flash the firmware to a real English version (using ODIN or any other software)? I entered the model number because I might do something wrong but everything is in Korea (SHW-M440S firmwares).
Another problem on my phone is, it will only send an SMS if it has 80 or less characters on the message.

to clear things up: can I use other model version's firmware in flashing my Samsung Galaxy S3?(e.g., SHW-M440S to GT-I9300)

For 80 or less characters on SMS, I think it should "70 or less" due to the limitation of SMS with Asian characters (Reference on Wikipedia). You probably really need to flash international/English ROM.

I think the hardware has minor differences in Samsung phones for different regions

I wouldn't advice this, you can see other questions on here about people asking if they can use different model numbers on their phone and everyone says no.
A suggestion to you would be the following, go on the XDA website here link and type in your phone AND model number into their search bar. From there you should be able to click on their forum for Android Development, from there you can select a Custom Rom to flash to your phone
As you said you are new it is required to firstly root your phone before flashing a new ROM, as you haven't provided your Phone Model I cannot give you a direct link on how to root your phone, if you can update this detail I could find you a link afterwards.
Also if you decide to root your phone flash a custom rom please note that it is your risk, doing so will void your warranty and if you end up with a bricked device(not working) I or anyone giving instructions in any links you use cannot be help responsible.
With regards to the problem with only Sending a SMS if it's 80 Char or less, I am not 100% sure as I haven't experimented with various different Custom ROMS but there may be a option that you can select to try and fix it, personally I would post another Question on this website just for that issue
All the best


text:
video recording distorts vertical lines
Here's a problem I've noticed on all Android, from old 2.2 to the new demo tablets at the store:
When in camera video mode, record a column or a pillar, and slightly rotate the device back and forth left/right. Notice that the column appears to be changing shape, wobbling.
I remember seeing in consumer-reports or similar magazine that most Android phones have worse video quality, I think only G2 had a very good rating.
I wonder if there is any known fix for this problem? Which models don't have this bug?

That's a common distortion associated with wide-angle lenses.  In order to get in a lot of the scene into the shot, the angle of view for the lens is widened.  If it wasn't widened like that, you'd have to step back about 5-7 paces to get the same shotIt creates the same distortion as fish-eye lenses do.  Then, so your shot doesn't look like a circle, the image is distorted to fit into the rectangle frame so common to photos.

@KevinOrr Thanks, but are you sure this is what's happening here? I never enabled wide-angle-lense mode, and if anything I think the problem with phones is that they don't zoom in enough, not that the angle wasn't wide enough. Do you know if there is any hidden setting that could turn this feature off?


text:
Malware has corrupted SD card
I have android phone with SD card. Malware has moved all files to other folder. Then I copied it to previous place. But now it doesn't show applications placed in menu. It shows it in settings. What to do? How does android application in SD card must be placed?

Could you give a few more details on what has been moved from where (path) to where (path) on your SDCard? A screenshot of the misplaced applications might also prove helpful for understanding.

You should probably remove the malware first before you do anything, you can download some antivirus from the android marketplace

Connect your SD card to your PC and execute one of the 2 programs you prefer to recover your data:
http://www.recovermyfiles.com/data-recovery-software-download.php
http://www.piriform.com/recuva


text:
How to make Galaxy Tab as portable WiFi hotspot?
I am a new user of Samsung Galaxy Tab 2 (GT - P5100). Is there any way to use my Galaxy Tab as portable WiFi hotspot?

Using this as source
Procedure-
Turn on the Portable Wi-Fi Hotspot on your Android smartphone (or tablet)

Go to the Settings screen on your Android phone. You can get there
  by pressing the menu button on your device when you're on the  home
  screen, then tapping "Settings".
At the Settings screen, tap the "Wireless & networks" option.
You should see an option for "Portable Wi-Fi hotspot". Click the
  check mark beside it to turn on the hotspot and your phone will
start acting like a wireless access point. (You should see a
  message  in the notification bar when it's activated.)
To adjust and check the settings for the hotspot, tap the aptly
  named "Portable Wi-Fi hotspot settings" option. You'll need to  do
  this if you don't know the default password that will be created
  for your hotspot so you can make a note of it for connecting your
  other devices.
You can change the default password, security level, router name
  (SSID), and also manage users connected wirelessly to your  phone in
  the Wi-Fi hotspot settings.


text:
Sorry! the process com.android.phone has stopped unexpectedly. Please try again. force close
Why does this keep appearing on my phone which cuases my network to go off and on.

Can you please mention ROM using,Rooted/Non-rooted and also which device?

On samsung devices
Over on the Sprint forums, they've posted a fix for this without needing a reset: Go into Menu -> Settings -> Call settings -> Reject with message. If you have more than 5 messages in there, delete some so you have less than 5.
People are reporting that once they do that, they are once again able to receive calls without the force close happening. Hope that helps!
In case its an HTC device follow this

Go to your facebook app and under synchronize settings choose to delete all facebook data. Afterwards log out of the facebook app.
Go to account and synchronizing settings and remove any facebook entries. Now your contacts should no longer contain any data from facebook and should not be linked with facebook either.
Go to the facebook app, sign in and re-choose the synchronizing settings. Press "synchronize" in upper right corner.
Go to accounts and synchronizing and add facebook for HTC Sense and perhaps also the normal facebook account. It will now start re-synchronizing everything and you have to link all your contacts again, but it now works

If both methods didn't work for you go for an factory-reset that will surely solve your network and call issues.

This error message would not go away until I cleared my call log history.


text:
What will the "last seen date" on WhatsApp be shown when a user uninstalls the app or deletes their account?
I have a WhatsApp user on iPhone with last seen date 5 days ago. I wonder if the user has uninstalled the app, removed their account, or just simply not connected to the internet.
I have read:

Still visible after I deleted my WhatsApp account
Whatsapp - last time seen online - what does it mean?
WhatsApp FAQs with "delete" keyword

but still unsure. I assume the user didn't block me since I can see their last seen date.
What happens with the last seen date if the user uninstalls WhatsApp or deletes their account? Do I see the last timestamp that the user became online, or is it visible at all?

If a user uninstalls WhatsApp, the last seen date will be the last time they use the app.

If a user deletes their account, then the account itself will be nonexistent. The user's name will disappear from the user's list itself (just like contacts who don't have WhatsApp aren't listed)

Since the last seen date is shown, the user hasn't blocked you. From WhatsApp FAQ,

There are a couple of indicators that you may be blocked:

You can no longer see a contact's last seen or online in the chat window. Learn more here.
You do not see updates to a contact's profile photo.
Any messages sent to a contact who has blocked you will always show one check mark (message sent), and never show a second check mark (message delivered).
Any calls you attempt to place will not go through.

If you see all of the indicators above for a contact, this could mean that the user is blocking you. However, there are other possibilities. We have made this intentionally ambiguous in order to protect your privacy when you block someone. Thus, we cannot tell you if you are being blocked by someone else.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Cant download any pictures/files/movies from the Internet on my Samsung Galaxy S2
Yesterday I downloaded a video online from the Internet on my Samsung Galaxy S2. When it took too long time, I stopped the download and pressed deactivate and force stop. I tried to download the video again, but it would not download to my phone.
I tried to restart the phone, and download some pictures or other videos but there is nothing downloading to my phone. When I press "save link" on a picture to download the picture, it comes up a messasge "starts downloading", but nothing happends and I have looked everywhere to find the picture.
What can I do to make it download again?

Please share which video you are trying to download. Atleast tell use the websites where you try to download pics from.

I will come back to you with a link for the video. The pictures are from www.weheartit.com Earlier when I have downloaded images from we heart it, it has been no problem. COMMENT

Is your internet connection fast enough to download files ?
What Android version do you have ?


text:
My Galaxy S3 refuses connection to home WiFi
I first go into settings
then I go into and turn on Wi-Fi
but every time I try to connect to my Wi-Fi it say "connecting, authenticating, disabled "
and all my other devices connect perfectly

Looks like you've stored the wrong credentials on your S3. Try to remove the network from your WiFi list, and add it again. Does that work? If not, can you check logcat?

Also make sure that your wifi router doesn't have a maximum connections setting, you could also try making it an open network and see if it works then.

Also make sure you don't have MAC address filtering enabled.

Forget the Wifi Network you are trying to connect to from your mobile.
Turn Off your Router & Turn it ON.
Try connecting to this Wifi Network again

For other users than asker: First, try if other devices have the same problem.
If not, then simply:

Disable and re-enable connection. (I know, restarting is against Linux philosophy)
Delete the WiFi network from your list.
Re-add the WiFi network. It is possible that some settings were messed up, or that a WiFi configuration has changed.

As other said,

Reboot the Router and remove the plug from socket to cut off the power for a few seconds (say 5 seconds)

Forget the Wifi Network on your device.

Restart your device as well.

Now try to connect. If not connecting, share the screenshot.

That answer has already been given.


text:
Tamil Font not supporting in Facebook and tamil websites
I am suresh from riyadh, sAUDI ARABIA last week i bought Samsung-Galaxy-S-DUOS-GT-S7562 mobile ..    i am facing a problem for Tamil font not supporting in facebook and tamil news.. Please help me..

Please check out the following question an its answers: How to make an Android device to display complex rendering of Indic characters?

You Must install the India Version of Firmware for your mobile. you can get the indian version of the firmare at SAMMOBILE SITE


text:
Which modem firmware for Samsung Galaxy S (GT-I9000) works best with the mobile networks in Russia?
Trying to use a Samsung Galaxy S device coming from China or Korea in Russia lead to the observation that the quality of the connection to the mobile network is much worse than on Samsung Galaxy S we used previously (which was bought in Russia).
I have installed CyanogenMod 10.0 on the device in the hope that the mobile network connection quality would improve. But that doesn't seem to be the case.
Now I see information that there are different firmware available for the modem; one should try to flash them to get modem working well in a specific region --https://android.stackexchange.com/a/44021/13117:

Well, I guess you should flash another modem file, which is working
  well for your region/carrier (use google . A modem file defines how
  the radio part of your phone works, it has an influence on signal
  strenght/network speed (and might have influence on battery life,
  too).

and http://forum.xda-developers.com/showthread.php?t=1158783 lists a lot various modem firmware for the device.
Which one to choose for Russia, Moscow (Megafon mobile network)?
(The one that was working bad for us is XXJPK, and--on another device from China or Korea--SPJG2, which also has bad/unstable signal, but not as bad as XXJPK. After the installation of CM10, XXJPK on that device was replaced with XXJVT, which again has very bad signal.)

Don't confuse device-firmware with radio-firmware. When talking about "modem file", this most likely rather refers to the latter. Watch out for a fitting RUU (RadioUnitUpdate), not ROM (e.g. CyanogenMod). For details, you might want to check the corresponding tag wikis, e.g. radio-firmware tag wiki.

Perhaps I should take into account this experience: http://android.stackexchange.com/a/28397/13117 .

I want to try JW1, JW4, JVU firmware -- http://forum.xda-developers.com/showpost.php?p=30857771&postcount=1277 : "JVU: Great battery life, ok signal, ok call quality
JW4: Awesome battery life, good signal, ok call quality
JW1: Ok battery life, Awesome signal, awesome call quality
" But another post says JVT was better than JVU in Germany -- http://forum.xda-developers.com/showpost.php?p=26491440&postcount=1084 , so I'm in doubt (because XXJVT from CM10 works badly for us).

(Initially, the device had XXJPK radio firmware, and it worked bad in Moscow (Megafon operator). Another device had SPJG2 radio firmware, and it worked a bit better here.)
Then I tried:

XXJVT, which was installed together with CM10. And it worked almost as bad again (no signal in our apartment, where previously another Samsung Galaxy S had connection);
JW1, JW4 (radio-cm-7-GalaxyS-JW4-signed.zip), which were bad again;
Modem_XXJVT-CWM3.zip (again XXJVT) couldn't be installed into my device with CM10 from my CWM-based recovery (something incompatible); radio-cm-7-GalaxyS-JVT-signed.zip, which worked bad;
and, finally, ZSJPG_ICS.CM.I9000.zip (from CM10 files) works better! -- it has better signal in many places (but not as good as some other old mobile telephones with the same SIM card in the same places). (I saw a good reference to ZSJPG in a message at xda-developers from April 2012: "What do you prefer for a good stable rom in Holland? -- ZSJPG..best modem ever made"; I started searching for it because I saw it among the popular/most-downloaded radio-modem-firmwares for SGS at 4pda.ru (in Russian); in another thread at 4pda.ru (in Russian), it is listed among the modems for Asia, and there is a comment below saying that JPG was the only one that worked good for that person in an office building.)

(Feel free to give other good tested radio firmwares here, if you have some experience or information!)

But even the best results on this device (this instance) are very bad; much worse than on another such device or other phones. So I believe it has broken hardware.


text:
Can Android phones/tablets access W-Fi network drives?
There are many WLAN routers currently available which have a USB port to connect external HDDs. These are than easily available on Windows machines directly in Windows Explorer, they look like common network drives.
If I used an Android-based smartphone or a tablet which support WLAN, would it be possible to access these network drives somehow? I'm entertaining the idea of getting a tablet, and it's important to know if I can access a larger storage than what would be available locally via an SD card (if such a slot even would be present on a particular specimen).

I believe most of these routers mount your drive as a network samba share (like windows file sharing), which android phones can access with apps, like ESFilexplorer or AndSMB. They can stream off it or download files to SD card.

I used ES File Explorer on Android phone to access a hard disk attached to a Wi-Fi router and it was able to play content directly without copying to my phone.

Can you please add details as to how you achieved this?


text:
Toggle "Unknown Sources" with Tasker
Is it possible to toggle the Unknown Source setting with Tasker? I couldn't find such a setting. I also tried the Secure Settings Plugin there is also no action for this.
What I want to achieve is to set this setting on when I start the Amazon AppStore and switch it off when I close it again.
Samsung Galaxy Note, Android 4.1.2 Jelly Bean

This can't be done in a totally automated fashion, as indicated by the accepted answer to this StackOverflow question. Basically, it's against the Android security model to allow Unknown Sources to be changed programmatically.

I think AutoShortcut can do the trick:

AutoShortcut is a plugin for Tasker or Locale that allows you to run any of your installed apps' shortcuts.

Wouldn't you need a shortcut to toggle Unknown Sources for that to work? I'm not aware of any such thing.

The device seems rooted because Secure Settings is mentioned. I have v1.3.6 installed and it does allow toggling "Unknown sources".
All you have to do in Tasker is:

Create App context profile and choose Amazon Appstore or your favorite app.
To enable Unknown sources when Appstore is launched:

Create a task with action as Plugin → Secure Settings:

Under Configuration, go to System+ Actions →Unknown Sources → On, and save it.

Alternatively, if Secure Settings still doesn't have such option then create an action as Code → Run Shell, and type:

Command: settings put global install_non_market_apps 1
Check Use Root

Explanation:

settings would update settings.db database file (part of com.android.providers.settings).
global is the table which holds the key (install_non_market_apps) responsible for toggling Unknown Sources.

To disable Unknown sources when Appstore is closed:
More or less, once the Appstore is closed you'll come back to home screen (default Launcher). In that case:

Create App context profile and choose your default launcher.
Create a task with action as Plugin → Secure Settings:

Under Configuration, go to System+ Actions →Unknown Sources → Off, and save it.

Or, alternatively, create an action as Code → Run Shell, and type:

Command: settings put global install_non_market_apps 0
Check Use Root

Your objective is now completed! Launch your Appstore and Unknown sources would get enabled. Come back to Launcher and Unknown sources would get disabled.

Ahh, forgot to mention that my solution is tested on Android 4.2.1 JB.


text:
Cannot tether to Windows phone - SSID shows an asterisk
I have a Neuropad 2 running Android 4 ICS, and it is generally OK when using WiFi.
I want to tether it to my HP phone running Windows 6, which means I have to use the WMWiFiRouter app. Unfortunately, this app only offers WEP encryption, which doesn't bother me from a security standpoint.
The tablet picks up the SSID, and registers it when given the password, but will not connect to it. Instead, in the WiFi settings, it says "saved, secured with WEP", and when given the command to connect, does nothing.
What I find odd is that in the pad's WiFi settings, my own routers are simply identified with their SSIDs, but the one for the phone has an asterisk in parentheses immediately before it i.e. (*)HP_Phone - saved, secured with WEP
I do not know what this indicates, or why it is refusing to connect.
Any enlightenment would be appreciated.


text:
If I flash a custom recovery img, will I be able to boot the normal old system?
Can I flash a custom recovery (say, the one from Replicant with heimdall flash --kernel path/to/recovery.img, or ClockWorkMod) and then be able to boot the old system?
Without reinstalling the main OS of my Samsung Galaxy S.
I'm interested in using the commands from the recovery system without re-installing the main system.

Perhaps, that's a wrong heimdall command if you want just to get a custom recovery mode, isn't it? -- http://android.stackexchange.com/q/44106/13117

I just tried this, going from TWRP and LineageOS flashing the Replicant Bootloader.
First of all you will have to flash it using the command from the replicant guides: https://redmine.replicant.us/projects/replicant/wiki/RecoveryInstallationWithHeimdall#Flash-the-recovery-image (archive)
I won't include the table in that link, this question is not about that, but do note that some devices need you to flash to the BOOT sector of your device. This means you won't be able to boot the previously installed system. Needless to say, I was not able to boot LineageOS going from TWRP to Replicant bootloader.
However, if you were to go from stock to TWRP, most TWRP installation processes do not cause any data loss and will allow you to boot the previously installed system, see for example: How to flash and root OnePlus 3T on Linux? or Rooting already unlock phone without losing data, possible?
However, unlocking a stock bootloader will usually cause the device to factory reset (resulting in data loss), so if you need to unlock to install a custom bootloader you will not be able to boot your previously installed system. See Why does unlocking the bootloader wipe phone?
Upgrading a bootloader usually wont re-lock, or cause data loss. See Does upgrading bootloader wipe your data?

You can root your device without replacing the stock recovery or rom. However, if you ever want to flash a different ROM you will need to flash another recovery like ClockWorkMod or TWRP.
You can even run the stock rom with a 3rd party recovery but you most likely won't be able to take OTA OS updates since those require the stock recovery.

Yes, I wanted to "run the stock rom with a 3rd party recovery". Unfortunately, my command didn't result in such a configuration. So I was in doubt whether this is possible at all.

Once you have root and SU installed you can install ROM Manager and flash either CWM or TWRP from ROM Manager app. But, what benefit is there to 3rd party recovery if you aren't going to flash ROMs?

Flashing recovery does not affect your system.
So, totally, OF COURSE!


text:
Is rooting 4.2.2 really this complicated?
On 4.2 (or was it 4.1?) it was really just a few keypresses in the Nexus 4 Toolkit, or downloading a simple app. With the current version 4.2.2 however, rooting has become a huge task, apparently.
I've been trying to root my Nexus 4 (running 4.2.2) but the Nexus 4 Toolkit says it's offline. From my searches it turns out that 4.2.2 has extra "security" that makes this harder than it used to be. I'm not a developer but there's something about telling my phone that the PC that wants to root it is trusted.
I found this 14-step guide in which I am asked to install a developer toolkit, install Eclipse, and a few other things. My impression is that this is like shooting sparrows with cannonballs.
Is it really this difficult, or am I totally missing the goal here?

My further investigation indicates that the Nexus 4 Toolkit isn't the best one to use - in fact it doesn't seem to work at all with 4.2.2.
Instead, the Nexus Root Toolkit seems to work well with 4.2.2 and is basically a one-click installer. Download from the linked page and run it; it will do the rest by itself and/or give you simple instructions when needed.
Update: I've just completed the rooting process with this tool. Worked well and was simple enough. Note that after completing the process, I had to download and install the Superuser app from the Play Store - this step was not completely evident, but simple to do.


text:
Navigation voice not loud enough
I have a Galaxy S and I love using my navigation app. The problem is she isn't loud enough. I think I have the speaker turned all the way up. Is there way to make it louder? It's a straight talk if that matters.

I often find the navigation voice isn't loud enough on my Galaxy Nexus, so I don't think it's specific to your device.

She? I'm pretty sure mine's a "he"!?

There are sevelar volume booster available on the Google Playstore, as e.g. Speaker Boost or Volume Booster (for more alternatives, try this search). You might want to give one of them a try.


text:
How to flash a custom recovery with heimdall (without touching the main system)?
The first recommended step in the installation of CyanogenMod on Samsung Galaxy S is flashing a custom recovery like ClockworkMod or the one from Replicant with a command like:
heimdall flash --kernel path/to/recovery.img

Now I feel that the instructions might be misleading:
I have done the first step wanting just to have a custom recovery mode, without proceeding to replacing the main OS on the device.
It seems I have done that wrong, because the device now always boots into the recovery mode.
What would be the correct heimdall command to just install a custom recovery system without touching the main system?

BTW, is there a way to restore booting into the old main system now?

It worked for me. But AFAIK it depends on the version of the stock ROM you have: Some custom recoveries are able to boot it, others not. I guess there is no general way.

@Flow So, the recovery mode and the normal mode are supposed to use the same image when booting? I was thinking that perhaps there are two different images for the different boot modes, and I replaced the wrong one by mistake, and that's the source of my problem: booting always into the recovery system (no matter whether other keys are pressed when powering up) after I executed the flashing command from the post, although I would really like to boot the old main system.

No, if the custom kernel/recovery boots always into recovery then it's usually a sign that it is unable to find/boot the normal system.

He just needed to rerun print-pit cmd, then flash his boot.img into the partition where he'd flashed recovery.img, no? In my experience, they are almost always right next to each other.

It depends on your PIT partition file.
Before you do anything using heimdall, print the partition table of your phone.
sudo heimdall print-pit

The output of the file is the location assigned to each partition. For example on my Galaxy S3, I have something like this:
--- Entry #20 ---
Binary Type: 0 (AP)
Device Type: 2 (MMC)
Identifier: 19
Attributes: 5 (Read/Write)
Update Attributes: 1 (FOTA)
Partition Block Size/Offset: 491520
Partition Block Count: 32768
File Offset (Obsolete): 0
File Size (Obsolete): 0
Partition Name: Kernel2
Flash Filename: recovery.img
FOTA Filename:

Now this tells me 3 main things:

Name the flash file: recovery.img
Location of the identifier 19
And finally the name of the recovery partition Kernel2

What does this means?
This means if I want to flash a recovery image I should use either the identifier 19, or the name Kernel2.
sudo heimdall flash --19 any-type-of-recovery.img

or
sudo heimdall flash --Kernel2 any-type-of-recovery.img

Bottom Line: Look at the pit file to figure out where to flash your recovery.
Cheers,
Mel

Just a note for others, if the recovery.img flash is successful but you let your device reboot as normal straight after, the boot image will likely remove the custom recovery image. Either use adb or use the recovery mode key combination as soon as heimdall is successful.

One effective way with Heimdall is to just run
sudo heimdall flash --RECOVERY twrp.img
Worked for me on an S3 AT&T
Then when phone reboots, go into recovery via
adb reboot recovery

I also used --no-reboot flag. Otherwise the system booted and later on an official recovery seemed to be reinstalled so I couldn't enter TWRP. And thank You by the way.

I do not know the partition mapping of the SGS, so my only suggestion would be to use the GUI (heimdall-frontend) and select the recovery partition only. As of restoration of the original system, my suggestion is to reflash the original ROM without touching /data. But backup it first using an advanced custom recovery like this one if possible: http://forum.xda-developers.com/showthread.php?t=2201860 (the key feature is custom backup/restore)

But what if I destroy the original OS when flashing the custom recovery? In my case, I flashed a custom recovery, but the OS doesn't boot after that... swhat could go wrong? That is something I didn't expect: I just wantee to flash a custom recovery, but do not install a new main OS. Now I'm forced to do that.

heimdall flash --Recovery /Path/recovery.img --Kernel /Path/recovery.img

Replicant OS Recovery install


text:
Can I flash another modem firmware from a CWM recovery (and not touch the main installed OS otherwise)?
On a Samsung Galaxy S, I followed the complete instructions for installing CyanogenMod 10, and now I have CM10 as the main system, and a ClockWorkMod-based recovery system (from Replicant), which is bootable by holding VolUp and VolDown when powering up the device. (BTW, CM10 allows to choose to reboot into recovery through the usual PowerOff menu.)
If I store .zip with another modem firmware (a radio image from the list at http://forum.xda-developers.com/showthread.php?t=1158783) on /sdcard/, can I flash it from the recovery mode (so that the main system will be not touched otherwise and will work as before)?
(The .zip content looks like this:
$ unzip -l radio-cm-7-GalaxyS-JW4-signed.zip
Archive:  radio-cm-7-GalaxyS-JW4-signed.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
   478916  05-31-11 15:37   busybox
    59848  05-31-11 15:37   erase_image
     1096  05-31-11 15:37   META-INF/CERT.RSA
      551  05-31-11 15:37   META-INF/CERT.SF
   224244  05-31-11 15:37   META-INF/com/google/android/update-binary
      594  05-31-11 15:37   META-INF/com/google/android/updater-script
      498  05-31-11 15:37   META-INF/MANIFEST.MF
 12582912  03-16-12 04:47   modem.bin
      888  05-31-11 15:37   updater.sh
 --------                   -------
 13349547                   9 files
$

Although modem.bin files in two of the archives I've looked into don't differ in size, they do differ; and that's the only difference between the two archives.)

if your "modem firmware" is, as your tag selection suggests, a radio image, this should not touch anything but the radio firmware (which resides in a separate area). No guarantees, however -- as when the radio image is broken, you won't boot anywhere. So make sure you really have the correct one!

@Izzy Yes, I meant a firmware image from the list at http://forum.xda-developers.com/showthread.php?t=1158783

@Izzy Re "you won't boot anywhere" -- even into the recovery mode to flash another radio image?

What confuses me in that thread is the naming of radio-cm-7-* -- what has a radio to do with CM (CyanogenMod)? (but from the size, the archives cannot hold an entire CM7 ;) Also, those are a bit old, right? 2011?

"not anywhere", no. If the radio is broken, all that's left is a nice brick. Think of breaking the BIOS on your computer -- it also won't boot anything then.

Well, it did work.

Congrats! I no longer worry flashing some ROM, but with the radio image I'm always on alert (and glad when not needed or at least done :) -- So maybe you want to sum up an answer, and then accept it 2 days later?

@Izzy I'm thinking about writing a script that'd gather statistics for a list of different modem firmware, so that I can choose the best. It should run in the main system (say, CyanogenMod), get the next firmware from the list, save it, and reboot the device into recovery (modified CWM). The modified CWM, if it sees a radio firmware to test in a specified location, should flash it and reboot into CM. Then the script should be run automatically, test the connection quality with some test, save the result, and loop (to the beginning). There should be a break/confirmation button for intervention


text:
Jelly bean phone won't let me get to the APN setting
I just bought a android Jelly Bean phone and I use straight talk, I still have a active Sim card, but the phone won't let me get to set the Apn. When I press on settings for the Apn I doesn't go there. Is there another way to get there to set the APN? Please help. Thank you

Do you get to the list of APNs? Maybe a screenshot indicating what you are trying might help.

I agree that it was a little misleading / not-leading to anywhere. With the following steps Jelly Bean (v4.1.2) let me go set a new APN with Samsung Galaxy S 4G Relay:

Settings --> may need to press More settings --> Mobile Networks --> Access Point Names
Press the "button that leads to setting page" (sorry I don't know how to call this button. On my device it's one of the three main hardware buttons where the others are "Back", "Home"). There you'll see New APN and Reset Default.