[Galaxy Y GT-S5360 General] tentenponce:
Android L Expanded

​

Video:

Android L Expanded Video

Description/How to use:

Android L Expanded look. I copy almost the whole interface, also the behavior. Not that much actually, because GB has limitations </3. Tap or hold or touch or slide the header, it will show the toggles and brightness slider. The close drag handle was invisible and it was 50.0px, kinda big, It was still at the bottom so you can close it from the bottom by holding the handle. Swiping the background of toggles will also hide them and will return to header-show only.

Features:

Custom Status Icons (Codes copy from statusbarpolicy to avoid bug and also to update always.)

Brightness Icon? (Hold it for flashlight)

Brightness slider (Codes copy from AOSP settings display brightness slider)

Updating/Clickable toggles

Wifi Name (Click also to update)

Bugs:

None for now. Behavior maybe but not that much.

Pre-requisites/Needed:

Do this guide for notifications and fix for media scanning AuliaYF Android L Notification View

Remove the stock toggles, follow this guide: mariozawa Remove STOCK TW toggles on expandedView or just move it to anywhere

Basic XML knowledge

Steps:

1.) Decompile SystemUI.apk.

2.) Open AndroidManifest.xml and add this code:

<activity android:name="com.tenten.LFlashLight">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>

3.) Save. Download androidL_smalis.zip at the attachment and extract it on smali/com folder.

4.) Download androidL_drawable.zip and extract it to res folder. (Or put/replace the pngs inside the zip to your res/drawable and res/drawable-ldpi)

5.) Now... xml begins. Open res/layout/status_bar_tracking.xml

6.) Remove this code:

<View android:background="#ff8e979f" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0" />
<com.android.systemui.statusbar.CloseDragHandle android:orientation="vertical" android:id="@id/close" android:layout_width="fill_parent" android:layout_height="wrap_content">
<ImageView android:layout_gravity="bottom" android:layout_width="fill_parent" android:layout_height="wrap_content" android:src="@drawable/status_bar_close_on" android:scaleType="fitXY" />
</com.android.systemui.statusbar.CloseDragHandle>

<View android:background="#00000000" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0" />
<com.android.systemui.statusbar.CloseDragHandle android:orientation="vertical" android:id="@id/close" android:layout_width="fill_parent" android:layout_height="50.0px" />

7.) Close and Save. Now open status_bar_latest_event.xml, Find <LinearLayout and add this inside the line:

android:layout_marginTop="2.0dip"

<LinearLayout android:layout_marginTop="2.0dip" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="70.0sp"

<com.android.systemui.statusbar.LatestItemView

android:textColor="#ff000000"

8.)Close and Save. Open quickpanel_quick_settings.xml and delete all codes. (Dont be bother by deleting also ids, because quickpanel_quick_settings_for_datamode.xml has also it ;) ) Replace it with my code:

<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.statusbar.quickpanel.QuickSettingsView android:orientation="vertical" android:id="@id/quickpanel_quick_settings" android:layout_width="fill_parent" android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android">
<com.tenten.UpDownBoomPaw android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content">
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="50.0px">
<FrameLayout android:layout_width="fill_parent" android:layout_height="50.0px" android:layout_weight="1.0">
<com.tenten.LWifiToggle android:layout_gravity="center_horizontal|center_vertical" android:layout_width="35.0px" android:layout_height="35.0px" android:scaleType="centerInside" />
<com.tenten.LWifiName android:textStyle="bold" android:textSize="13.0sp" android:layout_gravity="bottom|center_horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</FrameLayout>
<FrameLayout android:layout_width="fill_parent" android:layout_height="50.0px" android:layout_weight="1.0">
<com.tenten.LBluetoothToggle android:layout_gravity="center_horizontal|center_vertical" android:layout_width="35.0px" android:layout_height="35.0px" android:scaleType="centerInside" />
</FrameLayout>
</LinearLayout>
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="50.0px">
<FrameLayout android:layout_width="fill_parent" android:layout_height="50.0px" android:layout_weight="1.0">
<com.tenten.LSignalToggle android:layout_gravity="center_horizontal|center_vertical" android:layout_width="35.0px" android:layout_height="35.0px" android:scaleType="centerInside" />
<com.android.systemui.statusbar.CarrierLabel android:textStyle="bold" android:textSize="13.0sp" android:textColor="#ffffffff" android:layout_gravity="bottom|center_horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</FrameLayout>
<FrameLayout android:layout_width="fill_parent" android:layout_height="50.0px" android:layout_weight="1.0">
<com.tenten.LAirplaneToggle android:layout_gravity="center_horizontal|center_vertical" android:layout_width="35.0px" android:layout_height="35.0px" android:scaleType="centerInside" />
</FrameLayout>
<FrameLayout android:layout_width="fill_parent" android:layout_height="50.0px" android:layout_weight="1.0">
<com.tenten.LAutoRotateToggle android:layout_gravity="center_horizontal|center_vertical" android:layout_width="35.0px" android:layout_height="35.0px" android:scaleType="centerInside" />
</FrameLayout>
</LinearLayout>
</com.tenten.UpDownBoomPaw>
</com.android.systemui.statusbar.quickpanel.QuickSettingsView>

9.) Close and Save. Open status_bar.xml and delete this code:

<com.android.systemui.statusbar.DateView android:textAppearance="@android:style/TextAppearance.StatusBar.Icon" android:gravity="left|center" android:id="@id/date" android:background="#ff000000" android:paddingLeft="6.0px" android:paddingRight="6.0px" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />

<com.android.systemui.statusbar.DateView android:textColor="#00000000" android:id="@id/date" android:background="#ff000000" android:layout_width="fill_parent" android:layout_height="fill_parent" />

xmlns:android="http://schemas.android.com/apk/res/android">

10.) Close and Save. Lastly, Open status_bar_expanded.xml and delete all the codes. Replace with my code:

<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.statusbar.ExpandedView android:orientation="vertical" android:focusable="true" android:descendantFocusability="afterDescendants"
xmlns:android="http://schemas.android.com/apk/res/android">
[COLOR="Red"]<com.tenten.TogglesButton2 android:orientation="vertical" android:background="@drawable/quickpanel_title_background" android:layout_width="fill_parent" android:layout_height="wrap_content">
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="50.0dip">
<LinearLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10.0px" android:layout_marginTop="3.0px" android:layout_alignParentLeft="true">
<com.android.systemui.statusbar.Clock android:textSize="20.0sp" android:textStyle="normal" android:textColor="#ffdfdfdf" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<com.tenten.LDateBar android:layout_marginLeft="3.0px" android:layout_marginTop="-2.0px" android:textSize="11.0sp" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout android:gravity="right|center_vertical" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1.0" android:paddingRight="10.0px" android:layout_alignParentRight="true">
<com.tenten.LBluetoothBar android:paddingRight="3.0dip" android:layout_width="wrap_content" android:layout_height="20.0px" />
<com.tenten.LWifiBar android:paddingLeft="2.0dip" android:layout_width="20.0px" android:layout_height="20.0px" android:scaleType="fitCenter" />
<com.tenten.LSignalBar android:layout_width="wrap_content" android:layout_height="15.0px" />
<com.tenten.LBatteryBar android:paddingLeft="2.0dip" android:layout_width="wrap_content" android:layout_height="23.0px" />
<com.tenten.LAlarmBar android:paddingLeft="2.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<com.tenten.LSettingsBar android:paddingLeft="4.0dip" android:layout_width="20.0px" android:layout_height="20.0px" />
</LinearLayout>
</LinearLayout>
<ImageView android:layout_width="fill_parent" android:layout_height="3.0px" />
</com.tenten.TogglesButton2>[/COLOR]
[COLOR="Blue"]<com.tenten.LayoutAnimation1 android:background="@drawable/quickpanel_title_background" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="50.0dip">
<Button android:id="@id/clear_all_button" android:layout_width="0.0dip" android:layout_height="0.0dip" android:text="" />
<com.tenten.LBrightnessBar android:layout_gravity="center_vertical" android:layout_marginLeft="10.0px" android:layout_width="23.0px" android:layout_height="23.0px" />
<com.tenten.LseekBar android:layout_gravity="center_vertical" android:paddingLeft="12.0px" android:paddingRight="12.0px" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10.0px" android:layout_marginRight="10.0px" android:layout_weight="1.0" style="@style/tentenL_seekbar"/>
</com.tenten.LayoutAnimation1>[/COLOR]
[COLOR="Green"]<com.tenten.LayoutAnimation2 android:background="@drawable/quickpanel_plmn_background" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content">
<include layout="@layout/quickpanel_quick_settings" />
</com.tenten.LayoutAnimation2>[/COLOR]
[COLOR="DarkOrange"]<com.tenten.LayoutAnimation3 android:layout_marginRight="5.0px" android:layout_marginLeft="5.0px" android:layout_marginTop="2.0dip" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content">
<com.tenten.UpDownBoomPaw android:layout_width="fill_parent" android:layout_height="wrap_content">
<FrameLayout android:layout_width="fill_parent" android:layout_height="wrap_content">
<ScrollView android:id="@id/scroll" android:scrollbars="none" android:fadingEdgeLength="16.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:overScrollMode="never">
<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="#00000000" android:paddingLeft="5.0dip" android:layout_width="fill_parent" android:layout_height="0.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="#00000000" android:paddingLeft="5.0dip" android:layout_width="fill_parent" android:layout_height="0.0dip" android:text="@string/status_bar_ongoing_events_title" />
<TextView android:textSize="17.0sp" android:textStyle="normal" android:textColor="#ffffffff" android:id="@id/latestTitle" android:background="#00000000" android:paddingLeft="5.0dip" android:layout_width="fill_parent" android:layout_height="0.0dip" android:text="@string/status_bar_latest_events_title" />
<LinearLayout android:orientation="vertical" android:id="@id/ongoingItems" android:layout_width="fill_parent" android:layout_height="wrap_content" />
<LinearLayout android:orientation="vertical" android:id="@id/latestItems" android:layout_width="fill_parent" android:layout_height="wrap_content" />
</com.android.systemui.statusbar.NotificationLinearLayout>
</ScrollView>
</FrameLayout>
</com.tenten.UpDownBoomPaw>
</com.tenten.LayoutAnimation3>[/COLOR]
</com.android.systemui.statusbar.ExpandedView>

11.) Close and Save. Open values/styles.xml and add this code BEFORE </resources>

<style name="tentenL_seekbar">
<item name="android:maxHeight">2.0dip</item>
<item name="android:indeterminateOnly">false</item>
<item name="android:minHeight">0.0dip</item>
<item name="android:thumb">@drawable/seek_thumb</item>
<item name="android:indeterminateDrawable">@drawable/progress_horizontal</item>
<item name="android:progressDrawable">@drawable/progress_horizontal</item>
</style>

12.) Save all, recompile your SystemUI and dont forget to sign it. Noooow.... wait there's more! hehe xD (Optional guides)

Optional Guide:

FLAGS:

FULLSCREEN STATUSBAR: evanlocked [guide]full expanded view jb look for sgy

Swipe to Remove Notifications (because I remove the clear button xD) hansip [HOWTO]Implement Swipe to Remove Notification

Source:

Github Android L Custom Views Source
​

CREDITS:​

StackOverFlow.com

Github.com

AOSP

[MENTION=4491442]evanlocked[/MENTION]

[MENTION=5184600]PineappleOwl[/MENTION]

[MENTION=4715592]mariozawa[/MENTION]

[MENTION=5299818]AuliaYF[/MENTION]

[MENTION=4995983]jsarunotres[/MENTION]

LenoxDevs

PotatoInc​