[Galaxy Y GT-S5360 Themes and Apps] b16h22:
STEP 1Decompile your SystemUI.apk and go to status_bar_expanded.xml.Open the file and look for this (stock systemUI).

<com.android.systemui.statusbar.CarrierLabel android:textSize="17.659973dip" android:textColor="#ffffffff" android:layout_gravity="center_vertical" android:orientation="vertical" android:paddingBottom="1.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_marginLeft="5.0dip" android:layout_marginTop="1.0dip" android:layout_weight="1.0" />

paste this code below that

<ImageView android:layout_gravity="center_vertical" android:layout_width="wrap_content" android:layout_height="fill_parent" android:src="@drawable/ic_notify_quicksettings"[COLOR="Red"] android:onClick="settingsButton"[/COLOR] />

Now save the file.

[COLOR="Red"] android:onClick="settingsButton"[/COLOR]

is an xml attribute used to call a method when pressing something.Now the settingsButton is the name of the method.

Note;It doesnt matter where you put the code for settings button in statusbar expanded.The above steps are for sgy users.You can put that code anywhere you want.But think logical and use common sense.

STEP 2 Now we can add the method settingsButton to StatusBarService.smali.Open the file and look for the code

# virtual methods

Paste this method below

.method public settingsButton(Landroid/view/View;)V
.locals 3
.parameter "v"

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

move-result-object v0

new-instance v1, Landroid/content/Intent;

const-string v2, "android.settings.SETTINGS"

invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V

const/high16 v2, 0x1000

invoke-virtual {v1, v2}, Landroid/content/Intent;->setFlags(I)Landroid/content/Intent;

move-result-object v1

invoke-virtual {v0, v1}, Landroid/content/Context;->startActivity(Landroid/content/Intent;)V

invoke-virtual {p0}, Lcom/android/systemui/statusbar/StatusBarService;->animateCollapse()V

.line 1720
return-void
.end method

Now save the file.

android.settings.SETTINGS is the intent for calling settings app activity.You can change the intent to call diffrent activities.For example

STEP 3Now download and extract this Settings_shortcut_drawables.zip.Put the ic_notify_quicksettings.xml inside your drawable folder and the the other two pngs inside drawable-ldpi folder.

STEP 4Now compile and push.

Old method

Actually this mod is not made by me.I've just ported it and found the way to implement this in other roms.I've studied the SystemUI.apk from the theme by C.O.D.<D.J> for creed's rom.So all credit goes to him;)

It's easy if you follow every step correctly

STEP 1: Decompile the SystemUI.apk.There are several threads around xda to show you how to decompile an apk.Navigate to res/layout/ and find status_bar_expanded.xml.Find the following code in the file

<com.android.systemui.statusbar.CarrierLabel android:textSize="17.659973dip" android:textColor="#ffffffff" android:layout_gravity="center_vertical" android:orientation="vertical" android:paddingBottom="1.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_marginLeft="5.0dip" android:layout_marginTop="1.0dip" android:layout_weight="1.0" />

Paste this code just below it

<ImageView android:layout_gravity="center_vertical" android:id="@id/settings_button" android:paddingLeft="0.0dip" android:paddingTop="0.0dip" android:paddingRight="8.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:src="@drawable/ic_notify_quicksettings" android:contentDescription="@string/accessibility_settings_button" />

Now save and close the file.

STEP 2.Open res/values/strings.xml.And add this line at the end

<string name="accessibility_settings_button">System settings.</string>

Save and close the file

STEP 3.Open res/values/ids.xml and paste this code at the end

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

Save and close the file.

STEP 4.Now extract the files from the attached zip.Take "ic_notify_quicksettings.xml' and put it in res/drawable/.Take 'ic_settings_normal.png' and 'ic_settings_pressed.png' and put it in res/drawable-ldpi/.

Now recompile the apk and push it to system/app to make sure the settings button is there and everything look right.Now decompile that systemUI.apk again.Navigate to res/values/ .We need to find an id from public.xml

STEP 5.Now open public.xml and find this line

<public type="id" name="settings_button" id="[COLOR="Red"]0x7f090027[/COLOR]" />

Remember the id highlighted in red above.We need to use it.

STEP 6.Open StatusBarService.smali and find this line of code

.field mScrollView:Landroid/widget/ScrollView;

Paste this code below it

.field mSettingsBut:Landroid/view/View;

.field private mSettingsButListener:Landroid/view/View$OnClickListener;

Now find this code

iput-object v0, p0, Lcom/android/systemui/statusbar/StatusBarService;->mStopTracing:Ljava/lang/Runnable;

Paste this code below

.line 1703
new-instance v0, Lcom/android/systemui/statusbar/StatusBarService$8;

invoke-direct {v0, p0}, Lcom/android/systemui/statusbar/StatusBarService$8;-><init>(Lcom/android/systemui/statusbar/StatusBarService;)V

iput-object v0, p0, Lcom/android/systemui/statusbar/StatusBarService;->mSettingsButListener:Landroid/view/View$OnClickListener;

return-void

Now again find this code

iput v7, p0, Lcom/android/systemui/statusbar/StatusBarService;->mEdgeBorder:I

And paste this code below

.line 333
const v7, [COLOR="Red"]0x7f090027[/COLOR]

invoke-virtual {v1, v7}, Lcom/android/systemui/statusbar/ExpandedView;->findViewById(I)Landroid/view/View;

move-result-object v7

iput-object v7, p0, Lcom/android/systemui/statusbar/StatusBarService;->mSettingsBut:Landroid/view/View;

.line 334
iget-object v7, p0, Lcom/android/systemui/statusbar/StatusBarService;->mSettingsBut:Landroid/view/View;

iget-object v8, p0, Lcom/android/systemui/statusbar/StatusBarService;->mSettingsButListener:Landroid/view/View$OnClickListener;

invoke-virtual {v7, v8}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V

The id highlighted in red must be the same as the id from public.xml.So make sure it's the same.Now save and close the file.

STEP 7.Take 'StatusBarService$8.smali' from the attached zip an put it in com/android/systemui/statusbar/.

STEP 8.Now recompile the apk and push it to system/app/ and put the permission rw--r--r--. ;);)

If you want to get the feel of it in your stock statusbar i've made one for you just in case. Download it from here:

DOWNLOAD

Flash it through recovery.If you are running an odexed rom,delete SystemUI.odex from system/app before you flash the zip.​