[Android Themes] Adi Aisiteru Reborn:
GUIDE ( SMALI ) CM9 BLACKBERRY TEN STYLE LOCKSCREEN FOR HDPI / XHDPI DEVICES ONLY

for MDPI Devices , you can go here : http://xdaforums.com/showthread.php?t=2260883

thanks to Sky_Walker for getting it working on MDPI devices

Hi..Hi.how are you all XDA especially for Developer only

I want to share to you all how to make Mod Backberry ten style lockscreen but only for HDPI/XHDPI Devices running CyanogenMod 9

and for CyanogenMod 10 you can go here http://xdaforums.com/showthread.php?t=2236926

The different with CyanogenMod 10 version that we don't have lockscreen transparency in CM9 version.

and there is a little bug in CM9 version, Don't ever try to change lockscreen background to color fill or custom image, or you will not able to unlock/open the lockscreen,

so make sure you always use Default Wallpaper as Lockscreen background

I am coming from this guide thread http://xdaforums.com/showthread.php?t=1920612

and Full Credit goes to the original founder Legend Senior Member EVILISTO

and here I want to share it to you how to make Mod Blackberry ten style lockscreen but with SMALI code :good::laugh:

I made one for my device Galaxy Wonder GT-I8150 :http://xdaforums.com/showthread.php?t=2229154

THANKS to sir Arco68 for giving our device smooth and stable CyanogenMod 9

and Thanks to Sir Idiomedi for helping me with the Blackberry WaveView.smali

ok lets go to Guide:

first of all need some requirement for this MOD-GUIDE

REQUIREMENT:

- BRAIN

- Patient

- experience

- Know how to decompile/recompiling Apk file

- Know how to decompile/recompiling jar Apk file

- notepad++

- Tool for decompiling, : apkmanager/apktool/Virtous/apkmultitools/ or else

Sorry for my bad english :)​

GUIDE

1. Decompile your framework-res.apk

\res\layout\keyguard_screen_tab_unlock.xml

Delete the whole lines and replace with this :

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:gravity="center_horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<com.android.internal.widget.WaveView android:id="@id/unlock_widget" android:layout_width="fill_parent" android:layout_height="fill_parent" />
<GridLayout android:gravity="center_horizontal" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent">
<com.android.internal.widget.DigitalClock android:id="@id/time" android:paddingTop="36.0dip" android:layout_marginBottom="8.0dip">
<TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_clock_font_size" android:textColor="@color/lockscreen_clock_background" android:ellipsize="none" android:gravity="center_horizontal" android:id="@id/timeDisplayBackground" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="5.0dip" android:singleLine="true" />
<TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_clock_font_size" android:textColor="@color/lockscreen_clock_foreground" android:ellipsize="none" android:gravity="center_horizontal" android:id="@id/timeDisplayForeground" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="5.0dip" android:singleLine="true" android:layout_alignLeft="@id/timeDisplayBackground" android:layout_alignTop="@id/timeDisplayBackground" />
</com.android.internal.widget.DigitalClock>
<LinearLayout android:orientation="horizontal" android:id="@id/date_line" android:layout_width="fill_parent">
<TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:ellipsize="marquee" android:gravity="center_horizontal" android:id="@id/date" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" />
<TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:ellipsize="marquee" android:gravity="center_horizontal" android:id="@id/alarm_status" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="16.0dip" android:singleLine="true" android:drawablePadding="4.0dip" />
</LinearLayout>
<TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:ellipsize="marquee" android:gravity="center_horizontal" android:id="@id/status1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:drawablePadding="4.0dip" />
<TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:textColor="?textColorSecondary" android:ellipsize="marquee" android:gravity="center_horizontal" android:id="@id/carrier" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="3.0dip" android:singleLine="true" />
<RelativeLayout android:orientation="horizontal" android:id="@id/weather_panel" android:paddingTop="4.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content">
<ImageView android:id="@id/weather_image" android:paddingLeft="8.0dip" android:paddingRight="8.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_dialog_alert" android:layout_centerHorizontal="true" android:layout_centerVertical="true" />
<RelativeLayout android:orientation="horizontal" android:padding="4.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toLeftOf="@id/weather_image" android:layout_centerVertical="true">
<TextView android:textSize="14.0sp" android:textStyle="bold" android:textColor="?textColorPrimary" android:ellipsize="marquee" android:gravity="right" android:id="@id/weather_city" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" android:layout_alignParentRight="true" />
<TextView android:textSize="12.0sp" android:textColor="?textColorPrimary" android:ellipsize="marquee" android:gravity="right" android:id="@id/weather_condition" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" android:layout_below="@id/weather_city" android:layout_alignParentRight="true" />
<TextView android:textSize="6.0sp" android:textColor="?textColorSecondary" android:gravity="right" android:id="@id/update_time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/weather_condition" android:layout_alignParentRight="true" />
</RelativeLayout>
<RelativeLayout android:orientation="horizontal" android:id="@id/weather_temps_panel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@id/weather_image" android:layout_centerVertical="true">
<TextView android:textSize="20.0sp" android:textColor="?textColorPrimary" android:id="@id/weather_temp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" />
<View android:id="@id/weather_divider" android:background="@drawable/divider_horizontal_dark" android:layout_width="44.0dip" android:layout_height="1.0dip" android:layout_below="@id/weather_temp" />
<TextView android:textSize="12.0sp" android:textColor="?textColorPrimary" android:id="@id/weather_low_high" android:paddingTop="2.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/weather_divider" android:layout_centerHorizontal="true" />
</RelativeLayout>
</RelativeLayout>
<Button android:layout_gravity="right" android:id="@id/emergencyCallButton" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="4.0dip" android:layout_marginRight="16.0dip" android:text="@string/lockscreen_emergency_call" android:drawableLeft="@drawable/lockscreen_emergency_button" android:drawablePadding="4.0dip" style="?android:attr/buttonBarButtonStyle" />
<RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content">
<LinearLayout android:gravity="center_vertical" android:id="@id/calendar_panel" android:paddingLeft="12.0dip" android:paddingRight="12.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:minHeight="28.0dip">
<ImageView android:gravity="center" android:layout_gravity="center_vertical" android:layout_width="36.0dip" android:layout_height="wrap_content" android:src="@drawable/ic_lock_idle_calendar" />
<View android:background="@drawable/divider_horizontal_dark" android:paddingTop="6.0dip" android:paddingBottom="6.0dip" android:layout_width="1.0dip" android:layout_height="fill_parent" />
<RelativeLayout android:paddingLeft="4.0dip" android:paddingTop="6.0dip" android:paddingBottom="6.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_weight="1.0">
<TextView android:textSize="14.0sp" android:textColor="?textColorPrimary" android:ellipsize="marquee" android:id="@id/calendar_event_title" android:fadingEdge="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" />
<TextView android:textSize="12.0sp" android:textColor="?textColorSecondary" android:ellipsize="marquee" android:id="@id/calendar_event_details" android:focusable="true" android:focusableInTouchMode="true" android:fadingEdge="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scrollHorizontally="true" android:singleLine="true" android:layout_below="@id/calendar_event_title" android:layout_alignLeft="@id/calendar_event_title" android:marqueeRepeatLimit="marquee_forever" />
</RelativeLayout>
</LinearLayout>
</RelativeLayout>
<LinearLayout android:gravity="center" android:orientation="horizontal" android:layout_width="fill_parent" android:weightSum="2.0" style="?android:attr/buttonBarStyle">
<Button android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:layout_gravity="center_horizontal" android:id="@id/emergencyCallButton" android:visibility="gone" android:layout_width="0.0dip" android:layout_height="wrap_content" android:text="@string/lockscreen_emergency_call" android:drawableLeft="@drawable/lockscreen_emergency_button" android:drawablePadding="0.0dip" android:layout_weight="1.0" style="?android:attr/buttonBarButtonStyle" />
</LinearLayout>
<include android:layout_gravity="fill" android:id="@id/transport" android:layout_width="0.0dip" android:layout_height="0.0dip" android:layout_column="0" android:layout_row="0" android:layout_rowSpan="8" android:layout_columnSpan="1" layout="@layout/keyguard_transport_control" />
</GridLayout>
</RelativeLayout>

NEXT

2. for HDPI DEVICES download THIS and put it to

\res\drawable-hdpi\

for XHDPI DEVICES download THIS and put it to

\res\drawable-xhdpi\

NEXT

\res\values\ids.xml

3. add this line to the end

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

DONE and recompile your framework-res.apk

NEXT

4. Decompile the Newly recompiled framework-res.apk again

and go to

\res\values\public.xml

open in text editor or notepad++ that public.xml

and don't do anything., we just leave it.

NEXT

5. Decompile your framework.jar

\com\android\internal\widget

DELETE WaveView.smali and replace with THIS new WaveView.smali

NEXT

6. Open in text editor that new WaveView.smali and look into your new public.xml that we just leave.

Make sure the ID in WaveView.smali is same like your new ID in new public.xml

but without 0 number in the public.xml

[B]new WaveView.smali new Public.xml[/B]
-line 198 -> 0x10404bd <public type="string" name="description_target_camera" id="0x[COLOR="Red"]0[/COLOR]10404bd" />

-line 306 -> 0x10805fc <public type="drawable" name="unlock_ring" id="0x[COLOR="Red"]0[/COLOR]10805fc" />

-line355 -> 0x10805fd <public type="drawable" name="unlock_wave" id="0x[COLOR="Red"]0[/COLOR]10805fd" />

-line 404 -> 0x10805fa <public type="drawable" name="unlock_default" id="0x[COLOR="Red"]0[/COLOR]10805fa" />

-line 453 -> 0x10805fb <public type="drawable" name="unlock_halo" id="0x[COLOR="Red"]0[/COLOR]10805fb" />

if the ID in new public.xml is different, you must change the ID in new WaveView.smali with your new ID in public.xml but without 0 number in the public.xml

DONE and Compile your framework-res.apk and your framework.jar.