[Sony Cross-Device Development Themes and Apps] venkat kamesh:
Final part and Result

8. Now its time for dirty tuff work ( i will explain in simple but not all ..... but will work :p )

Since we added new artts we need to define it in settings

9. Open Settings.apk\smali\com\android\settings\R$styleable.smali

look for

.field public static final CheckBoxPreference:[I

add this code below that

.field public static final DashboardTile:[I

look for

sput-object v0, Lcom/android/settings/R$styleable;->ChartView:[I

add this code below that

.line 15083
new-array v0, v3, [I

const v1, 0x7f01004c

aput v1, v0, v2

sput-object v0, Lcom/android/settings/R$styleable;->DashboardTile:[I

From this code replace this id *R$styleable.smali (0x7f01004c) to your public id

So you finally defined new artts

9.1 And look for this code

new-array v0, v3, [I

const v1, 0x7f01001c # this may be varied as per your settings

aput v1, v0, v2

sput-object v0, Lcom/android/settings/R$styleable;->Preference:[I

and Completely change to this

new-array v0, v4, [I

fill-array-data v0, :[COLOR="Red"]array_9 [/COLOR]

sput-object v0, Lcom/android/settings/R$styleable;->Preference:[I

In the above array_9 ( check the code if it already exists or not if so,... after nine you need to define array_a or array_b )

In my smali i got array_8 as last one then i had added array_9 ( hope you got my point)

and at the End before .end method add these lines

:[COLOR="red"]array_9[/COLOR]
.array-data 4
0x7f01001c
0x7f01004b
.end array-data

Look for the Public ids and replace

10. Now open Settings.apk\smali\com\android\settings\settings.activity.smali

Find this .method

.method private switchToFragment(Ljava/lang/String;Landroid/os/Bundle;ZZILjava/lang/CharSequence;Z)Landroid/app/Fragment;

and above that add this code

.method public static showAdvancedPreferences(Landroid/content/Context;)Z
.locals 3
.param p0, "context" # Landroid/content/Context;

.prologue
const/4 v0, 0x1

.line 1472
invoke-virtual {p0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

move-result-object v1

const-string v2, "advanced_mode"

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

move-result v1

if-ne v1, v0, :cond_0

:goto_0
return v0

:cond_0
const/4 v0, 0x0

goto :goto_0
.end method

Find this method

.method public loadCategoriesFromResource(ILjava/util/List;)V

and completely replace this method with this below code

.method public loadCategoriesFromResource(ILjava/util/List;)V
.locals 26
.param p1, "resid" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"(I",
"Ljava/util/List",
"<",
"Lcom/android/settings/dashboard/DashboardCategory;",
">;)V"
}
.end annotation

.prologue
.line 1039
.local p2, "target":Ljava/util/List;, "Ljava/util/List<Lcom/android/settings/dashboard/DashboardCategory;>;"
invoke-static/range {p0 .. p0}, Lcom/android/settings/SettingsActivity;->showAdvancedPreferences(Landroid/content/Context;)Z

move-result v16

.line 1010
.local v16, "showAdvancedPreferences":Z
const/4 v14, 0x0

.line 1041
.local v14, "parser":Landroid/content/res/XmlResourceParser;
:try_start_0
invoke-virtual/range {p0 .. p0}, Lcom/android/settings/SettingsActivity;->getResources()Landroid/content/res/Resources;

move-result-object v22

move-object/from16 v0, v22

move/from16 v1, p1

invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getXml(I)Landroid/content/res/XmlResourceParser;

move-result-object v14

.line 1042
invoke-static {v14}, Landroid/util/Xml;->asAttributeSet(Lorg/xmlpull/v1/XmlPullParser;)Landroid/util/AttributeSet;

move-result-object v4

.line 1046
.local v4, "attrs":Landroid/util/AttributeSet;
:cond_0
invoke-interface {v14}, Landroid/content/res/XmlResourceParser;->next()I

move-result v20

.local v20, "type":I
const/16 v22, 0x1

move/from16 v0, v20

move/from16 v1, v22

if-eq v0, v1, :cond_1

const/16 v22, 0x2

move/from16 v0, v20

move/from16 v1, v22

if-ne v0, v1, :cond_0

.line 1050
:cond_1
invoke-interface {v14}, Landroid/content/res/XmlResourceParser;->getName()Ljava/lang/String;

move-result-object v12

.line 1051
.local v12, "nodeName":Ljava/lang/String;
const-string v22, "dashboard-categories"

move-object/from16 v0, v22

invoke-virtual {v0, v12}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

move-result v22

if-nez v22, :cond_3

.line 1052
new-instance v22, Ljava/lang/RuntimeException;

new-instance v23, Ljava/lang/StringBuilder;

invoke-direct/range {v23 .. v23}, Ljava/lang/StringBuilder;-><init>()V

const-string v24, "XML document must start with <preference-categories> tag; found"

invoke-virtual/range {v23 .. v24}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

move-result-object v23

move-object/from16 v0, v23

invoke-virtual {v0, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

move-result-object v23

const-string v24, " at "

invoke-virtual/range {v23 .. v24}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

move-result-object v23

invoke-interface {v14}, Landroid/content/res/XmlResourceParser;->getPositionDescription()Ljava/lang/String;

move-result-object v24

invoke-virtual/range {v23 .. v24}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

move-result-object v23

invoke-virtual/range {v23 .. v23}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

move-result-object v23

invoke-direct/range {v22 .. v23}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V

throw v22
:try_end_0
.catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_0 .. :try_end_0} :catch_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_1
.catchall {:try_start_0 .. :try_end_0} :catchall_0

.line 1172
.end local v4 # "attrs":Landroid/util/AttributeSet;
.end local v12 # "nodeName":Ljava/lang/String;
.end local v20 # "type":I
:catch_0
move-exception v7

.line 1173
.local v7, "e":Lorg/xmlpull/v1/XmlPullParserException;
:try_start_1
new-instance v22, Ljava/lang/RuntimeException;

const-string v23, "Error parsing categories"

move-object/from16 v0, v22

move-object/from16 v1, v23

invoke-direct {v0, v1, v7}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

throw v22
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0

.line 1177
.end local v7 # "e":Lorg/xmlpull/v1/XmlPullParserException;
:catchall_0
move-exception v22

if-eqz v14, :cond_2

invoke-interface {v14}, Landroid/content/res/XmlResourceParser;->close()V

:cond_2
throw v22

.line 1028
.restart local v4 # "attrs":Landroid/util/AttributeSet;
.restart local v12 # "nodeName":Ljava/lang/String;
.restart local v20 # "type":I
:cond_3
const/4 v6, 0x0

.line 1059
.local v6, "curBundle":Landroid/os/Bundle;
:try_start_2
invoke-interface {v14}, Landroid/content/res/XmlResourceParser;->getDepth()I

move-result v13

.line 1061
.local v13, "outerDepth":I
:cond_4
:goto_0
invoke-interface {v14}, Landroid/content/res/XmlResourceParser;->next()I

move-result v20

const/16 v22, 0x1

move/from16 v0, v20

move/from16 v1, v22

if-eq v0, v1, :cond_1e

const/16 v22, 0x3

move/from16 v0, v20

move/from16 v1, v22

if-ne v0, v1, :cond_5

invoke-interface {v14}, Landroid/content/res/XmlResourceParser;->getDepth()I

move-result v22

move/from16 v0, v22

if-le v0, v13, :cond_1e

.line 1062
:cond_5
const/16 v22, 0x3

move/from16 v0, v20

move/from16 v1, v22

if-eq v0, v1, :cond_4

const/16 v22, 0x4

move/from16 v0, v20

move/from16 v1, v22

if-eq v0, v1, :cond_4

.line 1066
invoke-interface {v14}, Landroid/content/res/XmlResourceParser;->getName()Ljava/lang/String;

move-result-object v12

.line 1067
const-string v22, "dashboard-category"

move-object/from16 v0, v22

invoke-virtual {v0, v12}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

move-result v22

if-eqz v22, :cond_1d

.line 1068
new-instance v5, Lcom/android/settings/dashboard/DashboardCategory;

invoke-direct {v5}, Lcom/android/settings/dashboard/DashboardCategory;-><init>()V

.line 1070
.local v5, "category":Lcom/android/settings/dashboard/DashboardCategory;
sget-object v22, Lcom/android/internal/R$styleable;->PreferenceHeader:[I

move-object/from16 v0, p0

move-object/from16 v1, v22

invoke-virtual {v0, v4, v1}, Lcom/android/settings/SettingsActivity;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;

move-result-object v15

.line 1072
.local v15, "sa":Landroid/content/res/TypedArray;
const/16 v22, 0x1

const/16 v23, -0x1

move/from16 v0, v22

move/from16 v1, v23

invoke-virtual {v15, v0, v1}, Landroid/content/res/TypedArray;->getResourceId(II)I

move-result v22

move/from16 v0, v22

int-to-long v0, v0

move-wide/from16 v22, v0

move-wide/from16 v0, v22

iput-wide v0, v5, Lcom/android/settings/dashboard/DashboardCategory;->id:J

.line 1076
const/16 v22, 0x2

move/from16 v0, v22

invoke-virtual {v15, v0}, Landroid/content/res/TypedArray;->peekValue(I)Landroid/util/TypedValue;

move-result-object v19

.line 1078
.local v19, "tv":Landroid/util/TypedValue;
if-eqz v19, :cond_6

move-object/from16 v0, v19

iget v0, v0, Landroid/util/TypedValue;->type:I

move/from16 v22, v0

const/16 v23, 0x3

move/from16 v0, v22

move/from16 v1, v23

if-ne v0, v1, :cond_6

.line 1079
move-object/from16 v0, v19

iget v0, v0, Landroid/util/TypedValue;->resourceId:I

move/from16 v22, v0

if-eqz v22, :cond_11

.line 1080
move-object/from16 v0, v19

iget v0, v0, Landroid/util/TypedValue;->resourceId:I

move/from16 v22, v0

move/from16 v0, v22

iput v0, v5, Lcom/android/settings/dashboard/DashboardCategory;->titleRes:I

.line 1085
:cond_6
:goto_1
invoke-virtual {v15}, Landroid/content/res/TypedArray;->recycle()V

.line 1087
invoke-interface {v14}, Landroid/content/res/XmlResourceParser;->getDepth()I

move-result v8

.line 1089
.local v8, "innerDepth":I
:cond_7
:goto_2
invoke-interface {v14}, Landroid/content/res/XmlResourceParser;->next()I

move-result v20

const/16 v22, 0x1

move/from16 v0, v20

move/from16 v1, v22

if-eq v0, v1, :cond_1c

const/16 v22, 0x3

move/from16 v0, v20

move/from16 v1, v22

if-ne v0, v1, :cond_8

invoke-interface {v14}, Landroid/content/res/XmlResourceParser;->getDepth()I

move-result v22

move/from16 v0, v22

if-le v0, v8, :cond_1c

.line 1090
:cond_8
const/16 v22, 0x3

move/from16 v0, v20

move/from16 v1, v22

if-eq v0, v1, :cond_7

const/16 v22, 0x4

move/from16 v0, v20

move/from16 v1, v22

if-eq v0, v1, :cond_7

.line 1094
invoke-interface {v14}, Landroid/content/res/XmlResourceParser;->getName()Ljava/lang/String;

move-result-object v10

.line 1095
.local v10, "innerNodeName":Ljava/lang/String;
const-string v22, "dashboard-tile"

move-object/from16 v0, v22

invoke-virtual {v10, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

move-result v22

if-eqz v22, :cond_1b

.line 1096
new-instance v18, Lcom/android/settings/dashboard/DashboardTile;

invoke-direct/range {v18 .. v18}, Lcom/android/settings/dashboard/DashboardTile;-><init>()V

.line 1098
.local v18, "tile":Lcom/android/settings/dashboard/DashboardTile;
sget-object v22, Lcom/android/settings/R$styleable;->Preference:[I

move-object/from16 v0, p0

move-object/from16 v1, v22

invoke-virtual {v0, v4, v1}, Lcom/android/settings/SettingsActivity;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;

move-result-object v15

.line 1100
const/16 v22, 0x1

move/from16 v0, v22

invoke-virtual {v15, v0}, Landroid/content/res/TypedArray;->peekValue(I)Landroid/util/TypedValue;

move-result-object v19

.line 1071
if-eqz v19, :cond_b

move-object/from16 v0, v19

iget v0, v0, Landroid/util/TypedValue;->type:I

move/from16 v22, v0

const/16 v23, 0x12

move/from16 v0, v22

move/from16 v1, v23

if-ne v0, v1, :cond_b

.line 1072
move-object/from16 v0, v19

iget v0, v0, Landroid/util/TypedValue;->data:I

move/from16 v22, v0

if-eqz v22, :cond_12

const/16 v21, 0x1

.line 1074
.local v21, "value":Z
:goto_3
if-nez v16, :cond_9

if-nez v21, :cond_a

:cond_9
if-eqz v16, :cond_13

if-nez v21, :cond_13

:cond_a
const/16 v17, 0x1

.line 1076
.local v17, "skipAdvanced":Z
:goto_4
if-nez v17, :cond_7

.line 1081
.end local v17 # "skipAdvanced":Z
.end local v21 # "value":Z
:cond_b
sget-object v22, Lcom/android/internal/R$styleable;->PreferenceHeader:[I

move-object/from16 v0, p0

move-object/from16 v1, v22

invoke-virtual {v0, v4, v1}, Lcom/android/settings/SettingsActivity;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;

move-result-object v15

.line 1083
const/16 v22, 0x1

const/16 v23, -0x1

move/from16 v0, v22

move/from16 v1, v23

invoke-virtual {v15, v0, v1}, Landroid/content/res/TypedArray;->getResourceId(II)I

move-result v22

move/from16 v0, v22

int-to-long v0, v0

move-wide/from16 v22, v0

move-wide/from16 v0, v22

move-object/from16 v2, v18

iput-wide v0, v2, Lcom/android/settings/dashboard/DashboardTile;->id:J

.line 1103
const/16 v22, 0x2

move/from16 v0, v22

invoke-virtual {v15, v0}, Landroid/content/res/TypedArray;->peekValue(I)Landroid/util/TypedValue;

move-result-object v19

.line 1105
if-eqz v19, :cond_c

move-object/from16 v0, v19

iget v0, v0, Landroid/util/TypedValue;->type:I

move/from16 v22, v0

const/16 v23, 0x3

move/from16 v0, v22

move/from16 v1, v23

if-ne v0, v1, :cond_c

.line 1106
move-object/from16 v0, v19

iget v0, v0, Landroid/util/TypedValue;->resourceId:I

move/from16 v22, v0

if-eqz v22, :cond_14

.line 1107
move-object/from16 v0, v19

iget v0, v0, Landroid/util/TypedValue;->resourceId:I

move/from16 v22, v0

move/from16 v0, v22

move-object/from16 v1, v18

iput v0, v1, Lcom/android/settings/dashboard/DashboardTile;->titleRes:I

.line 1112
:cond_c
:goto_5
const/16 v22, 0x3

move/from16 v0, v22

invoke-virtual {v15, v0}, Landroid/content/res/TypedArray;->peekValue(I)Landroid/util/TypedValue;

move-result-object v19

.line 1114
if-eqz v19, :cond_d

move-object/from16 v0, v19

iget v0, v0, Landroid/util/TypedValue;->type:I

move/from16 v22, v0

const/16 v23, 0x3

move/from16 v0, v22

move/from16 v1, v23

if-ne v0, v1, :cond_d

.line 1115
move-object/from16 v0, v19

iget v0, v0, Landroid/util/TypedValue;->resourceId:I

move/from16 v22, v0

if-eqz v22, :cond_15

.line 1116
move-object/from16 v0, v19

iget v0, v0, Landroid/util/TypedValue;->resourceId:I

move/from16 v22, v0

move/from16 v0, v22

move-object/from16 v1, v18

iput v0, v1, Lcom/android/settings/dashboard/DashboardTile;->summaryRes:I

.line 1121
:cond_d
:goto_6
const/16 v22, 0x0

const/16 v23, 0x0

move/from16 v0, v22

move/from16 v1, v23

invoke-virtual {v15, v0, v1}, Landroid/content/res/TypedArray;->getResourceId(II)I

move-result v22

move/from16 v0, v22

move-object/from16 v1, v18

iput v0, v1, Lcom/android/settings/dashboard/DashboardTile;->iconRes:I

.line 1123
const/16 v22, 0x4

move/from16 v0, v22

invoke-virtual {v15, v0}, Landroid/content/res/TypedArray;->getString(I)Ljava/lang/String;

move-result-object v22

move-object/from16 v0, v22

move-object/from16 v1, v18

iput-object v0, v1, Lcom/android/settings/dashboard/DashboardTile;->fragment:Ljava/lang/String;

.line 1125
invoke-virtual {v15}, Landroid/content/res/TypedArray;->recycle()V

.line 1127
sget-object v22, Lcom/android/settings/R$styleable;->DashboardTile:[I

move-object/from16 v0, p0

move-object/from16 v1, v22

invoke-virtual {v0, v4, v1}, Lcom/android/settings/SettingsActivity;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;

move-result-object v15

.line 1111
const/16 v22, 0x0

move/from16 v0, v22

invoke-virtual {v15, v0}, Landroid/content/res/TypedArray;->getString(I)Ljava/lang/String;

move-result-object v22

move-object/from16 v0, v22

move-object/from16 v1, v18

iput-object v0, v1, Lcom/android/settings/dashboard/DashboardTile;->switchControl:Ljava/lang/String;

.line 1113
invoke-virtual {v15}, Landroid/content/res/TypedArray;->recycle()V

.line 1115
if-nez v6, :cond_e

.line 1128
new-instance v6, Landroid/os/Bundle;

.end local v6 # "curBundle":Landroid/os/Bundle;
invoke-direct {v6}, Landroid/os/Bundle;-><init>()V

.line 1131
.restart local v6 # "curBundle":Landroid/os/Bundle;
:cond_e
invoke-interface {v14}, Landroid/content/res/XmlResourceParser;->getDepth()I

move-result v9

.line 1133
.local v9, "innerDepth2":I
:cond_f
:goto_7
invoke-interface {v14}, Landroid/content/res/XmlResourceParser;->next()I

move-result v20

const/16 v22, 0x1

move/from16 v0, v20

move/from16 v1, v22

if-eq v0, v1, :cond_18

const/16 v22, 0x3

move/from16 v0, v20

move/from16 v1, v22

if-ne v0, v1, :cond_10

invoke-interface {v14}, Landroid/content/res/XmlResourceParser;->getDepth()I

move-result v22

move/from16 v0, v22

if-le v0, v9, :cond_18

.line 1134
:cond_10
const/16 v22, 0x3

move/from16 v0, v20

move/from16 v1, v22

if-eq v0, v1, :cond_f

const/16 v22, 0x4

move/from16 v0, v20

move/from16 v1, v22

if-eq v0, v1, :cond_f

.line 1138
invoke-interface {v14}, Landroid/content/res/XmlResourceParser;->getName()Ljava/lang/String;

move-result-object v11

.line 1139
.local v11, "innerNodeName2":Ljava/lang/String;
const-string v22, "extra"

move-object/from16 v0, v22

invoke-virtual {v11, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

move-result v22

if-eqz v22, :cond_16

.line 1140
invoke-virtual/range {p0 .. p0}, Lcom/android/settings/SettingsActivity;->getResources()Landroid/content/res/Resources;

move-result-object v22

const-string v23, "extra"

move-object/from16 v0, v22

move-object/from16 v1, v23

invoke-virtual {v0, v1, v4, v6}, Landroid/content/res/Resources;->parseBundleExtra(Ljava/lang/String;Landroid/util/AttributeSet;Landroid/os/Bundle;)V

.line 1141
invoke-static {v14}, Lcom/android/internal/util/XmlUtils;->skipCurrentTag(Lorg/xmlpull/v1/XmlPullParser;)V
:try_end_2
.catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_2 .. :try_end_2} :catch_0
.catch Ljava/io/IOException; {:try_start_2 .. :try_end_2} :catch_1
.catchall {:try_start_2 .. :try_end_2} :catchall_0

goto :goto_7

.line 1162
.end local v4 # "attrs":Landroid/util/AttributeSet;
.end local v5 # "category":Lcom/android/settings/dashboard/DashboardCategory;
.end local v6 # "curBundle":Landroid/os/Bundle;
.end local v8 # "innerDepth":I
.end local v9 # "innerDepth2":I
.end local v10 # "innerNodeName":Ljava/lang/String;
.end local v11 # "innerNodeName2":Ljava/lang/String;
.end local v12 # "nodeName":Ljava/lang/String;
.end local v13 # "outerDepth":I
.end local v15 # "sa":Landroid/content/res/TypedArray;
.end local v18 # "tile":Lcom/android/settings/dashboard/DashboardTile;
.end local v19 # "tv":Landroid/util/TypedValue;
.end local v20 # "type":I
:catch_1
move-exception v7

.line 1175
.local v7, "e":Ljava/io/IOException;
:try_start_3
new-instance v22, Ljava/lang/RuntimeException;

const-string v23, "Error parsing categories"

move-object/from16 v0, v22

move-object/from16 v1, v23

invoke-direct {v0, v1, v7}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

throw v22
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_0

.line 1082
.end local v7 # "e":Ljava/io/IOException;
.restart local v4 # "attrs":Landroid/util/AttributeSet;
.restart local v5 # "category":Lcom/android/settings/dashboard/DashboardCategory;
.restart local v6 # "curBundle":Landroid/os/Bundle;
.restart local v12 # "nodeName":Ljava/lang/String;
.restart local v13 # "outerDepth":I
.restart local v15 # "sa":Landroid/content/res/TypedArray;
.restart local v19 # "tv":Landroid/util/TypedValue;
.restart local v20 # "type":I
:cond_11
:try_start_4
move-object/from16 v0, v19

iget-object v0, v0, Landroid/util/TypedValue;->string:Ljava/lang/CharSequence;

move-object/from16 v22, v0

move-object/from16 v0, v22

iput-object v0, v5, Lcom/android/settings/dashboard/DashboardCategory;->title:Ljava/lang/CharSequence;

goto/16 :goto_1

.line 1109
.restart local v8 # "innerDepth":I
.restart local v10 # "innerNodeName":Ljava/lang/String;
.restart local v18 # "tile":Lcom/android/settings/dashboard/DashboardTile;
:cond_12
const/16 v21, 0x0

goto/16 :goto_3

.line 1074
.restart local v21 # "value":Z
:cond_13
const/16 v17, 0x0

goto/16 :goto_4

.line 1092
.end local v21 # "value":Z
:cond_14
move-object/from16 v0, v19

iget-object v0, v0, Landroid/util/TypedValue;->string:Ljava/lang/CharSequence;

move-object/from16 v22, v0

move-object/from16 v0, v22

move-object/from16 v1, v18

iput-object v0, v1, Lcom/android/settings/dashboard/DashboardTile;->title:Ljava/lang/CharSequence;

goto/16 :goto_5

.line 1118
:cond_15
move-object/from16 v0, v19

iget-object v0, v0, Landroid/util/TypedValue;->string:Ljava/lang/CharSequence;

move-object/from16 v22, v0

move-object/from16 v0, v22

move-object/from16 v1, v18

iput-object v0, v1, Lcom/android/settings/dashboard/DashboardTile;->summary:Ljava/lang/CharSequence;

goto/16 :goto_6

.line 1143
.restart local v9 # "innerDepth2":I
.restart local v11 # "innerNodeName2":Ljava/lang/String;
:cond_16
const-string v22, "intent"

move-object/from16 v0, v22

invoke-virtual {v11, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

move-result v22

if-eqz v22, :cond_17

.line 1144
invoke-virtual/range {p0 .. p0}, Lcom/android/settings/SettingsActivity;->getResources()Landroid/content/res/Resources;

move-result-object v22

move-object/from16 v0, v22

invoke-static {v0, v14, v4}, Landroid/content/Intent;->parseIntent(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;)Landroid/content/Intent;

move-result-object v22

move-object/from16 v0, v22

move-object/from16 v1, v18

iput-object v0, v1, Lcom/android/settings/dashboard/DashboardTile;->intent:Landroid/content/Intent;

goto/16 :goto_7

.line 1147
:cond_17
invoke-static {v14}, Lcom/android/internal/util/XmlUtils;->skipCurrentTag(Lorg/xmlpull/v1/XmlPullParser;)V

goto/16 :goto_7

.line 1151
.end local v11 # "innerNodeName2":Ljava/lang/String;
:cond_18
invoke-virtual {v6}, Landroid/os/Bundle;->size()I

move-result v22

if-lez v22, :cond_19

.line 1152
move-object/from16 v0, v18

iput-object v6, v0, Lcom/android/settings/dashboard/DashboardTile;->fragmentArguments:Landroid/os/Bundle;

.line 1153
const/4 v6, 0x0

.line 1157
:cond_19
move-object/from16 v0, v18

iget-wide v0, v0, Lcom/android/settings/dashboard/DashboardTile;->id:J

move-wide/from16 v22, v0

const-wide/32 v24, 0x7f0f0290

cmp-long v22, v22, v24

if-nez v22, :cond_1a

invoke-static/range {p0 .. p0}, Lcom/android/settings/Utils;->showSimCardTile(Landroid/content/Context;)Z

move-result v22

if-eqz v22, :cond_7

.line 1158
:cond_1a
move-object/from16 v0, v18

invoke-virtual {v5, v0}, Lcom/android/settings/dashboard/DashboardCategory;->addTile(Lcom/android/settings/dashboard/DashboardTile;)V

goto/16 :goto_2

.line 1162
.end local v9 # "innerDepth2":I
.end local v18 # "tile":Lcom/android/settings/dashboard/DashboardTile;
:cond_1b
invoke-static {v14}, Lcom/android/internal/util/XmlUtils;->skipCurrentTag(Lorg/xmlpull/v1/XmlPullParser;)V

goto/16 :goto_2

.line 1166
.end local v10 # "innerNodeName":Ljava/lang/String;
:cond_1c
move-object/from16 v0, p2

invoke-interface {v0, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z

goto/16 :goto_0

.line 1168
.end local v5 # "category":Lcom/android/settings/dashboard/DashboardCategory;
.end local v8 # "innerDepth":I
.end local v15 # "sa":Landroid/content/res/TypedArray;
.end local v19 # "tv":Landroid/util/TypedValue;
:cond_1d
invoke-static {v14}, Lcom/android/internal/util/XmlUtils;->skipCurrentTag(Lorg/xmlpull/v1/XmlPullParser;)V
:try_end_4
.catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_4 .. :try_end_4} :catch_0
.catch Ljava/io/IOException; {:try_start_4 .. :try_end_4} :catch_1
.catchall {:try_start_4 .. :try_end_4} :catchall_0

goto/16 :goto_0

.line 1177
:cond_1e
if-eqz v14, :cond_1f

invoke-interface {v14}, Landroid/content/res/XmlResourceParser;->close()V

.line 1179
:cond_1f
return-void
.end method

Replace this code *SettingsActivity.smali (0x7f0f0290) to your public id

11. Now compile the settings.apk ( make sure you merged the settings.zip in post #1 )

12. Now deompile ( so you will get desired public ids ) compare with my ids and replace with yours

files you need to check are

*BluetoothEnabler.smali

*DashboardSummary.smali

*DashboardTile.smali

*DashboardTileView.smali

*GenericSwitchToggle.smali

*MobileNetworksEnabler.smali

*WifiEnabler.smali

and remain from the above codes you need

13. After you replaced your IDs compile/sign it and replace to your settings

oh god finally its done you will have this look

If you used my tuts dont forget to mention me

Result

View attachment 3569479

If you get any force closes with this tut then try to compare this View attachment 3571116 ( this settings is just only moded with switch settings ) compare only \R$styleable.smal (this is the only thing causing bug with mod)