[T-Mobile, Samsung Galaxy SIII] jovy23:
[MOD][GUIDE] Device Status Info "Normal" Instead Of "Modified" Mod!

Hello to all Developers and XDA members! I have come here to give you a guide on how you can change the device status info from "Modified" to "Normal" and here is how you can do it!

What Is Required...

★ First you need to have experience and know how to decompile/recompile apks with Apktools, apkmanager, smali, and baksmali

★ Have 7-zip installed onto your computer/laptop

★ Make sure you have Notepad++ also installed!

★HOW TO CHANGE THE DEVICE STATUS INFO FROM "MODIFIED" TO "NORMAL"★

WHAT DOES THIS MOD DO: Instead Of The Device Status Showing As "Modified" It Now Shows As "Normal". So Now The Custom Rom Can Look More Like It's Stock.

STEP 1

★ Go into your system/app folder and take out your "SecSettings.apk"

★ Then use one of the applications such as apktools or apkmanager and then use the commands to decompile the SecSettings.apk

★ Once you have decompiled the SecSettings.apk, navigate and go to:

Now open up "Status.smali" with Notepad++ for editing:

Now for this part of this guide what I have highlighted in GREEN text is what you have to find using Notepad++, What you see in RED is the line you have to remove/delete, And also what you see in BLUE is the line you have to make the modified changes to:

SEARCH FOR METHOD:

[COLOR="Green"].method private changeSysScopeStatus()V[/COLOR]

NOW REMOVE THIS WHOLE ENTIRE LINE THAT YOU SEE IN RED ALL THE WAY DOWN TO THE .END METHOD:

[COLOR="Green"].method private changeSysScopeStatus()V[/COLOR]
[COLOR="Red"].locals 7

.prologue
const-wide/16 v3, 0x3e8

const v6, 0x7f090129

const/4 v5, -0x1

.line 827
const-string v0, "sysscope_status"

invoke-virtual {p0, v0}, Lcom/android/settings/deviceinfo/Status;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;

move-result-object v2

.line 829
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J

move-result-wide v0

div-long/2addr v0, v3

.line 830
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J

move-result-wide v0

div-long/2addr v0, v3

.line 832
const-wide/16 v3, 0x0

cmp-long v3, v0, v3

if-nez v3, :cond_0

.line 833
const-wide/16 v0, 0x1

.line 836
:cond_0
iget-object v3, p0, Lcom/android/settings/deviceinfo/Status;->mSysScope:Lcom/sec/android/app/sysscope/service/SysScope;

invoke-virtual {v3}, Lcom/sec/android/app/sysscope/service/SysScope;->isConnected()Z

move-result v3

if-nez v3, :cond_1

const-wide/16 v3, 0x78

cmp-long v0, v0, v3

if-lez v0, :cond_1

.line 837
invoke-virtual {p0, v6}, Lcom/android/settings/deviceinfo/Status;->getString(I)Ljava/lang/String;

move-result-object v0

.line 854
:goto_0
invoke-virtual {v2, v0}, Landroid/preference/Preference;->setSummary(Ljava/lang/CharSequence;)V

.line 855
return-void

.line 840
:cond_1
:try_start_0
iget-object v0, p0, Lcom/android/settings/deviceinfo/Status;->mSysScope:Lcom/sec/android/app/sysscope/service/SysScope;

invoke-virtual {v0}, Lcom/sec/android/app/sysscope/service/SysScope;->getLastScanResult()Lcom/sec/android/app/sysscope/service/SysScopeResultInfo;

move-result-object v0

invoke-virtual {v0}, Lcom/sec/android/app/sysscope/service/SysScopeResultInfo;->getResult()I

move-result v0

iput v0, p0, Lcom/android/settings/deviceinfo/Status;->isSysScopeStatus:I
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0

.line 845
:goto_1
iget v0, p0, Lcom/android/settings/deviceinfo/Status;->isSysScopeStatus:I

const/4 v1, 0x2

if-ne v0, v1, :cond_2

.line 846
invoke-virtual {p0, v6}, Lcom/android/settings/deviceinfo/Status;->getString(I)Ljava/lang/String;

move-result-object v0

goto :goto_0

.line 841
:catch_0
move-exception v0

.line 842
iput v5, p0, Lcom/android/settings/deviceinfo/Status;->isSysScopeStatus:I

goto :goto_1

.line 847
:cond_2
iget v0, p0, Lcom/android/settings/deviceinfo/Status;->isSysScopeStatus:I

if-ne v0, v5, :cond_3

.line 848
const v0, 0x7f09012a

invoke-virtual {p0, v0}, Lcom/android/settings/deviceinfo/Status;->getString(I)Ljava/lang/String;

move-result-object v0

goto :goto_0

.line 850
:cond_3
const v0, 0x7f09012a

invoke-virtual {p0, v0}, Lcom/android/settings/deviceinfo/Status;->getString(I)Ljava/lang/String;

move-result-object v0

goto :goto_0
.end method[/COLOR]

AND THEN ADD THIS ENTIRE NEW METHOD RIGHT UNDER TO THE METHOD YOU HAVE SEARCHED FOR IN GREEN:

[COLOR="Green"].method private changeSysScopeStatus()V[/COLOR]
[COLOR="Blue"].locals 2

const-string v0, "sysscope_status"

invoke-virtual {p0, v0}, Lcom/android/settings/deviceinfo/Status;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;

move-result-object v0

const v1, 0x7f090128 #sysscope_normal

invoke-virtual {p0, v1}, Lcom/android/settings/deviceinfo/Status;->getString(I)Ljava/lang/String;

move-result-object v1

invoke-virtual {v0, v1}, Landroid/preference/Preference;->setSummary(Ljava/lang/CharSequence;)V

return-void
.end method

[/COLOR]

STEP 2

I have added a hashtag which is #sysscope_normal from the new method you have to add from above that I have highlighted in BLUE. For your next step on how you can find your public id which mines in this guide is 0x7f090128 for sysscope_normal since for other carriers your public id might be different. To find yours here is how...

Once your "SecSettings.apk" is decompiled head to:

Now open up "public.xml" with Notepad++:

Now for this part what I have highlighted in GREEN text is what you have to find using Notepad++, What you see in BLUE is the line you have to look at to get your sysscope_normal public string id:

SEARCH FOR PUBLIC STRING:

[COLOR="Green"]<public type="string" name="sysscope_normal"[/COLOR]

My syscope_normal public string id for T-Mobile is what you see in BLUE:

[COLOR="Green"]<public type="string" name="sysscope_normal" id="[/COLOR][COLOR="Blue"]0x7f090128[/COLOR][COLOR="Green"]" />[/COLOR]

If your sysscope_normal public string id is different than mines, what your going to need to do is copy your public string id that's different, and then paste it over the the public id right next to #sysscope_normal from the entire new method that you have added that is highlighted in BLUE from STEP 1.

Now once your done with modifying the "Status.smali" and checking that you have the right public id, Save your Notepad changes, Recompile your SecSettings.apk using apktool or smali commands and your DONE! You should now head to "Settings - About device - Status" and where it says "Device Status" It should now say "Normal" Instead Of "Modified"!... ENJOY!

REMINDER...

Remember this works for all S3 Devices on all carriers T-Mobile, ATT, Verizon, Sprint, And Etc!