W
wolfmannight
Guest
Decompile Settings apk
go smali/com/android/settings/
Open R$styleable.smali
1) add below line in [# static fields]
2)Add below lines in #direct method
3)Add lines in public.xml [this file is in res/xml/]
4) add lines in attrs.xml [this file is in res/xml/]
add array in R$styleable.smali its bunch of public ids of attr
[ you can see array at end of R$styleable ]
(
example:
)
array 9
dependOnResource to hasMetaData
array 10
chooserTitle and summaryValues
array 11
valueOfSystemProperty to valueOnExtraStatusName
array 9 , 10, 11 are like this for me
change public id number in RemovePreference
with targetKey public id in xml
change public id number in IncludePreference
with include public id in xml
copy GenericSettingsFragment.smali
and Xperia_connectivity_settings.smali to smali/com/android/settings/
copy sonymobile folder to smali/com/
delete some of lines in public
that says error in compile
public.xml:NNN: error: Public symbol xml/XXXXXXXXXXX declared here is not defined.
delete XXXXXXXXXXX line from public.xml
*) add lines into ids.xml
*) add lines in strings.xml
remove some line in fist of strings.xml page those allready in xml
lockscreen_settings is already defined.
usb_sdcard_summary is already defined.
usb_sdcard_title is already defined.
usb_charging_title is already defined.
usb_charging_summary is already defined.
add lines in arrarys.xml
add this lines into bools.xml
change in color.xml
add lines in public.xml at last of type="xml"
change above ids in following smali
GenericSettingsFragment.smali and Xperia_connectivity_settings.smali
change line in dimen.xml
<dimen name="dashboard_tile_image_size">36.0dip</dimen>
Sample of R$stylable.smali
See files in attached xml zip , and compare with yours
Add those lines (mostly its starts with <com.sonymobile......)
Same compare values folder that i attached
I added new lines at end of xml's (bool.xml , attr.xml, strings.xml etc....)
For style.xml > copy whole xml from mine and replace with yours
Soon i complete this guide (Mostly Done)
go smali/com/android/settings/
Open R$styleable.smali
1) add below line in [# static fields]
HTML:
.field public static final CheckBoxPreference:[I
.field public static final DependOnPreference:[I
.field public static final IncludePreference:[I
.field public static final IntentPreference:[I
.field public static final RemovePreference:[I
2)Add below lines in #direct method
HTML:
.line 13802
const/4 v0, 0x6
new-array v0, v0, [I
fill-array-data v0, :array_9
sput-object v0, Lcom/android/settings/R$styleable;->CheckBoxPreference:[I
.line 13858
const/16 v0, 0xb
new-array v0, v0, [I
fill-array-data v0, :array_10
sput-object v0, Lcom/android/settings/R$styleable;->DependOnPreference:[I
.line 13890
new-array v0, v3, [I
const v1, 0x7f010028
aput v1, v0, v2
sput-object v0, Lcom/android/settings/R$styleable;->IncludePreference:[I
.line 13930
const/4 v0, 0x6
new-array v0, v0, [I
fill-array-data v0, :array_11
sput-object v0, Lcom/android/settings/R$styleable;->IntentPreference:[I
.line 13959
new-array v0, v3, [I
const v1, 0x7f01003c
aput v1, v0, v2
sput-object v0, Lcom/android/settings/R$styleable;->RemovePreference:[I
3)Add lines in public.xml [this file is in res/xml/]
HTML:
<public type="attr" name="include" id="0x7f010028" />
<public type="attr" name="dependOnResource" id="0x7f010029" />
<public type="attr" name="dependOnIsValidIntent" id="0x7f01002a" />
<public type="attr" name="dependOnHasSystemFeature" id="0x7f01002b" />
<public type="attr" name="dependOnSystemProperty" id="0x7f01002c" />
<public type="attr" name="dependOnSettingsSecure" id="0x7f01002d" />
<public type="attr" name="dependOnSettingsSystem" id="0x7f01002e" />
<public type="attr" name="dependOnIsOwnerOnly" id="0x7f01002f" />
<public type="attr" name="after" id="0x7f010030" />
<public type="attr" name="before" id="0x7f010031" />
<public type="attr" name="targetParentKey" id="0x7f010032" />
<public type="attr" name="hasMetaData" id="0x7f010033" />
<public type="attr" name="chooserTitle" id="0x7f010034" />
<public type="attr" name="summaryValues" id="0x7f010035" />
<public type="attr" name="valueOfSystemProperty" id="0x7f010036" />
<public type="attr" name="valueOfSettingsSystem" id="0x7f010037" />
<public type="attr" name="valueOfSettingsSecure" id="0x7f010038" />
<public type="attr" name="valueOfSettingsGlobal" id="0x7f010039" />
<public type="attr" name="isOrderedBroadcast" id="0x7f01003a" />
<public type="attr" name="valueOnExtraStatusName" id="0x7f01003b" />
<public type="attr" name="targetKey" id="0x7f01003c" />
4) add lines in attrs.xml [this file is in res/xml/]
HTML:
<attr name="include" format="reference" />
<attr name="dependOnResource" format="boolean" />
<attr name="dependOnIsValidIntent" format="boolean" />
<attr name="dependOnHasSystemFeature" format="string" />
<attr name="dependOnSystemProperty" format="string" />
<attr name="dependOnSettingsSecure" format="string" />
<attr name="dependOnSettingsSystem" format="string" />
<attr name="dependOnIsOwnerOnly" format="boolean" />
<attr name="after" format="string" />
<attr name="before" format="string" />
<attr name="targetParentKey" format="string" />
<attr name="hasMetaData" format="boolean" />
<attr name="chooserTitle" format="string" />
<attr name="summaryValues" format="reference" />
<attr name="valueOfSystemProperty" format="string" />
<attr name="valueOfSettingsSystem" format="string" />
<attr name="valueOfSettingsSecure" format="string" />
<attr name="valueOfSettingsGlobal" format="string" />
<attr name="isOrderedBroadcast" format="boolean" />
<attr name="valueOnExtraStatusName" format="string" />
<attr name="targetKey" format="string" />
add array in R$styleable.smali its bunch of public ids of attr
[ you can see array at end of R$styleable ]
(
example:
HTML:
.line 12842
:array_0
.array-data 4
0x1010034
0x1010095
0x1010096
0x1010097
.end array-data
)
array 9
dependOnResource to hasMetaData
array 10
chooserTitle and summaryValues
array 11
valueOfSystemProperty to valueOnExtraStatusName
array 9 , 10, 11 are like this for me
HTML:
.line 13748
:array_9
.array-data 4
0x7f01003a
0x7f01003b
0x7f01003c
0x7f01003d
0x7f01003e
0x7f01003f
0x7f010040
0x7f010041
0x7f010042
0x7f010043
0x7f010044
.end array-data
.line 13768
:array_10
.array-data 4
0x7f010045
0x7f010046
.end array-data
.line 13798
:array_11
.array-data 4
0x7f010047
0x7f010048
0x7f010049
0x7f01004a
0x7f01004b
0x7f01004c
.end array-data
change public id number in RemovePreference
with targetKey public id in xml
change public id number in IncludePreference
with include public id in xml
copy GenericSettingsFragment.smali
and Xperia_connectivity_settings.smali to smali/com/android/settings/
copy sonymobile folder to smali/com/
delete some of lines in public
that says error in compile
public.xml:NNN: error: Public symbol xml/XXXXXXXXXXX declared here is not defined.
delete XXXXXXXXXXX line from public.xml
*) add lines into ids.xml
HTML:
<item type="id" name="estimate">false</item>
<item type="id" name="remaining_time_header">false</item>
<item type="id" name="stamina_mode">false</item>
<item type="id" name="remaining_battery_time">false</item>
<item type="id" name="remaining_standby_time">false</item>
<item type="id" name="tip_header">false</item>
<item type="id" name="tip_text">false</item>
<item type="id" name="usmDescr">false</item>
<item type="id" name="xperia_connectivity_settings">false</item>
<item type="id" name="personalization_settings">false</item>
<item type="id" name="power_settings">false</item>
<item type="id" name="setupguide_settings">false</item>
<item type="id" name="display_settings">false</item>
<item type="id" name="notification_settings">false</item>
*) add lines in strings.xml
HTML:
<string name="advanced_settings_title">LegacyXperiaAOSP Settings</string>
<string name="subs_settings">SUBS Status</string>
<string name="nfc_wallet_edit_txt">Change available services</string>
<string name="power_save_mode_label">Low battery mode</string>
<string name="application_usage_title">App power consumption</string>
<string name="extended_standby_mode_label">STAMINA mode</string>
<string name="power_settings_title">Power management</string>
<string name="settings_certificates_activity_title">Certificates</string>
<string name="usb_settings">USB Connectivity</string>
<string name="media_server_settings">Media Server settings</string>
<string name="docomo_settings">Download internet settings</string>
<string name="system_icons">Quick-Setting icons</string>
<string name="lockscreen_settings">LockScreen Settings</string>
<string name="itelligent_settings">Intelligent Settings</string>
<string name="start_mirrorlink">Start Xperia™ MirrorLink</string>
<string name="playstation_connectivity">DUALSHOCK®4 wireless controller</string>
<string name="seamless_tethering">Tethering Settings</string>
<string name="xperia_throw">Xperia™ Throw</string>
<string name="smart_connect">Smart Connect</string>
<string name="one_touch_setup">One-touch Setup</string>
<string name="theme_dialog_title_select_theme_txt">Select theme</string>
<string name="theme_label_xperia">Themes</string>
<string name="theme_label_summary">Change or download themes</string>
<string name="splitscreen_option_mirror_device">Mirror device</string>
<string name="splitscreen_option_xperia_desktop">Xperia™ desktop</string>
<string name="splitscreen_option_always_ask">Always ask</string>
<string name="external_display_power_save_description_txt">"Keep your device's screen on while connecting to an external screen. Turning this feature off saves battery power."</string>
<string name="external_display_power_save_title_txt">"Keep your device's screen on"</string>
<string name="splitscreen_default_action_dialog_title">Default action</string>
<string name="splitscreen_default_action_menu_title">Xperia™ desktop default action</string>
<string name="wifi_display_settings_summary">Mirror your Xperia™ on your Google Cast compliant TV or device (such as Chromecast)</string>
<string name="screen_mirroring">Screen Mirroring</string>
<string name="screen_mirroring_summary">Mirror your Xperia™ on big Screen</string>
<string name="display_category_personalisation_title">Personalization</string>
<string name="xperia_connectivity">Xperia™ Connectivity</string>
<string name="image_enhancer_txt">Image enhancement</string>
<string name="easy_wakeup_mode_checkbox_title">Tap to wake up</string>
<string name="easy_wakeup_mode_checkbox_summary">Double-tap the screen to wake up the device</string>
<string name="glove_mode_checkbox_title">Glove mode</string>
<string name="glove_mode_checkbox_summary">Allows interaction with touchscreen when wearing gloves</string>
<string name="usm_item_label">Ultra STAMINA mode</string>
<string name="usm_descr">"Ultra STAMINA mode will extend battery lifetime significantly. It can be used when you can't charge your device for a long time.
Note that Internet connection through Wi-Fi and Mobile data will be disabled.
Only a few basic functions, such as Phone and Messaging will be available. Tap \"More info\" for more details."</string>
<string name="tip">Tip!</string>
<string name="tip_text">Activate the power saving tools below to extend battery lifetime</string>
<string name="swiqi_strings_swiqi2_txt">Mobile BRAVIA Engine 2</string>
<string name="swiqi_strings_swiqi3_txt">X-Reality for mobile</string>
<string name="swiqi_strings_swiqi_desc_txt">Improve the viewing quality of photos and videos, giving you clearer, sharper and more natural images</string>
<string name="search_list_no_hits_settings">No matches for \"%s\" found in Settings</string>
<string name="search_list_no_hits_xperia">No matches for \"%s\" found in Xperia™ online support</string>
<string name="wifi_tether_settings_get_started_help">Get started with Mobile Hotspot</string>
<string name="ims_reg_title">IMS registration state</string>
<string name="status_idid">IDID</string>
<string name="wifi_hs2_strings_hotspot2_network_title_txt">Passpoint networks</string>
<string name="wifi_hs2_strings_hotspot2_summary_txt">Auto-connect to available Passpoint networks when Wi-Fi is on</string>
<string name="wifi_hs2_strings_hotspot2_title_txt">Passpoint</string>
<string name="wifi_strings_autoip_description_txt">Assign Auto IP address if DHCP fails</string>
<string name="wifi_strings_autoip_txt">Auto IP support</string>
<string name="usb_tether_settings_get_started_help">Get started with USB tethering</string>
<string name="wifi_tether_settings_subtext">Set up & manage portable Wi-Fi hotspot</string>
<string name="wifi_tether_settings_text">Portable Wi-Fi hotspot settings</string>
<string name="find_my_device">Find my device</string>
<string name="processor_info">Processor info</string>
<string name="certificates_title">Certificates</string>
<string name="usb_sdcard_summary">Lets you transfer media files on the SD card to the computer</string>
<string name="usb_sdcard_title">Mount SD card</string>
<string name="usb_charging_title">Charging</string>
<string name="usb_charging_summary">Lets you disable all data and file transfer connection with computer and put device in charging only mode.</string>
<string name="setupguide_settings_title">Setup guide</string>
<string name="show_operator_name_title">Network name</string>
<string name="show_operator_name_summary">Display network name in status bar</string>
remove some line in fist of strings.xml page those allready in xml
lockscreen_settings is already defined.
usb_sdcard_summary is already defined.
usb_sdcard_title is already defined.
usb_charging_title is already defined.
usb_charging_summary is already defined.
add lines in arrarys.xml
HTML:
<string-array name="splitscreen_default_values">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
<string-array name="config_searchWhitelist">
<item>com.sonyericsson.soundenhancement</item>
<item>com.sonymobile.multisimsettings</item>
<item>com.sonymobile.intelligent.settings</item>
<item>com.sonymobile.intelligent.rotation</item>
add this lines into bools.xml
HTML:
<bool name="config_showWifiHotspot2CredentialSetting">true</bool>
<bool name="config_addCastScreen">true</bool>
<bool name="config_addSplitScreen">false</bool>
change in color.xml
HTML:
<color name="theme_primary">@android:color/somc_color_primary_light</color>
<color name="theme_primary_dark">@android:color/somc_color_dark_primary_light</color>
<color name="theme_accent">@android:color/somc_color_accent_light</color>
add lines in public.xml at last of type="xml"
HTML:
<public type="xml" name="xperia_connectivity_settings" id="0x7f060051" />
<public type="xml" name="personalization_settings" id="0x7f060052" />
GenericSettingsFragment.smali and Xperia_connectivity_settings.smali
change line in dimen.xml
<dimen name="dashboard_tile_image_size">36.0dip</dimen>
Sample of R$stylable.smali
HTML:
.class public final Lcom/android/settings/R$styleable;
.super Ljava/lang/Object;
.source "R.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/settings/R;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "styleable"
.end annotation
# static fields
.field public static final BatteryHistoryChart:[I
.field public static final CardView:[I
.field public static final ChartGridView:[I
.field public static final ChartNetworkSeriesView:[I
.field public static final ChartSweepView:[I
.field public static final ChartView:[I
.field public static final CheckBoxPreference:[I
.field public static final DependOnPreference:[I
.field public static final DashboardTile:[I
.field public static final IconPreferenceScreen:[I
.field public static final IncludePreference:[I
.field public static final IntentPreference:[I
.field public static final IntervalSeekBar:[I
.field public static final PercentageBarChart:[I
.field public static final Preference:[I
.field public static final RemovePreference:[I
.field public static final SetupWizardIllustration:[I
.field public static final WifiEncryptionState:[I
# direct methods
.method static constructor <clinit>()V
.locals 6
.prologue
const/4 v5, 0x4
const/4 v4, 0x2
const/4 v3, 0x1
const/4 v2, 0x0
.line 12842
const/16 v0, 0xd
new-array v0, v0, [I
fill-array-data v0, :array_0
sput-object v0, Lcom/android/settings/R$styleable;->BatteryHistoryChart:[I
.line 13014
const/16 v0, 0xb
new-array v0, v0, [I
fill-array-data v0, :array_1
sput-object v0, Lcom/android/settings/R$styleable;->CardView:[I
.line 13230
const/4 v0, 0x5
new-array v0, v0, [I
fill-array-data v0, :array_2
sput-object v0, Lcom/android/settings/R$styleable;->ChartGridView:[I
.line 13292
new-array v0, v5, [I
fill-array-data v0, :array_3
sput-object v0, Lcom/android/settings/R$styleable;->ChartNetworkSeriesView:[I
.line 13378
const/4 v0, 0x7
new-array v0, v0, [I
fill-array-data v0, :array_4
sput-object v0, Lcom/android/settings/R$styleable;->ChartSweepView:[I
.line 13494
new-array v0, v4, [I
fill-array-data v0, :array_5
sput-object v0, Lcom/android/settings/R$styleable;->ChartView:[I
.line 13541
new-array v0, v3, [I
const v1, 0x7f010029
aput v1, v0, v2
sput-object v0, Lcom/android/settings/R$styleable;->DashboardTile:[I
.line 13568
new-array v0, v3, [I
const v1, 0x7f01000f
aput v1, v0, v2
sput-object v0, Lcom/android/settings/R$styleable;->IconPreferenceScreen:[I
.line 13597
new-array v0, v5, [I
fill-array-data v0, :array_6
sput-object v0, Lcom/android/settings/R$styleable;->IntervalSeekBar:[I
.line 13668
new-array v0, v4, [I
fill-array-data v0, :array_7
sput-object v0, Lcom/android/settings/R$styleable;->PercentageBarChart:[I
.line 13718
new-array v0, v4, [I
fill-array-data v0, :array_8
sput-object v0, Lcom/android/settings/R$styleable;->Preference:[I
.line 13759
new-array v0, v3, [I
const v1, 0x7f010010
aput v1, v0, v2
sput-object v0, Lcom/android/settings/R$styleable;->SetupWizardIllustration:[I
.line 13786
new-array v0, v3, [I
const v1, 0x7f01000e
aput v1, v0, v2
sput-object v0, Lcom/android/settings/R$styleable;->WifiEncryptionState:[I
.line 13748
const/16 v0, 0xb
new-array v0, v0, [I
fill-array-data v0, :array_9
sput-object v0, Lcom/android/settings/R$styleable;->CheckBoxPreference:[I
.line 13768
const/4 v0, 0x2
new-array v0, v0, [I
fill-array-data v0, :array_10
sput-object v0, Lcom/android/settings/R$styleable;->DependOnPreference:[I
.line 13890
new-array v0, v3, [I
const v1, 0x7f01004e
aput v1, v0, v2
sput-object v0, Lcom/android/settings/R$styleable;->IncludePreference:[I
.line 13798
const/4 v0, 0x6
new-array v0, v0, [I
fill-array-data v0, :array_11
sput-object v0, Lcom/android/settings/R$styleable;->IntentPreference:[I
.line 13959
new-array v0, v3, [I
const v1, 0x7f01004d
aput v1, v0, v2
sput-object v0, Lcom/android/settings/R$styleable;->RemovePreference:[I
return-void
.line 12842
:array_0
.array-data 4
0x1010034
0x1010095
0x1010096
0x1010097
0x1010098
0x1010161
0x1010162
0x1010163
0x1010164
0x7f010011
0x7f010012
0x7f010013
0x7f010014
.end array-data
.line 13014
:array_1
.array-data 4
0x7f010003
0x7f010004
0x7f010005
0x7f010006
0x7f010007
0x7f010008
0x7f010009
0x7f01000a
0x7f01000b
0x7f01000c
0x7f01000d
.end array-data
.line 13230
:array_2
.array-data 4
0x1010034
0x1010098
0x7f010020
0x7f010021
0x7f010022
.end array-data
.line 13292
:array_3
.array-data 4
0x7f01001f
0x7f010023
0x7f010024
0x7f010025
.end array-data
.line 13378
:array_4
.array-data 4
0x7f010019
0x7f01001a
0x7f01001b
0x7f01001c
0x7f01001d
0x7f01001e
0x7f01001f
.end array-data
.line 13494
:array_5
.array-data 4
0x7f010017
0x7f010018
.end array-data
.line 13597
:array_6
.array-data 4
0x7f01002e
0x7f01002f
0x7f010030
0x7f010031
.end array-data
.line 13668
:array_7
.array-data 4
0x7f010015
0x7f010016
.end array-data
.line 13718
:array_8
.array-data 4
0x7f010027
0x7f010028
.end array-data
.line 13748
:array_9
.array-data 4
0x7f01003a
0x7f01003b
0x7f01003c
0x7f01003d
0x7f01003e
0x7f01003f
0x7f010040
0x7f010041
0x7f010042
0x7f010043
0x7f010044
.end array-data
.line 13768
:array_10
.array-data 4
0x7f010045
0x7f010046
.end array-data
.line 13798
:array_11
.array-data 4
0x7f010047
0x7f010048
0x7f010049
0x7f01004a
0x7f01004b
0x7f01004c
.end array-data
.end method
See files in attached xml zip , and compare with yours
Add those lines (mostly its starts with <com.sonymobile......)
Same compare values folder that i attached
I added new lines at end of xml's (bool.xml , attr.xml, strings.xml etc....)
For style.xml > copy whole xml from mine and replace with yours
Soon i complete this guide (Mostly Done)
Attachments
Last edited: