Lots of new fixes/goodies this build. Esc has full changelog above, but the big change ill talk about today is Synergy's new Setup Wizard & Activation/Provisioning Bypass. This option when selected in aroma fakes values making android think setup and activation were completed but really skips them all. This is different than the 4 tap bypass as we also fake the provisioning values to make the device think everything ran. To better explain why this is useful, lets look at the average Joe Schmo Android User.
- Joe Walks into VZW store, buys a brand new pretty GS3 phone so he can use the interwebs.
- Store Associate adds device ids to network, turns on phone, skips setupwizard usually and goes to the settings menu, checks the device got automatically provisioned and all that good stuff.
- Joe sets up his phone. Uses it for 10 years. During that time he might get an OTA update or two. On maybe one or two rare instances in the entire phone usage something breaks he will call tech support who will help him factory reset.
Now lets look at an XDA user:
- Walks into VZW store, tells the employee to shut up and give them a phone
- Goes home and logs onto XDA, roots device
- Continues to wipe data, weekly? daily? hourly? and flash every zip file known to man
Lets start back at step 2 in Joe Schmo's scenario. What actually goes on in this short period of time is important for us at least. The device boots a factory image not knowing who's going to buy it, it only has hardware keys and a carrier specific image programmed. It doesn't know your phone number or any other information until its told to care about it. That step where everything gets programmed is actually happening in the background during SetupWizard on first device boot. It calls home and says hey I'm alive now set me up, then the EFS gets programmed with new values. This is its own special code path meant really for new devices, its not exactly the same as say changing sim or updating profiles. Many other things are written to EFS in this stage as well such as CSC values and other initial setup information.
Now back to the average XDA user. Think of how many times we have gone through Setupwizard & this initial device activation. I'd imagine our Carriers could easily make a XDA vs Standard user graph from network data based on this process alone. Is this whole step even really needed? *Probably* not. The reason I say probably is because to the best of my knowledge, this has never been done before. To me it seems like a lot of unnecessary writing to EFS when an update is just not needed. In theory if your on generally the same system image I could see it working as all profile information is stored in partitions rom devs don't modify. As far as what happens after switching RIL/Radios/ROMs daily for 3 months and not activating, we just don't know. There may even be other scenarios we are not even considering yet, but with a limited sample size of a few testers things are going good so far. We fake everything and disable setup wizard using close to stock functionality so it is possible for the system to kick it back on if its really needed - you will just randomly see the SetupWizard screen again. Please report in if that happens.
While were on the subject mass reactivating and EFS updates - Has anyone ever tripped the IMEI reset by only doing a nandroid back to existing rom? Or has it always been wipe data, hit Setup Wizard, boot rom, check imei, gone. I ask because 2 layers of settings are applied at SetupWizard, CSCs and Network Profile information, both of which are written out to EFS. I know its a bit hard to test, but it would be interesting to know if anyone can hit it with Synergy's new Activation Bypass method.
Onto my first rant of the build. Samsung is "cheating" on certain benchmarks apps. Quadrant Standard, Professional & Advanced, RedLicense/RLabs Sqlite Benchmark, and some unknown package (com.samsung.spe.sqlitechecker) have different SQLite PRAGMA options changing journaling and sync options in framework. Samsung gets a wag of the finger from me on this one. These apps in general can not be considered accurate while testing on any version of the the gs3 or the note2.
As for the second rant, We found several more "backup" instances of SysScope's root detection processes- these have all been fully patched in this build. It is pretty interesting how persistent Samsung was in making sure this service could run, although its not exactly clear _why_ You can see one of the many secondary sysscope menus by running the below commands in a shell. Not Scanned is a failure along with true, false is a success. We are not exactly sure the purpose of all these secondary services (there are more than 4 spread across rom, some of which were sending special AT commands to radio) but they are all gonezo now.
am broadcast -a android.provider.Telephony.SECRET_CODE -d android_secret_code://HIDDENMENUENABLE
am broadcast -a android.provider.Telephony.SECRET_CODE -d android_secret_code://PROGRAM
Besides sysscope, CSCs appear to be capable of scanning /system/app/ and /system/media/ringtones and comparing it to the lists in system of what should be there. A list seems to be created of additional items and sent off as some kind of special RIL Command if a CSCCompare is called. We also made sure that doesnt happen anymore
we always want our users to look as stock as possible (to the network)
Here it is, new build. With these new options if I were buying a device today I would get it -> activate once on stock rom -> root -> imei backup original efs and save forever -> wipe -> dodge activation/setup as much as possible. I think this will help our users from all carriers not hit some of the issues we have been seeing, but only time will tell. As always though report in and let us know, ill be lurking