5,605,904 Members 47,393 Now Online
XDA Developers Android and Mobile Development Forum

[DEV/WIP} Quest to enable "Roam Only" mode on the GS3

Tip us?
 
freeza
Old
(Last edited by freeza; 24th July 2012 at 01:43 AM.)
#1  
freeza's Avatar
Recognized Developer - OP
Thanks Meter 9199
Posts: 4,222
Join Date: May 2006
Location: Pasadena, CA

 
DONATE TO ME
Default [DEV/WIP} Quest to enable "Roam Only" mode on the GS3

Wellllllll, so far I have got to the point where the option shows up--which I suppose isn't very difficult for anyone to do at all. But I've also made all of the smali edits that would have made this work on an HTC phone. In fact, it did work on the EVO LTE, except on the GS3 it doesn't. This leads me to believe that I'm either in a file that doesn't get noticed by the system, or the values I'm changing are wrong.

Maybe one of you very talented developers on XDA can lend a hand so we can all benefit from this much needed feature.

Current Phone: Sprint Galaxy Note 3
ROMs: Galaxy Note fre3 2.12 | Stock Rooted KitKat 4.4.2 N900PVPUCNC5
Sites: freeza inc. | free HQ Mobile Wallpapers&Ringtones
Facebook: Add me | Google Talk: @gmail.com
The Following 18 Users Say Thank You to freeza For This Useful Post: [ Click to Expand ]
 
freeza
Old
(Last edited by freeza; 24th July 2012 at 06:36 PM.)
#2  
freeza's Avatar
Recognized Developer - OP
Thanks Meter 9199
Posts: 4,222
Join Date: May 2006
Location: Pasadena, CA

 
DONATE TO ME
So, I started off thinking that this would be a very straight forward and easy thing to do. Boy was I wrong. hah.. Basically, on the HTC EVO line, it went something like this

Decompile Phone.apk, change a few things in smali and add the appropriate values in arrays.xml and hope for the best. I quickly discovered that on the GS3, things didn't work out quite in the same way.

First, you decompile SecPhone.apk

Navigate to /res/values-en-rUS/arrays.xml

To get our Roam Only option to show up, this is the file we're going to edit. You can either do a quick search for "Sprint Only" or just look a little bit below, it's pretty much right there at:

Code:
<string-array name="roaming_mode_entries">
Go ahead and add your Roam Only line[s]:
Code:
<item>Roam Only</item>
I chose to add multiple lines for testing purposes but you can choose to do only one if you're confident this won't be much trouble :P

Next we'll have to add the values that our options will point to, which is directly below the roaming_mode_entries section:
Code:
<string-array name="roaming_mode_values">
Go ahead and add your value[s] after 1:
Code:
<item>2</item>
I added as many as I did for the first one, so it went all the way up to 5 in my case. Hey, you never know! I was hoping at least one of them would work.

This was the easy part, now the part I'm actually stuck on.

Navigate to /com/android/phone/ Now my original theory was to look for files that were similar in structure to the EVO which I found under CdmaSystemSelectListPreference$MyHandler and CdmaSystemSelectListPreference and go from there. I was either wrong in this assumption or not doing something right because no amount of changes I made to them had any effect on roaming. The EVO used slightly different files, which were named CdmaRoamingSelectListPreference and CdmaRoamingSelectListPreference$MyHandler respectively. The first two files were similar enough that the changes made on the evo could also be made here, which are:


In CdmaSystemSelectListPreference Search for:
Code:
    :pswitch_4c
    const/4 v2, 0x3
Now, yours may say something slightly different, like pswitch_1, but it is around a group of switches, like this:
Code:
    :pswitch_4a
    const/4 v2, 0x2

    goto :goto_2f

    :pswitch_4c
    const/4 v2, 0x3

    goto :goto_2f

    :pswitch_4e
    const/4 v2, 0x4
The middle one is what we're focused on, so I changed it from 0x3 to 0x1 like on the EVO. Easy enough right? Save and close that then navigate to the second file labeled CdmaSystemSelectListPreference$MyHandler.

Search for that same block of switches:
Code:
    if-eqz v2, :cond_34

    const/4 v3, 0x2

    if-eq v2, v3, :cond_34

    const/4 v3, 0x3

    if-eq v2, v3, :cond_34

    const/4 v3, 0x4

    if-ne v2, v3, :cond_54
Yours may look slightly different with cond_ and such, but the same block should be present. The middle one again is what we're focused on. Change it from 0x3 to 0x1 like on the EVO then save and close. These two edits along with the arrays.xml enabled Roam Only on the EVO. Fairly simple right? Well, on this phone they do absolutely nothing. So after hours of playing around with different values, I decided to look elsewhere, namely the files labeled "Roaming" in the /com/android/phone/ folder. There are a lot of them, but we can safely ignore most of the ones that don't look like they have anything to do with selecting Roaming preferences. For example: RoamingAutoDialOption and so forth. Now, these files seem like they are not cdma specific so that's why I never bothered to look at them before, but upon further inspection, there are some cdma elements in them.

Roaming.smali
RoamingSettings.smali
Roaming$MyHandler.smali
CdmaOptions.smali

These files are what I have narrowed it down to and have been working on. Problem is there are a ton of things to change in here and while I have tried to change some, it has resulted in phone force closes. Bad right? Not necessarily. It's given me more than the first two files did with all the changes I made to those! So I'm guessing that with the right edits to one or more of these files, we can get Roam Only to work.

So there you have it XDA.
Current Phone: Sprint Galaxy Note 3
ROMs: Galaxy Note fre3 2.12 | Stock Rooted KitKat 4.4.2 N900PVPUCNC5
Sites: freeza inc. | free HQ Mobile Wallpapers&Ringtones
Facebook: Add me | Google Talk: @gmail.com
The Following 5 Users Say Thank You to freeza For This Useful Post: [ Click to Expand ]
 
remf4i
Old
#3  
remf4i's Avatar
Senior Member
Thanks Meter 1563
Posts: 1,287
Join Date: Mar 2011
Location: Parkersburg
First off freeza your the man, I remember you from the evo 3d, and sorry if this is a dumb question I'm coming from the skyrocket I have a few roms over there but what will this benefit? Roaming burns up mins rite?

Sent from my SPH-L710 using xda premium
 
yousefak
Old
#4  
yousefak's Avatar
Senior Member
Thanks Meter 850
Posts: 1,785
Join Date: Sep 2010
Location: Salt Lake City, UT
Hey! Best of luck finding out how to do this. I can't exactly contribute to the project, but I do have 1 question.

When I switch to roam only mode for both voice and data, does it use roaming 2G by default or would I need to use a corporate PRL for roaming 3G?

Thanks
 
khtown84
Old
#5  
Junior Member
Thanks Meter 1
Posts: 25
Join Date: Sep 2010
Location: Houston, TX

 
DONATE TO ME
Quote:
Originally Posted by remf4i View Post
First off freeza your the man, I remember you from the evo 3d, and sorry if this is a dumb question I'm coming from the skyrocket I have a few roms over there but what will this benefit? Roaming burns up mins rite?

Sent from my SPH-L710 using xda premium
Wow, did u seriously just ask that beyond noob ass question?? How the hell do u get 500 thanks?? A buddy click ur meter up? Smh...
 
vinnythepooh
Old
#6  
Junior Member
Thanks Meter 6
Posts: 20
Join Date: Sep 2010
Location: Billerica, MA
Quote:
Originally Posted by remf4i View Post
First off freeza your the man, I remember you from the evo 3d, and sorry if this is a dumb question I'm coming from the skyrocket I have a few roms over there but what will this benefit? Roaming burns up mins rite?

Sent from my SPH-L710 using xda premium
I'm sure khtown84's reply didn't help so I'll explain. Sometimes us Sprint users will be on the edge of coverage and be flickering back and forth from roaming and Sprint's network. The roam only toggle will give us a solid connection to the roaming network. BTW Sprint gives user 300MB of data roaming before they contact you
The Following 5 Users Say Thank You to vinnythepooh For This Useful Post: [ Click to Expand ]
 
ycats
Old
#7  
Senior Member
Thanks Meter 119
Posts: 1,477
Join Date: Feb 2007
Location: Cane Ridge, Tennessee
Yep, we need Roam Only option.

Sent from my SPH-L710 using xda app-developers app
Phone history - Ericsson cf688, Samsung T1100, Kyocera 6035 (2), Samsung i300, Treo 300, Samsung i500, Treo 600, Hitachi G1000, PPC-6600, PPC-6700 (2), Samsung IP830W (2), Treo 700wx, HTC-Mogul, HTC Touch (2), HTC Touch Pro (4), HTC Touch Pro2 (2), HTC EVO 4G, HTC EVO 3D, Samsung Galaxy SIII, Samsung Galaxy Note-2, Samsung Galaxy Note-3, HTC One M8.
 
boboysdadda
Old
#8  
Junior Member
Thanks Meter 6
Posts: 22
Join Date: Jul 2008
Well I can't help with that. But I just flashed verizons 1.prl and had amazing service. But I heard if you roam to much they will just straight out cancel your contract. So I only ran it for two weeks. But it worked amazingly while I did. Was peaking at 1.4 Mbps download.

Sent from my SPH-L710 using XDA Premium HD app
 
mercado79
Old
#9  
Senior Member
Thanks Meter 376
Posts: 981
Join Date: Oct 2008
Location: Boston, MA
Quote:
Originally Posted by remf4i View Post
First off freeza your the man, I remember you from the evo 3d, and sorry if this is a dumb question I'm coming from the skyrocket I have a few roms over there but what will this benefit? Roaming burns up mins rite?

Sent from my SPH-L710 using xda premium
Quote:
Originally Posted by vinnythepooh View Post
I'm sure khtown84's reply didn't help so I'll explain. Sometimes us Sprint users will be on the edge of coverage and be flickering back and forth from roaming and Sprint's network. The roam only toggle will give us a solid connection to the roaming network. BTW Sprint gives user 300MB of data roaming before they contact you
just to piggy back on what vinny stated. sprint customers roam on verizon towers (most if not all the time). so, switching to roaming in many areas will often lead to better coverage. definitely a worthwhile endeavor, especially since the roam control app (roamctrl.com) isn't working and the dev isn't responding to any messages i've sent (email, twitter, etc.)

anyway, thanks for giving this a try freeza! i'm willing to test anything you throw my way.
Moto X
Stable ROM: Eclipse 3.2.1 via Safestrap (Kit Kat 4.4.2)

Google Nexus 7 FHD
Stable ROM: Rastakat
Alt ROM: Stock Rooted
The Following 2 Users Say Thank You to mercado79 For This Useful Post: [ Click to Expand ]
 
bigmase23
Old
#10  
Senior Member
Thanks Meter 275
Posts: 798
Join Date: May 2011
Quote:
Originally Posted by boboysdadda View Post
Well I can't help with that. But I just flashed verizons 1.prl and had amazing service. But I heard if you roam to much they will just straight out cancel your contract. So I only ran it for two weeks. But it worked amazingly while I did. Was peaking at 1.4 Mbps download.

Sent from my SPH-L710 using XDA Premium HD app
Um, you flashed verizons 1.prl and your on a sprint phone??
[SIGPIC][/SIGPIC]

THREAD CLOSED
Subscribe
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes