[Galaxy Y GT-S5360 General] tentenponce:
ScreenShot:

Long Description: Three panel with Swipe Animation, as you can see on the image, you will say that it will have conflict to swipe to remove notifications but it will not. It is because you will swipe at your "header" (or any place you want to put the swipe detector) only, BUT the whole page of UI will switch and the header will stay. You cant swipe at the bottom part but only in the part of the header of UI so that's why it will not have any conflicts to swipe to remove notification. (My header is where the smart buddy is.)

Short Description: Two class, first class was the swipe detector, the second class will switch and will receive what kind of swipe happened.

What YOU need:

1. know how to decompile and recompile apks.

2. Some experience.

---------STEPS--------

1.) Decompile your SystemUI.apk

2.) Go to res/layout/status_bar_expanded.xml open it and cover your header with this code.

<com.lenox.multiswipe.headerswipe android:layout_width="fill_parent" android:layout_height="wrap_content">
<(your header)/>
</com.lenox.multiswipe.headerswipe>

Example of my header cover by the code (The place of carrier's label act as my header):

<com.lenox.multiswipe.headerswipe android:layout_width="fill_parent" android:layout_height="wrap_content">
<LinearLayout android:orientation="horizontal" android:background="@drawable/quickpanel_plmn_background" android:layout_width="fill_parent" android:layout_height="wrap_content" android:baselineAligned="false">
<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" />
<Button android:textSize="13.0sp" android:layout_gravity="center_vertical" android:id="@id/clear_all_button" android:layout_width="85.0dip" android:layout_height="wrap_content" android:layout_marginTop="5.0dip" android:layout_marginRight="6.0dip" android:layout_marginBottom="3.0dip" android:text="@string/status_bar_clear_all_button" style="?android:attr/buttonStyleSmall" />
</LinearLayout>
</com.lenox.multiswipe.headerswipe>

3.) Then on the same xml, cover the first page of your UI, my first page of UI was the notifications so ... just look at the code below (hard to explain sorry xD) :

<com.lenox.multiswipe.multiswipe android:id="@id/ms" android:layout_width="fill_parent" android:layout_height="fill_parent">
[B]<ScrollView[/B] android:id="@id/scroll" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="fill_parent" android:overScrollMode="ifContentScrolls">
<com.android.systemui.statusbar.NotificationLinearLayout android:orientation="vertical" android:id="@id/notificationLinearLayout" android:layout_width="fill_parent" android:layout_height="wrap_content">
<TextView android:textSize="17.0sp" android:textStyle="normal" android:textColor="#ffffffff" android:id="@id/noNotificationsTitle" android:background="@drawable/quickpanel_title_background" android:paddingLeft="5.0dip" android:layout_width="fill_parent" android:layout_height="26.0dip" android:text="@string/status_bar_no_notifications_title" />
<TextView android:textSize="17.0sp" android:textStyle="normal" android:textColor="#ffffffff" android:id="@id/ongoingTitle" android:background="@drawable/quickpanel_title_background" android:paddingLeft="5.0dip" android:layout_width="fill_parent" android:layout_height="26.0dip" android:text="@string/status_bar_ongoing_events_title" />
<LinearLayout android:orientation="vertical" android:id="@id/ongoingItems" android:layout_width="fill_parent" android:layout_height="wrap_content" />
<TextView android:textSize="17.0sp" android:textStyle="normal" android:textColor="#ffffffff" android:id="@id/latestTitle" android:background="@drawable/quickpanel_title_background" android:paddingLeft="5.0dip" android:layout_width="fill_parent" android:layout_height="26.0dip" android:text="@string/status_bar_latest_events_title" />
<LinearLayout android:orientation="vertical" android:id="@id/latestItems" android:layout_width="fill_parent" android:layout_height="wrap_content" />
</com.android.systemui.statusbar.NotificationLinearLayout>
</ScrollView>
[B]<LinearLayout[/B] android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent">
<TextView android:textColor="#ff000000" android:textSize="20.0dip" android:gravity="center_vertical|center_horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="secondlayout" />
</LinearLayout>
[B]<LinearLayout[/B] android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent">
<TextView android:textColor="#ff000000" android:textSize="20.0dip" android:gravity="center_vertical|center_horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="thirdlayout" />
</LinearLayout>
</com.lenox.multiswipe.multiswipe>

REMINDER: You must have atleast 3 view or layouts for it to work otherwise your status bar will be gone missing. So my first view was the ScrollView (firstpage), second view/layout was the linearlayout(second page) and third view/layout was another linearlayout(thirdpage). It's up to you what you want to put in that pages. You can have three Relativelayouts, linearlayouts, or scramble, etc..

4.) Close and save, then go to res/values/ids.xml and add this line before </resources> at the bottom.

<item type="id" name="ms">false</item>
</resources>

5.) Close and save, then recompile the SystemUI.apk.

6.) Get your recompiled SystemUI.apk, and decompile it again. Then go to smali/com and add the lenox folder (with smalis inside) Download it the attachment part below.

7.) Get the public id of the id you put in the ids.xml earlier. To get it, go to res/values/public.xml then find the public id:

<public type="id" name="ms" id="(Important code)" />

(Remember the Important code.)

8.) Go to smali/com/lenox/multiswipe/multiswipe.smali then find this line:

.line 64
const v3, 0x7f040001

And replace the 0x7f040001 with your Important code/public id you get at step 7.

9.) Save all, Close then recompile it.

10.) flash or push your recompile SystemUI.apk.

That's it. Report if I forgot something and the credit goes to you .

Have a party. LOL

CREDITS:

github.com

Google.com (especially StackOverFlow.com)

pineappleowl@github (ViewFlipper Source Code)

Spacecaker@github (exact animation) (a very nice guy :) )

b16h22@xda

xdaforums.com

Lenox Devs :laugh:​