[Sprint Samsung Galaxy Note5] tdunham:
[Guide] Full Screen Dialer - MM

DO NOT QUOTE THE OP WHEN POSTING!!!

This guide assumes you are already proficient at de/recompiling stock apk's.

Features:

- Choose between any custom background or solid or gradient color backgrounds

- Dialpad digits, letters, divider & digits pressed are colorable

- All options can be turned on or off so they will not conflict with installed themes

We are modifying SecContacts_M.apk.

These modification were done on a Note 5 - 6.0.1 smali. Yours may be different and you will need to adapt.

One user already pointed out that on the S7, the ap.smali edits are in an.smali

There is an example of the an.smali edits here: http://xdaforums.com/showpost.php?p=68686947&postcount=61

*** Add new files attached to the bottom of this post.

res\values\ids.xml

Add new ID

<item type="id" name="gear_panel_bg_view">false</item>

smali\com\android\dialer\dialpad\DialpadFragment.smali

Add new fields.

# instance fields
[COLOR="blue"].field private final mFullscreenBG:Z

.field private final mThemeoverride:Z
[/COLOR]

Increase .locals by 3 and add new code in BLUE

.method private K()V
.locals [COLOR="blue"]7[/COLOR]
.
.
.
const v2, 0x7f0201cc ## type="drawable" name="dialpad_fragment_background"

[COLOR="blue"] iget-boolean v4, p0, Lcom/android/dialer/dialpad/DialpadFragment;->mFullscreenBG:Z

if-eqz v4, :cond_td

invoke-virtual {p0}, Lcom/android/dialer/dialpad/DialpadFragment;->getContext()Landroid/content/Context;

move-result-object v4

const-string v5, "dialpad_fragment_background_fullscreen" # This is your resource name

const-string v6, "drawable" # This is the resource type

invoke-static {v4, v5, v6}, Lcom/android/wubydax/IdUtils;->getIdentifier(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)I

move-result v2

:cond_td
[/COLOR] invoke-virtual {v1, v2}, Landroid/content/res/Resources;->getDrawable(I)Landroid/graphics/drawable/Drawable;

move-result-object v1

invoke-virtual {v0, v1}, Landroid/view/View;->setBackground(Landroid/graphics/drawable/Drawable;)V

goto :goto_1
.end method

Increase .locals by 3 and add new code in BLUE

.method private N()V
.locals [COLOR="blue"]5[/COLOR]
.
.
.
invoke-virtual {p0}, Lcom/android/dialer/dialpad/DialpadFragment;->getResources()Landroid/content/res/Resources;

move-result-object v0

const v1, 0x7f0201cd ## type="drawable" name="dialpad_fragment_bg"

[COLOR="blue"]iget-boolean v2, p0, Lcom/android/dialer/dialpad/DialpadFragment;->mFullscreenBG:Z

if-eqz v2, :cond_td

invoke-virtual {p0}, Lcom/android/dialer/dialpad/DialpadFragment;->getContext()Landroid/content/Context;

move-result-object v2

const-string v3, "dialpad_fragment_bg_fullscreen" # This is your resource name

const-string v4, "drawable" # This is the resource type

invoke-static {v2, v3, v4}, Lcom/android/wubydax/IdUtils;->getIdentifier(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)I

move-result v1

:cond_td
[/COLOR] invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getDrawable(I)Landroid/graphics/drawable/Drawable;

Increase .locals by 3 and add new code in BLUE

.method private g(Landroid/view/View;)V
.locals [COLOR="blue"]5[/COLOR]
.
.
.
invoke-virtual {p0}, Lcom/android/dialer/dialpad/DialpadFragment;->getResources()Landroid/content/res/Resources;

move-result-object v0

const v1, 0x7f0201cc ## type="drawable" name="dialpad_fragment_background"

[COLOR="blue"]iget-boolean v2, p0, Lcom/android/dialer/dialpad/DialpadFragment;->mFullscreenBG:Z

if-eqz v2, :cond_td

invoke-virtual {p0}, Lcom/android/dialer/dialpad/DialpadFragment;->getContext()Landroid/content/Context;

move-result-object v2

const-string v3, "dialpad_fragment_background_fullscreen" # This is your resource name

const-string v4, "drawable" # This is the resource type

invoke-static {v2, v3, v4}, Lcom/android/wubydax/IdUtils;->getIdentifier(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)I

move-result v1

:cond_td
[/COLOR] invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getDrawable(I)Landroid/graphics/drawable/Drawable;

move-result-object v0

invoke-virtual {p1, v0}, Landroid/view/View;->setBackground(Landroid/graphics/drawable/Drawable;)V

goto :goto_1
.end method

Add new code in BLUE

.method public b(Landroid/view/View;)V
.
.
.
const v0, 0x7f0e021a ## type="id" name="digits"

invoke-virtual {p1, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;

move-result-object v0

check-cast v0, Lcom/android/dialer/dialpad/EllipsisTextView;

iput-object v0, p0, Lcom/android/dialer/dialpad/DialpadFragment;->c:Lcom/android/dialer/dialpad/EllipsisTextView;

[COLOR="blue"]move-object/from16 v2, p0

invoke-virtual {v2, v0}, Lcom/android/dialer/dialpad/DialpadFragment;->setDialerDigitPressed(Landroid/widget/TextView;)V
[/COLOR]
iget-object v0, p0, Lcom/android/dialer/dialpad/DialpadFragment;->c:Lcom/android/dialer/dialpad/EllipsisTextView;

iget-object v2, p0, Lcom/android/dialer/dialpad/DialpadFragment;->v:Landroid/content/Context;

invoke-static {v2}, Lcom/android/dialer/dialpad/w;->a(Landroid/content/Context;)Lcom/android/dialer/dialpad/w;

move-result-object v2

invoke-virtual {v0, v2}, Lcom/android/dialer/dialpad/EllipsisTextView;->setKeyListener(Landroid/text/method/KeyListener;)V

Increase .locals by 5 and add new code in BLUE

.method public onCreateView(Landroid/view/LayoutInflater;Landroid/view/ViewGroup;Landroid/os/Bundle;)Landroid/view/View;
.locals [COLOR="blue"]10[/COLOR]

const/4 v4, 0x0

[COLOR="blue"] invoke-virtual {p0}, Lcom/android/dialer/dialpad/DialpadFragment;->setSDBackground()V

invoke-virtual {p0}, Lcom/android/dialer/dialpad/DialpadFragment;->setThemeOverride()V
[/COLOR]
sget-object v0, Lcom/android/dialer/dialpad/DialpadFragment;->O:Ljava/lang/String;

const-string/jumbo v1, "onCreateView >>>>>"

invoke-static {v0, v1}, Landroid/util/secutil/Log;->secI(Ljava/lang/String;Ljava/lang/String;)I

const v0, 0x7f030098 ## type="layout" name="dialpad_fragment"

[COLOR="blue"]iget-boolean v6, p0, Lcom/android/dialer/dialpad/DialpadFragment;->mFullscreenBG:Z

if-eqz v6, :cond_td

invoke-virtual {p0}, Lcom/android/dialer/dialpad/DialpadFragment;->getContext()Landroid/content/Context;

move-result-object v6

invoke-virtual {v6}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

move-result-object v6

const-string v7, "dialpad_fragment_fullscreen" # This is the resource name

const-string v8, "layout" # this is resource type

invoke-virtual {p0}, Lcom/android/dialer/dialpad/DialpadFragment;->getContext()Landroid/content/Context;

move-result-object v9

invoke-virtual {v9}, Landroid/content/Context;->getPackageName()Ljava/lang/String;

move-result-object v9

invoke-virtual {v6, v7, v8, v9}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I

move-result v0 #This now holds your id number

:cond_td
[/COLOR] invoke-virtual {p1, v0, p2, v4}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View;

Add new methods to bottom of smali.

.method setDialerDigit(Landroid/widget/TextView;)V
.locals 3

iget-boolean v1, p0, Lcom/android/dialer/dialpad/DialpadFragment;->mThemeoverride:Z

if-eqz v1, :cond_td

invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context;

move-result-object v0

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

move-result-object v0

const-string v1, "main_digit_color"

const v2, -0x1000000

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

move-result v0

invoke-virtual {p1, v0}, Landroid/widget/TextView;->setTextColor(I)V

:cond_td
return-void
.end method

.method setDialerDigitPressed(Landroid/widget/TextView;)V
.locals 3

iget-boolean v1, p0, Lcom/android/dialer/dialpad/DialpadFragment;->mThemeoverride:Z

if-eqz v1, :cond_td

invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context;

move-result-object v0

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

move-result-object v0

const-string v1, "main_digit_color_pressed"

const v2, -0x1000000

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

move-result v0

invoke-virtual {p1, v0}, Landroid/widget/TextView;->setTextColor(I)V

:cond_td
return-void
.end method

.method setDialerLetter(Landroid/widget/TextView;)V
.locals 3

iget-boolean v1, p0, Lcom/android/dialer/dialpad/DialpadFragment;->mThemeoverride:Z

if-eqz v1, :cond_td

invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context;

move-result-object v0

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

move-result-object v0

const-string v1, "main_letter_color"

const v2, -0x1000000

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

move-result v0

invoke-virtual {p1, v0}, Landroid/widget/TextView;->setTextColor(I)V

:cond_td

return-void
.end method

.method public setSDBackground()V
.locals 5

invoke-virtual {p0}, Lcom/android/dialer/dialpad/DialpadFragment;->getContext()Landroid/content/Context;

move-result-object v0

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

move-result-object v0

const-string v1, "enable_dialer_custom_bg"

const/4 v2, 0x0

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

move-result v0

if-eqz v0, :cond_td

const/4 v0, 0x1

iput-boolean v0, p0, Lcom/android/dialer/dialpad/DialpadFragment;->mFullscreenBG:Z

:cond_td

return-void
.end method

.method public setThemeOverride()V
.locals 4

const/4 v2, 0x0

iput-boolean v2, p0, Lcom/android/dialer/dialpad/DialpadFragment;->mThemeoverride:Z

invoke-virtual {p0}, Lcom/android/dialer/dialpad/DialpadFragment;->getContext()Landroid/content/Context;

move-result-object v1

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

move-result-object v1

const-string v2, "dialer_theme_override"

const/4 v3, 0x0

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

move-result v1

if-eqz v1, :cond_td

const/4 v0, 0x1

iput-boolean v0, p0, Lcom/android/dialer/dialpad/DialpadFragment;->mThemeoverride:Z

:cond_td

return-void
.end method

Next smali...

smali\com\android\dialer\dialpad\DialpadKeyButton.smali

Increase .locals by 3 and add new code in BLUE

.method public a()V
.locals [COLOR="blue"]6[/COLOR]
.
.
.
invoke-virtual {p0}, Lcom/android/dialer/dialpad/DialpadKeyButton;->getResources()Landroid/content/res/Resources;

move-result-object v0
## entire dialpad background setup for transparency
const v1, 0x7f020072 ## type="drawable" name="call_dial_btn_bg_easy_dialpad_button_white" id="0x7f020072" />

[COLOR="blue"] invoke-virtual {p0}, Lcom/android/dialer/dialpad/DialpadKeyButton;->getContext()Landroid/content/Context;

move-result-object v3

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

move-result-object v3

const-string v4, "enable_dialer_custom_bg"

const/4 v5, 0x0

invoke-static {v3, v4, v5}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

move-result v3

if-eqz v3, :cond_td

invoke-virtual {p0}, Lcom/android/dialer/dialpad/DialpadKeyButton;->getContext()Landroid/content/Context;

move-result-object v3

const-string v4, "call_dial_btn_bg_easy_dialpad_button_transparent" # This is your resource name

const-string v5, "drawable" # This is the resource type

invoke-static {v3, v4, v5}, Lcom/android/wubydax/IdUtils;->getIdentifier(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)I

move-result v1
:cond_td
[/COLOR] invoke-virtual {v0, v1, v2}, Landroid/content/res/Resources;->getDrawable(ILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;

move-result-object v0

invoke-virtual {p0, v0}, Lcom/android/dialer/dialpad/DialpadKeyButton;->setBackground(Landroid/graphics/drawable/Drawable;)V

goto :goto_0
.end method

Next smali...

smali\com\samsung\dialer\dialpad\ap.smali

Increase .locals by 3 and add new code in BLUE

.method private a(Landroid/widget/ImageView;Z)V
.locals [COLOR="blue"]4[/COLOR]
.
.
.

if-nez p1, :cond_0

:goto_0
return-void

:cond_0
if-eqz p2, :cond_1

const/4 v0, 0x0

invoke-virtual {p1, v0}, Landroid/widget/ImageView;->setVisibility(I)V

invoke-direct {p0}, Lcom/samsung/dialer/dialpad/ap;->c()I

move-result v0

invoke-virtual {p1, v0}, Landroid/widget/ImageView;->setImageResource(I)V

invoke-direct {p0}, Lcom/samsung/dialer/dialpad/ap;->f()I

move-result v0

[COLOR="blue"] invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context;

move-result-object v1

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

move-result-object v1

const-string v2, "dialer_theme_override"

const/4 v3, 0x0

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

move-result v1

if-eqz v1, :cond_td

invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context;

move-result-object v1

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

move-result-object v1

const-string v2, "main_letter_color"

const v3, -0x1000000

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

move-result v0

:cond_td
[/COLOR] invoke-static {v0}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;

move-result-object v0

invoke-virtual {p1, v0}, Landroid/widget/ImageView;->setImageTintList(Landroid/content/res/ColorStateList;)V

Add new code in BLUE

.method private a(Landroid/widget/TextView;I)V
.locals 1

if-nez p1, :cond_0

:goto_0
return-void

:cond_0
iget-object v0, p0, Lcom/samsung/dialer/dialpad/ap;->s:[I

aget v0, v0, p2

invoke-virtual {p1, v0}, Landroid/widget/TextView;->setText(I)V

iget-object v0, p0, Lcom/samsung/dialer/dialpad/ap;->e:Landroid/graphics/Typeface;

invoke-virtual {p1, v0}, Landroid/widget/TextView;->setTypeface(Landroid/graphics/Typeface;)V

invoke-direct {p0}, Lcom/samsung/dialer/dialpad/ap;->e()I

move-result v0

invoke-virtual {p1, v0}, Landroid/widget/TextView;->setTextColor(I)V

[COLOR="Blue"]move-object/from16 v1, p0

invoke-virtual {v1, p1}, Lcom/samsung/dialer/dialpad/ap;->setDialerDigit(Landroid/widget/TextView;)V[/COLOR]

Add new code in BLUE

.method private b(Landroid/widget/TextView;I)V
.
.
.
invoke-virtual {p1, v0}, Landroid/widget/TextView;->setText(I)V

iget-object v0, p0, Lcom/samsung/dialer/dialpad/ap;->f:Landroid/graphics/Typeface;

invoke-virtual {p1, v0}, Landroid/widget/TextView;->setTypeface(Landroid/graphics/Typeface;)V

invoke-direct {p0}, Lcom/samsung/dialer/dialpad/ap;->f()I

move-result v0

invoke-virtual {p1, v0}, Landroid/widget/TextView;->setTextColor(I)V

[COLOR="blue"]move-object/from16 v1, p0

invoke-virtual {v1, p1}, Lcom/samsung/dialer/dialpad/ap;->setDialerLetter(Landroid/widget/TextView;)V
[/COLOR]
invoke-direct {p0, p1}, Lcom/samsung/dialer/dialpad/ap;->g(Landroid/widget/TextView;)V

iget-boolean v0, p0, Lcom/samsung/dialer/dialpad/ap;->d:Z

invoke-direct {p0, p1, v0}, Lcom/samsung/dialer/dialpad/ap;->a(Landroid/widget/TextView;Z)V

invoke-direct {p0, p1}, Lcom/samsung/dialer/dialpad/ap;->i(Landroid/widget/TextView;)V

goto :goto_0
.end method

Add new code in BLUE

.method private c(Landroid/view/View;)V
.locals 5

invoke-virtual {p0}, Lcom/samsung/dialer/dialpad/ap;->a()I

move-result v1

invoke-virtual {p0}, Lcom/samsung/dialer/dialpad/ap;->b()I

move-result v2

[COLOR="blue"] invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context;

move-result-object v0

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

move-result-object v0

const-string v3, "dialer_theme_override"

const/4 v4, 0x0

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

move-result v0

if-eqz v0, :cond_td

invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context;

move-result-object v0

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

move-result-object v0

const-string v3, "main_divider_color"

const v2, -0x1000000

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

move-result v2

:cond_td[/COLOR]
const/4 v0, 0x0

:goto_0

Add new methods to the bottom of this smali.

.method setDialerDigit(Landroid/widget/TextView;)V
.locals 3

invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context;

move-result-object v0

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

move-result-object v0

const-string v1, "dialer_theme_override"

const/4 v2, 0x0

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

move-result v1

if-eqz v1, :cond_td

invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context;

move-result-object v0

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

move-result-object v0

const-string v1, "main_digit_color"

const v2, -0x1000000

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

move-result v0

invoke-virtual {p1, v0}, Landroid/widget/TextView;->setTextColor(I)V

:cond_td
return-void
.end method

.method setDialerLetter(Landroid/widget/TextView;)V
.locals 3

invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context;

move-result-object v0

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

move-result-object v0

const-string v1, "dialer_theme_override"

const/4 v2, 0x0

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

move-result v1

if-eqz v1, :cond_td

invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context;

move-result-object v0

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

move-result-object v0

const-string v1, "main_letter_color"

const v2, -0x1000000

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

move-result v0

invoke-virtual {p1, v0}, Landroid/widget/TextView;->setTextColor(I)V

:cond_td

return-void
.end method

Rom Control V2 Entries

[SOURCE CODE][DEV TOOL][SDK 21+]6thGear RomControl v2.+ for Devs by daxgirl

Add arrays

<string-array name="crop_entries">
<item>Center Crop (default)</item>
<item>Center Inside</item>
<item>Fit XY</item>
</string-array>
<string-array name="crop_values">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
<string-array name="custom_bg_type_entries">
<item>Image</item>
<item>Solid color</item>
<item>Gradient</item>
</string-array>
<string-array name="custom_bg_type_values">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
<string-array name="gradient_entries">
<item>Top to bottom</item>
<item>Bottom to top</item>
<item>Left to right</item>
<item>Right to left</item>
</string-array>
<string-array name="gradient_values">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
</string-array>

Add to your pref

<PreferenceCategory
android:title="Main Dialer Backgrounds and Colors" />
<PreferenceScreen
android:title="Main Dialer Options"
android:summary="Set backgrounds or color">
<com.wubydax.romcontrol.v2.prefs.MySwitchPreference
android:defaultValue="false"
android:key="enable_dialer_custom_bg"
android:summaryOff="Disabled"
android:summaryOn="Enabled \n> You must also enable custom colors and modify them or the dialpad will not be very visible."
android:title="Enable custom background"/>
<com.wubydax.romcontrol.v2.prefs.MyListPreference
android:defaultValue="0"
android:dependency="enable_dialer_custom_bg"
android:entries="@array/custom_bg_type_entries"
android:entryValues="@array/custom_bg_type_values"
android:key="dialer_custom_bg_type"
android:title="Background type"/>
<com.wubydax.romcontrol.v2.prefs.UriSelectionPreference
android:dependency="enable_dialer_custom_bg"
android:key="dialer_bg"
android:title="Select image for Background"/>
<com.wubydax.romcontrol.v2.prefs.MyListPreference
android:defaultValue="0"
android:dependency="enable_dialer_custom_bg"
android:entries="@array/crop_entries"
android:entryValues="@array/crop_values"
android:key="dialer_crop_type"
android:title="Set Image Scaling Type"/>
<com.wubydax.romcontrol.v2.prefs.ColorPickerPreference
android:defaultValue="#00000000"
android:dependency="enable_dialer_custom_bg"
android:key="dialer_bg_primary_color"
android:title="Select primary color"/>
<com.wubydax.romcontrol.v2.prefs.ColorPickerPreference
android:defaultValue="#00000000"
android:dependency="enable_dialer_custom_bg"
android:key="dialer_second_gradient_color"
android:title="Secondary Color (for gradient)"/>
<com.wubydax.romcontrol.v2.prefs.MyListPreference
android:defaultValue="0"
android:dependency="enable_dialer_custom_bg"
android:entries="@array/gradient_entries"
android:entryValues="@array/gradient_values"
android:key="dialer_bg_gradient_orientation"
android:title="Gradient orientation"/>
<com.wubydax.romcontrol.v2.prefs.MySeekBarPreference
android:defaultValue="255"
android:dependency="enable_dialer_custom_bg"
android:key="dialer_opacity"
app:maxValue="255"
android:title="Background Opacity"/>
<PreferenceCategory
android:title="Dialer Colors - disable if Theme conflicts" />
<com.wubydax.romcontrol.v2.prefs.MySwitchPreference
android:title="Digit and Letter Colors On/Off Toggle"
android:key="dialer_theme_override"
android:defaultValue="false"
android:summaryOn="Colors enabled"
android:summaryOff="Colors disabled" />
<com.wubydax.romcontrol.v2.prefs.ColorPickerPreference
android:title="Dialer Digits"
android:key="main_digit_color"
android:summary="Set digit color"
android:dependency="dialer_theme_override"
app:packageNameToKill="com.android.contacts"
android:defaultValue="#ff000000" />
<com.wubydax.romcontrol.v2.prefs.ColorPickerPreference
android:title="Dialer Letters"
android:key="main_letter_color"
android:summary="Choose letter color"
android:dependency="dialer_theme_override"
app:packageNameToKill="com.android.contacts"
android:defaultValue="#ff000000" />
<com.wubydax.romcontrol.v2.prefs.ColorPickerPreference
android:title="Dialer Divider"
android:key="main_divider_color"
android:summary="Choose divider color"
android:dependency="dialer_theme_override"
android:defaultValue="#ff000000" />
<com.wubydax.romcontrol.v2.prefs.ColorPickerPreference
android:title="Dialer Digits Pressed"
android:key="main_digit_color_pressed"
android:summary="Set digit color"
android:dependency="dialer_theme_override"
android:defaultValue="#ff000000" />
</PreferenceScreen>

Additional Notes:

- This is designed to be compatible with theme store themes. Enabling custom backgrounds or colors my conflict with themes.

Credits:

- This modification uses two really awesome modifications provided on my guide thread:

[Mod][GUIDE][CUSTOM VIEW] 6thGear Custom View for any app

and also I utilized the [How-To] Find view by ID without having to find public resource - APK Edition which has additional links provided for that one in Post #10.

I highly recommend the new method how to find public resource without public value. It has made this guide far easier for you!!! :highfive: