03 November, 2013

real original Xperia Tablet UI Mode for sony xperia

here is an extra mod for the xperia users, expecially z tablet users, who don like the new, odd phone ui interface since updating to 4.2.2 that reduces the limited screen height for an additional status/navigation bar like me

this is my first mod for Sony xperia devices, and the final mod since i have decided to sell my xperia tablet z (docomo version) due to the locked bootloader (docomo's version so-o3e cannot be unlocked) which prevents me from using my own kernels and roms. and more importantly, however, i missed Samsung's multiwindows function so much and i need it. dont tell me Sony has the small apps function instead, it is far behind Samsung's multiwindows which i can run any app in a separate window if i want to, including non-samsung apps on my note2. no disrepect here, just my opinion

anyway, i know many ppl would like to update their tablet z to Andriod 4.2.2, or updated already but went back to 4.1.2 finally simply due to the old tablet mode, and here is a simple howto:

a bit more info:

it is the dpi of the screen that determine whether it is a phone or tablet and call for a phoneui or tabletui "in general" (i will not go further in this topic here). however, we can force the device to show a phoneui/tabletui even if it is actually a tablet/phone by modding the system files. one of which is the PhoneWindowManager found under com/android/internal/policy/impl/ (android.policy.jar)

ok, lucky enough, in this 4.2.2 rom (SGP321_10.3.1.A.2.67_1273-0364_R2B), we only need to override/modify two functions: hasNavigationBar()Z and hasSystemNavBar()Z

a tablet mode contains a SystemNavBar but no NavigationBar. simply speaking, a NavigationBar is the bottom bar that only contains the back, home, tasks soft keys, while the SystemNavBar is what we found in most tablets, resides at the bottom of the screen and contains the three navigation soft keys or buttons, back, home, tasks on the left (navigation bar), plus other info icons like clock, signal, on the right (system bar)

therefore, in order to bring back the tabletui, just fulfil these two requirements:
1/. hasNavigationBar = no
2/. hasSystemNavBar = yes

the changes required to the PhoneWindowManager.smali are shown below (note: for this particular rom only, may need some more changes in other roms)

.method public hasNavigationBar()Z
.registers 2

.line 5325
### iget-boolean v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mHasNavigationBar:Z
#** force tablet
const/4 v0, 0x0 # always return false

return v0
.end method

.method public hasSystemNavBar()Z
.registers 2

.line 1598
### iget-boolean v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mHasSystemNavBar:Z
#** force tablet
const/4 v0, 0x1 # always return true

return v0
.end method

anything after a hash (#) are comments line and will be ignored by the compiler, and
### this is the original code
#** this is my remark/comment

the actual changes required are the line immediate below my comment lines, ended with "# always return false (or true)" in bold

that's it! simple enough for modders!

however, if u want to mod it further like adding back the small apps tray then you will need to modify framework-res and systemui, which is not covered here in this post

for non-technical users who dont know how to make the changes, dont worry, i will provide a modded version later

Facebook Comments
1 Blogger Comments
Facebook Comments by Blogger Widgets

1 comment:

Note: Only a member of this blog may post a comment.