Merge "[4/4] OmniGears: Audio Themes Settings" into android-4.4
diff --git a/res/drawable-hdpi/stat_navbar_edit_off.png b/res/drawable-hdpi/stat_navbar_edit_off.png
new file mode 100644
index 0000000..d796bde
--- /dev/null
+++ b/res/drawable-hdpi/stat_navbar_edit_off.png
Binary files differ
diff --git a/res/drawable-hdpi/stat_navbar_edit_on.png b/res/drawable-hdpi/stat_navbar_edit_on.png
new file mode 100644
index 0000000..263c0ed
--- /dev/null
+++ b/res/drawable-hdpi/stat_navbar_edit_on.png
Binary files differ
diff --git a/res/drawable-mdpi/stat_navbar_edit_off.png b/res/drawable-mdpi/stat_navbar_edit_off.png
new file mode 100644
index 0000000..0520768
--- /dev/null
+++ b/res/drawable-mdpi/stat_navbar_edit_off.png
Binary files differ
diff --git a/res/drawable-mdpi/stat_navbar_edit_on.png b/res/drawable-mdpi/stat_navbar_edit_on.png
new file mode 100644
index 0000000..8c93091
--- /dev/null
+++ b/res/drawable-mdpi/stat_navbar_edit_on.png
Binary files differ
diff --git a/res/drawable-xhdpi/stat_navbar_edit_off.png b/res/drawable-xhdpi/stat_navbar_edit_off.png
new file mode 100644
index 0000000..d0c63a0
--- /dev/null
+++ b/res/drawable-xhdpi/stat_navbar_edit_off.png
Binary files differ
diff --git a/res/drawable-xhdpi/stat_navbar_edit_on.png b/res/drawable-xhdpi/stat_navbar_edit_on.png
new file mode 100644
index 0000000..1bfee82
--- /dev/null
+++ b/res/drawable-xhdpi/stat_navbar_edit_on.png
Binary files differ
diff --git a/res/drawable/navbar_tut.png b/res/drawable/navbar_tut.png
new file mode 100644
index 0000000..44578f5
--- /dev/null
+++ b/res/drawable/navbar_tut.png
Binary files differ
diff --git a/res/layout/nav_bar.xml b/res/layout/nav_bar.xml
new file mode 100644
index 0000000..e2a93c1
--- /dev/null
+++ b/res/layout/nav_bar.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_margin="8dip"
+ android:padding="4dip"
+ android:layout_weight="1"
+ android:text="@string/navigation_bar_help_text"
+ android:textSize="13sp" />
+ <ImageView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:layout_margin="8dip"
+ android:padding="4dip"
+ android:src="@drawable/navbar_tut" />
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@android:color/holo_blue_light"
+ android:gravity="center_horizontal"
+ android:layout_marginLeft="8dip"
+ android:layout_marginRight="8dip"
+ android:padding="4dip"
+ android:textColor="#FFFFFF"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:text="@string/navigation_bar_tips_title" />
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_margin="8dip"
+ android:padding="4dip"
+ android:textSize="13sp"
+ android:text="@string/navigation_bar_tips" />
+</LinearLayout>
diff --git a/res/values-nl/custom_strings.xml b/res/values-nl/custom_strings.xml
index 48ee464..bbee20e 100644
--- a/res/values-nl/custom_strings.xml
+++ b/res/values-nl/custom_strings.xml
@@ -159,6 +159,8 @@
<string name="button_volume_keys_title">Volume</string>
<string name="button_volume_wake_title">Volumeknop ontwaken</string>
<string name="button_volume_wake_summary">Maak je apparaat wakker door op de volumeknop te drukken</string>
+ <string name="button_volume_music_control_title">Muziek beheren</string>
+ <string name="button_volume_music_control_summary">Lang drukken op de volume knoppen wisselt van muziek wanneer het scherm uit is</string>
<string name="button_headsethook_title">Koptelefoon</string>
<string name="button_headsethook_launch_voice_title">Koptelefoon start microfoon</string>
<string name="button_headsethook_launch_voice_summary">Drukken op de koptelefoonknop start de microfoon</string>
@@ -166,6 +168,8 @@
<!-- Network speed -->
<string name="show_network_speed">Netwerksnelheidsindicator</string>
<string name="show_network_speed_summary">Toon de netwerksnelheid in de statusbalk</string>
+ <string name="show_network_speed_bits">Toon snelheid in bits per seconde</string>
+ <string name="show_network_speed_bytes">Toon snelheid in Bytes per seconde</string>
<!-- Status Bar Activity Indicators -->
<string name="show_activity_indicators_on_status_bar_title">Netwerk activiteiten indicator</string>
@@ -201,11 +205,14 @@
<string name="keys_action_back">Back knop</string>
<string name="keys_action_last_app">Terug naar laatste app</string>
<string name="keys_action_kill_app">Sluit app</string>
+ <string name="keys_action_sleep">Ga in slaapstand</string>
<string name="keys_action_normal">Normaal indrukken</string>
<string name="keys_action_long">Ingedrukt houden</string>
<string name="keys_action_double">Dubbele tik</string>
<string name="dialog_no_home_key_title">Geen home actie</string>
<string name="no_home_key">Je hebt geen knop toegewezen aan de \"Home"\ actie! Dit kan je apparaat onbruikbaar maken!</string>
+ <string name="virtual_key_haptic_feedback_title">Trillen bij aanraking</string>
+ <string name="virtual_key_haptic_feedback_summary">Inschakelen hangt af van \"Trillen bij aanraking\" bij geluidsinstellingen</string>
<!-- Power Menu Options-->
<string name="bars_and_menus_category_power_menu_title">Power-menu</string>
@@ -213,6 +220,12 @@
<string name="power_menu_toggle_screenshot_summary">Toon schermafbeelding optie in power-menu</string>
<string name="power_menu_toggle_screenrecord_title">Schermopname</string>
<string name="power_menu_toggle_screenrecord_summary">Toon schermopname optie in power-menu</string>
+ <string name="power_menu_toggle_mobile_data_title">Mobiele data</string>
+ <string name="power_menu_toggle_mobile_data_summary">Toon mobiele data optie in power-menu</string>
+ <string name="power_menu_toggle_airplane_mode_title">Vliegmodus</string>
+ <string name="power_menu_toggle_airplane_mode_summary">Toon vliegmodus optie in power-menu</string>
+ <string name="power_menu_toggle_sound_toggles_title">Geluid beheren</string>
+ <string name="power_menu_toggle_sound_toggles_summary">Toon geluidsopties in het power-menu</string>
<!-- Active Display Notifications -->
<string name="ad_settings_title">Actieve weergave</string>
@@ -313,6 +326,7 @@
<string name="navring_action_torch">Zaklamp aan/uit</string>
<string name="navring_action_google_now">Google Now</string>
<string name="navring_choose_action_title">Kies actie</string>
+ <string name="navring_action_last_app">Wissel naar laatste app</string>
<!-- String for IconPicker -->
<string name="icon_picker_title">Kies pictogram bron</string>
@@ -360,4 +374,35 @@
<string name="icon_picker_sms">Berichten</string>
<string name="icon_picker_twitter">Twitter</string>
+ <!-- QuickSettings: Dynamic Row -->
+ <string name="qs_configurable_title">Instelbare snelle instellingen</string>
+ <string name="qs_configurable_summary">In- of uitschakelen van dynamische rij wijzigingen</string>
+
+ <!-- QuickSettings: Quick Pulldown -->
+ <string name="title_quick_pulldown">Snel openen</string>
+ <string name="summary_quick_pulldown">Snelle instellingen openen met een vinger</string>
+ <string name="quick_pulldown_off">Uitgeschakeld</string>
+ <string name="quick_pulldown_centre">Midden</string>
+ <string name="quick_pulldown_left">Links</string>
+ <string name="quick_pulldown_right">Rechts</string>
+
+ <!-- QuickSettings: Smart Pulldown -->
+ <string name="smart_pulldown_title">Slim openen</string>
+ <string name="smart_pulldown_summary">Snelle instellingen openen als er geen notificaties zijn</string>
+ <string name="smart_pulldown_off">Uitgeschakeld</string>
+ <string name="smart_pulldown_dismissable">Openen als er geen verwijderbare notificaties zijn</string>
+ <string name="smart_pulldown_persistent">Openen als er geen notificaties zijn</string>
+
+ <!-- Cursor control -->
+ <string name="volume_key_cursor_control_title">Cursor met volumeknoppen</string>
+ <string name="volume_key_cursor_control_on">Links/rechts</string>
+ <string name="volume_key_cursor_control_on_reverse">Rechts/links</string>
+
+ <!-- Quick Swipe -->
+ <string name="quick_swipe_title">Snel vegen</string>
+ <string name="quick_swipe_summary">Snel vegen tussen snelle instellingen en het notificatie paneel</string>
+
+ <!-- navigation bar -->
+ <string name="soft_back_kill_app_title">Lang drukken op terug sluit app</string>
+ <string name="soft_back_kill_app_summary">Door lang op de terug knop te drukken sluit de app op de voorgrond</string>
</resources>
\ No newline at end of file
diff --git a/res/values/custom_strings.xml b/res/values/custom_strings.xml
index 7275598..f08a86a 100644
--- a/res/values/custom_strings.xml
+++ b/res/values/custom_strings.xml
@@ -217,15 +217,15 @@
<!-- Power Menu Options-->
<string name="bars_and_menus_category_power_menu_title">Power menu</string>
<string name="power_menu_toggle_screenshot_title">Screenshot</string>
- <string name="power_menu_toggle_screenshot_summary">Show screenshot option in Power Menu</string>
- <string name="power_menu_toggle_screenrecord_title">Screen Record</string>
- <string name="power_menu_toggle_screenrecord_summary">Show screen Record option in Power Menu</string>
- <string name="power_menu_toggle_mobile_data_title">Mobile Data</string>
- <string name="power_menu_toggle_mobile_data_summary">Show Mobile Data option in Power Menu</string>
+ <string name="power_menu_toggle_screenshot_summary">Show screenshot option in power menu</string>
+ <string name="power_menu_toggle_screenrecord_title">Screen record</string>
+ <string name="power_menu_toggle_screenrecord_summary">Show screen record option in power menu</string>
+ <string name="power_menu_toggle_mobile_data_title">Mobile data</string>
+ <string name="power_menu_toggle_mobile_data_summary">Show mobile data option in power menu</string>
<string name="power_menu_toggle_airplane_mode_title">Airplane mode</string>
- <string name="power_menu_toggle_airplane_mode_summary">Show Airplane option in Power Menu</string>
+ <string name="power_menu_toggle_airplane_mode_summary">Show airplane option in power menu</string>
<string name="power_menu_toggle_sound_toggles_title">Sound toggles</string>
- <string name="power_menu_toggle_sound_toggles_summary">Show sound toggles in Power Menu</string>
+ <string name="power_menu_toggle_sound_toggles_summary">Show sound toggles in power menu</string>
<!-- Active Display Notifications -->
<string name="ad_settings_title">Active display</string>
@@ -234,30 +234,30 @@
<string name="ad_enable_summary_on">Active display enabled</string>
<string name="ad_enable_summary_off">Active display disabled</string>
<string name="ad_text_title">Notification text</string>
- <string name="ad_text_summary">Show the notification text around the ring.</string>
+ <string name="ad_text_summary">Show the notification text around the ring</string>
<string name="ad_all_notifications_title">All notifications</string>
- <string name="ad_all_notifications_summary">Show all notifications including ongoing, non-clearable notifications.</string>
+ <string name="ad_all_notifications_summary">Show all notifications including ongoing, non-clearable notifications</string>
<string name="ad_hide_low_priority_title">Hide low priority</string>
<string name="ad_hide_low_priority_title">Hide low priority</string>
- <string name="ad_hide_low_priority_summary">Hide low priority notifications such as those from Google Now.</string>
+ <string name="ad_hide_low_priority_summary">Hide low priority notifications such as those from Google Now</string>
<string name="ad_pocket_mode_title">Pocket mode</string>
- <string name="ad_pocket_mode_summary">Show active display notifications when you take the device out of your pocket.</string>
+ <string name="ad_pocket_mode_summary">Show active display notifications when you take the device out of your pocket</string>
<string name="ad_redisplay_title">Redisplay notifications</string>
<string name="ad_timeout_title">Display timeout</string>
<string name="ad_threshold_title">Threshold to proximity</string>
<string name="ad_brightness_title">Notification brightness</string>
<string name="ad_customizations_title">Customizations</string>
<string name="ad_excluded_apps_title">Excluded applications</string>
- <string name="ad_excluded_apps_summary">Excluded applications will not show up in active display.</string>
+ <string name="ad_excluded_apps_summary">Excluded applications will not show up in active display</string>
<string name="ad_show_date_title">Show date</string>
<string name="ad_show_ampm_title">Show AM/PM</string>
<string name="ad_sunlight_mode_title">Sunlight mode</string>
- <string name="ad_brightness_summary">Brightness level for displaying notifications when automatic brightness is not enabled.</string>
+ <string name="ad_brightness_summary">Brightness level for displaying notifications when automatic brightness is not enabled</string>
<string name="ad_show_date_summary">Show the date above the clock</string>
<string name="ad_show_ampm_summary">Show AM/PM indicator next to time when using 12hour format</string>
- <string name="ad_sunlight_mode_summary">Invert the colors when in areas with bright light such as direct sunlight.</string>
+ <string name="ad_sunlight_mode_summary">Invert the colors when in areas with bright light such as direct sunlight</string>
<string name="ad_turnoff_mode_title">Turn off display</string>
- <string name="ad_turnoff_mode_summary">Turn off display if the device gets pocketed again and was turned on by Active Display.</string>
+ <string name="ad_turnoff_mode_summary">Turn off display if the device gets pocketed again and was turned on by active display</string>
<string name="ad_redisplay_never">Never</string>
<string name="ad_redisplay_1m">1 minute</string>
<string name="ad_redisplay_5m">5 minutes</string>
@@ -311,6 +311,17 @@
<string name="button_volume_default_title">Volume default</string>
<string name="button_volume_default_summary">Choose which volume gets changed by default</string>
+ <!-- Navigation Bar customization-->
+ <string name="navigation_bar_title">Buttons and layout</string>
+ <string name="navigation_bar_help_text">1 - To begin editing, tap the lock icon\n\n2 - Tap any button to assign or change functionality\n\n3 - Long press any button to rearrange the order\n\n4 - To save, tap the lock icon again\n\n5 - To restore system default, tap the reset button\n\n</string>
+ <string name="navigation_bar_tips">\u2022 Actions can only be assigned to one button at a time\n\n\u2022 The home button cannot be re-assigned\n\n\u2022 Side buttons cannot be rearranged</string>
+ <string name="navigation_bar_tips_title">Quick tips</string>
+ <string name="navigation_bar_reset_message">Delete current settings and restore to default?</string>
+ <string name="navigation_bar_save_message">Navigation bar settings saved</string>
+ <string name="navigation_bar_reset_toast">Navigation bar reset to default</string>
+ <string name="navigation_bar_menu_editable">Editable</string>
+ <string name="navigation_bar_menu_locked">Locked</string>
+
<!-- Navigation ring shortcuts -->
<string name="navigation_ring_title">Quick launch shortcuts</string>
<string name="navring_target_reset_message">Delete all user created navigation bar shortcuts and restore to default?</string>
diff --git a/res/xml/bars_settings.xml b/res/xml/bars_settings.xml
index 9bd2a18..2b19990 100644
--- a/res/xml/bars_settings.xml
+++ b/res/xml/bars_settings.xml
@@ -79,6 +79,10 @@
android:title="@string/bars_and_menus_category_navigation_bar_title">
<PreferenceScreen
+ android:key="navigation_bar"
+ android:fragment="org.omnirom.omnigears.interfacesettings.NavBar"
+ android:title="@string/navigation_bar_title" />
+ <PreferenceScreen
android:key="navigation_ring"
android:fragment="org.omnirom.omnigears.interfacesettings.NavRing"
android:title="@string/navigation_ring_title" />
@@ -88,6 +92,5 @@
android:title="@string/soft_back_kill_app_title"
android:summary="@string/soft_back_kill_app_summary"
android:persistent="false"/>
-
</PreferenceCategory>
</PreferenceScreen>
diff --git a/src/org/omnirom/omnigears/interfacesettings/NavBar.java b/src/org/omnirom/omnigears/interfacesettings/NavBar.java
new file mode 100644
index 0000000..db5c125
--- /dev/null
+++ b/src/org/omnirom/omnigears/interfacesettings/NavBar.java
@@ -0,0 +1,156 @@
+/*
+ * Copyright (C) 2011 The CyanogenMod Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.omnirom.omnigears.interfacesettings;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.app.Fragment;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.os.Bundle;
+import android.provider.Settings;
+import android.view.LayoutInflater;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Toast;
+
+import com.android.settings.R;
+import com.android.settings.Utils;
+
+public class NavBar extends Fragment {
+
+ private boolean mEditMode;
+ private ViewGroup mContainer;
+ private Activity mActivity;
+ private MenuItem mEditMenu;
+ private boolean mWasInExpandedState;
+ private final static Intent mIntent = new Intent("android.intent.action.NAVBAR_EDIT");
+ private static final int MENU_RESET = Menu.FIRST;
+ private static final int MENU_EDIT = Menu.FIRST + 1;
+
+ @Override
+ public void onAttach(Activity activity) {
+ super.onAttach(activity);
+ mActivity = activity;
+ }
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+ View view = inflater.inflate(R.layout.nav_bar, container, false);
+
+ mContainer = container;
+ setHasOptionsMenu(true);
+
+ return view;
+ }
+
+ @Override
+ public void onViewCreated(View view, Bundle savedInstanceState) {
+ view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_SHOW_NAVIGATION_IN_EXPANDED_DESKTOP);
+
+ // If running on a phone, remove padding around container
+ if (Utils.isPhone(mActivity)) {
+ mContainer.setPadding(0, 0, 0, 0);
+ }
+ }
+
+ @Override
+ public void onDetach() {
+ mActivity = null;
+ super.onDetach();
+ }
+
+ @Override
+ public void onPause() {
+ super.onPause();
+ toggleEditMode(false, false);
+ }
+
+ @Override
+ public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
+ menu.add(0, MENU_RESET, 0, R.string.reset)
+ .setIcon(R.drawable.ic_settings_backup)
+ .setAlphabeticShortcut('r')
+ .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM |
+ MenuItem.SHOW_AS_ACTION_WITH_TEXT);
+ mEditMenu = menu.add(0, MENU_EDIT, 0, R.string.navigation_bar_menu_locked);
+ mEditMenu.setIcon(R.drawable.stat_navbar_edit_off)
+ .setAlphabeticShortcut('s')
+ .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM |
+ MenuItem.SHOW_AS_ACTION_WITH_TEXT);
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ switch (item.getItemId()) {
+ case MENU_RESET:
+ new AlertDialog.Builder(mActivity)
+ .setTitle(R.string.reset)
+ .setIcon(android.R.drawable.ic_dialog_alert)
+ .setMessage(R.string.navigation_bar_reset_message)
+ .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {
+ if (mEditMode) {
+ toggleEditMode(false, false);
+ }
+ Settings.System.putString(getActivity().getContentResolver(),
+ Settings.System.NAV_BUTTONS, null);
+ toggleEditMode(true, false);
+ toggleEditMode(false, false);
+ mEditMode = false;
+ Toast.makeText(mActivity, R.string.navigation_bar_reset_toast, Toast.LENGTH_LONG).show();
+ }
+ }).setNegativeButton(R.string.cancel, null)
+ .create().show();
+ return true;
+ case MENU_EDIT:
+ mEditMode = !mEditMode;
+ toggleEditMode(mEditMode, true);
+ if (!mEditMode) {
+ Toast.makeText(mActivity, R.string.navigation_bar_save_message, Toast.LENGTH_LONG).show();
+ }
+ return true;
+ default:
+ return false;
+ }
+ }
+
+ /**
+ * Toggles navbar edit mode
+ * @param on True to enter edit mode / false to exit
+ * @param save True to save changes / false to discard them
+ */
+ private void toggleEditMode(boolean on, boolean save) {
+ mIntent.putExtra("edit", on);
+ mIntent.putExtra("save", save);
+ mActivity.sendBroadcast(mIntent);
+ if (mEditMenu != null) {
+ mEditMenu.setTitle(on ? R.string.navigation_bar_menu_editable : R.string.navigation_bar_menu_locked)
+ .setIcon(on ? R.drawable.stat_navbar_edit_on : R.drawable.stat_navbar_edit_off);
+ }
+ if (on) {
+ Utils.lockCurrentOrientation(mActivity);
+ } else {
+ mActivity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
+ }
+ }
+}