[Samsung Galaxy S 5 Unified Development] talkingmonkeys:
Volume Icons (Vibrate/Silent) on/off

This guide will be split into 2 parts. 1st for those that have enough registers left in this method we're adding then for those that don't. How to tell if you have enough room? If the locals is higher than 13 than you have too many in the method from the start for us to add these. Again I raised the locals by 2 since we're adding 2 more to it. So from 13 to 15 (the max). So if its 13 you'll be changing them to 15 like so

.method private final updateVolumeZen()V
[COLOR="Green"].locals 15[/COLOR]

Now that we fixed the locals search in the same method for these strings. It will make life easier than posting the long method for this since they're toward the end.

Search for Landroid/app/StatusBarManager;->setIconVisibility(Ljava/lang/String;Z)V and add the blue lines above it.

iget-object v7, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBarPolicy;->mService:Landroid/app/StatusBarManager;

const-string v8, "volume"

[COLOR="Blue"] iget-object v14, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBarPolicy;->mContext:Landroid/content/Context;

invoke-virtual {v14}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

move-result-object v14

const-string v13, "statusbar_hide_volume"

invoke-static {v14, v13, [COLOR="Purple"]v3[/COLOR]}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

move-result v14

if-nez v14, :cond_tm

const/4 [COLOR="Purple"]v3[/COLOR], 0x0

:cond_tm[/COLOR]
invoke-virtual {v7, v8, [COLOR="Purple"]v3[/COLOR]}, Landroid/app/StatusBarManager;->setIconVisibility(Ljava/lang/String;Z)V

iput-boolean v3, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBarPolicy;->mVolumeVisible:Z

Now we will have to repeat this a 2nd time for the 2nd icon.

Search again for Landroid/app/StatusBarManager;->setIconVisibility(Ljava/lang/String;Z)V and add the blue lines above it.

I will make the values match those above because thats what it needs so adjust accordingly. Then you need to input the correct value from setIconVisibilty line like I showed in the first guide. It will be the 3rd Value(v) in this line which I marked them with purple. So as you'll see they match.

iget-object v7, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBarPolicy;->mService:Landroid/app/StatusBarManager;

const-string v8, "zen"

[COLOR="Blue"]iget-object v14, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBarPolicy;->mContext:Landroid/content/Context;

invoke-virtual {v14}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

move-result-object v14

const-string v13, "statusbar_hide_volume"

invoke-static {v14, v13, [COLOR="Purple"]v6[/COLOR]}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

move-result v14

if-nez v14, :cond_b

const/4 [COLOR="Purple"]v6[/COLOR], 0x0

:cond_b[/COLOR]
invoke-virtual {v7, v8, [COLOR="Purple"]v6}[/COLOR], Landroid/app/StatusBarManager;->setIconVisibility(Ljava/lang/String;Z)V

iput-boolean v6, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBarPolicy;->mZenVisible:Z

Now to add the toggle to custom settings. Add it in with the last 2 in preferences.xml

<CheckBoxPreference android:title="Hide Volume Icons" android:key="statusbar_hide_volume" android:summaryOn="Vibration and Silent Icons are visible." android:summaryOff="Vibration and Silent Icons are hidden." />

Part 2 for those of you like me who have too many registers.

Haven't figured this one out yet. Having some trouble with it.