Jump to content

[APP] NEWEST Sony Ericsson Xperia Arc Launcher & Widgets

Recommended Posts

When I was thinking on what device I should buy, I vacillated between the Sony Ericsson Xperia Active and the Defy+. I liked the UI of the Active, but I decided to buy the Defy. However I determined myself I'll use the Active's Launcher, no matter what. :)

I know there's a lot of Xperia Arc Launcher out there (same as the Active's), but all is the same version (2.0.A.0.22) and all was modified somehow what I don't need. So, I decided to port the newest Launcher without any major modifications. I grabbed the latest firmware of the Xperia Arc (4.0.2.A.0.62), and torn it to pieces. Disassembled the Launcher and modified it to work on any WVGA (480x854) resolution Android devices. And when I was in there, in the firmware, I extracted some of the widgets too.

The Launcher (Ver: 2.1.A.0.10):

The Launcher is not modified. I only changed some settings to make the corners appears on this resolution and corrected the alignings. So, it has 4x4 appdrawer and 5 pages, like the original. You can modify these settings if you unpack the apk and change some values in some xml files. I'll make a Howto to it soon.

This is only tested on WVGA (480x854) device. If you want to try it out or it's not working on your resolution, I'll glad to help.

There's two way to install it:

  • With simple installation, by running the apk. After that, you need to copy the 2 other files to \system, otherwise the "Share" option will not work and you'll face with FCs. You'll need root to do that and you need to reboot after copied the files!!!
  • With the Update.zip from the bootloader.

    Theres' some widgets I could not make to work:

    [*]Photos and Videos widget[*]Music widget[*]Weather widget[*]The Theme Selector of the Launcher

    I made The Photos and Videos widget installable, but it's not usable, because it has some problems with the Advanced Widget Framework of the Launcher. Someone needs to check it. It's inside the apk of the Launcher (\smali\com\sonyericsson\advancedwidget\framework\).

    The Music and the Weather widgets are not installable. I could not figure out the problem. I could not start the Theme Selector of the Launcher either. The needed files are in the compressed file too. If someone has a little bit of free time and the necessary knowledge, it's possible to make it work. :)


    Non-working widgets


    post-624700-0-90660300-1330076894_thumb. post-624700-0-48798700-1330076941_thumb. post-624700-0-51867100-1330076923_thumb. post-624700-0-77945300-1330076914_thumb.

    post-624700-0-75486200-1330076905_thumb. post-624700-0-20376700-1330076984_thumb. post-624700-0-67403700-1330076974_thumb. post-624700-0-25158400-1330076996_thumb.

    post-624700-0-10074500-1330076963_thumb. post-624700-0-08387900-1330076951_thumb.

Edited by Rapid81

Share this post

Link to post
Share on other sites

What you can modify:

  • The resolution (not the exact one, but alignments and sizes)
  • Rows and cols of the appdrawer
  • Rows and cols number of the desktop/home
  • Open and closed radius of the corners
  • The align of the icons in the corners

First, dump the SE_Arc_Home.apk with APKTool. Then the following files may contains useful things to you. :)


<?xml version="1.0" encoding="utf-8"?>


<integer name="folder_max_rows">4</integer> - maximum rows of icons in folders

<integer name="folder_max_cols">4</integer> - maximum cols of icons in folders

<integer name="apptay_grid_rows">3</integer> - rows of the appdrawer (at hdpi resolution, the used value is in values-hdpi\integers.xml)

<integer name="apptray_grid_cols">4</integer> - cols of the appdrawer

<integer name="desktop_grid_rows">4</integer> - rows of the icons on home

<integer name="desktop_grid_cols">4</integer> - cols of the icons on home

<integer name="stage_grid_cols">4</integer>

<integer name="min_pane_switch_duration">1000</integer>

<integer name="desktop_first_pane_switch_wait_duration">0</integer>

<integer name="pane_margin">15</integer>

<integer name="number_of_desktop_panes">5</integer> - pages of home

<integer name="scale_up_transition_scale_duration">300</integer>

<integer name="scale_up_transition_translate_duration">240</integer>

<integer name="scale_up_transition_alpha_duration">240</integer>

<integer name="text_shadow_radius">1</integer>

<integer name="text_shadow_dx">1</integer>

<integer name="text_shadow_dy">1</integer>


res\values\dimens.xml (at hdpi res, you'll found some values in values-hdpi\dimens.xml too)

<?xml version="1.0" encoding="utf-8"?>


<dimen name="folder_arrow_size">17.0dip</dimen>

<dimen name="folder_title_height">50.0dip</dimen>

<dimen name="folder_padding_left">10.0dip</dimen>

<dimen name="folder_padding_top">43.0dip</dimen>

<dimen name="folder_padding_right">10.0dip</dimen>

<dimen name="folder_padding_bottom">11.0dip</dimen>

<dimen name="icon_image_width">48.0dip</dimen>

<dimen name="icon_image_height">48.0dip</dimen>

<dimen name="hint_corner_radius">2.0dip</dimen>

<dimen name="icon_padding_top">5.0dip</dimen>

<dimen name="cell_width">80.0dip</dimen> - width of the icons on home (80x4=320, at 5 icons 320/5=64)

<dimen name="cell_height">100.0dip</dimen> - height of the icons on home (100x4=400, at 5 icons 400/5=80)

<dimen name="desktop_height">400.0dip</dimen> - the "usable" height of home

<dimen name="folder_cell_width">74.0dip</dimen> - width of folders

<dimen name="folder_cell_height">80.0dip</dimen> - height of folders

<dimen name="stage_cell_width">64.0dip</dimen>

<dimen name="stage_cell_height">82.0dip</dimen>

<dimen name="stage_breadth">93.0dip</dimen>

<dimen name="apptray_cell_width">75.0dip</dimen> - width of icons in appdrawer (75x4=300, at 5 icons 300/5=60)

<dimen name="apptray_cell_height">110.0dip</dimen> - height of icons in appdrawer (110x4=440, at 5 icons 440/5=88)

<dimen name="apptray_portrait_height">360.0dip</dimen> - height of the appdrawer

<dimen name="desktop_transform_bottom_margin">53.0dip</dimen>

<dimen name="desktop_padding_top">25.0dip</dimen>

<dimen name="desktop_padding_left">0.0dip</dimen>

<dimen name="desktop_nudge_width">5.0dip</dimen>

<dimen name="desktop_right_nudge_padding_right">0.0dip</dimen>

<dimen name="desktop_pane_switch_margin_left">30.0dip</dimen>

<dimen name="desktop_pane_switch_margin_right">30.0dip</dimen>

<dimen name="desktop_focus_padding_right">0.0dip</dimen>

<dimen name="desktop_focus_padding_bottom">0.0dip</dimen>

<dimen name="desktop_pane_switch_nudge_offset">30.0dip</dimen>

<dimen name="folder_scroll_margin">30.0dip</dimen>

<dimen name="apptray_pane_switch_margin_left">30.0dip</dimen>

<dimen name="apptray_pane_switch_margin_right">30.0dip</dimen>

<dimen name="apptray_pane_switch_nudge_offset">30.0dip</dimen>

<dimen name="apptray_right_nudge_padding_right">0.0dip</dimen>

<dimen name="apptray_nudge_width">5.0dip</dimen>

<dimen name="apptray_margin_top">35.0dip</dimen>

<dimen name="apptray_padding_left">8.0dip</dimen>

<dimen name="apptray_padding_top">16.0dip</dimen>

<dimen name="apptray_backplate_offsetx">0.0dip</dimen>

<dimen name="apptray_backplate_width">0.0dip</dimen>

<dimen name="switch_apptray_button_padding_side">3.0dip</dimen>

<dimen name="apptray_controls_padding_side">10.0dip</dimen>

<dimen name="trashcan_padding_side">7.0dip</dimen>

<dimen name="folder_icon_selector_icon_margin_left">12.0dip</dimen>

<dimen name="folder_icon_selector_side">58.0dip</dimen>

<dimen name="badge_text_size">12.0dip</dimen>

<dimen name="network_name_text_size">13.0dip</dimen>

<dimen name="network_name_view_size">18.0dip</dimen>

<dimen name="corner_button_max_icon_size">48.0dip</dimen>

<dimen name="apptray_uninstall_badge_offset">4.0dip</dimen>

<dimen name="app_share_drop_zone_height">25.0dip</dimen>

<dimen name="app_sharing_icn_padding">1.0dip</dimen>

<dimen name="folder_minis_padding_top">5.5dip</dimen>

<dimen name="styles_fbi_buttoncontainer_marginTop">20.0dip</dimen>

<dimen name="styles_fbi_buttoncontainer_marginBottom">20.0dip</dimen>

<dimen name="styles_fbi_button_text_size">14.699982dip</dimen>

<dimen name="semc_text_size_medium">18.0sp</dimen>

<dimen name="semc_text_size_small">14.0sp</dimen>

<dimen name="semc_text_size_button">@dimen/semc_text_size_small</dimen>


Now I'll show you how you can modify the corners. These lines can be found in smali\com\sonyericsson\cornerbutton\CornerButton.smali file.

The closed radius of the corners

.line 215

new-instance v2, Lcom/sonyericsson/cornerbutton/CornerButtonArc;

const/16 v3, 0x60

The expanded radius of the corners.

The important part is with red. If you reach "ff" at the first column, you can use the second. So, you can set the second column from 0 to 1, and you can start over with the first one from 0. (I hope it's understandable. :D )

sput-object v0, Lcom/sonyericsson/cornerbutton/CornerButton;->EXPANDED_RADIUS:[i




.array-data 0x4

0x3ct 0x0t 0x0t 0x0t

0x5at 0x0t 0x0t 0x0t

0xb0t 0x0t 0x0t 0x0t

0xcct 0x0t 0x0t 0x0t

0xfft 0x0t 0x0t 0x0t

.end array-data

.end method

The position of the icons in the corners

.line 216

new-instance v2, Lcom/sonyericsson/cornerbutton/CornerButtonActions;

const/16 v3, 0x19

const/16 v4, 0x2b

If you've done with the settings, repack the apk with APKTool, then sign it with SignAPk. After that, try it out.

Edited by Rapid81

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


Important Information

By using this site, you agree to our Terms of Use.