diff --git a/res/values-cs/custom_strings.xml b/res/values-cs/custom_strings.xml
index 0d8b05f..c334a09 100644
--- a/res/values-cs/custom_strings.xml
+++ b/res/values-cs/custom_strings.xml
@@ -370,7 +370,29 @@
     <string name="icon_picker_sms">Zprávy</string>
     <string name="icon_picker_twitter">Twitter</string>
 
-    <!-- Status Bar QS Quick pulldown -->
-    <string name="qs_quick_pulldown_title">Rychlé nastavení stažením</string>
-    <string name="qs_quick_pulldown_summary">Přístup k rychlému nastavení tahem dolů na pravé straně stavové lišty</string>
+    <!-- QuickSettings: Dynamic Row -->
+    <string name="qs_configurable_title">Konfigurovatelné rychlé nastavení</string>
+    <string name="qs_configurable_summary">Povolit/zakázat dynamické změny řádku</string>
+
+    <!-- QuickSettings: Quick Pulldown -->
+    <string name="title_quick_pulldown">Rychlé vysunutí nabídky</string>
+    <string name="summary_quick_pulldown">Nastavení rychlého vysunutí nabídky jedním prstem</string>
+    <string name="quick_pulldown_off">Vypnuto</string>
+    <string name="quick_pulldown_centre">Střed</string>
+    <string name="quick_pulldown_left">Vlevo</string>
+    <string name="quick_pulldown_right">Vpravo</string>
+
+    <!-- Cursor control -->
+    <string name="volume_key_cursor_control_title">Ovládání kurzoru</string>
+    <string name="volume_key_cursor_control_on">Doleva/doprava</string>
+    <string name="volume_key_cursor_control_on_reverse">Doprava/Doleva</string>
+
+    <!-- Quick Swipe -->
+    <string name="quick_swipe_title">Rychlé přepnutí</string>
+    <string name="quick_swipe_summary">Rychlé přepnutí mezi rychlým nastavením a oznamovací oblasti</string>
+
+    <!-- navigation bar -->
+    <string name="soft_back_kill_app_title">Dlouhým stiskem tlačítka zpět vynutit ukončení aplikace</string>
+    <string name="soft_back_kill_app_summary">Dlouhým stiskem tlačítka zpět vynutíte ukončení aplikace v popředí</string>
+
 </resources>
diff --git a/res/values-fr/custom_strings.xml b/res/values-fr/custom_strings.xml
index 5edb393..6a6545e 100644
--- a/res/values-fr/custom_strings.xml
+++ b/res/values-fr/custom_strings.xml
@@ -20,26 +20,23 @@
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="ok">OK</string>
     <string name="reset">Réinitialiser</string>
-    <string name="bars_and_menus_settings">Barre et menu</string>
+    <string name="bars_and_menus_settings">Barres et menus</string>
     <string name="active_display_settings">ActiveDisplay</string>
     <string name="bars_and_menus_category_status_bar_title">Barre de statut</string>
+    <string name="bars_and_menus_category_navigation_bar_title">Barre de navigation</string>
     <string name="status_bar_battery_title">Style de la batterie</string>
     <string name="status_bar_toggle_brightness">Contrôle du rétroéclairage</string>
     <string name="status_bar_toggle_brightness_summary">Ajuster la luminosité du rétroéclairage en glissant dans la barre de statut</string>
     <string name="status_bar_toggle_info">Luminosité automatique activée</string>
     <string name="status_bar_signal_text_title">Style du statut du signal</string>
     <string name="status_bar_style_icon">Icône</string>
-    <string name="status_bar_style_hidden">Masqué</string>
+    <string name="status_bar_style_hidden">Masquée</string>
     <string name="status_bar_signal_text_show_text">Texte</string>
     <string name="status_bar_battery_status_percentage">Pourcentage</string>
     <string name="status_bar_battery_status_circle">Cercle</string>
     <string name="status_bar_battery_status_circle_percentage">Cercle avec pourcentage</string>
     <string name="status_bar_notif_count_title">Afficher le compteur de notifications</string>
     <string name="status_bar_notif_count_summary">Afficher le nombre de notifications en attente</string>
-    <string name="icon_picker_title">Source de l\'icône</string>
-    <string name="icon_picker_system_icons_title">Icônes système</string>
-    <string name="icon_picker_gallery_title">Galerie</string>
-    <string name="icon_picker_pack_title">Pack d\'icônes</string>
     <string name="profile_applist_title">Applications</string>
     <string name="profile_choose_app">Choisir l\'application</string>
     <string name="profiles_add">Ajouter</string>
@@ -138,23 +135,30 @@
     <string name="button_volume_keys_title">Volume</string>
     <string name="button_volume_wake_title">Réveil avec boutons Volume</string>
     <string name="button_volume_wake_summary">Un appui sur un bouton de volume sortira votre appareil de la veille</string>
+    <string name="button_volume_music_control_title">Contrôle de la musique</string>
+    <string name="button_volume_music_control_summary">Lorsque l\'écran est éteint, un appui long sur les boutons de volume permet de changer le titre en cours de lecture</string>
+    <string name="button_headsethook_title">Casque</string>
+    <string name="button_headsethook_launch_voice_title">Casque à commande vocale</string>
+    <string name="button_headsethook_launch_voice_summary">Un appui sur le bouton du casque lance la commande vocale</string>
     <string name="show_network_speed">Indicateur de vitesse réseau</string>
     <string name="show_network_speed_summary">Afficher la vitesse du réseau dans la barre de statut</string>
+    <string name="show_network_speed_bits">Afficher la vitesse du réseau en bits par seconde</string>
+    <string name="show_network_speed_bytes">Afficher la vitesse du réseau en Bytes par seconde</string>
     <string name="show_activity_indicators_on_status_bar_title">Indicateur d\'activité réseau</string>
     <string name="show_activity_indicators_on_status_bar_summary">Afficher un indicateur d\'activité réseau dans la barre de statut</string>
     <string name="button_keys_title">Boutons</string>
     <string name="keys_bindings_title">Actions des boutons</string>
     <string name="button_keys_back_title" >Bouton Retour</string>
-    <string name="button_keys_home_title" >Bouton Home</string>
+    <string name="button_keys_home_title" >Bouton Accueil</string>
     <string name="button_keys_menu_title" >Bouton Menu</string>
     <string name="button_keys_assist_title" >Bouton Recherche</string>
     <string name="button_keys_appSwitch_title" >Bouton Applications récentes</string>
     <string name="keys_enable_custom_title">Bouton personnalisé</string>
     <string name="keys_back_press_title">Bouton Retour</string>
     <string name="keys_back_long_press_title">Bouton Retour (appui long)</string>
-    <string name="keys_home_press_title">Bouton Home</string>
-    <string name="keys_home_long_press_title">Bouton Home (appui long)</string>
-    <string name="keys_home_double_tap_title">Bouton Home (double appui)</string>
+    <string name="keys_home_press_title">Bouton Accueil</string>
+    <string name="keys_home_long_press_title">Bouton Accueil (appui long)</string>
+    <string name="keys_home_double_tap_title">Bouton Accueil (double appui)</string>
     <string name="keys_menu_press_title">Bouton Menu</string>
     <string name="keys_menu_long_press_title">Bouton Menu (appui long)</string>
     <string name="keys_assist_press_title">Bouton de recherche</string>
@@ -167,20 +171,29 @@
     <string name="keys_action_search">Assistant de recherche</string>
     <string name="keys_action_voice_search">Recherche vocal</string>
     <string name="keys_action_in_app_search">Recherche dans l\'application</string>
-    <string name="keys_action_home">Bouton Home</string>
+    <string name="keys_action_home">Bouton Accueil</string>
     <string name="keys_action_back">Bouton Retour</string>
     <string name="keys_action_last_app">Basculer sur la dernière application</string>
     <string name="keys_action_kill_app">Tuer l\'application</string>
+    <string name="keys_action_sleep">Mettre en veille</string>
     <string name="keys_action_normal">Appui normal</string>
     <string name="keys_action_long">Appui long</string>
     <string name="keys_action_double">Double appuis</string>
-    <string name="dialog_no_home_key_title">Pas de bouton Home</string>
-    <string name="no_home_key">Vous n\'avez pas assigné de bouton à l\'action \"Home\"\u00A0! Cela peut rendre votre appareil inutilisable\u00A0!</string>
+    <string name="dialog_no_home_key_title">Pas de bouton Accueil</string>
+    <string name="no_home_key">Vous n\'avez pas assigné de bouton à l\'action \"Accueil\"\u00A0! Cela peut rendre votre appareil inutilisable\u00A0!</string>
+    <string name="virtual_key_haptic_feedback_title">Vibrer au toucher</string>
+    <string name="virtual_key_haptic_feedback_summary">Cette option dépend de l\'option \"Vibrer au toucher\" des paramètres du son</string>
     <string name="bars_and_menus_category_power_menu_title">Menu marche/arrêt</string>
     <string name="power_menu_toggle_screenshot_title">Capture d\'écran</string>
     <string name="power_menu_toggle_screenshot_summary">Afficher les options de capture d\'écran dans le menu marche/arrêt</string>
     <string name="power_menu_toggle_screenrecord_title">Capture vidéo</string>
     <string name="power_menu_toggle_screenrecord_summary">Afficher les options de capture vidéo de l\'écran dans le menu marche/arrêt</string>
+    <string name="power_menu_toggle_mobile_data_title">Données mobiles</string>
+    <string name="power_menu_toggle_mobile_data_summary">Afficher les options d\'accès aux données mobiles dans le menu marche/arrêt</string>
+    <string name="power_menu_toggle_airplane_mode_title">Mode avion</string>
+    <string name="power_menu_toggle_airplane_mode_summary">Afficher le mode avion dans le menu marche/arrêt</string>
+    <string name="power_menu_toggle_sound_toggles_title">Son</string>
+    <string name="power_menu_toggle_sound_toggles_summary">Afficher les options du son dans le menu marche/arrêt</string>
     <string name="ad_settings_title">ActiveDisplay</string>
     <string name="ad_settings_summary">Définir les paramètres d\'ActiveDisplay</string>
     <string name="ad_enable_title">Activer</string>
@@ -237,17 +250,91 @@
     <string name="show_recent_clear_all_button_title">Bouton de fermeture rapide</string>
     <string name="show_recent_clear_all_button_summary">Afficher le bouton de fermeture rapide des applications dans la fenêtre des applications récentes</string>
     <string name="recent_clear_all_button_location_title">Position du bouton</string>
-    <string name="recent_clear_all_button_location_summary">Définir dans quel coin de l\'écran placer le bouton de fermeture rapide</string>
+    <string name="recent_clear_all_button_location_summary">Définir la position du bouton de fermeture rapide</string>
     <string name="recent_clear_all_button_location_top_left">En haut à gauche</string>
     <string name="recent_clear_all_button_location_top_right">En haut à droite</string>
     <string name="recent_clear_all_button_location_bottom_left">En bas à gauche</string>
-    <string name="recent_clear_all_button_location_bottom_right">En bas en droite</string>
+    <string name="recent_clear_all_button_location_bottom_right">En bas à droite</string>
+    <string name="show_recents_memory_indicator_title">Indicateur de mémoire</string>
+    <string name="show_recents_memory_indicator_summary">Afficher l\'indicateur de mémoire dans la fenêtre des applications récentes</string>
+    <string name="recents_memory_indicator_location_title">Position de l\'indicateur</string>
+    <string name="recents_memory_indicator_location_summary">Définir la position de l\'indicateur de mémoire</string>
     <string name="notification_drawer_category_title">Barre de notification</string>
     <string name="custom_statusbar_header_title">En-tête contextuel</string>
-    <string name="custom_statusbar_header_summary">Définir l\'arrière plan de la barre des notifications avec une image basé sur la date et l\'heure courante</string>
+    <string name="custom_statusbar_header_summary">Définir l\'arrière plan de la barre des notifications avec une image basée sur la date et l\'heure courante</string>
     <string name="button_volume_default_none">Aucun</string>
     <string name="button_volume_default_ringer">Sonnerie</string>
     <string name="button_volume_default_media">Média</string>
     <string name="button_volume_default_title">Volume par défaut</string>
     <string name="button_volume_default_summary">Définir quel volume modifier par défaut</string>
+    <string name="navigation_ring_title">Raccourcis de lancement rapide</string>
+    <string name="navring_target_reset_message">Supprimer tous les raccourcis de la barre de navigation et revenir à la configuration d\'origine\u00A0?</string>
+    <string name="navring_target_reset">Raccourcis de la barre de navigation réinitialisés</string>
+    <string name="navring_action_open_ime_switcher">Changer la méthode de saisie</string>
+    <string name="navring_action_kill_app">Fermer les applications</string>
+    <string name="navring_action_none">Aucun</string>
+    <string name="navring_action_take_screenshot">Effectuer une capture d\'écran</string>
+    <string name="navring_action_ring_vibrate">Sonnerie/Vibreur</string>
+    <string name="navring_action_ring_silent">Sonnerie/Silencieux</string>
+    <string name="navring_action_ring_vibrate_silent">Sonnerie/Vibreur/Silencieux</string>
+    <string name="navring_action_screen_off">Mise en veille</string>
+    <string name="navring_action_torch">Lampe torche</string>
+    <string name="navring_action_google_now">Google Now</string>
+    <string name="navring_choose_action_title">Choisir une action</string>
+    <string name="navring_action_last_app">Retourner à la dernière application</string>
+    <string name="icon_picker_title">Source de l\'icône</string>
+    <string name="icon_picker_system_icons_title">Icônes système</string>
+    <string name="icon_picker_gallery_title">Galerie</string>
+    <string name="icon_picker_pack_title">Pack d\'icônes</string>
+    <string name="lockscreen_target_info">Glisser pour assigner les raccourcis</string>
+    <string name="lockscreen_target_title">Raccourcis</string>
+    <string name="lockscreen_target_summary">Configurer les raccourcis de l\'écran de verrouillage</string>
+    <string name="lockscreen_target_reset">Les raccourcis ont été réinitialisés</string>
+    <string name="lockscreen_target_reset_title">Réinitialiser</string>
+    <string name="lockscreen_target_reset_message">Supprimer tous les raccourcis et revenir à la configuration d\'origine\u00A0?</string>
+    <string name="lockscreen_target_empty">Vide</string>
+    <string name="lockscreen_target_edit_title">Modifier le raccourci</string>
+    <string name="lockscreen_target_edit_msg">Sélectionner l\'application ou l\'activité et l\'icône associée</string>
+    <string name="picker_activities">Activités</string>
+    <string name="select_custom_app_title">Sélectionner l\'application</string>
+    <string name="select_custom_activity_title">Sélectionner l\'activité</string>
+    <string name="icon_picker_choose_icon_title">Sélectionner une icône</string>
+    <string name="icon_picker_alarm">Alarme</string>
+    <string name="icon_picker_browser">Navigateur</string>
+    <string name="icon_picker_calendar">Agenda</string>
+    <string name="icon_picker_camera">Appareil photo</string>
+    <string name="icon_picker_chrome">Chrome</string>
+    <string name="icon_picker_contacts">Contacts</string>
+    <string name="icon_picker_email">Email</string>
+    <string name="icon_picker_email2">Email Holo</string>
+    <string name="icon_picker_facebook">Facebook</string>
+    <string name="icon_picker_gallery">Galerie</string>
+    <string name="icon_picker_google_small">Google (petit)</string>
+    <string name="icon_picker_googleplus">Google+</string>
+    <string name="icon_picker_googletalk">Hangouts</string>
+    <string name="icon_picker_maps">Google Maps</string>
+    <string name="icon_picker_movie">Vidéos</string>
+    <string name="icon_picker_music">Musique</string>
+    <string name="icon_picker_nav_normal">Navigation</string>
+    <string name="icon_picker_phone">Téléphone</string>
+    <string name="icon_picker_podcast">Podcast</string>
+    <string name="icon_picker_rss">RSS</string>
+    <string name="icon_picker_search">Recherche</string>
+    <string name="icon_picker_sms">Messages</string>
+    <string name="icon_picker_twitter">Twitter</string>
+    <string name="qs_configurable_title">Volet des paramètres configurables</string>
+    <string name="qs_configurable_summary">Activer les raccourcis configurables dans le volet des paramètres</string>
+    <string name="title_quick_pulldown">Accés rapide au volet des paramètres</string>
+    <string name="summary_quick_pulldown">Accéder rapidement au volet des paramètres avec un seul doigt</string>
+    <string name="quick_pulldown_off">Désactivé</string>
+    <string name="quick_pulldown_centre">Centre</string>
+    <string name="quick_pulldown_left">Gauche</string>
+    <string name="quick_pulldown_right">Droite</string>
+    <string name="volume_key_cursor_control_title">Contrôle du curseur</string>
+    <string name="volume_key_cursor_control_on">Gauche/Droite</string>
+    <string name="volume_key_cursor_control_on_reverse">Droite/Gauche</string>
+    <string name="quick_swipe_title">Accès rapide par glissement</string>
+    <string name="quick_swipe_summary">Accès rapide entre les notifications et le panneau des paramètres</string>
+    <string name="soft_back_kill_app_title">Appui long sur Retour tue l\'application</string>
+    <string name="soft_back_kill_app_summary">Un appui long sur le bouton retour tuera l\'application en premier plan</string>
 </resources>
diff --git a/res/values-it/custom_strings.xml b/res/values-it/custom_strings.xml
index 691c1f2..a4e1c7a 100644
--- a/res/values-it/custom_strings.xml
+++ b/res/values-it/custom_strings.xml
@@ -23,6 +23,7 @@
     <string name="bars_and_menus_settings">Menu e barra notif.</string>
     <string name="active_display_settings">Active display</string>
     <string name="bars_and_menus_category_status_bar_title">Barra di stato</string>
+    <string name="bars_and_menus_category_navigation_bar_title">Barra di navigazione</string>
     <string name="status_bar_battery_title">Stile batteria</string>
     <string name="status_bar_toggle_brightness">Controllo della luminosità</string>
     <string name="status_bar_toggle_brightness_summary">Regola la luminosità facendo scorrere tutta la barra di stato</string>
@@ -157,6 +158,8 @@
     <string name="button_volume_keys_title">Volume</string>
     <string name="button_volume_wake_title">Attiva con il pulsante volume</string>
     <string name="button_volume_wake_summary">Premendo un pulsante del volume si attiverà il tuo dispositivo</string>
+    <string name="button_volume_music_control_title">Controllo musica</string>
+    <string name="button_volume_music_control_summary">Premi a lungo il pulsante del volume per cambiare la canzone da schermo spento.</string>
     <string name="button_headsethook_title">Auricolari</string>
     <string name="button_headsethook_launch_voice_title">Comandi vocali auricolare</string>
     <string name="button_headsethook_launch_voice_summary">Premendo il pulsante dell\'auricolare si eseguiranno i comandi vocali</string>
@@ -164,7 +167,8 @@
     <!-- Network speed -->
     <string name="show_network_speed">Mostra velocità della rete</string>
     <string name="show_network_speed_summary">Mostra la velocità della rete dati nella barra di stato</string>
-
+    <string name="show_network_speed_bits">Mostra la velocità di bit al secondo</string>
+    <string name="show_network_speed_bytes">Mostra la velocità di byte al secondo</string>
     <!-- Status Bar Activity Indicators -->
     <string name="show_activity_indicators_on_status_bar_title">Mostra attività di rete</string>
     <string name="show_activity_indicators_on_status_bar_summary">Mostra l\'attività di rete nella barra di stato</string>
@@ -199,6 +203,7 @@
     <string name="keys_action_back">Tasto indietro</string>
     <string name="keys_action_last_app">Passare all\'ultima applicazione</string>
     <string name="keys_action_kill_app">Chiudi le applicazioni</string>
+    <string name="keys_action_sleep">Vai in standby</string>
     <string name="keys_action_normal">Pressione normale</string>
     <string name="keys_action_long">Pressione lunga</string>
     <string name="keys_action_double">Doppio tocco</string>
@@ -364,8 +369,19 @@
     <string name="icon_picker_search">Ricerca</string>
     <string name="icon_picker_sms">Messaggi</string>
     <string name="icon_picker_twitter">Twitter</string>
-    <!-- Status Bar QS Quick pulldown -->
-    <string name="qs_quick_pulldown_title">Impostazioni rapide barra di stato</string>
-    <string name="qs_quick_pulldown_summary">Accedi alle impostazioni rapide effettuando uno swipe verso il basso sul lato destro della barra di stato</string>
+    <!-- QuickSettings: Quick Pulldown -->
+    <string name="title_quick_pulldown">Quick settings rapidi</string>
+    <string name="summary_quick_pulldown">Accedi rapidamente ai quick settings usando un solo dito</string>
+    <string name="quick_pulldown_off">Disattivo</string>
+    <string name="quick_pulldown_centre">Centrato</string>
+    <string name="quick_pulldown_left">Sinistra</string>
+    <string name="quick_pulldown_right">Destra</string>
 
+    <!-- Cursor control -->
+    <string name="volume_key_cursor_control_title">Cursore di controllo</string>
+    <string name="volume_key_cursor_control_on">Sinistra/Destra</string>
+    <string name="volume_key_cursor_control_on_reverse">Destra/Sinistra</string>
+    <!-- Quick Swipe -->
+    <string name="quick_swipe_title">Quick Swipe</string>
+    <string name="quick_swipe_summary">Scorri rapidamente tra i quick settings e l\'area delle notifiche</string>
 </resources>
diff --git a/res/values-pt/custom_strings.xml b/res/values-pt/custom_strings.xml
new file mode 100644
index 0000000..1376882
--- /dev/null
+++ b/res/values-pt/custom_strings.xml
@@ -0,0 +1,392 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2013 The OmniROM Project
+
+  Parts Copyright (C) 2012-2013 The CyanogenMod Project
+
+  This program is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ -->
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="ok">OK</string>
+    <string name="reset">Redefinir</string>
+
+    <string name="bars_and_menus_settings">Barras e menus</string>
+    <string name="active_display_settings">ActiveDisplay</string>
+    <string name="bars_and_menus_category_status_bar_title">Barra de status</string>
+    <string name="status_bar_battery_title">Estilo da bateria</string>
+    <string name="status_bar_toggle_brightness">Controle de brilho</string>
+    <string name="status_bar_toggle_brightness_summary">Ajustar o brilho deslizando através da barra de status</string>
+    <string name="status_bar_toggle_info">Brilho automático está ativo</string>
+    <string name="status_bar_signal_text_title">Estilo do status de sinal</string>
+    <string name="status_bar_style_icon">Ícone</string>
+    <string name="status_bar_style_hidden">Escondido</string>
+    <string name="status_bar_signal_text_show_text">Texto</string>
+    <string name="status_bar_battery_status_percentage">Porcentagem</string>
+    <string name="status_bar_battery_status_circle">Círculo</string>
+    <string name="status_bar_battery_status_circle_percentage">Círculo com porcentagem</string>
+    <string name="status_bar_notif_count_title">Contador de notificação</string>
+    <string name="status_bar_notif_count_summary">Mostrar número de notificações pendentes</string>
+
+    <!-- String for IconPicker -->
+    <string name="icon_picker_title">Escolher ícone fonte</string>
+    <string name="icon_picker_system_icons_title">Ícones de sistema</string>
+    <string name="icon_picker_gallery_title">Galeria</string>
+    <string name="icon_picker_pack_title">Pacote de ícones</string>
+    <string name="profile_applist_title">Apps</string>
+    <string name="profile_choose_app">Escolher app</string>
+    <string name="profiles_add">Adicionar</string>
+
+    <!-- Notification light dialogs -->
+    <string name="edit_light_settings">Editar configurações de luz</string>
+    <string name="pulse_speed_title">Duração e velocidade do pulso</string>
+    <string name="color_list_title">Cor</string>
+    <string name="default_time">Normal</string>
+    <string name="custom_time">Customizado</string>
+    <string name="dialog_test">Teste</string>
+    <string name="dialog_delete_title">Apagar</string>
+    <string name="dialog_delete_message">Remover item selecionado?</string>
+    <string name="dialog_test_message">Apague a tela para ver a notificação selecionado em ação ou recuse esta mensagem para parar o teste</string>
+    <string name="dialog_test_button">Recusar</string>
+
+    <!-- Lights settings screen, notification light settings -->
+    <string name="notification_light_enable">Habilitar</string>
+    <string name="notification_light_general_title">Geral</string>
+    <string name="notification_light_applist_title">Aplicações</string>
+    <string name="notification_light_phonelist_title">Telefone</string>
+    <string name="notification_light_use_custom">Utilizar valores customizados</string>
+    <string name="notification_light_enabled">Habilitado</string>
+    <string name="notification_light_disabled">Desabilitado</string>
+    <string name="notification_light_default_value">Padrão</string>
+    <string name="notification_light_missed_call_title">Chamada perdida</string>
+    <string name="notification_light_voicemail_title">Mensagem de voz</string>
+
+    <!-- Values for the notification light pulse spinners -->
+    <string name="pulse_length_always_on">Sempre ligado</string>
+    <string name="pulse_length_very_short">Muito curto</string>
+    <string name="pulse_length_short">Curto</string>
+    <string name="pulse_length_normal">Normal</string>
+    <string name="pulse_length_long">Longo</string>
+    <string name="pulse_length_very_long">Muito longo</string>
+    <string name="pulse_speed_very_fast">Muito rápido</string>
+    <string name="pulse_speed_fast">Rápido</string>
+    <string name="pulse_speed_normal">Normal</string>
+    <string name="pulse_speed_slow">Devagar</string>
+    <string name="pulse_speed_very_slow">Muito devagar</string>
+    <string name="led_color_green">Verde</string>
+    <string name="led_color_red">Vermelho</string>
+
+    <!-- Battery light settings  -->
+    <string name="battery_light_enable">Habilitar</string>
+    <string name="battery_low_pulse_title">Pulsar se a bateria estiver baixa</string>
+    <string name="battery_light_list_title">Cores</string>
+    <string name="battery_light_low_color_title">Bateria baixa</string>
+    <string name="battery_light_medium_color_title">Carregando</string>
+    <string name="battery_light_full_color_title">Carregado (90%)</string>
+    <string name="battery_light_really_full_color_title">Carregado (100%)</string>
+    <string name="edit_battery_settings">Editar configurações de bateria</string>
+
+    <!-- brightness settings -->
+    <string name="brightness_settings_title">Configuração de brilho</string>
+    <string name="screen_current_value">Valor atual da tela: %d</string>
+    <string name="button_current_value">Valor atual do botão: %d</string>
+    <string name="auto_brightness_sensitivity_title">Sensibilidade do ajustamento</string>
+    <string name="auto_brightness_sensitivity_summary">Médio</string>
+    <string name="auto_brightness_sensitivity_verylow">Muito baixo</string>
+    <string name="auto_brightness_sensitivity_low">Baixo</string>
+    <string name="auto_brightness_sensitivity_medium">Médio</string>
+    <string name="auto_brightness_sensitivity_high">Alto</string>
+    <string name="auto_brightness_sensitivity_veryhigh">Muito alto</string>
+    <string name="screen_brightness_category">Tela</string>
+    <string name="screen_auto_brightness">Níveis automáticos</string>
+    <string name="screen_auto_brighness_summary">Níveis de brilho da tela para modo automático</string>
+    <string name="button_auto_brightness">Níveis automáticos</string>
+    <string name="button_auto_brighness_summary">Níveis ade brilho do botão para modo automático</string>
+    <string name="button_brightness_category">Botões</string>
+    <string name="button_no_brightness">Modo escuro</string>
+    <string name="button_no_brightness_summary">"Não definir brilho do botão"</string>
+    <string name="button_link_brightness">Link com a tela</string>
+    <string name="button_link_brightness_summary">Brilho dos botões utilizará o mesmo valor da tela</string>
+    <string name="button_manual_brightness">Nível manual</string>
+    <string name="button_manual_brightness_summary">Nível de brilho do botão para modo manual</string>
+    <string name="dialog_manual_brightness_title">Brilho do botão manual</string>
+
+    <!-- Automatic brightness customization -->
+    <string name="auto_brightness_setup_title">Brilho automático</string>
+    <string name="light_sensor_current_value">Valor atual do sensor de luz: %d lux</string>
+    <string name="auto_brightness_dialog_title">Níveis de brilho automático</string>
+    <string name="auto_brightness_level_format">%1$d</string>
+    <string name="auto_brightness_last_level_format">%1$d+</string>
+    <string name="auto_brightness_adjust_button">Ajustar</string>
+    <string name="auto_brightness_close_button">Fechar</string>
+    <string name="auto_brightness_reset_button">Redefinir</string>
+    <string name="auto_brightness_split_dialog_title">Dividir nível de brilho</string>
+    <string name="auto_brightness_level_dialog_title">Nível de brilho</string>
+    <string name="auto_brightness_lux">Brilho do ambiente (lux)</string>
+    <string name="auto_brightness_backlight">Brilho</string>
+    <string name="auto_brightness_reset_dialog_title">Redefinir níveis?</string>
+    <string name="auto_brightness_reset_confirmation">Todos os níveis de brilho serão redefinidos para as configurações padrões.</string>
+    <string name="auto_brightness_split_lux_format">Dividir posição (entre %1$d e %2$d lux)</string>
+    <string name="auto_brightness_level_options">Opções do nível de luz</string>
+    <string name="auto_brightness_menu_edit">Editar</string>
+    <string name="auto_brightness_menu_split">Dividir</string>
+    <string name="auto_brightness_menu_remove">Remover</string>
+    <string name="sensor_category">Sensor</string>
+    <string name="button_timeout_title">Tempo de espera</string>
+    <plurals name="button_timeout_time">
+        <item quantity="one"><xliff:g id="seconds">%d</xliff:g> segundo</item>
+        <item quantity="other"><xliff:g id="seconds">%d</xliff:g> segundos</item>
+    </plurals>
+    <string name="button_timeout_enabled">Habilitado por <xliff:g id="timeout">%s</xliff:g></string>
+    <string name="button_timeout_disabled">Desabilitado</string>
+    <string name="dialog_button_timeout_title">Tempo limite do brilho dos botões</string>
+
+    <!-- button settings -->
+    <string name="button_volume_keys_title">Volume</string>
+    <string name="button_volume_wake_title">Acordar com botão de volume</string>
+    <string name="button_volume_wake_summary">Ao pressionar o botão de volume o aparelho irá acordar</string>
+    <string name="button_volume_music_control_title">Controle de música</string>
+    <string name="button_volume_music_control_summary">Segure os botões de volume para alternar a música enquanto a tela está desligada</string>
+    <string name="button_headsethook_title">Fones de ouvido</string>
+    <string name="button_headsethook_launch_voice_title">Fones de ouvido ativam a voz</string>
+    <string name="button_headsethook_launch_voice_summary">Pressionar o botão dos fones de ouvido ativará controle de voz</string>
+
+    <!-- Network speed -->
+    <string name="show_network_speed">Indicador da velocidade da rede</string>
+    <string name="show_network_speed_summary">Mostrar a velodicade da rede na barra de status</string>
+
+    <!-- Status Bar Activity Indicators -->
+    <string name="show_activity_indicators_on_status_bar_title">Indicador de atividade da rede</string>
+    <string name="show_activity_indicators_on_status_bar_summary">Mostrar a atividade da rede na barra de status</string>
+
+    <!-- Hardware keys -->
+    <string name="button_keys_title">Botões</string>
+    <string name="keys_bindings_title">Ações dos botões</string>
+    <string name="button_keys_back_title">Botão voltar</string>
+    <string name="button_keys_home_title">Botão início</string>
+    <string name="button_keys_menu_title">Botão menu</string>
+    <string name="button_keys_assist_title">Botão pesquisar</string>
+    <string name="button_keys_appSwitch_title">Botão aplicações recentes</string>
+    <string name="keys_enable_custom_title">Ações customizadas</string>
+    <string name="keys_back_press_title">Botão voltar</string>
+    <string name="keys_back_long_press_title">Botão voltar (toque longo)</string>
+    <string name="keys_home_press_title">Botão início</string>
+    <string name="keys_home_long_press_title">Botão início (toque longo)</string>
+    <string name="keys_home_double_tap_title">Botão início (toque duplo)</string>
+    <string name="keys_menu_press_title">Botão menu</string>
+    <string name="keys_menu_long_press_title">Botão menu (toque longo)</string>
+    <string name="keys_assist_press_title">Botão pesquisar</string>
+    <string name="keys_assist_long_press_title">Botão pesquisar (toque longo)</string>
+    <string name="keys_app_switch_press_title">Botão trocar de aplicação</string>
+    <string name="keys_app_switch_long_press_title">Botão trocar de aplicação (toque longo)</string>
+    <string name="keys_action_nothing">Sem ação</string>
+    <string name="keys_action_menu">Abrir/fechar menu</string>
+    <string name="keys_action_app_switch">Alternador de apps recentes</string>
+    <string name="keys_action_search">Assistente de busca</string>
+    <string name="keys_action_voice_search">Busca por voz</string>
+    <string name="keys_action_in_app_search">Busca em app</string>
+    <string name="keys_action_home">Botão início</string>
+    <string name="keys_action_back">Botão voltar</string>
+    <string name="keys_action_last_app">Trocar para o último app</string>
+    <string name="keys_action_kill_app">Encerrar app</string>
+    <string name="keys_action_sleep">Dormir</string>
+    <string name="keys_action_normal">Toque normal</string>
+    <string name="keys_action_long">Toque longo</string>
+    <string name="keys_action_double">Toque duplo</string>
+    <string name="dialog_no_home_key_title">Sem ação de início</string>
+    <string name="no_home_key">Você não possui um botão definido para a ação \"Início\"! Isso pode tornar seu aparelho inutilizável!</string>
+    <string name="virtual_key_haptic_feedback_title">Vibrar ao tocar</string>
+    <string name="virtual_key_haptic_feedback_summary">Para habilitar, a caixa \"Vibrar ao tocar\" nas configurações de sons deve estar habilitada</string>
+
+    <!-- Power Menu Options-->
+    <string name="bars_and_menus_category_power_menu_title">Menu de energia</string>
+    <string name="power_menu_toggle_screenshot_title">Captura de Tela</string>
+    <string name="power_menu_toggle_screenshot_summary">Mostrar a opção de captura da tela no Menu de Energia</string>
+    <string name="power_menu_toggle_screenrecord_title">Gravação da Tela</string>
+    <string name="power_menu_toggle_screenrecord_summary">Mostrar opção de Gravação de tela no Menu de Energia</string>
+    <string name="power_menu_toggle_mobile_data_title">Dados móveis</string>
+    <string name="power_menu_toggle_mobile_data_summary">Mostrar opção de Dados móveis no menu de energia</string>
+    <string name="power_menu_toggle_airplane_mode_title">Modo avião</string>
+    <string name="power_menu_toggle_airplane_mode_summary">Mostrar opção de Modo avião no menu de energia</string>
+    <string name="power_menu_toggle_sound_toggles_title">Alternar sons</string>
+    <string name="power_menu_toggle_sound_toggles_summary">Mostrar alternadores de sons no menu de energia</string>
+
+    <!-- Active Display Notifications -->
+    <string name="ad_settings_title">Active display</string>
+    <string name="ad_settings_summary">Alterar configurações do active display</string>
+    <string name="ad_enable_title">Habilitar</string>
+    <string name="ad_enable_summary_on">Active display habilitado</string>
+    <string name="ad_enable_summary_off">Active display desabilitado</string>
+    <string name="ad_text_title">Texto da notificação</string>
+    <string name="ad_text_summary">Exibir o texto da notificação ao redor do anel.</string>
+    <string name="ad_all_notifications_title">Todas as notificações</string>
+    <string name="ad_all_notifications_summary">Mostrar todas as notificações, inclusive as em andamento que não podem ser limpas.</string>
+    <string name="ad_hide_low_priority_title">Esconder de baixa prioridade</string>
+    <string name="ad_hide_low_priority_summary">Esconder notificações de baixa prioridade como as do Google Now.</string>
+    <string name="ad_pocket_mode_title">Modo bolso</string>
+    <string name="ad_pocket_mode_summary">Mostrar notificaçoes do active display quando você pegar o aparelho do bolso.</string>
+    <string name="ad_redisplay_title">Mostrar novamente as notificações</string>
+    <string name="ad_timeout_title">Tempo de espera da tela</string>
+    <string name="ad_threshold_title">Limite da proximidade</string>
+    <string name="ad_brightness_title">Brilho da notificação</string>
+    <string name="ad_customizations_title">Customizações</string>
+    <string name="ad_excluded_apps_title">Aplicações excluídas</string>
+    <string name="ad_excluded_apps_summary">Aplicações excluídas não serão exibidas no active display.</string>
+    <string name="ad_show_date_title">Mostrar data</string>
+    <string name="ad_show_ampm_title">Mostrar AM/PM</string>
+    <string name="ad_sunlight_mode_title">Modo luz do sol</string>
+    <string name="ad_brightness_summary">Nível de brilho para mostrar as notificações quando o brilho automático não estiver habilitado.</string>
+    <string name="ad_show_date_summary">Mostrar a data abaixo do relógio</string>
+    <string name="ad_show_ampm_summary">Mostrar o indicador AM/PM ao lado do relógio quando estiver utilizando o formato de 12 horas</string>
+    <string name="ad_sunlight_mode_summary">Inverter as cores quando em áreas muito claras, como com luz direta do sol.</string>
+    <string name="ad_turnoff_mode_title">Desligar a tela</string>
+    <string name="ad_turnoff_mode_summary">Desligar a tela quando colocar o aparelho no bolso novamente e esta ter sido ligada pelo Active Display.</string>
+    <string name="ad_redisplay_never">Nunca</string>
+    <string name="ad_redisplay_1m">1 minuto</string>
+    <string name="ad_redisplay_5m">5 minutos</string>
+    <string name="ad_redisplay_15m">15 minutos</string>
+    <string name="ad_redisplay_30m">30 minutos</string>
+    <string name="ad_redisplay_1h">1 hora</string>
+    <string name="ad_redisplay_2h">2 horas</string>
+    <string name="ad_redisplay_5h">5 horas</string>
+    <string name="ad_timeout_3s">3 segundos</string>
+    <string name="ad_timeout_5s">5 segundos</string>
+    <string name="ad_timeout_8s">8 segundos</string>
+    <string name="ad_timeout_10s">10 segundos</string>
+    <string name="ad_timeout_15s">15 segundos</string>
+    <string name="ad_timeout_25s">25 segundos</string>
+    <string name="ad_threshold_0s">Instantâneo</string>
+    <string name="ad_threshold_1s">1 segundo</string>
+    <string name="ad_threshold_2s">2 segundos</string>
+    <string name="ad_threshold_3s">3 segundos</string>
+    <string name="ad_threshold_4s">4 segundos</string>
+    <string name="ad_threshold_5s">5 segundos</string>
+    <string name="ad_pocket_mode_off">Desligado</string>
+    <string name="ad_pocket_mode_notifications">Somente notificações</string>
+    <string name="ad_pocket_mode_always">Sempre</string>
+
+    <!-- Recents clear all -->
+    <string name="bars_and_menus_category_recent_panel_title">Ver recentes</string>
+    <string name="show_recent_clear_all_button_title">Botão limpar tudo</string>
+    <string name="show_recent_clear_all_button_summary">Mostrar botão para limpar tudo no painel de aplicações recentes</string>
+    <string name="recent_clear_all_button_location_title">Posição do botão limpar tudo</string>
+    <string name="recent_clear_all_button_location_summary">Escolher posição do botão limpar tudo</string>
+    <string name="recent_clear_all_button_location_top_left">Topo à esquerda</string>
+    <string name="recent_clear_all_button_location_top_right">Topo à direita</string>
+    <string name="recent_clear_all_button_location_bottom_left">Inferior à esquerda</string>
+    <string name="recent_clear_all_button_location_bottom_right">Inferior à direita</string>
+
+    <!-- Memory Indicator -->
+    <string name="notification_drawer_category_title">Painel de notificação</string>
+    <string name="custom_statusbar_header_title">Cabeçalho do painel de notificação contextual</string>
+    <string name="custom_statusbar_header_summary">Define o plano de fundo do cabeçalho do painel de notificação para uma imagem definida no dia e hora atual.</string>
+
+    <!-- Volume default -->
+    <string name="button_volume_default_none">Nenhum</string>
+    <string name="button_volume_default_ringer">Toca</string>
+    <string name="button_volume_default_media">Mídia</string>
+    <string name="button_volume_default_title">Volume padrão</string>
+    <string name="button_volume_default_summary">Escolha qual volume é alterado por padrão</string>
+
+    <!-- Navigation ring shortcuts -->
+    <string name="navigation_ring_title">Atalhos de acesso rápido</string>
+    <string name="navring_target_reset_message">Excluir atalhos e restaurar ao padrão?</string>
+    <string name="navring_target_reset">Atalhos da barra de navegação redefinidos</string>
+    <string name="navring_action_open_ime_switcher">Abrir alternador de teclado</string>
+    <string name="navring_action_kill_app">Matar aplicação</string>
+    <string name="navring_action_none">Nenhum</string>
+    <string name="navring_action_take_screenshot">Obter captura de tela</string>
+    <string name="navring_action_ring_vibrate">Tocar/Vibrar</string>
+    <string name="navring_action_ring_silent">Tocar/Silencioso</string>
+    <string name="navring_action_ring_vibrate_silent">Tocar/Vibrar/Silencioso</string>
+    <string name="navring_action_screen_off">Desativar tela</string>
+    <string name="navring_action_torch">Alternar lanterna</string>
+    <string name="navring_action_google_now">Google Now</string>
+    <string name="navring_choose_action_title">Escolher ação</string>
+
+    <!-- Navigation ring shortcuts -->
+    <string name="navigation_ring_title">Atalhos de acesso rápido</string>
+    <string name="navring_target_reset_message">Excluir atalhos e restaurar ao padrão?</string>
+    <string name="navring_target_reset">Atalhos da barra de navegação redefinidos</string>
+    <string name="navring_action_open_ime_switcher">Abrir alternador de teclado</string>
+    <string name="navring_action_kill_app">Matar aplicação</string>
+    <string name="navring_action_none">Nenhum</string>
+    <string name="navring_action_take_screenshot">Obter captura de tela</string>
+    <string name="navring_action_ring_vibrate">Tocar/Vibrar</string>
+    <string name="navring_action_ring_silent">Tocar/Silencioso</string>
+    <string name="navring_action_ring_vibrate_silent">Tocar/Vibrar/Silencioso</string>
+    <string name="navring_action_screen_off">Desativar tela</string>
+    <string name="navring_action_torch">Alternar lanterna</string>
+    <string name="navring_action_google_now">Google Now</string>
+    <string name="navring_choose_action_title">Escolher ação</string>
+
+    <!-- String for IconPicker -->
+    <string name="icon_picker_title">Escolher fonte do ícone</string>
+    <string name="icon_picker_system_icons_title">Ícones de sistema</string>
+    <string name="icon_picker_gallery_title">Galeria</string>
+    <string name="icon_picker_pack_title">Pacote de ícones</string>
+
+    <!-- Lock Screen Shortcuts -->
+    <string name="lockscreen_target_info">Arraste aos pontos para designar atalhos</string>
+    <string name="lockscreen_target_title">Atalhos</string>
+    <string name="lockscreen_target_summary">Ver ou mudar os atalhos presonalizados da tela de bloqueio</string>
+    <string name="lockscreen_target_reset">Atalhos da tela de bloqueio redefinidos</string>
+    <string name="lockscreen_target_reset_title">Redefinir</string>
+    <string name="lockscreen_target_reset_message">Excluir todos os atalhos da tela de bloqueio e restaurar ao padrão?</string>
+    <string name="lockscreen_target_empty">Vazio</string>
+    <string name="lockscreen_target_edit_title">Editar ícone do atalho</string>
+    <string name="lockscreen_target_edit_msg">Sleciona ou muda a aplicação ou atividade desejada e o ícone associado</string>
+
+    <!-- Lock screen shortcuts -->
+    <string name="picker_activities">Atividades</string>
+    <string name="select_custom_app_title">Selecionar aplicativo</string>
+    <string name="select_custom_activity_title">Slecionar atividade</string>
+    <string name="icon_picker_choose_icon_title">Escolher ícone</string>
+    <string name="icon_picker_alarm">Alarme</string>
+    <string name="icon_picker_browser">Navegador</string>
+    <string name="icon_picker_calendar">Calendário</string>
+    <string name="icon_picker_camera">Câmera</string>
+    <string name="icon_picker_chrome">Chrome</string>
+    <string name="icon_picker_contacts">Contatos</string>
+    <string name="icon_picker_email">Email</string>
+    <string name="icon_picker_email2">Email Holo</string>
+    <string name="icon_picker_facebook">Facebook</string>
+    <string name="icon_picker_gallery">Galeria</string>
+    <string name="icon_picker_google_small">Google (pequeno)</string>
+    <string name="icon_picker_googleplus">Google+</string>
+    <string name="icon_picker_googletalk">Hangouts</string>
+    <string name="icon_picker_maps">Mapas</string>
+    <string name="icon_picker_movie">Filmes</string>
+    <string name="icon_picker_music">Música</string>
+    <string name="icon_picker_nav_normal">Navegação</string>
+    <string name="icon_picker_phone">Telefone</string>
+    <string name="icon_picker_podcast">Podcast</string>
+    <string name="icon_picker_rss">Rss</string>
+    <string name="icon_picker_search">Pesquisa</string>
+    <string name="icon_picker_sms">Mensagens</string>
+    <string name="icon_picker_twitter">Twitter</string>
+
+    <!-- QuickSettings: Quick Pulldown -->
+    <string name="title_quick_pulldown">Configurações rápidas</string>
+    <string name="summary_quick_pulldown">Exibir configurações rápidas com um dedo</string>
+    <string name="quick_pulldown_off">Desligado</string>
+    <string name="quick_pulldown_centre">Centro</string>
+    <string name="quick_pulldown_left">Esquerda</string>
+    <string name="quick_pulldown_right">Direita</string>
+
+    <!-- Cursor control -->
+    <string name="volume_key_cursor_control_title">Controle de cursor</string>
+    <string name="volume_key_cursor_control_on">Esquerda/direita</string>
+    <string name="volume_key_cursor_control_on_reverse">Direita/esquerda</string>
+
+</resources>
diff --git a/res/values/custom_arrays.xml b/res/values/custom_arrays.xml
index 8675a5b..dd68836 100644
--- a/res/values/custom_arrays.xml
+++ b/res/values/custom_arrays.xml
@@ -108,6 +108,7 @@
         <item>@string/keys_action_in_app_search</item>
         <item>@string/keys_action_last_app</item>
         <item>@string/keys_action_kill_app</item>
+        <item>@string/keys_action_sleep</item>
     </string-array>
 
     <string-array name="keys_action_values" translatable="false">
@@ -121,6 +122,7 @@
         <item>5</item>
         <item>8</item>
         <item>9</item>
+        <item>10</item>
     </string-array>
 
     <!-- ActiveDisplay Notifications -->
@@ -287,6 +289,19 @@
         <item>3</item>
     </string-array>
 
+    <!-- Smart pulldown -->
+    <string-array name="smart_pulldown_entries" translatable="false">
+        <item>@string/smart_pulldown_off</item>
+        <item>@string/smart_pulldown_dismissable</item>
+        <item>@string/smart_pulldown_persistent</item>
+    </string-array>
+
+    <string-array name="smart_pulldown_values" translatable="false">
+        <item>0</item>
+        <item>1</item>
+        <item>2</item>
+    </string-array>
+
     <!--- Volume key cursor control -->
     <string-array name="volume_key_cursor_control_entries" translatable="false">
         <item>@string/disabled</item>
diff --git a/res/values/custom_strings.xml b/res/values/custom_strings.xml
index 14ae512..807589d 100644
--- a/res/values/custom_strings.xml
+++ b/res/values/custom_strings.xml
@@ -168,6 +168,8 @@
     <!-- Network speed -->
     <string name="show_network_speed">Network speed indicator</string>
     <string name="show_network_speed_summary">Show network speed in statusbar</string>
+    <string name="show_network_speed_bits">Show speed as bits per second</string>
+    <string name="show_network_speed_bytes">Show speed as Bytes per second</string>
 
     <!-- Status Bar Activity Indicators -->
     <string name="show_activity_indicators_on_status_bar_title">Network activity indicator</string>
@@ -203,6 +205,7 @@
     <string name="keys_action_back">Back button</string>
     <string name="keys_action_last_app">Switch to last app</string>
     <string name="keys_action_kill_app">Kill app</string>
+    <string name="keys_action_sleep">Go to sleep</string>
     <string name="keys_action_normal">Normal press</string>
     <string name="keys_action_long">Long press</string>
     <string name="keys_action_double">Double tap</string>
@@ -323,6 +326,7 @@
     <string name="navring_action_torch">Toggle torch</string>
     <string name="navring_action_google_now">Google Now</string>
     <string name="navring_choose_action_title">Choose action</string>
+    <string name="navring_action_last_app">Switch to last app</string>
 
     <!-- String for IconPicker -->
     <string name="icon_picker_title">Choose icon source</string>
@@ -370,6 +374,10 @@
     <string name="icon_picker_sms">Messaging</string>
     <string name="icon_picker_twitter">Twitter</string>
 
+    <!-- QuickSettings: Dynamic Row -->
+    <string name="qs_configurable_title">QuickSettings configurable</string>
+    <string name="qs_configurable_summary">Enable/disable dynamic row changes</string>
+
     <!-- QuickSettings: Quick Pulldown -->
     <string name="title_quick_pulldown">Quick pulldown</string>
     <string name="summary_quick_pulldown">Quickly pulldown quicksettings with one finger</string>
@@ -378,9 +386,23 @@
     <string name="quick_pulldown_left">Left</string>
     <string name="quick_pulldown_right">Right</string>
 
+    <!-- QuickSettings: Smart Pulldown -->
+    <string name="smart_pulldown_title">Smart pulldown</string>
+    <string name="smart_pulldown_summary">Open Quick Settings when there are no notifications present</string>
+    <string name="smart_pulldown_off">Off</string>
+    <string name="smart_pulldown_dismissable">Pulldown if there are no cleareable notifications</string>
+    <string name="smart_pulldown_persistent">Pulldown if there are no notifications</string>
+
     <!-- Cursor control -->
     <string name="volume_key_cursor_control_title">Cursor control</string>
     <string name="volume_key_cursor_control_on">Left/right</string>
     <string name="volume_key_cursor_control_on_reverse">Right/left</string>
 
+    <!-- Quick Swipe -->
+    <string name="quick_swipe_title">Quick swipe</string>
+    <string name="quick_swipe_summary">Quickly swipe between quick settings and notification drawer</string>
+
+    <!-- navigation bar -->
+    <string name="soft_back_kill_app_title">Long press back to kill app</string>
+    <string name="soft_back_kill_app_summary">Long pressing back button will kill foreground app</string>
 </resources>
diff --git a/res/xml/bars_settings.xml b/res/xml/bars_settings.xml
index 1e6f22e..9bd2a18 100644
--- a/res/xml/bars_settings.xml
+++ b/res/xml/bars_settings.xml
@@ -57,6 +57,20 @@
                 android:entryValues="@array/quick_pulldown_values"
                 android:persistent="false" />
 
+        <ListPreference
+                android:key="smart_pulldown"
+                android:title="@string/smart_pulldown_title"
+                android:summary="@string/smart_pulldown_summary"
+                android:entries="@array/smart_pulldown_entries"
+                android:entryValues="@array/smart_pulldown_values"
+                android:persistent="false" />
+
+        <CheckBoxPreference
+                android:key="quicksettings_dynamic_row"
+                android:title="@string/qs_configurable_title"
+                android:summary="@string/qs_configurable_summary"
+                android:persistent="false"/>
+
     </PreferenceCategory>
 
     <!-- Navigation bar -->
@@ -68,5 +82,12 @@
             android:key="navigation_ring"
             android:fragment="org.omnirom.omnigears.interfacesettings.NavRing"
             android:title="@string/navigation_ring_title" />
+
+        <CheckBoxPreference
+            android:key="soft_back_kill_app"
+            android:title="@string/soft_back_kill_app_title"
+            android:summary="@string/soft_back_kill_app_summary"
+            android:persistent="false"/>
+
     </PreferenceCategory>
 </PreferenceScreen>
diff --git a/res/xml/notification_panel_settings.xml b/res/xml/notification_panel_settings.xml
index f831e6d..1dbf60a 100644
--- a/res/xml/notification_panel_settings.xml
+++ b/res/xml/notification_panel_settings.xml
@@ -26,4 +26,10 @@
             android:summary="@string/custom_statusbar_header_summary"
             android:persistent="false"/>
 
+    <CheckBoxPreference
+            android:key="quick_swipe"
+            android:title="@string/quick_swipe_title"
+            android:summary="@string/quick_swipe_summary"
+            android:persistent="false"/>
+
 </PreferenceScreen>
diff --git a/src/org/omnirom/omnigears/ButtonSettings.java b/src/org/omnirom/omnigears/ButtonSettings.java
index fd2e2b7..2ec08ef 100644
--- a/src/org/omnirom/omnigears/ButtonSettings.java
+++ b/src/org/omnirom/omnigears/ButtonSettings.java
@@ -104,6 +104,7 @@
     private static final int ACTION_BACK = 7;
     private static final int ACTION_LAST_APP = 8;
     private static final int ACTION_KILL_APP = 9;
+    private static final int ACTION_SLEEP = 10;
 
     // Masks for checking presence of hardware keys.
     // Must match values in frameworks/base/core/res/res/values/config.xml
diff --git a/src/org/omnirom/omnigears/interfacesettings/BarsSettings.java b/src/org/omnirom/omnigears/interfacesettings/BarsSettings.java
index ee4b845..1bf48a5 100644
--- a/src/org/omnirom/omnigears/interfacesettings/BarsSettings.java
+++ b/src/org/omnirom/omnigears/interfacesettings/BarsSettings.java
@@ -33,7 +33,10 @@
 import android.preference.PreferenceScreen;
 import android.provider.Settings;
 import android.provider.Settings.SettingNotFoundException;
+import android.util.DisplayMetrics;
 import android.util.Log;
+import android.view.DisplayInfo;
+import android.view.WindowManager;
 import android.view.WindowManagerGlobal;
 
 public class BarsSettings extends SettingsPreferenceFragment implements
@@ -45,13 +48,24 @@
     private static final String STATUS_BAR_TRAFFIC = "status_bar_traffic";
     private static final String STATUS_BAR_NETWORK_ACTIVITY = "status_bar_network_activity";
     private static final String QUICK_PULLDOWN = "quick_pulldown";
+    private static final String SMART_PULLDOWN = "smart_pulldown";
+    private static final String QUICKSETTINGS_DYNAMIC = "quicksettings_dynamic_row";
     private static final String CATEGORY_NAVBAR = "category_navigation_bar";
+    private static final String SOFT_BACK_KILL_APP = "soft_back_kill_app";
+
+    // Device types
+    private static final int DEVICE_PHONE  = 0;
+    private static final int DEVICE_HYBRID = 1;
+    private static final int DEVICE_TABLET = 2;
 
     private CheckBoxPreference mStatusBarBrightnessControl;
     private CheckBoxPreference mStatusBarNotifCount;
     private CheckBoxPreference mStatusBarTraffic;
     private CheckBoxPreference mStatusBarNetworkActivity;
+    private CheckBoxPreference mQuickSettingsDynamic;
     private ListPreference mQuickPulldown;
+    private ListPreference mSmartPulldown;
+    private CheckBoxPreference mSoftBackKillApp;
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
@@ -61,13 +75,15 @@
         PreferenceScreen prefSet = getPreferenceScreen();
         ContentResolver resolver = getActivity().getContentResolver();
 
-        mStatusBarBrightnessControl = (CheckBoxPreference) prefSet.findPreference(STATUS_BAR_BRIGHTNESS_CONTROL);
-        mStatusBarBrightnessControl.setChecked((Settings.System.getInt(resolver,Settings.System.STATUS_BAR_BRIGHTNESS_CONTROL, 0) == 1));
+        mStatusBarBrightnessControl =
+                (CheckBoxPreference) prefSet.findPreference(STATUS_BAR_BRIGHTNESS_CONTROL);
+        mStatusBarBrightnessControl.setChecked((Settings.System.getInt(resolver,
+                Settings.System.STATUS_BAR_BRIGHTNESS_CONTROL, 0) == 1));
         mStatusBarBrightnessControl.setOnPreferenceChangeListener(this);
 
         try {
-            if (Settings.System.getInt(getActivity().getApplicationContext().getContentResolver(),
-                    Settings.System.SCREEN_BRIGHTNESS_MODE) == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC) {
+            if (Settings.System.getInt(resolver, Settings.System.SCREEN_BRIGHTNESS_MODE)
+                    == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC) {
                 mStatusBarBrightnessControl.setEnabled(false);
                 mStatusBarBrightnessControl.setSummary(R.string.status_bar_toggle_info);
             }
@@ -80,21 +96,41 @@
         mStatusBarNotifCount.setOnPreferenceChangeListener(this);
 
         mStatusBarTraffic = (CheckBoxPreference) prefSet.findPreference(STATUS_BAR_TRAFFIC);
-        mStatusBarTraffic.setChecked(Settings.System.getInt(resolver,
-            Settings.System.STATUS_BAR_TRAFFIC, 0) == 1);
+        int intState = Settings.System.getInt(resolver, Settings.System.STATUS_BAR_TRAFFIC, 0);
+        intState = setStatusBarTrafficSummary(intState);
+        mStatusBarTraffic.setChecked(intState > 0);
         mStatusBarTraffic.setOnPreferenceChangeListener(this);
 
-        mStatusBarNetworkActivity = (CheckBoxPreference) prefSet.findPreference(STATUS_BAR_NETWORK_ACTIVITY);
+        mStatusBarNetworkActivity =
+                (CheckBoxPreference) prefSet.findPreference(STATUS_BAR_NETWORK_ACTIVITY);
         mStatusBarNetworkActivity.setChecked(Settings.System.getInt(resolver,
-            Settings.System.STATUS_BAR_NETWORK_ACTIVITY, 0) == 1);
-        mStatusBarNetworkActivity.setOnPreferenceChangeListener(this);
+                Settings.System.STATUS_BAR_NETWORK_ACTIVITY, 0) == 1);
         mStatusBarNetworkActivity.setOnPreferenceChangeListener(this);
 
         mQuickPulldown = (ListPreference) findPreference(QUICK_PULLDOWN);
-        mQuickPulldown.setOnPreferenceChangeListener(this);
-        int statusQuickPulldown = Settings.System.getInt(getContentResolver(),
-                Settings.System.QS_QUICK_PULLDOWN, 0);
-        mQuickPulldown.setValue(String.valueOf(statusQuickPulldown));
+        mSmartPulldown = (ListPreference) findPreference(SMART_PULLDOWN);
+
+        if (isPhone(getActivity())) {
+            int quickPulldown = Settings.System.getInt(resolver,
+                    Settings.System.QS_QUICK_PULLDOWN, 0);
+            mQuickPulldown.setValue(String.valueOf(quickPulldown));
+            updateQuickPulldownSummary(quickPulldown);
+            mQuickPulldown.setOnPreferenceChangeListener(this);
+
+            int smartPulldown = Settings.System.getInt(resolver,
+                    Settings.System.QS_SMART_PULLDOWN, 0);
+            mSmartPulldown.setValue(String.valueOf(smartPulldown));
+            updateSmartPulldownSummary(smartPulldown);
+            mSmartPulldown.setOnPreferenceChangeListener(this);
+        } else {
+            prefSet.removePreference(mQuickPulldown);
+            prefSet.removePreference(mSmartPulldown);
+        }
+
+        mQuickSettingsDynamic = (CheckBoxPreference) prefSet.findPreference(QUICKSETTINGS_DYNAMIC);
+        mQuickSettingsDynamic.setChecked(Settings.System.getInt(resolver,
+            Settings.System.QUICK_SETTINGS_TILES_ROW, 1) != 0);
+        mQuickSettingsDynamic.setOnPreferenceChangeListener(this);
 
         boolean hasNavBar = getResources().getBoolean(
                 com.android.internal.R.bool.config_showNavigationBar);
@@ -104,6 +140,11 @@
         // Hide navigation bar category on devices without navigation bar
         if (!hasNavBar) {
             prefSet.removePreference(findPreference(CATEGORY_NAVBAR));
+        } else {
+            mSoftBackKillApp = (CheckBoxPreference) prefSet.findPreference(SOFT_BACK_KILL_APP);
+            mSoftBackKillApp.setChecked(Settings.System.getInt(resolver,
+                    Settings.System.SOFT_BACK_KILL_APP_ENABLE, 0) == 1);
+            mSoftBackKillApp.setOnPreferenceChangeListener(this);
         }
     }
 
@@ -113,29 +154,104 @@
         return super.onPreferenceTreeClick(preferenceScreen, preference);
     }
 
+    @Override
     public boolean onPreferenceChange(Preference preference, Object objValue) {
         ContentResolver resolver = getActivity().getContentResolver();
         if (preference == mStatusBarBrightnessControl) {
             boolean value = (Boolean) objValue;
-            Settings.System.putInt(resolver,Settings.System.STATUS_BAR_BRIGHTNESS_CONTROL, value ? 1 : 0);
+            Settings.System.putInt(resolver, Settings.System.STATUS_BAR_BRIGHTNESS_CONTROL,
+                    value ? 1 : 0);
         } else if (preference == mStatusBarNotifCount) {
             boolean value = (Boolean) objValue;
             Settings.System.putInt(resolver, Settings.System.STATUS_BAR_NOTIF_COUNT, value ? 1 : 0);
         } else if (preference == mStatusBarTraffic) {
-            boolean value = (Boolean) objValue;
-            Settings.System.putInt(resolver,
-                Settings.System.STATUS_BAR_TRAFFIC, value ? 1 : 0);
+
+            // Increment the state and then update the label
+            int intState = Settings.System.getInt(resolver, Settings.System.STATUS_BAR_TRAFFIC, 0);
+            intState++;
+            intState = setStatusBarTrafficSummary(intState);
+            Settings.System.putInt(resolver, Settings.System.STATUS_BAR_TRAFFIC, intState);
+            if (intState > 1) {return false;}
         } else if (preference == mStatusBarNetworkActivity) {
             boolean value = (Boolean) objValue;
+            Settings.System.putInt(resolver, Settings.System.STATUS_BAR_NETWORK_ACTIVITY,
+                    value ? 1 : 0);
+        } else if (preference == mQuickSettingsDynamic) {
+            boolean value = (Boolean) objValue;
             Settings.System.putInt(resolver,
-                Settings.System.STATUS_BAR_NETWORK_ACTIVITY, value ? 1 : 0);
+                Settings.System.QUICK_SETTINGS_TILES_ROW, value ? 1 : 0);
         } else if (preference == mQuickPulldown) {
-            int statusQuickPulldown = Integer.valueOf((String) objValue);
+            int quickPulldown = Integer.valueOf((String) objValue);
+            Settings.System.putInt(resolver, Settings.System.QS_QUICK_PULLDOWN,
+                    quickPulldown);
+            updateQuickPulldownSummary(quickPulldown);
+        } else if (preference == mSmartPulldown) {
+            int smartPulldown = Integer.valueOf((String) objValue);
+            Settings.System.putInt(resolver, Settings.System.QS_SMART_PULLDOWN,
+                    smartPulldown);
+            updateSmartPulldownSummary(smartPulldown);
+        } else if (preference == mSoftBackKillApp) {
+            boolean value = (Boolean) objValue;
             Settings.System.putInt(resolver,
-                Settings.System.QS_QUICK_PULLDOWN, statusQuickPulldown);
+                Settings.System.SOFT_BACK_KILL_APP_ENABLE, value ? 1 : 0);
         } else {
             return false;
         }
         return true;
     }
+
+    private int setStatusBarTrafficSummary(int intState) {
+        // These states must match com.android.systemui.statusbar.policy.Traffic
+        if (intState == 1) {
+            mStatusBarTraffic.setSummary(R.string.show_network_speed_bits);
+        } else if (intState == 2) {
+            mStatusBarTraffic.setSummary(R.string.show_network_speed_bytes);
+        } else {
+            mStatusBarTraffic.setSummary(R.string.show_network_speed_summary);
+            return 0;
+        }
+        return intState;
+    }
+
+    private void updateQuickPulldownSummary(int i) {
+        if (i == 0) {
+            mQuickPulldown.setSummary(R.string.quick_pulldown_off);
+        } else if (i == 1) {
+            mQuickPulldown.setSummary(R.string.quick_pulldown_right);
+        } else if (i == 2) {
+            mQuickPulldown.setSummary(R.string.quick_pulldown_left);
+        } else if (i == 3) {
+            mQuickPulldown.setSummary(R.string.quick_pulldown_centre);
+        }
+    }
+
+    private void updateSmartPulldownSummary(int i) {
+        if (i == 0) {
+            mSmartPulldown.setSummary(R.string.smart_pulldown_off);
+        } else if (i == 1) {
+            mSmartPulldown.setSummary(R.string.smart_pulldown_dismissable);
+        } else if (i == 2) {
+            mSmartPulldown.setSummary(R.string.smart_pulldown_persistent);
+        }
+    }
+
+    private static int getScreenType(Context con) {
+        WindowManager wm = (WindowManager) con.getSystemService(Context.WINDOW_SERVICE);
+        DisplayInfo outDisplayInfo = new DisplayInfo();
+        wm.getDefaultDisplay().getDisplayInfo(outDisplayInfo);
+        int shortSize = Math.min(outDisplayInfo.logicalHeight, outDisplayInfo.logicalWidth);
+        int shortSizeDp =
+            shortSize * DisplayMetrics.DENSITY_DEFAULT / outDisplayInfo.logicalDensityDpi;
+        if (shortSizeDp < 600) {
+            return DEVICE_PHONE;
+        } else if (shortSizeDp < 720) {
+            return DEVICE_HYBRID;
+        } else {
+            return DEVICE_TABLET;
+        }
+    }
+
+    public static boolean isPhone(Context con) {
+        return getScreenType(con) == DEVICE_PHONE;
+    }
 }
diff --git a/src/org/omnirom/omnigears/interfacesettings/NavRing.java b/src/org/omnirom/omnigears/interfacesettings/NavRing.java
index 6be0b60..210ef65 100644
--- a/src/org/omnirom/omnigears/interfacesettings/NavRing.java
+++ b/src/org/omnirom/omnigears/interfacesettings/NavRing.java
@@ -138,6 +138,7 @@
         }
 
         mActions.addAction(ACTION_KILL, R.string.navring_action_kill_app);
+        mActions.addAction(ACTION_LAST_APP, R.string.navring_action_last_app);
         mActions.addAction(ACTION_POWER, R.string.navring_action_screen_off);
 
         mActions.addAction(ACTION_APP, R.string.select_application);
diff --git a/src/org/omnirom/omnigears/interfacesettings/NotificationPanelSettings.java b/src/org/omnirom/omnigears/interfacesettings/NotificationPanelSettings.java
index 7e2a79c..106d92b 100644
--- a/src/org/omnirom/omnigears/interfacesettings/NotificationPanelSettings.java
+++ b/src/org/omnirom/omnigears/interfacesettings/NotificationPanelSettings.java
@@ -37,8 +37,10 @@
     private static final String TAG = "NotificationPanelSettings";
 
     private static final String STATUS_BAR_CUSTOM_HEADER = "custom_status_bar_header";
+    private static final String QUICK_SWIPE = "quick_swipe";
 
     private CheckBoxPreference mStatusBarCustomHeader;
+    private CheckBoxPreference mQuickSwipe;
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
@@ -52,6 +54,11 @@
         mStatusBarCustomHeader.setChecked(Settings.System.getInt(resolver,
             Settings.System.STATUS_BAR_CUSTOM_HEADER, 0) == 1);
         mStatusBarCustomHeader.setOnPreferenceChangeListener(this);
+
+        mQuickSwipe = (CheckBoxPreference) prefSet.findPreference(QUICK_SWIPE);
+        mQuickSwipe.setChecked(Settings.System.getInt(resolver,
+            Settings.System.QUICK_SWIPE, 1) == 1);
+        mQuickSwipe.setOnPreferenceChangeListener(this);
     }
 
     @Override
@@ -65,10 +72,13 @@
             boolean value = (Boolean) objValue;
             Settings.System.putInt(resolver,
                 Settings.System.STATUS_BAR_CUSTOM_HEADER, value ? 1 : 0);
+        } else if (preference == mQuickSwipe) {
+            boolean value = (Boolean) objValue;
+            Settings.System.putInt(resolver,
+                Settings.System.QUICK_SWIPE, value ? 1 : 0);
         } else {
             return false;
         }
-
         return true;
     }
 }
