[Samsung Galaxy Nexus] evilisto:
This is not a tablet ui mod. Just change navbar position to bottom in landscape mode with normal phone ui.

I think bottom position is slightly better on some games...:D

Download

for Deodexed Stock JOP40D : download

*wallpaper : download

(from LG Optimus G)

-------------------------------------------------------------------------------

Source code : download patch

It's more complicated than it looks...:eek:

diff -rupN ./a/frameworks/base/core/res/res/values/config.xml ./b/frameworks/base/core/res/res/values/config.xml
--- ./a/frameworks/base/core/res/res/values/config.xml	2013-01-03 01:08:07.805231699 +0900
+++ ./b/frameworks/base/core/res/res/values/config.xml	2013-01-03 00:30:35.975232000 +0900
@@ -644,6 +644,7 @@
that matches the signature of at least one package on this list.
-->
<string-array name="config_locationProviderPackageNames" translatable="false">
+ <item>com.google.android.location</item>
<!-- The standard AOSP fused location provider -->
<item>com.android.location.fused</item>
</string-array>
diff -rupN ./a/frameworks/base/core/res/res/values/dimens.xml ./b/frameworks/base/core/res/res/values/dimens.xml
--- ./a/frameworks/base/core/res/res/values/dimens.xml	2013-01-03 01:07:20.604400712 +0900
+++ ./b/frameworks/base/core/res/res/values/dimens.xml	2013-01-02 23:19:26.054400000 +0900
@@ -35,7 +35,7 @@
<!-- Height of the bottom navigation / system bar. -->
<dimen name="navigation_bar_height">48dp</dimen>
<!-- Height of the bottom navigation bar in portrait; often the same as @dimen/navigation_bar_height -->
- <dimen name="navigation_bar_height_landscape">48dp</dimen>
+ <dimen name="navigation_bar_height_landscape">32dp</dimen>
<!-- Width of the navigation bar when it is placed vertically on the screen -->
<dimen name="navigation_bar_width">42dp</dimen>
<!-- Height of notification icons in the status bar -->
diff -rupN ./a/frameworks/base/packages/SystemUI/res/layout/navigation_bar.xml ./b/frameworks/base/packages/SystemUI/res/layout/navigation_bar.xml
--- ./a/frameworks/base/packages/SystemUI/res/layout/navigation_bar.xml	2013-01-03 01:11:02.574400000 +0900
+++ ./b/frameworks/base/packages/SystemUI/res/layout/navigation_bar.xml	2013-01-03 01:14:38.724402782 +0900
@@ -178,7 +178,7 @@
<LinearLayout
android:layout_height="match_parent"
android:layout_width="match_parent"
- android:orientation="vertical"
+ android:orientation="horizontal"
android:clipChildren="false"
android:clipToPadding="false"
android:id="@+id/nav_buttons"
@@ -186,114 +186,111 @@
>

<!-- navigation controls -->
- <com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/menu"
- android:layout_height="40dp"
- android:layout_width="match_parent"
- android:src="@drawable/ic_sysbar_menu_land"
- systemui:keyCode="82"
+ <View
+ android:layout_width="48dp"
+ android:layout_height="match_parent"
android:layout_weight="0"
+ android:layout_marginLeft="2dp"
android:visibility="invisible"
- android:contentDescription="@string/accessibility_menu"
- systemui:glowBackground="@drawable/ic_sysbar_highlight_land"
/>
- <com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/recent_apps"
- android:layout_height="80dp"
+ <Space
android:layout_width="match_parent"
- android:src="@drawable/ic_sysbar_recent_land"
- android:layout_weight="0"
- android:contentDescription="@string/accessibility_recent"
- systemui:glowBackground="@drawable/ic_sysbar_highlight_land"
- />
- <View
android:layout_height="match_parent"
- android:layout_width="match_parent"
android:layout_weight="1"
- android:visibility="invisible"
+ />
+ <com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/back"
+ android:layout_width="124dp" android:paddingLeft="24dp" android:paddingRight="24dp"
+ android:layout_height="match_parent"
+ android:src="@drawable/ic_sysbar_back"
+ systemui:keyCode="4"
+ android:layout_weight="0"
+ systemui:glowBackground="@drawable/ic_sysbar_highlight"
+ android:contentDescription="@string/accessibility_back"
/>
<com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/home"
- android:layout_height="80dp"
- android:layout_width="match_parent"
- android:src="@drawable/ic_sysbar_home_land"
+ android:layout_width="124dp" android:paddingLeft="24dp" android:paddingRight="24dp"
+ android:layout_height="match_parent"
+ android:src="@drawable/ic_sysbar_home"
systemui:keyCode="3"
- systemui:keyRepeat="false"
+ systemui:keyRepeat="true"
android:layout_weight="0"
+ systemui:glowBackground="@drawable/ic_sysbar_highlight"
android:contentDescription="@string/accessibility_home"
- systemui:glowBackground="@drawable/ic_sysbar_highlight_land"
/>
- <View
+ <com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/recent_apps"
+ android:layout_width="124dp" android:paddingLeft="24dp" android:paddingRight="24dp"
android:layout_height="match_parent"
- android:layout_width="match_parent"
- android:layout_weight="1"
- android:visibility="invisible"
- />
- <com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/back"
- android:layout_height="80dp"
- android:layout_width="match_parent"
- android:src="@drawable/ic_sysbar_back_land"
- android:scaleType="center"
- systemui:keyCode="4"
+ android:src="@drawable/ic_sysbar_recent"
android:layout_weight="0"
- android:contentDescription="@string/accessibility_back"
- systemui:glowBackground="@drawable/ic_sysbar_highlight_land"
+ systemui:glowBackground="@drawable/ic_sysbar_highlight"
+ android:contentDescription="@string/accessibility_recent"
/>
- <View
- android:layout_height="40dp"
+ <Space
android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ />
+ <com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/menu"
+ android:layout_width="48dp"
+ android:layout_height="match_parent"
+ android:layout_marginRight="2dp"
+ android:src="@drawable/ic_sysbar_menu"
+ systemui:keyCode="82"
android:layout_weight="0"
android:visibility="invisible"
+ android:contentDescription="@string/accessibility_menu"
+ systemui:glowBackground="@drawable/ic_sysbar_highlight"
/>
</LinearLayout>

<!-- lights out layout to match exactly -->
- <LinearLayout
+ <LinearLayout
android:layout_height="match_parent"
android:layout_width="match_parent"
- android:orientation="vertical"
+ android:orientation="horizontal"
android:id="@+id/lights_out"
android:visibility="gone"
>
- <ImageView
- android:layout_height="80dp"
- android:layout_marginTop="40dp"
+ <Space
android:layout_width="match_parent"
- android:src="@drawable/ic_sysbar_lights_out_dot_small"
- android:scaleType="center"
- android:layout_weight="0"
- />
- <View
android:layout_height="match_parent"
- android:layout_width="match_parent"
android:layout_weight="1"
- android:visibility="invisible"
/>
<ImageView
- android:layout_height="80dp"
- android:layout_width="match_parent"
- android:src="@drawable/ic_sysbar_lights_out_dot_large"
+ android:layout_width="124dp" android:paddingLeft="24dp" android:paddingRight="24dp"
+ android:layout_height="match_parent"
+ android:layout_marginLeft="48dp"
+ android:src="@drawable/ic_sysbar_lights_out_dot_small"
android:scaleType="center"
android:layout_weight="0"
/>
- <View
+ <ImageView
+ android:layout_width="124dp" android:paddingLeft="24dp" android:paddingRight="24dp"
android:layout_height="match_parent"
- android:layout_width="match_parent"
- android:layout_weight="1"
- android:visibility="invisible"
+ android:src="@drawable/ic_sysbar_lights_out_dot_large"
+ android:scaleType="center"
+ android:layout_weight="0"
/>
<ImageView
- android:layout_height="80dp"
- android:layout_marginBottom="40dp"
- android:layout_width="match_parent"
+ android:layout_width="124dp" android:paddingLeft="24dp" android:paddingRight="24dp"
+ android:layout_marginRight="48dp"
+ android:layout_height="match_parent"
android:src="@drawable/ic_sysbar_lights_out_dot_small"
android:scaleType="center"
android:layout_weight="0"
/>
+ <Space
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ />
</LinearLayout>

<ImageView
+ android:layout_width="124dp"
android:id="@+id/search_light"
- android:layout_height="80dp"
- android:layout_width="match_parent"
- android:layout_gravity="center_vertical"
+ android:layout_height="match_parent"
+ android:layout_gravity="center_horizontal"
android:src="@drawable/search_light"
android:scaleType="center"
android:visibility="gone"
diff -rupN ./a/frameworks/base/packages/SystemUI/res/layout-land/status_bar_search_panel.xml ./b/frameworks/base/packages/SystemUI/res/layout-land/status_bar_search_panel.xml
--- ./a/frameworks/base/packages/SystemUI/res/layout-land/status_bar_search_panel.xml	2013-01-03 01:11:50.914403000 +0900
+++ ./b/frameworks/base/packages/SystemUI/res/layout-land/status_bar_search_panel.xml	2013-01-03 00:11:42.435235000 +0900
@@ -23,45 +23,26 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/search_panel_container"
android:layout_height="match_parent"
- android:layout_width="match_parent"
- android:paddingBottom="0dip">
+ android:layout_width="match_parent">

- <RelativeLayout
- android:id="@+id/search_bg_protect"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_marginBottom="0dip">
-
- <RelativeLayout
- android:id="@+id/search_panel_container"
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:layout_alignParentRight="true">
-
- <com.android.internal.widget.multiwaveview.GlowPadView
- android:id="@+id/glow_pad_view"
- android:orientation="vertical"
- android:layout_width="@dimen/navbar_search_panel_height"
- android:layout_height="match_parent"
- android:layout_alignParentBottom="true"
- android:gravity="left"
-
- prvandroid:targetDrawables="@array/navbar_search_targets"
- prvandroid:targetDescriptions="@array/navbar_search_target_descriptions"
- prvandroid:directionDescriptions="@array/navbar_search_direction_descriptions"
- prvandroid:outerRingDrawable="@drawable/navbar_search_outerring"
- prvandroid:outerRadius="@dimen/navbar_search_outerring_radius"
- prvandroid:innerRadius="@*android:dimen/glowpadview_inner_radius"
- prvandroid:snapMargin="@dimen/navbar_search_snap_margin"
- prvandroid:feedbackCount="0"
- prvandroid:vibrationDuration="@integer/config_vibration_duration"
- prvandroid:alwaysTrackFinger="true"
- prvandroid:glowRadius="@*android:dimen/glowpadview_glow_radius"
- prvandroid:pointDrawable="@*android:drawable/ic_lockscreen_glowdot"
- />
-
- </RelativeLayout>
-
- </RelativeLayout>
+ <com.android.internal.widget.multiwaveview.GlowPadView
+ android:id="@+id/glow_pad_view"
+ android:layout_width="wrap_content"
+ android:layout_height="@dimen/navbar_search_panel_height"
+ android:layout_gravity="center_horizontal|bottom"
+ android:gravity="center_horizontal|top"
+
+ prvandroid:targetDrawables="@array/navbar_search_targets"
+ prvandroid:targetDescriptions="@array/navbar_search_target_descriptions"
+ prvandroid:directionDescriptions="@array/navbar_search_direction_descriptions"
+ prvandroid:outerRingDrawable="@drawable/navbar_search_outerring"
+ prvandroid:outerRadius="@dimen/navbar_search_outerring_radius"
+ prvandroid:innerRadius="@*android:dimen/glowpadview_inner_radius"
+ prvandroid:snapMargin="@dimen/navbar_search_snap_margin"
+ prvandroid:feedbackCount="0"
+ prvandroid:vibrationDuration="@integer/config_vibration_duration"
+ prvandroid:alwaysTrackFinger="true"
+ prvandroid:glowRadius="@*android:dimen/glowpadview_glow_radius"
+ prvandroid:pointDrawable="@*android:drawable/ic_lockscreen_glowdot"/>

</com.android.systemui.SearchPanelView>
diff -rupN ./a/frameworks/base/packages/SystemUI/res/values-land/arrays.xml ./b/frameworks/base/packages/SystemUI/res/values-land/arrays.xml
--- ./a/frameworks/base/packages/SystemUI/res/values-land/arrays.xml	2013-01-03 01:08:54.414399000 +0900
+++ ./b/frameworks/base/packages/SystemUI/res/values-land/arrays.xml	2013-01-02 23:50:25.664399000 +0900
@@ -21,22 +21,22 @@

<array name="navbar_search_targets">
<item>@null</item>
- <item>@null</item>
<item>@*android:drawable/ic_action_assist_generic</item>
<item>@null</item>
+ <item>@null</item>
</array>

<array name="navbar_search_target_descriptions">
<item>@null</item>
- <item>@null</item>
<item>@*android:string/description_target_search</item>
<item>@null</item>
+ <item>@null</item>
</array>

<array name="navbar_search_direction_descriptions">
<item>@null</item>
+ <item>@*android:string/description_direction_up</item>
<item>@null</item>
- <item>@*android:string/description_direction_left</item>
<item>@null</item>
</array>

diff -rupN ./a/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java ./b/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
--- ./a/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java	2013-01-03 01:10:22.115233298 +0900
+++ ./b/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java	2013-01-02 22:29:00.264397000 +0900
@@ -1006,7 +1006,7 @@ public class PhoneWindowManager implemen
if (shortSizeDp < 600) {
// 0-599dp: "phone" UI with a separate status & navigation bar
mHasSystemNavBar = false;
- mNavigationBarCanMove = true;
+ mNavigationBarCanMove = false;
} else if (shortSizeDp < 720) {
// 600+dp: "phone" UI with modifications for larger screens
mHasSystemNavBar = false;
diff -rupN ./a/packages/apps/Launcher2/res/values/config.xml ./b/packages/apps/Launcher2/res/values/config.xml
--- ./a/packages/apps/Launcher2/res/values/config.xml	2013-01-03 01:06:43.204402079 +0900
+++ ./b/packages/apps/Launcher2/res/values/config.xml	2013-01-02 22:56:53.865231000 +0900
@@ -1,7 +1,7 @@
<resources>
<bool name="config_largeHeap">false</bool>
<bool name="is_large_screen">false</bool>
- <bool name="allow_rotation">false</bool>
+ <bool name="allow_rotation">true</bool>

<!-- DragController -->
<integer name="config_flingToDeleteMinVelocity">-1500</integer>