summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkecinzer <kecinzer@gmail.com>2014-01-16 12:30:12 +0100
committerLorDClockaN <davor@losinj.com>2014-02-13 14:23:37 +0100
commit7d1ae3a8873c4e2411667c332dff99bbb696a9c2 (patch)
tree77f0da0807d5cf202ecabad18dfa868208800056
parent0ad7915506d391d426be5386de38220dbd025cc9 (diff)
[2/2] Navigation bar width & height
Change-Id: I6ee0a438bc23ba7883e98ecf6fa494d1ad01fca2 Signed-off-by: kecinzer <kecinzer@gmail.com>
-rw-r--r--res/layout/fragment_navbar_settings.xml42
-rw-r--r--res/values/arrays_settings.xml51
-rw-r--r--res/values/strings.xml17
-rw-r--r--src/com/aokp/romcontrol/fragments/navbar/NavbarSettingsFragment.java42
4 files changed, 151 insertions, 1 deletions
diff --git a/res/layout/fragment_navbar_settings.xml b/res/layout/fragment_navbar_settings.xml
index 9f7085a..ddf6537 100644
--- a/res/layout/fragment_navbar_settings.xml
+++ b/res/layout/fragment_navbar_settings.xml
@@ -1,10 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
-
+ xmlns:aokp="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout style="@style/settingsFragmentStyle">
+
+ <com.aokp.romcontrol.settings.SingleChoiceSetting
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:id="@+id/navigation_bar_height"
+
+ android:title="@string/navigation_bar_height_title"
+ android:summary="@string/navigation_bar_height_summary"
+ android:key="navigation_bar_height"
+
+ android:entries="@array/navigation_bar_height_entries"
+ android:entryValues="@array/navigation_bar_height_values"
+ />
+
+ <com.aokp.romcontrol.settings.SingleChoiceSetting
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:id="@+id/navigation_bar_height_landscape"
+
+ android:title="@string/navigation_bar_height_landscape_title"
+ android:summary="@string/navigation_bar_height_landscape_summary"
+ android:key="navigation_bar_height_landscape"
+
+ android:entries="@array/navigation_bar_height_landscape_entries"
+ android:entryValues="@array/navigation_bar_height_landscape_values"
+ />
+
+ <com.aokp.romcontrol.settings.SingleChoiceSetting
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:id="@+id/navigation_bar_width"
+
+ android:title="@string/navigation_bar_width_title"
+ android:summary="@string/navigation_bar_width_summary"
+ android:key="navigation_bar_width"
+
+ android:entries="@array/navigation_bar_width_entries"
+ android:entryValues="@array/navigation_bar_width_values"
+ />
+
</LinearLayout>
</ScrollView>
diff --git a/res/values/arrays_settings.xml b/res/values/arrays_settings.xml
index 74d1b82..651712b 100644
--- a/res/values/arrays_settings.xml
+++ b/res/values/arrays_settings.xml
@@ -134,6 +134,57 @@
<item>**icon**</item>
</string-array>
+ <string-array name="navigation_bar_width_entries" translatable="false">
+ <item>@string/size_42_dp_default</item>
+ <item>@string/size_40_dp</item>
+ <item>@string/size_36_dp</item>
+ <item>@string/size_30_dp</item>
+ <item>@string/size_24_dp</item>
+ </string-array>
+ <string-array name="navigation_bar_width_values" translatable="false">
+ <item>42</item>
+ <item>40</item>
+ <item>36</item>
+ <item>30</item>
+ <item>24</item>
+ </string-array>
+ <string-array name="navigation_bar_height_entries" translatable="false">
+ <item>@string/size_48_dp_default</item>
+ <item>@string/size_44_dp</item>
+ <item>@string/size_42_dp</item>
+ <item>@string/size_40_dp</item>
+ <item>@string/size_36_dp</item>
+ <item>@string/size_30_dp</item>
+ <item>@string/size_24_dp</item>
+ </string-array>
+ <string-array name="navigation_bar_height_values" translatable="false">
+ <item>48</item>
+ <item>44</item>
+ <item>42</item>
+ <item>40</item>
+ <item>36</item>
+ <item>30</item>
+ <item>24</item>
+ </string-array>
+ <string-array name="navigation_bar_height_landscape_entries" translatable="false">
+ <item>@string/size_48_dp_default</item>
+ <item>@string/size_44_dp</item>
+ <item>@string/size_42_dp</item>
+ <item>@string/size_40_dp</item>
+ <item>@string/size_36_dp</item>
+ <item>@string/size_30_dp</item>
+ <item>@string/size_24_dp</item>
+ </string-array>
+ <string-array name="navigation_bar_height_landscape_values" translatable="false">
+ <item>48</item>
+ <item>44</item>
+ <item>42</item>
+ <item>40</item>
+ <item>36</item>
+ <item>30</item>
+ <item>24</item>
+ </string-array>
+
<string-array name="entries_status_bar_network_stats_update" translatable="false">
<item>@string/time_0_5_seconds</item>
<item>@string/time_1_second</item>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 97fecca..d99d249 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -112,6 +112,16 @@
<string name="time_2_seconds">2 seconds</string>
<string name="time_5_seconds">5 seconds</string>
+ <!-- Dimens -->
+ <string name="size_42_dp_default">42 dp (default)</string>
+ <string name="size_36_dp">36 dp</string>
+ <string name="size_30_dp">30 dp</string>
+ <string name="size_24_dp">24 dp</string>
+ <string name="size_48_dp_default">48 dp (default)</string>
+ <string name="size_44_dp">44 dp</string>
+ <string name="size_40_dp">40 dp</string>
+ <string name="size_42_dp">42 dp</string>
+
<!-- Shortcut picker -->
<string name="use_custom_app_title">Use custom application</string>
<string name="use_custom_app_summary">Use custom application instead of the recent applications dialog</string>
@@ -375,6 +385,13 @@
<string name="navbar_tab_arrange">Rearrange</string>
<string name="navbar_tab_settings">Settings</string>
+ <string name="navigation_bar_height_title">Navigation Bar height</string>
+ <string name="navigation_bar_height_summary">Navigation Bar height while in portrait</string>
+ <string name="navigation_bar_height_landscape_title">Navigation Bar height landscape</string>
+ <string name="navigation_bar_height_landscape_summary">Navigation Bar height while in landscape</string>
+ <string name="navigation_bar_width_title">Navigation Bar width</string>
+ <string name="navigation_bar_width_summary">Navigation Bar height if the bar is along a side</string>
+
<string name="lockscreen_see_through">Transparent lockscreen</string>
<string name="lockscreen_see_through_summary">Shows the content behind your lockscreen, your data may be visible to those around you</string>
diff --git a/src/com/aokp/romcontrol/fragments/navbar/NavbarSettingsFragment.java b/src/com/aokp/romcontrol/fragments/navbar/NavbarSettingsFragment.java
index a713cbb..921931f 100644
--- a/src/com/aokp/romcontrol/fragments/navbar/NavbarSettingsFragment.java
+++ b/src/com/aokp/romcontrol/fragments/navbar/NavbarSettingsFragment.java
@@ -1,7 +1,9 @@
package com.aokp.romcontrol.fragments.navbar;
import android.app.Fragment;
+import android.content.Context;
import android.os.Bundle;
+import android.util.DisplayMetrics;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -13,6 +15,10 @@ import com.aokp.romcontrol.settings.SingleChoiceSetting;
public class NavbarSettingsFragment extends Fragment implements OnSettingChangedListener {
+ protected Context mContext;
+
+ SingleChoiceSetting navbar_width, navbar_height, navbar_height_landscape;
+
public NavbarSettingsFragment() {
}
@@ -21,6 +27,24 @@ public class NavbarSettingsFragment extends Fragment implements OnSettingChanged
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_navbar_settings, container, false);
+ mContext = getActivity();
+
+ navbar_width = (SingleChoiceSetting) v.findViewById(R.id.navigation_bar_width);
+ navbar_height = (SingleChoiceSetting) v.findViewById(R.id.navigation_bar_height);
+ navbar_height_landscape = (SingleChoiceSetting) v.findViewById(R.id.navigation_bar_height_landscape);
+
+ if (!hasHWbuttons()) {
+ if (isTablet()) {
+ navbar_width.setVisibility(View.GONE);
+ } else {
+ navbar_height_landscape.setVisibility(View.GONE);
+ }
+ } else {
+ navbar_width.setVisibility(View.GONE);
+ navbar_height.setVisibility(View.GONE);
+ navbar_height_landscape.setVisibility(View.GONE);
+ }
+
return v;
}
@@ -28,4 +52,22 @@ public class NavbarSettingsFragment extends Fragment implements OnSettingChanged
@Override
public void onSettingChanged(String table, String key, String oldValue, String value) {
}
+
+ private boolean hasHWbuttons() {
+ int hardwareKeyMask = mContext.getResources()
+ .getInteger(com.android.internal.R.integer.config_deviceHardwareKeys);
+ return (hardwareKeyMask != 0);
+ }
+
+ private boolean isTablet() {
+ DisplayMetrics displayMetrics = mContext.getResources().getDisplayMetrics();
+ int widthPixels = displayMetrics.widthPixels;
+ int heightPixels = displayMetrics.heightPixels;
+ float density = displayMetrics.density;
+ if (widthPixels < heightPixels) {
+ return ((widthPixels / density) >= 600);
+ } else {
+ return ((heightPixels / density) >= 600);
+ }
+ }
}