[Xperia Arc Themes and Apps] serajr:
Hello friends...

First of all don´t replace those files, ok!! Device will bootloop for sure as jader13254 said!

So, let´s talk about the "next step". I´ve ported almost all themes related code from Xperia S ICS to my ST15i ICS with success without fc and/or bootloops. The "default" theme is set (com.sonyericsson.blackthemeblueaccent) with wallpaper and color, but I can´t switch to another one cuz there´s no other ones listed inside Theme Manager, and I know why, and here I need help.

The scenario is:

Inside framework.jar you´ll find \android\content\res\AssetManager.smali file that has this native mathod:

.method public final native setConfiguration(IILjava/lang/String;IIIIIIIIIIIIII)V
.end method

And we need to change entire method to two new methods, they are:

(notice the second method that the last parameter "skin" is where the theme is set)

.method public final declared-synchronized setConfiguration(IILjava/lang/String;IIIIIIIIIIIIII)V
.registers 37
.parameter "mcc"
.parameter "mnc"
.parameter "locale"
.parameter "orientation"
.parameter "touchscreen"
.parameter "density"
.parameter "keyboard"
.parameter "keyboardHidden"
.parameter "navigation"
.parameter "screenWidth"
.parameter "screenHeight"
.parameter "smallestScreenWidthDp"
.parameter "screenWidthDp"
.parameter "screenHeightDp"
.parameter "screenLayout"
.parameter "uiMode"
.parameter "majorVersion"

.prologue
.line 750
monitor-enter p0

const/16 v18, 0x0

move-object/from16 v0, p0

move/from16 v1, p1

move/from16 v2, p2

move-object/from16 v3, p3

move/from16 v4, p4

move/from16 v5, p5

move/from16 v6, p6

move/from16 v7, p7

move/from16 v8, p8

move/from16 v9, p9

move/from16 v10, p10

move/from16 v11, p11

move/from16 v12, p12

move/from16 v13, p13

move/from16 v14, p14

move/from16 v15, p15

move/from16 v16, p16

move/from16 v17, p17

:try_start_27
invoke-virtual/range {v0 .. v18}, Landroid/content/res/AssetManager;->setConfiguration(IILjava/lang/String;IIIIIIIIIIIIIILjava/lang/String;)V
:try_end_2a
.catchall {:try_start_27 .. :try_end_2a} :catchall_2c

.line 753
monitor-exit p0

return-void

.line 750
:catchall_2c
move-exception v0

monitor-exit p0

throw v0
.end method

.method public final declared-synchronized setConfiguration(IILjava/lang/String;IIIIIIIIIIIIIILjava/lang/String;)V
.registers 20
.parameter "mcc"
.parameter "mnc"
.parameter "locale"
.parameter "orientation"
.parameter "touchscreen"
.parameter "density"
.parameter "keyboard"
.parameter "keyboardHidden"
.parameter "navigation"
.parameter "screenWidth"
.parameter "screenHeight"
.parameter "smallestScreenWidthDp"
.parameter "screenWidthDp"
.parameter "screenHeightDp"
.parameter "screenLayout"
.parameter "uiMode"
.parameter "majorVersion"
.[COLOR="red"]parameter "skin"[/COLOR]

.prologue
.line 765
monitor-enter p0

:try_start_1
invoke-direct/range {p0 .. p18}, Landroid/content/res/AssetManager;->setConfigurationNative(IILjava/lang/String;IIIIIIIIIIIIIILjava/lang/String;)V

.line 771
const/4 v0, 0x0

iput-object v0, p0, Landroid/content/res/AssetManager;->mStringBlocks:[Landroid/content/res/StringBlock;

.line 772
invoke-virtual {p0}, Landroid/content/res/AssetManager;->ensureStringBlocks()V
:try_end_a
.catchall {:try_start_1 .. :try_end_a} :catchall_c

.line 773
monitor-exit p0

return-void

.line 765
:catchall_c
move-exception v0

monitor-exit p0

throw v0
.end method

Synchronized with this new one:

.method private final native setConfigurationNative(IILjava/lang/String;IIIIIIIIIIIIIILjava/lang/String;)V
.end method

And also plus two new ones:

.method public static final native createFrameworkOverlayIdmaps()Z
.end method

.method public static final native createSkinIdmapsAndCache()Z
.end method

But we can´t do exchange above cuz these new methods aren´t natives, and they run inside libandroid_runtime.so lib (/system/liblibandroid_runtime.so)

By hex editing libandroid_runtime.so you can see native methods inside it, but if you replace a single period, device bootlops. So I don´t know how to fix/patch this issue. I think this will be the toughest part!

Well, any help would be welcome and I thank in advance!!