Jump to content


Photo

[APP] NEWEST Sony Ericsson Xperia Arc Launcher & Widgets

- - - - -

  • Please log in to reply
1 reply to this topic

#1
Rapid81

Rapid81

    Hardcore

  • Members
  • PipPipPipPipPipPip
  • 1,243 posts
  • Gender:Male
  • Location:Hungary
  • Devices:Motorola Defy+
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.
Widgets:
  • 2 kind of Digital Clock widgets
  • Media widget
  • 2 kind of Switch widgets
  • Calendar widget
  • Favourites and Call Log widget
  • World Clock widget
Downloads: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. :)

Download:
Non-working widgets

Screenshots:
screen_20120223_1915.png screen_20120223_1917.png screen_20120223_1916_2.png screen_20120223_1916.png
screen_20120223_1915_2.png screen_20120223_1930.png screen_20120223_1929_2.png screen_20120223_1952.png
screen_20120223_1929.png screen_20120223_1924.png

Edited by Rapid81, 17 April 2012 - 07:00 PM.

  • 0

#2
Rapid81

Rapid81

    Hardcore

  • Members
  • PipPipPipPipPipPip
  • 1,243 posts
  • Gender:Male
  • Location:Hungary
  • Devices:Motorola Defy+
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. :)

res\values\integers.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<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>
</resources>

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"?>
<resources>
<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>
</resources>

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
return-void
nop
:array_0
.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, 24 February 2012 - 09:46 AM.

  • 0




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users