[Verizon Samsung Galaxy S III] Didact74:
Who wants another tutorial? LOL

[Q] What will this MOD do?

[A] If you have implemented my AOSP lockscreen toggle MOD, this will add two more shortcuts to the lockscreen. SMS and Phone.

Using this guide you can also extrapolate the means necassary to add other shortcuts as well. All you would need are the pngs and xml files to do so.

I am including in this guide a zip file that will have the needed pngs and xmls for the SMS and Phone shortcuts. The xmls are simple and easily modified if you choose to get creative and try some new shortcuts.

This will work for stock phone and SMS apps. If you are using handscent or someother sms client it will still shortcut you to the stock sms client not handscent.

Lets get on with it......

We will be working with several files to get the job done here.

framework-res.apk

framework2.jar

android.policy.jar

We will begin with framework-res

Before we get going if you have implemented the AOSP lock already, you may have noticed that the carrier info is still on the screens in both portrait and landscape modes. Let get rid of them first. If you dont care about them....move on to the next step.

Navigate to res/values/layout/keyguard_screen_tab_unlock.xml

Locate the following code and ADD the parts in RED

<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" [COLOR="red"]android:visibility="gone"[/COLOR] android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="12.0dip" android:singleLine="true" android:layout_alignParentBottom="true" />
<TextView android:textAppearance="?textAppearanceMedium" android:ellipsize="marquee" android:id="@id/statement" [COLOR="red"]android:visibility="gone"[/COLOR] android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="12.0dip" android:singleLine="true" android:drawablePadding="4.0dip" android:layout_below="@id/carrier" android:layout_centerHorizontal="true" android:marqueeRepeatLimit="marquee_forever" />

Navigate to res/values/layout/keyguard_screen_tab_unlock_land.xml

Locate the following code and ADD the parts in RED

<TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:textColor="?textColorSecondary" android:ellipsize="marquee" android:gravity="right" android:layout_gravity="fill_horizontal" android:id="@id/carrier" [COLOR="Red"]android:visibility="gone"[/COLOR] android:layout_width="0.0dip" android:layout_marginBottom="12.0dip" android:singleLine="true" />
<TextView android:textAppearance="?textAppearanceMedium" android:ellipsize="marquee" android:id="@id/statement" [COLOR="red"]android:visibility="gone"[/COLOR] android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="24.0dip" android:layout_marginTop="12.0dip" android:singleLine="true" android:drawablePadding="4.0dip" android:layout_below="@id/carrier" android:marqueeRepeatLimit="marquee_forever" />

Okay, thats it for the carrier stuff. Lets add some shortcuts.

[B]Using the supplied zip file put the following files in the following locations[/B].
ic_lockscreen_phone_activated.png
ic_lockscreen_phone_normal.png
ic_lockscreen_sms_activated.png
ic_lockscreen_sms_normal.png
....all go in /res/drawable-hdpi

[B]Using the supplied zip file put the following files in the following locations.[/B]
ic_lockscreen_phone.xml
ic_lockscreen_sms.xml
......all go in /res/drawable

Navigate to res/values/arrays

Find the following line

<array name="lockscreen_targets_with_camera">

Make the entire array look like this

<array name="lockscreen_targets_with_camera">
<item>@drawable/ic_lockscreen_unlock</item>
<item>@drawable/ic_lockscreen_sms</item>
<item>@drawable/ic_action_assist_generic</item>
<item>@drawable/ic_lockscreen_phone</item>
<item>@drawable/ic_lockscreen_camera</item>
<item>@null</item>
<item>@null</item>
<item>@null</item>
</array>

Find the following line

<array name="lockscreen_target_descriptions_with_camera">

Make the entire array look like this

<array name="lockscreen_target_descriptions_with_camera">
<item>@string/description_target_unlock</item>
<item>@string/description_target_sms</item>
<item>@string/description_target_search</item>
<item>@string/description_target_phone</item>
<item>@string/description_target_camera</item>
<item>@null</item>
<item>@null</item>
<item>@null</item>
</array>

Navigate to res/values-land/arrays.xml

Find the following line

<array name="lockscreen_targets_with_camera">

Make the entire array look like this

<array name="lockscreen_targets_with_camera">
<item>@null</item>
<item>@null</item>
<item>@drawable/ic_lockscreen_unlock</item>
<item>@drawable/ic_lockscreen_sms</item>
<item>@drawable/ic_action_assist_generic</item>
<item>@drawable/ic_lockscreen_phone</item>
<item>@drawable/ic_lockscreen_camera</item>
<item>@null</item>
</array>

Find the following line

<array name="lockscreen_target_descriptions_with_camera">

Make the entire array look like this

<array name="lockscreen_target_descriptions_with_camera">
<item>@null</item>
<item>@null</item>
<item>@string/description_target_unlock</item>
<item>@string/description_target_sms</item>
<item>@string/description_target_search</item>
<item>@string/description_target_phone</item>
<item>@string/description_target_camera</item>
<item>@null</item>
</array>

Navigate to res/values/strings and add the following to the file

<string name="description_target_sms">Sms</string>
<string name="description_target_phone">Phone</string>

A this point you need to recompile framework-res and then decompile it. We do this because we are allowing system to generate public IDs for the info we just added. So recompile framework-res and delete the old apk. Decompile the new apk and continue.....

Navigate to res/values/public

Find the following lines and write down thier IDs in the order you see them below and set aside for a step later in the tutorial. Make sure you have the correct ID, some will have more than one instance but only one will look EXACTLY like whats below.

ic_action_assist_generic
ic_lockscreen_camera
ic_lockscreen_silent
ic_lockscreen_unlock
ic_lockscreen_unlock_phantom
ic_lockscreen_phone
ic_lockscreen_sms

[/hide/

Recompile framework-res and move to the next step

Go to the next post to continue......