Yeah, thats what I did with my Moto X. Its actually really nice not being in contract since I get to keep my unlimited data. Also, I have the opportunity to upgrade whenever I want cause I have newer equipment I can afford to sell and cycle the revenue into the next new phone.
The only way to stop Vzw from having knowledge of your root is to not let the app EVER run.
You could look at it as Motorola is responsible for warranty, after all the Moto Maker and Dev Editions are purchased directly from Moto, not Verizon... but what about those who have a "pre-moto maker" X from Verizon, or a Galaxy S4, Galaxy S3, LG G2, HTC One, etc.. all the Non-Moto Verizon devices? They are purchased from Verizon, and Verizon handles the warranty. So as I posted earlier, VZW could certainly use this information to flag your account that your device warranty is voided should you call in for support.Folks worry too much. Vzw can't and won't do anything to you. The issue is with Motorola, as root voids their warranty. And Motorola already knows if your phone has root by simply pinging it. I had this done first hand last year in my RAZR m.
Think of it this way: rooting is like modding your car. Sure, it may void the warranty that has either expired or is about to, but the parent company won't seize your car, and its still street legal.
BTW, I granted access just to see what would happen. And guess what, nothing.
Sent from my XT1060 using Tapatalk
Folks worry too much. Vzw can't and won't do anything to you. The issue is with Motorola, as root voids their warranty. And Motorola already knows if your phone has root by simply pinging it. I had this done first hand last year in my RAZR m.
Think of it this way: rooting is like modding your car. Sure, it may void the warranty that has either expired or is about to, but the parent company won't seize your car, and its still street legal.
BTW, I granted access just to see what would happen. And guess what, nothing.
Sent from my XT1060 using Tapatalk
package com.vzw.hss.myverizon.rdd.a;
import android.content.Context;
import android.location.LocationManager;
import android.nfc.NfcAdapter;
import android.nfc.NfcManager;
import android.os.Build;
import android.os.Build.VERSION;
import android.provider.Settings.Secure;
import android.provider.Settings.System;
import android.telephony.TelephonyManager;
import android.view.Display;
import android.view.WindowManager;
import com.vzw.hss.connectionmanager.e;
import com.vzw.hss.myverizon.MyVerizonApplication;
import com.vzw.hss.myverizon.rdd.a;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Locale;
import java.util.TimeZone;
import org.json.JSONObject;
public final class d
{
private static String a(Context paramContext)
{
try
{
int j = Settings.Secure.getInt(paramContext.getContentResolver(), "adb_enabled");
i = j;
}
catch (Exception localException)
{
for (;;)
{
a.a("Exception: " + localException.getMessage());
int i = 0;
continue;
String str = "YES";
}
}
if (i == 0)
{
str = "NO";
return str;
}
}
public static JSONObject a()
{
Context localContext = MyVerizonApplication.a();
JSONObject localJSONObject1 = new JSONObject();
try
{
localJSONObject1.put("Model", Build.MODEL);
localJSONObject1.put("Manufacturer", Build.MANUFACTURER.toUpperCase());
localJSONObject1.put("Kernel Version", System.getProperty("os.version", "NOT RETRIEVABLE"));
localJSONObject1.put("Build ID", Build.ID);
localJSONObject1.put("Android Debug Enabled", a(localContext));
String str1 = Settings.Secure.getString(localContext.getContentResolver(), "android_id");
String str2;
String str3;
if (str1 == null)
{
str2 = "NOT RETRIEVABLE";
localJSONObject1.put("Device ID", str2);
if (Build.VERSION.SDK_INT < 14) {
break label497;
}
if (Build.getRadioVersion() != null) {
break label489;
}
str3 = "NOT RETRIEVABLE";
}
TelephonyManager localTelephonyManager3;
String str12;
label184:
TelephonyManager localTelephonyManager4;
String str13;
label213:
label222:
String str6;
label281:
String str8;
label387:
label426:
String str9;
for (;;)
{
localJSONObject1.put("Baseband Version", str3.toUpperCase());
if (!e.f(localContext)) {
break label589;
}
String str10 = g.b(localContext);
if ((str10 == null) || (str10.isEmpty())) {
break label518;
}
localJSONObject1.put("IMEI", str10);
localTelephonyManager3 = (TelephonyManager)localContext.getSystemService("phone");
if (localTelephonyManager3 != null) {
break label569;
}
str12 = "NOT RETRIEVABLE";
localJSONObject1.put("IMSI", str12);
localTelephonyManager4 = (TelephonyManager)localContext.getSystemService("phone");
if (localTelephonyManager4 != null) {
break label579;
}
str13 = "NOT RETRIEVABLE";
localJSONObject1.put("ICCID", str13);
WindowManager localWindowManager = (WindowManager)localContext.getSystemService("window");
if (localWindowManager == null) {
break label697;
}
str6 = localWindowManager.getDefaultDisplay().getWidth() + " x " + localWindowManager.getDefaultDisplay().getHeight();
localJSONObject1.put("Screen Size", str6);
localJSONObject1.put("Language", Locale.getDefault().getDisplayName());
localJSONObject1.put("Time Zone", TimeZone.getDefault().getDisplayName());
localJSONObject1.put("OS Version", Build.VERSION.RELEASE);
localJSONObject1.put("Rooted", b());
localJSONObject1.put("Screen Timeout", b(localContext));
NfcManager localNfcManager = (NfcManager)localContext.getSystemService("nfc");
if (localNfcManager == null) {
break label673;
}
NfcAdapter localNfcAdapter = localNfcManager.getDefaultAdapter();
if (localNfcAdapter == null) {
break label748;
}
if (!localNfcAdapter.isEnabled()) {
break label740;
}
str7 = "ON";
localJSONObject1.put("NFC", str7);
LocationManager localLocationManager1 = (LocationManager)localContext.getSystemService("location");
if ((localLocationManager1 == null) || (!localLocationManager1.isProviderEnabled("gps"))) {
break label689;
}
str8 = "ON";
localJSONObject1.put("Standalone GPS", str8);
LocationManager localLocationManager2 = (LocationManager)localContext.getSystemService("location");
if ((localLocationManager2 == null) || (!localLocationManager2.isProviderEnabled("network"))) {
break label681;
}
str9 = "ON";
label465:
localJSONObject1.put("Network Location Provider", str9);
localJSONObject2 = localJSONObject1;
break label704;
str2 = str1.toUpperCase();
break;
label489:
str3 = Build.getRadioVersion();
continue;
label497:
if (Build.RADIO == null) {
str3 = "NOT RETRIEVABLE";
} else {
str3 = Build.RADIO;
}
}
label518:
TelephonyManager localTelephonyManager2 = (TelephonyManager)localContext.getSystemService("phone");
if (localTelephonyManager2 != null)
{
str11 = localTelephonyManager2.getDeviceId();
if ((str11 != null) && (!str11.isEmpty())) {}
for (;;)
{
localJSONObject1.put("IMEI", str11);
break;
label569:
str12 = localTelephonyManager3.getSubscriberId();
break label184;
label579:
str13 = localTelephonyManager4.getSimSerialNumber();
break label213;
label589:
String str4 = g.b(localContext);
if ((str4 != null) && (!str4.isEmpty()))
{
localJSONObject1.put("MEID", str4);
break label222;
}
TelephonyManager localTelephonyManager1 = (TelephonyManager)localContext.getSystemService("phone");
if (localTelephonyManager1 == null) {
break label733;
}
str5 = localTelephonyManager1.getDeviceId();
if ((str5 == null) || (str5.isEmpty())) {
break label726;
}
localJSONObject1.put("MEID", str5);
break label222;
label673:
str7 = "Feature Not Supported";
break label387;
label681:
str9 = "OFF";
break label465;
label689:
str8 = "OFF";
break label426;
label697:
str6 = "NOT RETRIEVABLE";
break label281;
label704:
return localJSONObject2;
str11 = "NOT RETRIEVABLE";
}
}
}
catch (Exception localException)
{
for (;;)
{
JSONObject localJSONObject2 = null;
continue;
String str11 = "NOT RETRIEVABLE";
continue;
label726:
String str5 = "NOT RETRIEVABLE";
continue;
label733:
str5 = "NOT RETRIEVABLE";
continue;
label740:
String str7 = "OFF";
continue;
label748:
str7 = "Feature Not Supported";
}
}
}
private static String b()
{
String str = "YES";
try
{
BufferedReader localBufferedReader = new BufferedReader(new InputStreamReader(Runtime.getRuntime().exec("su -c ls").getErrorStream()));
char[] arrayOfChar = new char[17];
if ((localBufferedReader.read(arrayOfChar) == arrayOfChar.length) && (new String(arrayOfChar, 0, arrayOfChar.length).trim().equalsIgnoreCase("permission denied"))) {
str = "NO";
}
return str;
}
catch (Exception localException)
{
for (;;)
{
str = "NO";
}
}
}
private static String b(Context paramContext)
{
int i = 0;
try
{
i = Settings.System.getInt(paramContext.getContentResolver(), "screen_off_timeout");
if (i > 0) {
i /= 1000;
}
if (i < 0)
{
str = "NEVER";
return str;
}
}
catch (Exception localException)
{
for (;;)
{
a.a("Exception: " + localException.getMessage());
continue;
String str = i + " SECONDS";
}
}
}
}
Conspiracy theory moment:
Maybe they're after the people who paid the chinese seller for unlock codes. Uh oh. ?
Or any root exploits in general....when the phones have bootloaders that should not have been able to be unlocked and technically should never have been able to be rooted. ?
Sent from my N5, N7, Moto X, G Tab 3 or S2.....
Isn't the Developer Edition unlocked so that you can do things like root and make changes?
No, the Developer Edition is not unlocked by default. It still needs to be unlocked but Motorola will give you the code if you ask. And by ask I mean go through their website and request the code.
I've got a Developer Edition but if Verizon asks for SU permission I'll just uninstall the app.