[Galaxy S6 General] stangdriver44:
[Guide] Mod for Volume Panel BG including all Contents with Color Control via Rom Control​

I have had very large amount of requests for this and since [MENTION=5405448]thereassaad[/MENTION] posted the guide for unlocking items in Vol panel figured that this would be a good time to share!!

You all are getting to play with this before my own ROM users are, so you better feel special!!! HAHA!! Hope you enjoy it!!

This is just a guide and within this guide there are plenty of adjustments that could be made to get more customization.

I've made it a little simpler with few adjustment mainly because my ROM has so many adjustments already... HAHA

Edits are in SystemUI

Lcom/android/systemui/volume/SecVolumeDialog

Edit in Method

.method private refreshMorebuttonTintColor()V
.locals 4 increase by 1 (from 3 in my situation)

After this

iget-object v1, p0, Lcom/android/systemui/volume/SecVolumeDialog;->mIconActiveDefaultColor:Landroid/content/res/ColorStateList;

Add this

invoke-virtual {p0}, Lcom/android/systemui/volume/SecVolumeDialog;->setExpandButtonColor()I

move-result v3

invoke-static {v3}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;

move-result-object v1

After this

iget-object v1, p0, Lcom/android/systemui/volume/SecVolumeDialog;->mVolumePanelBgDefaultColor:Landroid/content/res/ColorStateList;

Add this

invoke-virtual {p0}, Lcom/android/systemui/volume/SecVolumeDialog;->setVolumePanelBgColor()I

move-result v3

invoke-static {v3}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;

move-result-object v1

After this

iget-object v1, p0, Lcom/android/systemui/volume/SecVolumeDialog;->mIconActiveColor:Landroid/content/res/ColorStateList;

Add this

invoke-virtual {p0}, Lcom/android/systemui/volume/SecVolumeDialog;->setExpandButtonColor()I

move-result v3

invoke-static {v3}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;

move-result-object v1

After this

iget-object v1, p0, Lcom/android/systemui/volume/SecVolumeDialog;->mVolumePanelBgColor:Landroid/content/res/ColorStateList;

Add this

invoke-virtual {p0}, Lcom/android/systemui/volume/SecVolumeDialog;->setVolumePanelBgColor()I

move-result v3

invoke-static {v3}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;

move-result-object v1

#####

Edit in Method

.method private refreshResourceTintColor(Lcom/android/systemui/volume/SecVolumeDialog$VolumeRow;)V
.locals 3 increase by 1 (from 2 in my situation)

After this

iget-object v1, p0, Lcom/android/systemui/volume/SecVolumeDialog;->mIconActiveDefaultColor:Landroid/content/res/ColorStateList;

Add this

invoke-virtual {p0}, Lcom/android/systemui/volume/SecVolumeDialog;->setExpandButtonColor()I

move-result v2

invoke-static {v2}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;

move-result-object v1

After this

iget-object v1, p0, Lcom/android/systemui/volume/SecVolumeDialog;->mVolumeTitleDefaultColor:Landroid/content/res/ColorStateList;

Add this

invoke-virtual {p0}, Lcom/android/systemui/volume/SecVolumeDialog;->setVolumeTitleColor()I

move-result v2

invoke-static {v2}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;

move-result-object v1

After this

iget-object v1, p0, Lcom/android/systemui/volume/SecVolumeDialog;->mIconActiveColor:Landroid/content/res/ColorStateList;

Add this

invoke-virtual {p0}, Lcom/android/systemui/volume/SecVolumeDialog;->setExpandButtonColor()I

move-result v2

invoke-static {v2}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;

move-result-object v1

After this

iget-object v1, p0, Lcom/android/systemui/volume/SecVolumeDialog;->mVolumeTitleColor:Landroid/content/res/ColorStateList;

Add this

invoke-virtual {p0}, Lcom/android/systemui/volume/SecVolumeDialog;->setVolumeTitleColor()I

move-result v2

invoke-static {v2}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;

move-result-object v1

#####

Edit in Method

.method private refreshSliderResourceDefaultTintColor(Lcom/android/systemui/volume/SecVolumeDialog$VolumeRow;)V
.locals 4 increase by 1 (from 3 in my situation)

After this

iget-object v1, p0, Lcom/android/systemui/volume/SecVolumeDialog;->mProgressDefaultColor:Landroid/content/res/ColorStateList;

Add this

invoke-virtual {p0}, Lcom/android/systemui/volume/SecVolumeDialog;->setProgressColor()I

move-result v3

invoke-static {v3}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;

move-result-object v1

After this

iget-object v1, p0, Lcom/android/systemui/volume/SecVolumeDialog;->mProgressBgDefaultColor:Landroid/content/res/ColorStateList;

Add this

invoke-virtual {p0}, Lcom/android/systemui/volume/SecVolumeDialog;->setProgressBgColor()I

move-result v3

invoke-static {v3}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;

move-result-object v1

After this

iget-object v1, p0, Lcom/android/systemui/volume/SecVolumeDialog;->mProgressBgDefaultColor:Landroid/content/res/ColorStateList;

Add this

invoke-virtual {p0}, Lcom/android/systemui/volume/SecVolumeDialog;->setProgressBgColor()I

move-result v3

invoke-static {v3}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;

move-result-object v1

After this

iget-object v0, p0, Lcom/android/systemui/volume/SecVolumeDialog;->mProgressBgDefaultColor:Landroid/content/res/ColorStateList;

Add this

invoke-virtual {p0}, Lcom/android/systemui/volume/SecVolumeDialog;->setProgressBgColor()I

move-result v3

invoke-static {v3}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;

move-result-object v1

#####

Edit in Method

.method private refreshSliderResourceTintColor(Lcom/android/systemui/volume/SecVolumeDialog$VolumeRow;)V
.locals 3 increase by 1 (from 2 in my situation)

After this

iget-object v1, p0, Lcom/android/systemui/volume/SecVolumeDialog;->mProgressColor:Landroid/content/res/ColorStateList;

Add this

invoke-virtual {p0}, Lcom/android/systemui/volume/SecVolumeDialog;->setProgressColor()I

move-result v2

invoke-static {v2}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;

move-result-object v1

After this

iget-object v1, p0, Lcom/android/systemui/volume/SecVolumeDialog;->mProgressBgColor:Landroid/content/res/ColorStateList;

Add this

invoke-virtual {p0}, Lcom/android/systemui/volume/SecVolumeDialog;->setProgressBgColor()I

move-result v2

invoke-static {v2}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;

move-result-object v1

#####

Edit in Method

.method private updateVolumeRowSliderH(Lcom/android/systemui/volume/SecVolumeDialog$VolumeRow;ZI)V

After this

iget-object v6, p0, Lcom/android/systemui/volume/SecVolumeDialog;->mThumbDisabledColor:Landroid/content/res/ColorStateList;

Add this

invoke-virtual {p0}, Lcom/android/systemui/volume/SecVolumeDialog;->setThumbColor()I

move-result v0

invoke-static {v0}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;

move-result-object v6

After this

iget-object v6, p0, Lcom/android/systemui/volume/SecVolumeDialog;->mThumbColor:Landroid/content/res/ColorStateList;

Add this

invoke-virtual {p0}, Lcom/android/systemui/volume/SecVolumeDialog;->setThumbColor()I

move-result v0

invoke-static {v0}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;

move-result-object v6

Add these methods to the end of that smali and that's is for SystemUI

#######

.method setExpandButtonColor()I
.locals 3

iget-object v0, p0, Lcom/android/systemui/volume/SecVolumeDialog;->mContext:Landroid/content/Context;

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

move-result-object v0

const-string v1, "volume_icon_color"

const v2, -0xb48d6e

invoke-static {v0, v1, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

move-result v2

:goto_0
return v2

goto :goto_0
.end method

.method setVolumePanelBgColor()I
.locals 3

iget-object v0, p0, Lcom/android/systemui/volume/SecVolumeDialog;->mContext:Landroid/content/Context;

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

move-result-object v0

const-string v1, "volume_panel_color"

const v2, -0x191513

invoke-static {v0, v1, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

move-result v2

:goto_0
return v2

goto :goto_0
.end method

.method setVolumeTitleColor()I
.locals 3

iget-object v0, p0, Lcom/android/systemui/volume/SecVolumeDialog;->mContext:Landroid/content/Context;

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

move-result-object v0

const-string v1, "volume_title_color"

const v2, -0xb48d6e

invoke-static {v0, v1, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

move-result v2

:goto_0
return v2

goto :goto_0
.end method

.method setThumbColor()I
.locals 3

iget-object v0, p0, Lcom/android/systemui/volume/SecVolumeDialog;->mContext:Landroid/content/Context;

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

move-result-object v0

const-string v1, "volume_thumb_color"

const v2, -0xb48d6e

invoke-static {v0, v1, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

move-result v2

:goto_0
return v2

goto :goto_0
.end method

.method setProgressBgColor()I
.locals 3

iget-object v0, p0, Lcom/android/systemui/volume/SecVolumeDialog;->mContext:Landroid/content/Context;

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

move-result-object v0

const-string v1, "volume_progress_bar_bg_color"

const v2, -0x191513

invoke-static {v0, v1, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

move-result v2

:goto_0
return v2

goto :goto_0
.end method

.method setProgressColor()I
.locals 3

iget-object v0, p0, Lcom/android/systemui/volume/SecVolumeDialog;->mContext:Landroid/content/Context;

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

move-result-object v0

const-string v1, "volume_progress_bar_color"

const v2, -0xb48d6e

invoke-static {v0, v1, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

move-result v2

:goto_0
return v2

goto :goto_0
.end method

#####

Rom Control

<com.wubydax.romcontrol.v2.prefs.ColorPickerPreference android:title="Volume Panel Background" android:key="volume_panel_color" android:defaultValue="-1643283" hexValue="true" />
<com.wubydax.romcontrol.v2.prefs.ColorPickerPreference android:title="Volume Panel Text" android:key="volume_title_color" android:defaultValue="\#1e4e78" hexValue="true" />
<com.wubydax.romcontrol.v2.prefs.ColorPickerPreference android:title="Volume Panel Icons" android:key="volume_icon_color" android:defaultValue="\#1e4e78" hexValue="true" />
<com.wubydax.romcontrol.v2.prefs.ColorPickerPreference android:title="Volume Panel Thumb" android:key="volume_thumb_color" android:defaultValue="\#1e4e78" hexValue="true" />
<com.wubydax.romcontrol.v2.prefs.ColorPickerPreference android:title="Volume Progress bar Background" android:key="volume_progress_bar_bg_color" android:defaultValue="-1643283" hexValue="true" />
<com.wubydax.romcontrol.v2.prefs.ColorPickerPreference android:title="Volume Progress bar Foreground" android:key="volume_progress_bar_color" android:defaultValue="\#1e4e78" hexValue="true" />

Screen Recording Preview of the mod

Additional mod to remove the "overlapping dual color" for high volume etc

Edit in Method

.method private setDualColorSeekbar(Lcom/android/systemui/volume/SecVolumeDialog$VolumeRow;)V

find and remove the following (mine had 2 occurances)

invoke-virtual {v0, v1}, Landroid/widget/SeekBar;->setOverlapPointForDualColor(I)V