[Xperia Arc Themes and Apps] sandy7:
How to add xperia S/T lockscreen ,small apps ,magnification glass

Xperia S/T Lockscreen TUT​

requirements.

framework-res.apk

android.policy.jar

notpad++

winrar

knowledge of how to decompile and recompile

If u guys want a good tut for de/recompiling here is good guide by my good friend Stanlin salu

http://xdaforums.com/showthread.php?t=2011254

1-STEP

decompile framework-res.apk

navigate to res/values

and open strings.xml

here add these two at the end (see pic for reference.) and save it

<string name="permlab_external_lockscreen">xperia lockscreen</string>
<string name="permdesc_external_lockscreen">xperia loxkscreen</string>

2-STEP

in the same values folder

open public.xml

and these strings just below the line show in the below pic and save it

<public type="string" name="permlab_external_lockscreen" id="0x01040525" />
<public type="string" name="permdesc_external_lockscreen" id="0x01040526" />

IMPORTANT

0x01040525 ,0x01040526 these are called hex codes and should in a proper order

for ex from the above codes the last 4 hex codes should in this way

0x01040524

0x01040525

0x01040526

0x01040527

3-STEP

come back to main framework-res folder

and open AndroidManifest.xml

and add these line just below line shown in the pic and save it

<permission android:label="@string/permlab_external_lockscreen" android:name="com.sonyericsson.permission.EXTERNAL_LOCKSCREEN" android:protectionLevel="signatureOrSystem" android:description="@string/permdesc_external_lockscreen" />

4-STEP

recompile the framework-res.apk

5-STEP

decompile android.policy.jar

navigate to com\android\internal\policy\impl\

and add this ExternalLockScreen.smali and LockPatternKeyguardView.smali file there (smali file is provided by in the resources zip attached in this post)

and recompile it back

6-STEP

i have attached a flashable zip for format in this post below

put the following files it

uxpnxtlockscreen.apk (provided in resorces zip by me)

settings.apk (which supports XS LS , which can be found easily in this forum) (or may be later ill tell how to add them in ur settings)

android.policy.jar

framework-res.apk

zip and flash it..and ur done ...

HOW TO ADD SMALL APPS
​

1-STEP

Decompile framework-res.apk

and navigate to res/values/strings.xml

and add these 4 lines at the end as shown in the pic. and save it

<string name="permlab_smallapp">Small application overlay</string>
<string name="permdesc_smallapp">Allows running movable small applications on top of other applications.</string>
<string name="permlab_externalTaskSwitcher">Start as an external task switcher</string>
<string name="permdesc_externalTaskSwitcher">Allows the application to be an external task switcher replacing the native task switcher</string>

2-STEP

in the same values folder open public.xml

and add these 4 lines below the line shown in the pic and save it

<public type="string" name="permlab_smallapp" id="0x01040550" />
<public type="string" name="permdesc_smallapp" id="0x01040551" />
<public type="string" name="permlab_externalTaskSwitcher" id="0x01040552" />
<public type="string" name="permdesc_externalTaskSwitcher" id="0x01040553" />

3-STEP

come back to main framework-res folder

and open AndroidManifest.xml

now add this line as shown in the pic

<permission android:label="@string/permlab_externalTaskSwitcher" android:name="com.sonymobile.permission.EXTERNAL_TASK_SWITCHER" android:protectionLevel="signatureOrSystem" android:description="@string/permdesc_externalTaskSwitcher" />

and this line as shown in pic .and save it

<permission android:label="@string/permlab_smallapp" android:name="com.sony.smallapp.permission.SMALLAPP" android:protectionLevel="dangerous" android:description="@string/permdesc_smallapp" />

Now recompile the framework-res.apk

4-STEP

decompile framework.jar

and the whole sony folder which consists of small apps samli (i have provided in small apps resources.zip )

recompile it

done

5-STEP

u need some framework files and some permissions files ( provided in resources.zip)

1-etc/permissions

2- small app framework jar file

3-small apps supported services.

4-the small apps

6-STEP

now all mods are ready only thing need is small apps (which i have provided in small apps resources.zip)

and also make u use the small apps supported susyemUI.apk (which can be found in this forum)

put all these files in the flashable zip formate i have provided below..

and enjoy ur small apps

HOW TO ADD THE FAMOUS MAGNIFICATION GLASS TO UR FRAMEWORK..

(a big thanks to AEON WORLD)

1-STEP

decompile ur framework-res.apk

2-STEP

navigate to res/values and edit the following xml's

Dimens.xml

add these lines at the end..as shown in the pic

<dimen name="magnifier_selection_handle_offset_y">44.0dip</dimen>
<dimen name="roundMagnificationRadius">55.0dip</dimen>
<dimen name="rectangularMagnificationWidth">179.0dip</dimen>
<dimen name="rectangularMagnificationHeight">74.0dip</dimen>
<dimen name="selection_handle_offset_y">42.0dip</dimen>
<dimen name="selection_handle_right_offset_x">15.0dip</dimen>
<dimen name="selection_handle_left_offset_x">7.0dip</dimen>

Public.xml

add the following lines as shown in pic

under public type demin

<public type="dimen" name="magnifier_selection_handle_offset_y" id="0x01050078" />
<public type="dimen" name="roundMagnificationRadius" id="0x01050079" />
<public type="dimen" name="rectangularMagnificationWidth" id="0x0105007a" />
<public type="dimen" name="rectangularMagnificationHeight" id="0x0105007b" />
<public type="dimen" name="selection_handle_offset_y" id="0x0105007c" />
<public type="dimen" name="selection_handle_right_offset_x" id="0x0105007d" />
<public type="dimen" name="selection_handle_left_offset_x" id="0x0105007e" />

note ur hex codes should be order..

under public type drawables

<public type="drawable" name="textfield_search_right_holo" id="0x010807fb" />

<public type="drawable" name="semc_magnifier_arrow_above" id="0x010807fc" />

<public type="drawable" name="semc_magnifier_arrow_left" id="0x010807fd" />

<public type="drawable" name="semc_magnifier_arrow_right" id="0x010807fe" />

<public type="drawable" name="semc_magnifier_rectangle" id="0x010807ff" />

<public type="drawable" name="semc_magnifier_round" id="0x01080800" />

again the hex codes should in order

3-STEP

put the pngs which i have provided in magni_resoures.rar to drawables-hpdi folder

4-STEP

now recompile the framework-res.apk..

5-STEP

now decompile ur framewok.jar

add the following files provided in magni_resoreces.rar

copy all the files in webkit folder and paste it in classout/android/webkit folder

and copy all the files widget folder and paste it in classout/android/widget folder

wait dont recomplie yet (see next step :p )

6-STEP

now we have to compare some id's from ur public.xml and MagnifierView.smali to assign the same id's for drawables and dimes present in public.xml

Open ur both Public.xml and MagnifierView.smali at the same time and do the following

in magnifierView.smali

1- Find this line and assign <public type="drawable" name="semc_magnifier_round" id="0x010807f9" /> id here

.line 413
move-object/from16 v0, p0

iget-object v3, v0, Landroid/widget/MagnifierView;->mFrames:[Landroid/graphics/drawable/Drawable;

const/4 v4, 0x0

const v5, 0x10[COLOR="Red"]807f9[/COLOR]

2- Find this line and assign <public type="drawable" name="semc_magnifier_rectangle" id="0x010807f8" /> id here

.line 414
move-object/from16 v0, p0

iget-object v3, v0, Landroid/widget/MagnifierView;->mFrames:[Landroid/graphics/drawable/Drawable;

const/4 v4, 0x1

const v5, 0x10[COLOR="red"]807f8[/COLOR]

3-Find this line and assign <public type="dimen" name="roundMagnificationRadius" id="0x01050073" /> id here

.line 422
const v3, 0x10[COLOR="red"]50073[/COLOR]

invoke-virtual {v12, v3}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I

move-result v13

4-Find this line and assign <public type="dimen" name="rectangularMagnificationWidth" id="0x01050074" /> id here

.line 426
move-object/from16 v0, p0

iget-object v3, v0, Landroid/widget/MagnifierView;->mMagnificationWidth:[I

const/4 v4, 0x1

const v5, 0x10[COLOR="red"]50074[/COLOR]

5-Find this line and assign <public type="dimen" name="rectangularMagnificationHeight" id="0x01050075" /> id here

.line 428
move-object/from16 v0, p0

iget-object v3, v0, Landroid/widget/MagnifierView;->mMagnificationHeight:[I

const/4 v4, 0x1

const v5, 0x10[COLOR="red"]50075[/COLOR]

6-Find this line and assign <public type="dimen" name="selection_handle_offset_y" id="0x01050076" /> id here

.line 452
move-object/from16 v0, p0

iget-object v3, v0, Landroid/widget/MagnifierView;->mArrowDrawables:[Landroid/graphics/drawable/Drawable;

const/4 v4, 0x0

const v5, 0x10[COLOR="red"]50076[/COLOR]

7-Find this line and assign <public type="dimen" name="selection_handle_right_offset_x" id="0x01050077" /> id here

.line 454
move-object/from16 v0, p0

iget-object v3, v0, Landroid/widget/MagnifierView;->mArrowDrawables:[Landroid/graphics/drawable/Drawable;

const/4 v4, 0x1

const v5, 0x10[COLOR="red"]50077[/COLOR]

8-Find this line and assign <public type="dimen" name="selection_handle_left_offset_x" id="0x01050078" /> id here

.line 456
move-object/from16 v0, p0

iget-object v3, v0, Landroid/widget/MagnifierView;->mArrowDrawables:[Landroid/graphics/drawable/Drawable;

const/4 v4, 0x2

const v5, 0x10[COLOR="red"]50078[/COLOR]

once u done it..

recompile ur framework.jar

STEP-7

now use the flashable zip i have provided to flash this mod..

PS- my way for presentation of this TUT is bad...hope u guys understand.

CREDITS:

AOEN WORLD -for resources.and initial tut