Welcome to XDA

Search to go directly to your device's forum

Register an account

Unlock full posting privileges

Ask a question

No registration required
Post Reply

{Guide}{gb} [How to] Make ics style settings for {gingerbread devices}

OP True $tar

16th September 2014, 07:16 PM   |  #1  
OP Member
Thanks Meter: 133
 
44 posts
Join Date:Joined: Aug 2014
Hello guys i am back with easy and very useful guide for newbies
This is a guide on how to mod your Settings.apk to make it like an ICS's one !!
Quote:

Requirements:-
1. PC
2. JAVA(JDk) installed
3. APk manager(i prefer)[to decompile apks]
3. Eyes
4. A little bit of brain too...!!!
# so lets start

Quote:

# decompile your settings.apk

#Navigate to projects\Settings.apk\res\xml
#Open Settings.xml with Notepad++
It should look something like this (not exactly like this but somehow)...

Quote:

#Now to make them like ics we need to add them in categories
So Lets go
#To add wifi and bluetooth shortcuts we need to add this code

Code:
<PreferenceCategory android:title="Networks and Connectivity" />
    <com.android.settings.IconPreferenceScreen android:title="Wi-Fi" settings:icon="@drawable/wifi">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.wifi.WifiSettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="Bluetooth" settings:icon="@drawable/bt">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.bluetooth.BluetoothSettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="More..." android:key="wireless_settings" settings:icon="@drawable/more">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.WirelessSettings" />
    </com.android.settings.IconPreferenceScreen>
#Add 3 Pngs in your respected drawable folder with the names as refered above
Note to remove this code
Code:
  <com.android.settings.IconPreferenceScreen android:title="@string/radio_controls_title" android:key="wireless_settings" settings:icon="@drawable/ic_settings_wireless">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.WirelessSettings" />
    </com.android.settings.IconPreferenceScreen>

This may be different according to ur phone -->> android:title="@string/radio_controls_title"

Quote:

So now we'll need to categorize other things

Code:
<PreferenceCategory android:title="Text goes here" />
REFER TO THIS IMAGE

#So i guess you have understood it
Your whole settings.xml should look like this

Code:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen android:title="@string/settings_label" android:key="parent"
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
    <PreferenceCategory android:title="Wireless and Networks" />
    <com.android.settings.IconPreferenceScreen android:title="Wi-Fi" settings:icon="@drawable/wifi">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.wifi.WifiSettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="Bluetooth" settings:icon="@drawable/bt">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.bluetooth.BluetoothSettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="More" settings:icon="@drawable/ic_settings_more">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.WirelessSettings" />
    </com.android.settings.IconPreferenceScreen>
    <PreferenceCategory android:title="Device" />
    <com.android.settings.IconPreferenceScreen android:title="@string/call_settings_title" android:key="call_settings" settings:icon="@drawable/ic_settings_call">
        <intent android:targetPackage="com.android.phone" android:action="android.intent.action.MAIN" android:targetClass="com.android.phone.CallFeaturesSetting" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/sound_settings_title" settings:icon="@drawable/ic_settings_sound">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.SoundSettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/display_settings_title" settings:icon="@drawable/ic_settings_display">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.DisplaySettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/storage_settings" settings:icon="@drawable/ic_settings_storage">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.deviceinfo.Memory" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/power_usage_summary_text" settings:icon="@drawable/ic_settings_battery">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.fuelgauge.PowerUsageSummary" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/applications_settings" android:key="applications_settings" settings:icon="@drawable/ic_settings_applications">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.ApplicationSettings" />
    </com.android.settings.IconPreferenceScreen>
    <PreferenceCategory android:title="Personal" />
    <com.android.settings.IconPreferenceScreen android:title="@string/sync_settings" android:key="sync_settings" settings:icon="@drawable/ic_settings_sync">
        <intent android:action="android.settings.SYNC_SETTINGS" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/security_settings_title" android:key="security_settings" settings:icon="@drawable/ic_settings_security">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.SecuritySettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/location_settings_title" android:key="security_settings" settings:icon="@drawable/ic_settings_location">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.SecuritySettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/privacy_settings" android:key="privacy_settings" settings:icon="@drawable/ic_settings_privacy">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.PrivacySettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/search_settings" android:key="search_settings" settings:icon="@drawable/ic_settings_search">
        <intent android:action="android.search.action.SEARCH_SETTINGS" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/language_settings" settings:icon="@drawable/ic_settings_language">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.LanguageSettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/voice_input_output_settings" settings:icon="@drawable/ic_settings_speech">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.VoiceInputOutputSettings" />
    </com.android.settings.IconPreferenceScreen>
    <PreferenceCategory android:title="Management" />
    <com.android.settings.IconPreferenceScreen android:title="@string/dock_settings_title" android:key="dock_settings" settings:icon="@drawable/ic_settings_dock">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.DockSettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/accessibility_settings" settings:icon="@drawable/ic_settings_accessibility">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.AccessibilitySettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/date_and_time_settings_title" settings:icon="@drawable/ic_settings_date_time">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.DateTimeSettings" />
    </com.android.settings.IconPreferenceScreen>
    <PreferenceCategory android:title="About" />
    <com.android.settings.IconPreferenceScreen android:title="@string/about_settings" settings:icon="@drawable/ic_settings_about">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.DeviceInfoSettings" />
    </com.android.settings.IconPreferenceScreen>
</PreferenceScreen>
Now u can add this code where u want the category to appear...
Save it.
Done

Quote:

Ohh...wait U wanna add some info of your rom and other stuff in about section then lets go
To add your rom info in About section of your settings
Open device_info_settings.xml from xml folder
It should look something like this...


#Now we do not have to touch this part...(or else it might give error)


So now we need to add some info in that part...

Code:
<Preference android:title="Rom Name" android:summary="Rom name goes here" style="?android:preferenceInformationStyle" />
	<Preference android:title="Rom Developer" android:summary="ADd ur name here" style="?android:preferenceInformationStyle" />
Add this code before [[ </PreferenceScreen> ]]
It should look like this...

Quote:


BINGO
You are done...
Now you can compile back ur apk...(i hope u know how to do it if u dont know then follow some guides)
Remember to delete Modified xmls and resource.arsc from keep folder...

Screenshot of modified ics settings

The Following 3 Users Say Thank You to True $tar For This Useful Post: [ View ]
Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes