summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/values-af/cm_strings.xml29
-rw-r--r--res/values-cs/cm_strings.xml5
-rw-r--r--res/values-de/cm_strings.xml6
-rw-r--r--res/values-es/cm_strings.xml6
-rw-r--r--res/values-fr/cm_strings.xml9
-rw-r--r--res/values-hu/cm_strings.xml8
-rw-r--r--res/values-it/cm_strings.xml5
-rw-r--r--res/values-nl/cm_strings.xml7
-rw-r--r--res/values-pl/cm_strings.xml15
-rw-r--r--res/values-pt-rPT/strings.xml6
-rw-r--r--res/values-pt/cm_strings.xml7
-rw-r--r--res/values-ru/cm_strings.xml5
-rw-r--r--res/values-zh-rCN/cm_strings.xml9
-rw-r--r--res/values/cm_strings.xml5
-rw-r--r--res/xml/preferences_dock.xml2
-rw-r--r--res/xml/preferences_drawer.xml24
-rw-r--r--res/xml/preferences_homescreen.xml2
-rw-r--r--src/com/cyanogenmod/trebuchet/AppsCustomizePagedView.java14
-rw-r--r--src/com/cyanogenmod/trebuchet/Hotseat.java30
-rw-r--r--src/com/cyanogenmod/trebuchet/Launcher.java66
-rw-r--r--src/com/cyanogenmod/trebuchet/LauncherModel.java81
-rw-r--r--src/com/cyanogenmod/trebuchet/Workspace.java155
-rw-r--r--src/com/cyanogenmod/trebuchet/preference/PreferencesProvider.java12
-rw-r--r--src/com/cyanogenmod/trebuchet/widget/CustomAbsSpinner.java14
-rw-r--r--src/com/cyanogenmod/trebuchet/widget/EcoGallery.java6
25 files changed, 354 insertions, 174 deletions
diff --git a/res/values-af/cm_strings.xml b/res/values-af/cm_strings.xml
index 1a7d672..8f8170f 100644
--- a/res/values-af/cm_strings.xml
+++ b/res/values-af/cm_strings.xml
@@ -15,7 +15,21 @@
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="application_copyright">Kopiereg \u00A9 CyanogenMod 2013</string>
+ <string name="menu">Kielys</string>
+ <string name="cancel_target_label">Kanselleer</string>
+ <string name="edit_target_label">Redigeer</string>
+ <string name="menu_lock_workspace">Sluit tuisskerm</string>
+ <string name="menu_unlock_workspace">Ontsluit tuisskerm</string>
+ <string name="menu_preferences">Trebuchet instellings</string>
+ <string name="menu_apps_sort_title">Naam</string>
+ <string name="menu_apps_sort_install_date">Installeringsdatum</string>
+ <string name="menu_apps_filter_system">Stelsel</string>
+ <string name="menu_apps_filter_downloaded">Afgelaai</string>
+ <string name="menu_hidden_apps_delete">Herstel</string>
+ <string name="all_apps_sort_cling_title">Sorteer jou programme</string>
+ <string name="all_apps_sort_cling_add_item">Raak &amp; hou die program oortjie om jou sorteer metode to selekteer</string>
<string name="hidden_apps_title">Versteekte prgramme</string>
+ <string name="workspace_locked">Tuisskerm is gesluit, ontsluit om instellings te herrangskik</string>
<string name="preferences_title">Instellings</string>
<string name="preferences_interface_title">Koppelvlak</string>
<string name="preferences_application_title">Program</string>
@@ -43,7 +57,7 @@
<string name="preferences_interface_homescreen_scrolling_scroll_wallpaper_summary">Rol agtergrond wanneer Tuisskerms gerol word</string>
<string name="preferences_interface_homescreen_scrolling_wallpaper_hack_title">Rol agtergrond \'hack\'</string>
<string name="preferences_interface_homescreen_scrolling_wallpaper_hack_summary">Gebruik agtergrond \'hack\' wat beter werkverigting gee tydens die rol van statiese agtergronde</string>
- <string name="preferences_interface_homescreen_scrolling_wallpaper_size_title">Agtergrond grootte</string>
+ <string name="preferences_interface_homescreen_scrolling_wallpaper_size_title">Agtergrond groote</string>
<string name="preferences_interface_homescreen_scrolling_wallpaper_size_summary">Hoeveel skerms wyd die agtergrond moet wees</string>
<string name="preferences_interface_homescreen_scrolling_fade_adjacent_screens_title">Verdof kant skerms</string>
<string name="preferences_interface_homescreen_scrolling_fade_adjacent_screens_summary">Verdof die kant skerms wanneer Tuisskerms gerol word</string>
@@ -60,8 +74,13 @@
<string name="preferences_interface_drawer_summary">Programme- en legstukke-laai</string>
<string name="preferences_interface_drawer_orientation_title">Oriëntasie</string>
<string name="preferences_interface_drawer_orientation_summary">Kies in watter rigting die laai rol</string>
- <string name="preferences_interface_drawer_hidden_apps_title">Versteekde programme</string>
+ <string name="preferences_interface_drawer_apps_category">Programme</string>
+ <string name="preferences_interface_drawer_hidden_apps_title">Versteekte programme</string>
<string name="preferences_interface_drawer_hidden_apps_summary">Steek programme in die laai weg</string>
+ <string name="preferences_interface_drawer_hidden_apps_shortcuts_title">Versteekte programme (kortpaaie)</string>
+ <string name="preferences_interface_drawer_hidden_apps_shortcuts_summary">Verwyder versteekte programme se kortpaaie van die Tuisskerm af</string>
+ <string name="preferences_interface_drawer_hidden_apps_widgets_title">Versteekte programme (legstukke)</string>
+ <string name="preferences_interface_drawer_hidden_apps_widgets_summary">Verwyder versteekte programme se legstukke van die Tuisskerm af</string>
<string name="preferences_interface_drawer_widgets_category">Legstukke</string>
<string name="preferences_interface_drawer_widgets_join_apps_title">Saam met programme</string>
<string name="preferences_interface_drawer_widgets_join_apps_summary">Rol vanaf die programme na die legstukke laai sonder om oortjie te kies</string>
@@ -86,6 +105,8 @@
<string name="preferences_interface_dock_default_page_summary">Kies die standaard bladsy</string>
<string name="preferences_interface_dock_icons_title">Ikone</string>
<string name="preferences_interface_dock_icons_summary">Aantal ikone/kolomme in die dok</string>
+ <string name="preferences_interface_dock_hide_icon_labels_title">Ikoon etikette</string>
+ <string name="preferences_interface_dock_hide_icon_labels_summary">Verberg dok ikoon etikette</string>
<string name="preferences_interface_dock_icon_scale_title">Ikoon skaal</string>
<string name="preferences_interface_dock_icon_scale_summary">Skaal van ikone in die dok</string>
<string name="preferences_interface_dock_divider_title">Wys dok-verdeler</string>
@@ -93,6 +114,8 @@
<string name="preferences_interface_icons_title">Ikone</string>
<string name="preferences_interface_general_title">Algemeen</string>
<string name="preferences_interface_general_orientation_title">Outo-roteer skerm</string>
+ <string name="preferences_interface_general_lock_workspace_title">Sluit tuisskerm</string>
+ <string name="preferences_interface_general_lock_workspace_summary">Sluit kortpaaie en vouer posisies op die tuisskerm, dok, programme en legstuk-laai</string>
<string name="preferences_interface_general_fullscreen_title">Volskerm</string>
<string name="preferences_interface_general_fullscreen_summary">Versteek die statusbalk om die tuisskerm te vergroot</string>
<string name="effects_standard">Standaard</string>
@@ -109,4 +132,6 @@
<string name="effects_flip">Flip</string>
<string name="effects_stack">Stapel</string>
<string name="effects_accordion">Konsertina</string>
+ <string name="effects_carousel_left">Rondomtalie links</string>
+ <string name="effects_carousel_right">Rondomtalie regs</string>
</resources>
diff --git a/res/values-cs/cm_strings.xml b/res/values-cs/cm_strings.xml
index 142387c..50f91dc 100644
--- a/res/values-cs/cm_strings.xml
+++ b/res/values-cs/cm_strings.xml
@@ -75,8 +75,13 @@
<string name="preferences_interface_drawer_summary">Složka aplikací a widgetů</string>
<string name="preferences_interface_drawer_orientation_title">Orientace</string>
<string name="preferences_interface_drawer_orientation_summary">Zvolte směr posunu složky</string>
+ <string name="preferences_interface_drawer_apps_category">Aplikace</string>
<string name="preferences_interface_drawer_hidden_apps_title">Skryté aplikace</string>
<string name="preferences_interface_drawer_hidden_apps_summary">Skrýt aplikace ze složky</string>
+ <string name="preferences_interface_drawer_hidden_apps_shortcuts_title">Skryté aplikace (zástupci)</string>
+ <string name="preferences_interface_drawer_hidden_apps_shortcuts_summary">Odstranit zástupce skrytých aplikací z plochy</string>
+ <string name="preferences_interface_drawer_hidden_apps_widgets_title">Skryté aplikace (widgety)</string>
+ <string name="preferences_interface_drawer_hidden_apps_widgets_summary">Odstranit widgety skrytých aplikací z plochy</string>
<string name="preferences_interface_drawer_widgets_category">Widgety</string>
<string name="preferences_interface_drawer_widgets_join_apps_title">Spojit s aplikacemi</string>
<string name="preferences_interface_drawer_widgets_join_apps_summary">Přecházet mezi aplikacemi a widgety bez změny záložek</string>
diff --git a/res/values-de/cm_strings.xml b/res/values-de/cm_strings.xml
index 7cb62e6..e422f63 100644
--- a/res/values-de/cm_strings.xml
+++ b/res/values-de/cm_strings.xml
@@ -14,6 +14,7 @@
limitations under the License.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="application_copyright">Copyright \u00A9 2013 The CyanogenMod Project</string>
<string name="menu">Menü</string>
<string name="cancel_target_label">Abbrechen</string>
<string name="edit_target_label">Bearbeiten</string>
@@ -73,8 +74,13 @@
<string name="preferences_interface_drawer_summary">Apps und Widgets</string>
<string name="preferences_interface_drawer_orientation_title">Ausrichtung</string>
<string name="preferences_interface_drawer_orientation_summary">Scrollrichtung der App-Seiten auswählen</string>
+ <string name="preferences_interface_drawer_apps_category">Apps</string>
<string name="preferences_interface_drawer_hidden_apps_title">Versteckte Apps</string>
<string name="preferences_interface_drawer_hidden_apps_summary">Apps auf den App-Seiten verstecken.</string>
+ <string name="preferences_interface_drawer_hidden_apps_shortcuts_title">Versteckte App-Verknüpfungen</string>
+ <string name="preferences_interface_drawer_hidden_apps_shortcuts_summary">Verknüpfungen für versteckte Apps vom Startbildschirm entfernen</string>
+ <string name="preferences_interface_drawer_hidden_apps_widgets_title">Versteckte App-Widgets</string>
+ <string name="preferences_interface_drawer_hidden_apps_widgets_summary">Widgets von versteckten Apps vom Startbildschirm entfernen</string>
<string name="preferences_interface_drawer_widgets_category">Widget-Seiten</string>
<string name="preferences_interface_drawer_widgets_join_apps_title">Mit App-Seiten verbinden</string>
<string name="preferences_interface_drawer_widgets_join_apps_summary">Blättern auch zwischen App- und Widget-Seiten</string>
diff --git a/res/values-es/cm_strings.xml b/res/values-es/cm_strings.xml
index 45ebe74..214e33a 100644
--- a/res/values-es/cm_strings.xml
+++ b/res/values-es/cm_strings.xml
@@ -14,6 +14,7 @@
limitations under the License.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="application_copyright">Copyright \u00A9 2013 The CyanogenMod Project</string>
<string name="menu">Menú</string>
<string name="cancel_target_label">Cancelar</string>
<string name="edit_target_label">Editar</string>
@@ -73,8 +74,13 @@
<string name="preferences_interface_drawer_summary">Establecer la configuración de las aplicaciones y widgets</string>
<string name="preferences_interface_drawer_orientation_title">Orientación</string>
<string name="preferences_interface_drawer_orientation_summary">Establecer la dirección de desplazamiento</string>
+ <string name="preferences_interface_drawer_apps_category">Aplicaciones</string>
<string name="preferences_interface_drawer_hidden_apps_title">Aplicaciones ocultas</string>
<string name="preferences_interface_drawer_hidden_apps_summary">Establecer las aplicaciones que se ocultarán en la pestaña aplicaciones</string>
+ <string name="preferences_interface_drawer_hidden_apps_shortcuts_title">Ocultar iconos</string>
+ <string name="preferences_interface_drawer_hidden_apps_shortcuts_summary">Quitar del escritorio los iconos de las aplicaciones ocultas</string>
+ <string name="preferences_interface_drawer_hidden_apps_widgets_title">Ocultar widgets</string>
+ <string name="preferences_interface_drawer_hidden_apps_widgets_summary">Quitar del escritorio los widgets de las aplicaciones ocultas</string>
<string name="preferences_interface_drawer_widgets_category">Widgets</string>
<string name="preferences_interface_drawer_widgets_join_apps_title">Transición entre pestañas</string>
<string name="preferences_interface_drawer_widgets_join_apps_summary">Pasar de la pestaña Aplicaciones a la pestaña Widgets automáticamente</string>
diff --git a/res/values-fr/cm_strings.xml b/res/values-fr/cm_strings.xml
index 1281c1b..b03803b 100644
--- a/res/values-fr/cm_strings.xml
+++ b/res/values-fr/cm_strings.xml
@@ -23,13 +23,13 @@
<string name="menu_apps_sort_title">Nom</string>
<string name="menu_apps_sort_install_date">Date d\'installation</string>
<string name="menu_apps_filter_system">Système</string>
- <string name="menu_apps_filter_downloaded">Téléchargé</string>
+ <string name="menu_apps_filter_downloaded">Téléchargées</string>
<string name="menu_hidden_apps_delete">Réinitialiser</string>
<string name="menu_preferences">Paramètres de Trebuchet</string>
<string name="all_apps_sort_cling_title">Trier vos applications</string>
<string name="all_apps_sort_cling_add_item">Appuyer de manière prolongée sur l\'onglet Application pour sélectionner la méthode de tri</string>
<string name="hidden_apps_title">Applications masquées</string>
- <string name="workspace_locked">L\'écran d\'accueil est verrouillé. Pour le réorganiser, déverrouiller le dans les paramètres</string>
+ <string name="workspace_locked">L\'écran d\'accueil est verrouillé.\nPour le réorganiser, déverrouiller le dans les paramètres</string>
<string name="preferences_title">Paramètres</string>
<string name="preferences_interface_title">Interface</string>
<string name="preferences_application_title">Application</string>
@@ -74,8 +74,13 @@
<string name="preferences_interface_drawer_summary">Menu des applications et widgets</string>
<string name="preferences_interface_drawer_orientation_title">Orientation</string>
<string name="preferences_interface_drawer_orientation_summary">Définir le sens de défilement des applications</string>
+ <string name="preferences_interface_drawer_apps_category">Applications</string>
<string name="preferences_interface_drawer_hidden_apps_title">Applications masquées</string>
<string name="preferences_interface_drawer_hidden_apps_summary">Masquer les applications dans le menu</string>
+ <string name="preferences_interface_drawer_hidden_apps_shortcuts_title">Masquer les raccourcis</string>
+ <string name="preferences_interface_drawer_hidden_apps_shortcuts_summary">Supprimer de l\'écran d\'accueil les raccourcis des applications masquées</string>
+ <string name="preferences_interface_drawer_hidden_apps_widgets_title">Masquer les widgets</string>
+ <string name="preferences_interface_drawer_hidden_apps_widgets_summary">Supprimer de l\'écran d\'accueil les widgets des applications masquées</string>
<string name="preferences_interface_drawer_widgets_category">Widgets</string>
<string name="preferences_interface_drawer_widgets_join_apps_title">Inclure dans les applications</string>
<string name="preferences_interface_drawer_widgets_join_apps_summary">Sauter des applications aux widgets sans changer d\'onglet</string>
diff --git a/res/values-hu/cm_strings.xml b/res/values-hu/cm_strings.xml
index 3eb8d1c..917f428 100644
--- a/res/values-hu/cm_strings.xml
+++ b/res/values-hu/cm_strings.xml
@@ -14,6 +14,7 @@
limitations under the License.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="application_copyright">Copyright \u00A9 2013 The CyanogenMod Project</string>
<string name="menu">Menü</string>
<string name="cancel_target_label">Mégsem</string>
<string name="edit_target_label">Szerkesztés</string>
@@ -31,7 +32,7 @@
<string name="workspace_locked">A kezdőképernyő zárolva van, szerkesztéshez oldja fel a beállításokban</string>
<string name="preferences_title">Beállítások</string>
<string name="preferences_interface_title">Felület</string>
- <string name="preferences_application_title">Alkalmazás</string>
+ <string name="preferences_application_title">Névjegy</string>
<string name="preferences_interface_homescreen_title">Kezdőképernyő</string>
<string name="preferences_interface_homescreen_summary">Kezdőképernyők és háttérkép</string>
<string name="preferences_interface_homescreen_general_category">Általános</string>
@@ -73,8 +74,13 @@
<string name="preferences_interface_drawer_summary">Alkalmazások és modulok</string>
<string name="preferences_interface_drawer_orientation_title">Tájolás</string>
<string name="preferences_interface_drawer_orientation_summary">Válassza ki az alkalmazásképernyők közötti váltás irányát</string>
+ <string name="preferences_interface_drawer_apps_category">Alkalmazások</string>
<string name="preferences_interface_drawer_hidden_apps_title">Rejtett alkalmazások</string>
<string name="preferences_interface_drawer_hidden_apps_summary">Alkalmazások elrejtése az alkalmazásképernyőről</string>
+ <string name="preferences_interface_drawer_hidden_apps_shortcuts_title">Rejtett alkalmazások (parancsikonok)</string>
+ <string name="preferences_interface_drawer_hidden_apps_shortcuts_summary">Rejtett alkalmazások ikonjainak eltávolítása</string>
+ <string name="preferences_interface_drawer_hidden_apps_widgets_title">Rejtett alkalmazások (modulok)</string>
+ <string name="preferences_interface_drawer_hidden_apps_widgets_summary">Rejtett alkalmazás moduljának eltávolítása</string>
<string name="preferences_interface_drawer_widgets_category">Általános</string>
<string name="preferences_interface_drawer_widgets_join_apps_title">Folyamatos lapozás</string>
<string name="preferences_interface_drawer_widgets_join_apps_summary">Alkalmazások és modulok között folyamatos lapozással való váltás</string>
diff --git a/res/values-it/cm_strings.xml b/res/values-it/cm_strings.xml
index c5bf356..e835f5a 100644
--- a/res/values-it/cm_strings.xml
+++ b/res/values-it/cm_strings.xml
@@ -73,8 +73,13 @@
<string name="preferences_interface_drawer_summary">Contenitore delle applicazioni e dei widget</string>
<string name="preferences_interface_drawer_orientation_title">Orientamento</string>
<string name="preferences_interface_drawer_orientation_summary">Scegli in quale verso far scorrere il drawer</string>
+ <string name="preferences_interface_drawer_apps_category">Applicazioni</string>
<string name="preferences_interface_drawer_hidden_apps_title">Applicazioni nascoste</string>
<string name="preferences_interface_drawer_hidden_apps_summary">Nascondi le applicazioni dal drawer</string>
+ <string name="preferences_interface_drawer_hidden_apps_shortcuts_title">Applicazioni nascoste (scorciatoie)</string>
+ <string name="preferences_interface_drawer_hidden_apps_shortcuts_summary">Rimuovere le scorciatoie delle applicazioni nascoste dalla schermata Home</string>
+ <string name="preferences_interface_drawer_hidden_apps_widgets_title">Applicazioni nascoste (widget)</string>
+ <string name="preferences_interface_drawer_hidden_apps_widgets_summary">Rimuovere i widget delle applicazioni nascoste dalla schermata Home</string>
<string name="preferences_interface_drawer_widgets_category">Widget</string>
<string name="preferences_interface_drawer_widgets_join_apps_title">Unisci alle applicazioni</string>
<string name="preferences_interface_drawer_widgets_join_apps_summary">Scorri dalla schermata applicazioni a quella dei widget senza cambiare scheda</string>
diff --git a/res/values-nl/cm_strings.xml b/res/values-nl/cm_strings.xml
index a9efed0..b5ef17d 100644
--- a/res/values-nl/cm_strings.xml
+++ b/res/values-nl/cm_strings.xml
@@ -65,8 +65,13 @@
<string name="preferences_interface_drawer_summary">App- en widgetoverzicht</string>
<string name="preferences_interface_drawer_orientation_title">Oriëntatie</string>
<string name="preferences_interface_drawer_orientation_summary">Kies naar welke kant het overzicht bladert</string>
+ <string name="preferences_interface_drawer_apps_category">Apps</string>
<string name="preferences_interface_drawer_hidden_apps_title">Verborgen apps</string>
- <string name="preferences_interface_drawer_hidden_apps_summary">Apps verbergen van het app-overzicht</string>
+ <string name="preferences_interface_drawer_hidden_apps_summary">Apps verbergen in het app-overzicht</string>
+ <string name="preferences_interface_drawer_hidden_apps_shortcuts_title">Verborgen apps (snelkoppelingen)</string>
+ <string name="preferences_interface_drawer_hidden_apps_shortcuts_summary">Snelkoppelingen van verborgen apps niet weergeven op thuisscherm</string>
+ <string name="preferences_interface_drawer_hidden_apps_widgets_title">Verborgen apps (widgets)</string>
+ <string name="preferences_interface_drawer_hidden_apps_widgets_summary">Widgets van verborgen apps niet weergeven op thuisscherm</string>
<string name="preferences_interface_drawer_widgets_category">Widgets</string>
<string name="preferences_interface_drawer_widgets_join_apps_title">Automatisch overgaan</string>
<string name="preferences_interface_drawer_widgets_join_apps_summary">Van apps naar widgets overgaan zonder van tabblad te wisselen</string>
diff --git a/res/values-pl/cm_strings.xml b/res/values-pl/cm_strings.xml
index 8c37bcc..39bc4f4 100644
--- a/res/values-pl/cm_strings.xml
+++ b/res/values-pl/cm_strings.xml
@@ -59,8 +59,13 @@
<string name="preferences_interface_drawer_summary">Lista aplikacji i widżetów</string>
<string name="preferences_interface_drawer_orientation_title">Orientacja</string>
<string name="preferences_interface_drawer_orientation_summary">Wybierz, w którą stronę przewijana będzie lista</string>
+ <string name="preferences_interface_drawer_apps_category">Aplikacje</string>
<string name="preferences_interface_drawer_hidden_apps_title">Ukryte aplikacje</string>
<string name="preferences_interface_drawer_hidden_apps_summary">Ukrywa aplikacje na liście</string>
+ <string name="preferences_interface_drawer_hidden_apps_shortcuts_title">Ukryte aplikacje (skróty)</string>
+ <string name="preferences_interface_drawer_hidden_apps_shortcuts_summary">Usuń skróty ukrytych aplikacji z ekranu głównego</string>
+ <string name="preferences_interface_drawer_hidden_apps_widgets_title">Ukryte aplikacje (widżety)</string>
+ <string name="preferences_interface_drawer_hidden_apps_widgets_summary">Usuń widżety ukrytych aplikacji z ekranu głównego</string>
<string name="preferences_interface_drawer_widgets_category">Widżety</string>
<string name="preferences_interface_drawer_widgets_join_apps_title">Podłącz do aplikacji</string>
<string name="preferences_interface_drawer_widgets_join_apps_summary">Pozwala na przewijanie z listy aplikacji bezpośrednio do widżetów</string>
@@ -108,12 +113,22 @@
<string name="effects_flip">Przerzucanie</string>
<string name="effects_stack">Układanie</string>
<string name="effects_accordion">Akordeonowo</string>
+ <string name="effects_carousel_left">Karuzela w lewo</string>
+ <string name="effects_carousel_right">Karuzela w prawo</string>
<string name="edit_target_label">Edytuj</string>
<string name="preferences_interface_dock_hide_icon_labels_title">Ukryj nazwy aplikacji w doku</string>
<string name="preferences_interface_dock_hide_icon_labels_summary">Ukrywa podpisy pod ikonami w doku</string>
<string name="menu_lock_workspace">Zablokuj ekran główny</string>
<string name="menu_unlock_workspace">Odblokuj ekran główny</string>
+ <string name="menu_preferences">Ustawienia</string>
+ <string name="menu_apps_sort_title">Nazwa</string>
+ <string name="menu_apps_sort_install_date">Data instalacji</string>
+ <string name="menu_apps_filter_system">Systemowe</string>
+ <string name="menu_apps_filter_downloaded">Pobrane</string>
<string name="workspace_locked">Ekran główny jest zablokowany, w celu edycji odblokuj go w ustawieniach</string>
<string name="preferences_interface_general_lock_workspace_title">Blokada ekranu głównego</string>
<string name="preferences_interface_general_lock_workspace_summary">Zablokuj edycję ikon na ekranie głównym, w doku oraz na liście aplikacji i widżetów</string>
+ <string name="cancel_target_label">Anuluj</string>
+ <string name="all_apps_sort_cling_title">Sortuj aplikacje</string>
+ <string name="all_apps_sort_cling_add_item">Przytrzymaj kartę aplikacji aby wybrać tryb sortowania</string>
</resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 94025d5..ca1904f 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -21,7 +21,7 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="home" msgid="5921706419368316758">"Página Inicial"</string>
<string name="uid_name" msgid="3371120195364560632">"Aplicações Principais do Android"</string>
- <string name="folder_name" msgid="8551881338202938211"></string>
+ <string name="folder_name" msgid="8551881338202938211">"Nome da pasta"</string>
<string name="chooser_wallpaper" msgid="6063168087625352235">"Escolher imagem de fundo de"</string>
<string name="wallpaper_instructions" msgid="4215640646180727542">"Definir imagem de fundo"</string>
<string name="pick_wallpaper" msgid="5630222540525626723">"Imagens de fundo"</string>
@@ -29,7 +29,7 @@
<string name="widgets_tab_label" msgid="9145860100000983599">"Widgets"</string>
<string name="long_press_widget_to_add" msgid="7395697462851217506">"Prima sem soltar para escolher um widget."</string>
<string name="market" msgid="2652226429823445833">"Loja"</string>
- <string name="external_drop_widget_error" msgid="2285187188524172774">"Não foi possível largar o item neste Ecrã Principal."</string>
+ <string name="external_drop_widget_error" msgid="2285187188524172774">"Não foi possível largar o item neste ecrã Principal."</string>
<string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Escolher um widget para criar"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Nome da pasta"</string>
<string name="rename_folder_title" msgid="4544573104191526550">"Mudar o nome da pasta"</string>
@@ -40,7 +40,7 @@
<string name="group_shortcuts" msgid="9133529424900391877">"Atalhos"</string>
<string name="group_widgets" msgid="6704978494073105844">"Widgets"</string>
<string name="group_wallpapers" msgid="1568191644272224858">"Imagens de fundo"</string>
- <string name="completely_out_of_space" msgid="1759078539443491182">"Sem espaço nos Ecrãs principais."</string>
+ <string name="completely_out_of_space" msgid="1759078539443491182">"Sem espaço nos ecrãs principais."</string>
<string name="out_of_space" msgid="8365249326091984698">"Não existe espaço suficiente neste ecrã principal."</string>
<string name="hotseat_out_of_space" msgid="6304886797358479361">"Não existe espaço suficiente na barra personalizável."</string>
<string name="invalid_hotseat_item" msgid="6545340627805449250">"Este widget é demasiado grande para a barra inferior."</string>
diff --git a/res/values-pt/cm_strings.xml b/res/values-pt/cm_strings.xml
index 83488f2..1a343da 100644
--- a/res/values-pt/cm_strings.xml
+++ b/res/values-pt/cm_strings.xml
@@ -127,4 +127,11 @@
<string name="preferences_interface_general_lock_workspace_summary">Bloqueia posições dos atalhos e pastas na tela inicial, dock e aplicativos e gaveta de widgets</string>
<string name="preferences_interface_dock_hide_icon_labels_title">Esconder rótulos dos ícones</string>
<string name="preferences_interface_dock_hide_icon_labels_summary">Esconder rótulos dos ícones do dock</string>
+ <string name="preferences_interface_drawer_apps_category">Aplicativos</string>
+ <string name="preferences_interface_drawer_hidden_apps_shortcuts_title">Aplicativos ocultos (atalhos)</string>
+ <string name="preferences_interface_drawer_hidden_apps_shortcuts_summary">Remover atalhos dos aplicativos ocultos da área de trabalho</string>
+ <string name="preferences_interface_drawer_hidden_apps_widgets_title">Aplicativos ocultos (widgets)</string>
+ <string name="preferences_interface_drawer_hidden_apps_widgets_summary">Remover widgets dos aplicativos ocultos da área de trabalho</string>
+ <string name="application_copyright">Copyright \u00A9 2013 The CyanogenMod Project</string>
+ <string name="menu">Menu</string>
</resources> \ No newline at end of file
diff --git a/res/values-ru/cm_strings.xml b/res/values-ru/cm_strings.xml
index 635cad6..802be59 100644
--- a/res/values-ru/cm_strings.xml
+++ b/res/values-ru/cm_strings.xml
@@ -85,8 +85,13 @@
<string name="preferences_interface_drawer_summary">Настройки главного меню и виджетов</string>
<string name="preferences_interface_drawer_orientation_title">Ориентация</string>
<string name="preferences_interface_drawer_orientation_summary">Выбор типа прокрутки главного меню</string>
+ <string name="preferences_interface_drawer_apps_category">Приложения</string>
<string name="preferences_interface_drawer_hidden_apps_title">Скрытые приложения</string>
<string name="preferences_interface_drawer_hidden_apps_summary">Список скрытых приложений в главном меню</string>
+ <string name="preferences_interface_drawer_hidden_apps_shortcuts_title">Ярлыки</string>
+ <string name="preferences_interface_drawer_hidden_apps_shortcuts_summary">Удалить ярлыки скрытых приложений на главном экране</string>
+ <string name="preferences_interface_drawer_hidden_apps_widgets_title">Виджеты</string>
+ <string name="preferences_interface_drawer_hidden_apps_widgets_summary">Удалить виджеты скрытых приложений на главном экране</string>
<string name="preferences_interface_drawer_widgets_category">ВИДЖЕТЫ</string>
<string name="preferences_interface_drawer_widgets_join_apps_title">Вместе с приложениями</string>
<string name="preferences_interface_drawer_widgets_join_apps_summary">Пролистывать из меню \"Приложения\" в меню \"Виджеты\" без смены вкладок</string>
diff --git a/res/values-zh-rCN/cm_strings.xml b/res/values-zh-rCN/cm_strings.xml
index 7dc1cbf..1778e9d 100644
--- a/res/values-zh-rCN/cm_strings.xml
+++ b/res/values-zh-rCN/cm_strings.xml
@@ -14,6 +14,7 @@
limitations under the License.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="application_copyright">版权所有 \u00A9 2013 CyanogenMod 项目</string>
<string name="menu">菜单</string>
<string name="cancel_target_label">取消</string>
<string name="edit_target_label">编辑</string>
@@ -38,7 +39,7 @@
<string name="preferences_interface_homescreen_general_screens_title">主屏幕数量</string>
<string name="preferences_interface_homescreen_general_screens_summary">主屏幕上的页面数量</string>
<string name="preferences_interface_homescreen_general_default_screen_title">默认主屏幕</string>
- <string name="preferences_interface_homescreen_general_default_screen_summary">选择默认的主屏幕</string>
+ <string name="preferences_interface_homescreen_general_default_screen_summary">选择默认主屏幕</string>
<string name="preferences_interface_homescreen_general_search_title">搜索栏</string>
<string name="preferences_interface_homescreen_general_search_summary">启用搜索栏</string>
<string name="preferences_interface_homescreen_general_grid_title">网格大小</string>
@@ -46,12 +47,12 @@
<string name="preferences_interface_homescreen_general_grid_rows_title">行</string>
<string name="preferences_interface_homescreen_general_grid_columns_title">列</string>
<string name="preferences_interface_homescreen_general_stretch_screens_title">拉长屏幕</string>
- <string name="preferences_interface_homescreen_general_stretch_screens_summary">扩展主屏幕为填充屏幕大小</string>
+ <string name="preferences_interface_homescreen_general_stretch_screens_summary">扩展主屏幕以填充屏幕大小</string>
<string name="preferences_interface_homescreen_general_hide_icon_labels_title">隐藏图标标签</string>
<string name="preferences_interface_homescreen_general_hide_icon_labels_summary">隐藏在主屏幕上图标的标签</string>
<string name="preferences_interface_homescreen_scrolling_category">滚动</string>
<string name="preferences_interface_homescreen_scrolling_transition_effect_title">过渡效果</string>
- <string name="preferences_interface_homescreen_scrolling_transition_effect_summary">滚动页面时产生的效果</string>
+ <string name="preferences_interface_homescreen_scrolling_transition_effect_summary">滚动主屏幕时产生的效果</string>
<string name="preferences_interface_homescreen_scrolling_scroll_wallpaper_title">滚动壁纸</string>
<string name="preferences_interface_homescreen_scrolling_scroll_wallpaper_summary">主屏幕滚动时壁纸将会一起滚动</string>
<string name="preferences_interface_homescreen_scrolling_wallpaper_hack_title">壁纸快速渲染器</string>
@@ -80,7 +81,7 @@
<string name="preferences_interface_drawer_widgets_join_apps_summary">从应用程序菜单直接滑动到小部件菜单</string>
<string name="preferences_interface_drawer_scrolling_category">滚动</string>
<string name="preferences_interface_drawer_scrolling_transition_effect_title">过渡效果</string>
- <string name="preferences_interface_drawer_scrolling_transition_effect_summary">滚动屏幕时产生的效果</string>
+ <string name="preferences_interface_drawer_scrolling_transition_effect_summary">滚动页面时产生的效果</string>
<string name="preferences_interface_drawer_scrolling_fade_adjacent_screens_title">淡出旁边页面</string>
<string name="preferences_interface_drawer_scrolling_fade_adjacent_screens_summary">滚动屏幕时淡出旁边的页面</string>
<string name="preferences_interface_drawer_indicator_category">指示器</string>
diff --git a/res/values/cm_strings.xml b/res/values/cm_strings.xml
index 511e0d5..774ba61 100644
--- a/res/values/cm_strings.xml
+++ b/res/values/cm_strings.xml
@@ -111,8 +111,13 @@
<string name="preferences_interface_drawer_summary">Apps and widgets drawer</string>
<string name="preferences_interface_drawer_orientation_title">Orientation</string>
<string name="preferences_interface_drawer_orientation_summary">Choose which way the drawer scrolls</string>
+ <string name="preferences_interface_drawer_apps_category">Apps</string>
<string name="preferences_interface_drawer_hidden_apps_title">Hidden apps</string>
<string name="preferences_interface_drawer_hidden_apps_summary">Hide apps from the drawer</string>
+ <string name="preferences_interface_drawer_hidden_apps_shortcuts_title">Hidden apps (shortcuts)</string>
+ <string name="preferences_interface_drawer_hidden_apps_shortcuts_summary">Remove hidden apps\' shortcuts from homescreen</string>
+ <string name="preferences_interface_drawer_hidden_apps_widgets_title">Hidden apps (widgets)</string>
+ <string name="preferences_interface_drawer_hidden_apps_widgets_summary">Remove hidden apps\' widgets from homescreen</string>
<string name="preferences_interface_drawer_widgets_category">Widgets</string>
<string name="preferences_interface_drawer_widgets_join_apps_title">Join with apps</string>
<string name="preferences_interface_drawer_widgets_join_apps_summary">Swipe from apps drawer to widgets drawer without changing tabs</string>
diff --git a/res/xml/preferences_dock.xml b/res/xml/preferences_dock.xml
index f24c64f..351ca48 100644
--- a/res/xml/preferences_dock.xml
+++ b/res/xml/preferences_dock.xml
@@ -34,7 +34,7 @@
android:summary="@string/preferences_interface_dock_default_page_summary"
android:defaultValue="1"
launcher:maxExternal="ui_dock_pages"
- launcher:max="3"
+ launcher:max="1"
launcher:min="1" />
<!-- android:dependency="ui_dock_enabled" /-->
<com.cyanogenmod.trebuchet.preference.NumberPickerPreference android:key="ui_dock_icons"
diff --git a/res/xml/preferences_drawer.xml b/res/xml/preferences_drawer.xml
index 3b4a3ef..82c589f 100644
--- a/res/xml/preferences_drawer.xml
+++ b/res/xml/preferences_drawer.xml
@@ -24,13 +24,23 @@
android:entries="@array/preferences_interface_drawer_orientation_entries"
android:entryValues="@array/preferences_interface_drawer_orientation_values"
android:defaultValue="horizontal" />
- <Preference android:key="ui_drawer_hidden_apps"
- android:title="@string/preferences_interface_drawer_hidden_apps_title"
- android:summary="@string/preferences_interface_drawer_hidden_apps_summary">
- <intent
- android:targetPackage="com.cyanogenmod.trebuchet"
- android:targetClass="com.cyanogenmod.trebuchet.preference.HiddenAppsActivity"/>
- </Preference>
+ <PreferenceCategory android:title="@string/preferences_interface_drawer_apps_category">
+ <Preference android:key="ui_drawer_hidden_apps"
+ android:title="@string/preferences_interface_drawer_hidden_apps_title"
+ android:summary="@string/preferences_interface_drawer_hidden_apps_summary">
+ <intent
+ android:targetPackage="com.cyanogenmod.trebuchet"
+ android:targetClass="com.cyanogenmod.trebuchet.preference.HiddenAppsActivity"/>
+ </Preference>
+ <CheckBoxPreference android:key="ui_drawer_remove_hidden_apps_shortcuts"
+ android:title="@string/preferences_interface_drawer_hidden_apps_shortcuts_title"
+ android:summary="@string/preferences_interface_drawer_hidden_apps_shortcuts_summary"
+ android:defaultValue="true" />
+ <CheckBoxPreference android:key="ui_drawer_remove_hidden_apps_widgets"
+ android:title="@string/preferences_interface_drawer_hidden_apps_widgets_title"
+ android:summary="@string/preferences_interface_drawer_hidden_apps_widgets_summary"
+ android:defaultValue="true" />
+ </PreferenceCategory>
<PreferenceCategory android:title="@string/preferences_interface_drawer_widgets_category">
<CheckBoxPreference android:key="ui_drawer_widgets_join_apps"
android:title="@string/preferences_interface_drawer_widgets_join_apps_title"
diff --git a/res/xml/preferences_homescreen.xml b/res/xml/preferences_homescreen.xml
index b89ebe6..ec4ef8d 100644
--- a/res/xml/preferences_homescreen.xml
+++ b/res/xml/preferences_homescreen.xml
@@ -43,7 +43,7 @@
android:summary="@string/preferences_interface_homescreen_general_default_screen_summary"
android:defaultValue="3"
launcher:maxExternal="ui_homescreen_screens"
- launcher:max="7"
+ launcher:max="5"
launcher:min="1" />
<CheckBoxPreference android:key="ui_homescreen_stretch_screens"
android:title="@string/preferences_interface_homescreen_general_stretch_screens_title"
diff --git a/src/com/cyanogenmod/trebuchet/AppsCustomizePagedView.java b/src/com/cyanogenmod/trebuchet/AppsCustomizePagedView.java
index 1b87c4f..9098d19 100644
--- a/src/com/cyanogenmod/trebuchet/AppsCustomizePagedView.java
+++ b/src/com/cyanogenmod/trebuchet/AppsCustomizePagedView.java
@@ -263,6 +263,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
private ArrayList<ApplicationInfo> mApps;
private ArrayList<ApplicationInfo> mFilteredApps;
private ArrayList<ComponentName> mHiddenApps;
+ private ArrayList<String> mHiddenAppsPackages;
private ArrayList<Object> mWidgets;
// Cling
@@ -370,6 +371,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
mApps = new ArrayList<ApplicationInfo>();
mFilteredApps = new ArrayList<ApplicationInfo>();
mHiddenApps = new ArrayList<ComponentName>();
+ mHiddenAppsPackages = new ArrayList<String>();
mWidgets = new ArrayList<Object>();
mIconCache = ((LauncherApplication) context.getApplicationContext()).getIconCache();
mCanvas = new Canvas();
@@ -392,7 +394,11 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
String[] flattened = PreferencesProvider.Interface.Drawer.getHiddenApps().split("\\|");
for (String flat : flattened) {
- mHiddenApps.add(ComponentName.unflattenFromString(flat));
+ ComponentName cmp = ComponentName.unflattenFromString(flat);
+ if (cmp != null) {
+ mHiddenApps.add(cmp);
+ mHiddenAppsPackages.add(cmp.getPackageName());
+ }
}
@@ -658,7 +664,11 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
int minSpanY = Math.min(spanXY[1], minSpanXY[1]);
if (minSpanX <= LauncherModel.getWorkspaceCellCountX() &&
minSpanY <= LauncherModel.getWorkspaceCellCountY()) {
- mWidgets.add(widget);
+ if (widget.provider != null) {
+ if (!mHiddenAppsPackages.contains(widget.provider.getPackageName())) {
+ mWidgets.add(widget);
+ }
+ }
} else {
Log.e(TAG, "Widget " + widget.provider + " can not fit on this device (" +
widget.minWidth + ", " + widget.minHeight + ")");
diff --git a/src/com/cyanogenmod/trebuchet/Hotseat.java b/src/com/cyanogenmod/trebuchet/Hotseat.java
index 2773c0f..adf6e9d 100644
--- a/src/com/cyanogenmod/trebuchet/Hotseat.java
+++ b/src/com/cyanogenmod/trebuchet/Hotseat.java
@@ -30,6 +30,7 @@ import com.cyanogenmod.trebuchet.preference.PreferencesProvider;
public class Hotseat extends PagedView {
private int mCellCount;
+ private int mHotseatPages;
private int mDefaultPage;
private boolean mTransposeLayoutWithOrientation;
@@ -38,6 +39,8 @@ public class Hotseat extends PagedView {
private float[] mTempCellLayoutCenterCoordinates = new float[2];
private Matrix mTempInverseMatrix = new Matrix();
+ private static final int DEFAULT_PAGE = 0;
+
private static final int DEFAULT_CELL_COUNT = 5;
public Hotseat(Context context) {
@@ -56,10 +59,10 @@ public class Hotseat extends PagedView {
mFadeInAdjacentScreens = false;
mHandleScrollIndicator = true;
- int hotseatPages = PreferencesProvider.Interface.Dock.getNumberPages();
- int defaultPage = PreferencesProvider.Interface.Dock.getDefaultPage(hotseatPages / 2);
- if (defaultPage >= hotseatPages) {
- defaultPage = hotseatPages / 2;
+ mHotseatPages = PreferencesProvider.Interface.Dock.getNumberPages();
+ int defaultPage = PreferencesProvider.Interface.Dock.getDefaultPage(DEFAULT_PAGE);
+ if (defaultPage >= mHotseatPages) {
+ defaultPage = mHotseatPages / 2;
}
mCurrentPage = mDefaultPage = defaultPage;
@@ -89,7 +92,7 @@ public class Hotseat extends PagedView {
LayoutInflater inflater =
(LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- for (int i = 0; i < hotseatPages; i++) {
+ for (int i = 0; i < mHotseatPages; i++) {
CellLayout cl = (CellLayout) inflater.inflate(R.layout.hotseat_page, null);
cl.setChildrenScale(childrenScale);
cl.setGridSize((!hasVerticalHotseat() ? mCellCount : 1), (hasVerticalHotseat() ? mCellCount : 1));
@@ -120,6 +123,16 @@ public class Hotseat extends PagedView {
return (mIsLandscape && mTransposeLayoutWithOrientation);
}
+ @Override
+ protected boolean hitsPreviousPage(float x, float y) {
+ return !hasVerticalHotseat() && super.hitsPreviousPage(x, y);
+ }
+
+ @Override
+ protected boolean hitsNextPage(float x, float y) {
+ return !hasVerticalHotseat() && super.hitsNextPage(x, y);
+ }
+
/* Get the orientation invariant order of the item in the hotseat for persistence. */
int getOrderInHotseat(int x, int y) {
return hasVerticalHotseat() ? (mCellCount - y - 1) : x;
@@ -261,12 +274,13 @@ public class Hotseat extends PagedView {
}
void moveToDefaultScreen(boolean animate) {
+ int page = hasVerticalHotseat() ? (mHotseatPages - mDefaultPage - 1) : mDefaultPage;
if (animate) {
- snapToPage(mDefaultPage);
+ snapToPage(page);
} else {
- setCurrentPage(mDefaultPage);
+ setCurrentPage(page);
}
- getChildAt(mDefaultPage).requestFocus();
+ getChildAt(page).requestFocus();
}
@Override
diff --git a/src/com/cyanogenmod/trebuchet/Launcher.java b/src/com/cyanogenmod/trebuchet/Launcher.java
index 7208a9a..eb7f090 100644
--- a/src/com/cyanogenmod/trebuchet/Launcher.java
+++ b/src/com/cyanogenmod/trebuchet/Launcher.java
@@ -258,9 +258,6 @@ public final class Launcher extends Activity
private boolean mWaitingForResult;
private boolean mOnResumeNeedsLoad;
- private final List<Runnable> mNewPendingIntents = new ArrayList<Runnable>();
- private boolean mOnNewIntentProcessing;
-
// Keep track of whether the user has left launcher
private static boolean sPausedFromUserAction = false;
@@ -1562,20 +1559,18 @@ public final class Launcher extends Activity
public void run() {
if (mWorkspace == null) {
// Can be cases where mWorkspace is null, this prevents a NPE
- synchronized (mNewPendingIntents) {
- mOnNewIntentProcessing = false;
- }
return;
}
Folder openFolder = mWorkspace.getOpenFolder();
// In all these cases, only animate if we're already on home
mWorkspace.exitWidgetResizeMode();
- boolean waitForPendingTranstions = true;
if (alreadyOnHome && mState == State.WORKSPACE && !mWorkspace.isTouchActive() &&
openFolder == null) {
+ if (mStateAnimation != null) {
+ mStateAnimation = null;
+ }
mWorkspace.moveToDefaultScreen(true);
mHotseat.moveToDefaultScreen(true);
- waitForPendingTranstions = false;
}
closeFolder();
@@ -1584,20 +1579,9 @@ public final class Launcher extends Activity
// If we are already on home, then just animate back to the workspace,
// otherwise, just wait until onResume to set the state back to Workspace
if (alreadyOnHome) {
- showWorkspace(true, new Runnable() {
- @Override
- public void run() {
- processNewPendingIntents();
- }
- });
- // onCompleteRunnable is not called if there is no pending animations
- // so we must ensure that processNewPendingIntents is called.
- if (!waitForPendingTranstions) {
- processNewPendingIntents();
- }
+ showWorkspace(true);
} else {
mOnResumeState = State.WORKSPACE;
- processNewPendingIntents();
}
final View v = getWindow().peekDecorView();
@@ -1614,43 +1598,15 @@ public final class Launcher extends Activity
}
};
- boolean markAsPending = false;
- synchronized (mNewPendingIntents) {
- if (mOnNewIntentProcessing) {
- mNewPendingIntents.add(processIntent);
- markAsPending = true;
- } else {
- mOnNewIntentProcessing = true;
- }
- }
-
- if (!markAsPending) {
- if (alreadyOnHome && !mWorkspace.hasWindowFocus()) {
- // Delay processing of the intent to allow the status bar animation to finish
- // first in order to avoid janky animations.
- mWorkspace.postDelayed(processIntent, 350);
- } else {
- // Process the intent immediately.
- processIntent.run();
- }
- }
-
- }
- }
-
- private void processNewPendingIntents() {
- Runnable newIntent = null;
- synchronized (mNewPendingIntents) {
- if (mNewPendingIntents.size() > 0) {
- if (mWorkspace != null) {
- newIntent = mNewPendingIntents.remove(0);
- mWorkspace.post(newIntent);
- } else {
- mOnNewIntentProcessing = false;
- }
+ if (alreadyOnHome && !mWorkspace.hasWindowFocus()) {
+ // Delay processing of the intent to allow the status bar animation to finish
+ // first in order to avoid janky animations.
+ mWorkspace.postDelayed(processIntent, 350);
} else {
- mOnNewIntentProcessing = false;
+ // Process the intent immediately.
+ processIntent.run();
}
+
}
}
diff --git a/src/com/cyanogenmod/trebuchet/LauncherModel.java b/src/com/cyanogenmod/trebuchet/LauncherModel.java
index 923842c..6aa109a 100644
--- a/src/com/cyanogenmod/trebuchet/LauncherModel.java
+++ b/src/com/cyanogenmod/trebuchet/LauncherModel.java
@@ -46,6 +46,8 @@ import android.os.RemoteException;
import android.os.SystemClock;
import android.util.Log;
+import com.cyanogenmod.trebuchet.preference.PreferencesProvider;
+
import java.lang.ref.WeakReference;
import java.net.URISyntaxException;
import java.text.Collator;
@@ -1647,6 +1649,83 @@ public class LauncherModel extends BroadcastReceiver {
});
}
+ private void removeHiddenAppsWorkspaceItems(
+ final ArrayList<ItemInfo> workspaceItems,
+ final ArrayList<LauncherAppWidgetInfo> appWidgets,
+ final HashMap<Long, FolderInfo> folders) {
+
+ // Get hidden apps
+ ArrayList<ComponentName> mHiddenApps = new ArrayList<ComponentName>();
+ ArrayList<String> mHiddenAppsPackages = new ArrayList<String>();
+ String[] flattened = PreferencesProvider.Interface.Drawer.getHiddenApps().split("\\|");
+ for (String flat : flattened) {
+ ComponentName cmp = ComponentName.unflattenFromString(flat);
+ if (cmp != null) {
+ mHiddenApps.add(cmp);
+ mHiddenAppsPackages.add(cmp.getPackageName());
+ }
+ }
+
+ // Shortcuts
+ if (PreferencesProvider.Interface.Drawer.getRemoveShortcutsOfHiddenApps()) {
+ int N = workspaceItems.size() - 1;
+ for (int i = N; i >= 0; i--) {
+ final ItemInfo item = workspaceItems.get(i);
+ if (item instanceof ShortcutInfo) {
+ ShortcutInfo shortcut = (ShortcutInfo)item;
+ if (shortcut.intent != null && shortcut.intent.getComponent() != null) {
+ if (mHiddenApps.contains(shortcut.intent.getComponent())) {
+ LauncherModel.deleteItemFromDatabase(mContext, shortcut);
+ workspaceItems.remove(i);
+ }
+ }
+ } else {
+ final FolderInfo folder = (FolderInfo)item;
+ List<ShortcutInfo> shortcuts = folder.contents;
+ int NN = shortcuts.size() - 1;
+ for (int j = NN; j >= 0; j--) {
+ ShortcutInfo sci = shortcuts.get(j);
+ if (sci.intent != null && sci.intent.getComponent() != null) {
+ if (mHiddenApps.contains(sci.intent.getComponent())) {
+ LauncherModel.deleteItemFromDatabase(mContext, sci);
+ folder.remove(sci);
+ }
+ }
+ }
+
+ if (folder.contents.size() == 1) {
+ ShortcutInfo finalItem = folder.contents.get(0);
+ finalItem.container = folder.container;
+ LauncherModel.deleteItemFromDatabase(mContext, folder);
+ LauncherModel.addOrMoveItemInDatabase(mContext, finalItem, folder.container,
+ folder.screen, folder.cellX, folder.cellY);
+ workspaceItems.remove(i);
+ workspaceItems.add(finalItem);
+ folders.remove(Long.valueOf(item.id));
+ } else if (folder.contents.size() == 0) {
+ LauncherModel.deleteFolderContentsFromDatabase(mContext, folder);
+ workspaceItems.remove(i);
+ folders.remove(Long.valueOf(item.id));
+ }
+ }
+ }
+ }
+
+ // AppWidgets
+ if (PreferencesProvider.Interface.Drawer.getRemoveWidgetsOfHiddenApps()) {
+ int N = appWidgets.size() - 1;
+ for (int i = N; i >= 0; i--) {
+ final LauncherAppWidgetInfo item = appWidgets.get(i);
+ if (item.providerName != null) {
+ if (mHiddenAppsPackages.contains(item.providerName.getPackageName())) {
+ LauncherModel.deleteItemFromDatabase(mContext, item);
+ appWidgets.remove(i);
+ }
+ }
+ }
+ }
+ }
+
private void bindWorkspaceItems(final Callbacks oldCallbacks,
final ArrayList<ItemInfo> workspaceItems,
final ArrayList<LauncherAppWidgetInfo> appWidgets,
@@ -1655,6 +1734,8 @@ public class LauncherModel extends BroadcastReceiver {
final boolean postOnMainThread = (deferredBindRunnables != null);
+ removeHiddenAppsWorkspaceItems(workspaceItems, appWidgets, folders);
+
// Bind the workspace items
int N = workspaceItems.size();
for (int i = 0; i < N; i += ITEMS_CHUNK) {
diff --git a/src/com/cyanogenmod/trebuchet/Workspace.java b/src/com/cyanogenmod/trebuchet/Workspace.java
index 065ac71..20b9953 100644
--- a/src/com/cyanogenmod/trebuchet/Workspace.java
+++ b/src/com/cyanogenmod/trebuchet/Workspace.java
@@ -81,6 +81,8 @@ public class Workspace extends PagedView
DragController.DragListener, LauncherTransitionable, ViewGroup.OnHierarchyChangeListener {
private static final String TAG = "Trebuchet.Workspace";
+ private static final boolean DEBUG_CHANGE_STATE_ANIMATIONS = false;
+
// Y rotation to apply to the workspace screens
private static final float WORKSPACE_ROTATION = 12.5f;
private static final float WORKSPACE_OVERSCROLL_ROTATION = 24f;
@@ -163,6 +165,8 @@ public class Workspace extends PagedView
private SpringLoadedDragController mSpringLoadedDragController;
private float mSpringLoadedShrinkFactor;
+ private static final int DEFAULT_HOMESCREEN = 2;
+
private static final int DEFAULT_CELL_COUNT_X = 4;
private static final int DEFAULT_CELL_COUNT_Y = 4;
@@ -177,8 +181,6 @@ public class Workspace extends PagedView
boolean mIsDragOccuring = false;
boolean mChildrenLayersEnabled = true;
- private boolean mIsLandscape;
-
/** Is the user is dragging an item near the edge of a page? */
private boolean mInScrollArea = false;
@@ -305,7 +307,6 @@ public class Workspace extends PagedView
private boolean mStretchScreens;
private boolean mShowSearchBar;
private boolean mShowHotseat;
- private boolean mResizeAnyWidget;
private boolean mHideIconLabels;
private boolean mHideDockIconLabels;
private boolean mScrollWallpaper;
@@ -386,7 +387,7 @@ public class Workspace extends PagedView
// Preferences
mNumberHomescreens = PreferencesProvider.Interface.Homescreen.getNumberHomescreens();
- mDefaultHomescreen = PreferencesProvider.Interface.Homescreen.getDefaultHomescreen(mNumberHomescreens / 2);
+ mDefaultHomescreen = PreferencesProvider.Interface.Homescreen.getDefaultHomescreen(DEFAULT_HOMESCREEN);
if (mDefaultHomescreen >= mNumberHomescreens) {
mDefaultHomescreen = mNumberHomescreens / 2;
}
@@ -1565,19 +1566,23 @@ public class Workspace extends PagedView
// On large screens we need to fade the page as it nears its leftmost position
alpha = mLeftScreenAlphaInterpolator.getInterpolation(1 - scrollProgress);
}
-
cl.setTranslationX(translationX);
cl.setScaleX(scale);
cl.setScaleY(scale);
cl.setAlpha(alpha);
// If the view has 0 alpha, we set it to be invisible so as to prevent
- // it from accepting touches
+ // it from accepting touches. Move the view to its original position to
+ // prevent overlap between views
if (alpha <= 0) {
cl.setVisibility(INVISIBLE);
+ cl.setTranslationX(0);
} else if (cl.getVisibility() != VISIBLE) {
cl.setVisibility(VISIBLE);
}
+ if (mFadeInAdjacentScreens && !isSmall()) {
+ setCellLayoutFadeAdjacent(cl, scrollProgress);
+ }
}
}
invalidate();
@@ -2215,89 +2220,80 @@ public class Workspace extends PagedView
}
}
- // Zoom Effects
- if ((mTransitionEffect == TransitionEffect.ZoomIn ||
- mTransitionEffect == TransitionEffect.ZoomOut) && stateIsNormal) {
- if (i != mCurrentPage) {
- scale = (mTransitionEffect == TransitionEffect.ZoomIn ? 0.5f : 1.1f);
+ if (stateIsNormal) {
+ // Zoom Effects
+ if ((mTransitionEffect == TransitionEffect.ZoomIn || mTransitionEffect == TransitionEffect.ZoomOut)) {
+ if (i != mCurrentPage) {
+ scale = (mTransitionEffect == TransitionEffect.ZoomIn ? 0.5f : 1.1f);
+ }
}
- }
- // Stack Effect
- if (mTransitionEffect == TransitionEffect.Stack) {
- if (stateIsSpringLoaded) {
- cl.setVisibility(VISIBLE);
- } else if (stateIsNormal) {
+ // Stack Effect
+ if (mTransitionEffect == TransitionEffect.Stack) {
if (i <= mCurrentPage) {
cl.setVisibility(VISIBLE);
+ cl.setAlpha(1.0f);
+ if (mFadeInAdjacentScreens) {
+ setCellLayoutFadeAdjacent(cl, 0.0f);
+ }
} else {
cl.setVisibility(INVISIBLE);
+ cl.setAlpha(0.0f);
+ if (mFadeInAdjacentScreens) {
+ setCellLayoutFadeAdjacent(cl, 1.0f);
+ }
}
}
- }
- // Flip Effect
- if (mTransitionEffect == TransitionEffect.Flip) {
- if (stateIsSpringLoaded) {
- cl.setVisibility(VISIBLE);
- } else if (stateIsNormal) {
+ // Flip Effect
+ if (mTransitionEffect == TransitionEffect.Flip || mTransitionEffect == TransitionEffect.Accordion) {
if (i == mCurrentPage) {
cl.setVisibility(VISIBLE);
} else {
cl.setVisibility(INVISIBLE);
}
}
- }
-
- // Rotate Effects
- if ((mTransitionEffect == TransitionEffect.RotateUp ||
- mTransitionEffect == TransitionEffect.RotateDown) && stateIsNormal) {
- boolean up = mTransitionEffect == TransitionEffect.RotateUp;
- rotation = (up ? WORKSPACE_ROTATION : -WORKSPACE_ROTATION) * Math.max(-1.0f, Math.min(1.0f , mCurrentPage - i));
- translationX = cl.getMeasuredWidth() * (Math.max(-1.0f, Math.min(1.0f, i - mCurrentPage))) +
- (up ? -1.0f : 1.0f) * (float) Math.sin(Math.toRadians((double) rotation)) *
- (mRotatePivotPoint + cl.getMeasuredHeight() * 0.5f);
- translationY += (up ? -1.0f : 1.0f) * (1.0f - Math.cos(Math.toRadians((double) rotation))) *
- (mRotatePivotPoint + cl.getMeasuredHeight() * 0.5f);
- }
- // Cube Effects
- if ((mTransitionEffect == TransitionEffect.CubeIn || mTransitionEffect == TransitionEffect.CubeOut) && stateIsNormal) {
- if (i < mCurrentPage) {
- rotationY = mTransitionEffect == TransitionEffect.CubeOut ? -90.0f : 90.0f;
- } else if (i > mCurrentPage) {
- rotationY = mTransitionEffect == TransitionEffect.CubeOut ? 90.0f : -90.0f;
+ // Rotate Effects
+ if ((mTransitionEffect == TransitionEffect.RotateUp || mTransitionEffect == TransitionEffect.RotateDown)) {
+ boolean up = mTransitionEffect == TransitionEffect.RotateUp;
+ rotation = (up ? WORKSPACE_ROTATION : -WORKSPACE_ROTATION) * Math.max(-1.0f, Math.min(1.0f , mCurrentPage - i));
+ translationX = cl.getMeasuredWidth() * (Math.max(-1.0f, Math.min(1.0f, i - mCurrentPage))) +
+ (up ? -1.0f : 1.0f) * (float) Math.sin(Math.toRadians((double) rotation)) *
+ (mRotatePivotPoint + cl.getMeasuredHeight() * 0.5f);
+ translationY += (up ? -1.0f : 1.0f) * (1.0f - Math.cos(Math.toRadians((double) rotation))) *
+ (mRotatePivotPoint + cl.getMeasuredHeight() * 0.5f);
}
- }
- // Cylinder Effects
- if ((mTransitionEffect == TransitionEffect.CylinderIn || mTransitionEffect == TransitionEffect.CylinderOut) && stateIsNormal) {
- if (i < mCurrentPage) {
- rotationY = mTransitionEffect == TransitionEffect.CylinderOut ? -WORKSPACE_ROTATION : WORKSPACE_ROTATION;
- } else if (i > mCurrentPage) {
- rotationY = mTransitionEffect == TransitionEffect.CylinderOut ? WORKSPACE_ROTATION : -WORKSPACE_ROTATION;
+ // Cube Effects
+ if ((mTransitionEffect == TransitionEffect.CubeIn || mTransitionEffect == TransitionEffect.CubeOut)) {
+ if (i < mCurrentPage) {
+ rotationY = mTransitionEffect == TransitionEffect.CubeOut ? -90.0f : 90.0f;
+ } else if (i > mCurrentPage) {
+ rotationY = mTransitionEffect == TransitionEffect.CubeOut ? 90.0f : -90.0f;
+ }
}
- }
- // Carousel Effects
- if (mTransitionEffect == TransitionEffect.CarouselLeft || mTransitionEffect == TransitionEffect.CarouselRight && stateIsNormal) {
- if (i < mCurrentPage) {
- rotationY = 90.0f;
- } else if (i > mCurrentPage) {
- rotationY = -90.0f;
+ // Cylinder Effects
+ if ((mTransitionEffect == TransitionEffect.CylinderIn || mTransitionEffect == TransitionEffect.CylinderOut)) {
+ if (i < mCurrentPage) {
+ rotationY = mTransitionEffect == TransitionEffect.CylinderOut ? -WORKSPACE_ROTATION : WORKSPACE_ROTATION;
+ cl.setPivotX(cl.getMeasuredWidth());
+ cl.setTranslationX(0);
+ } else if (i > mCurrentPage) {
+ rotationY = mTransitionEffect == TransitionEffect.CylinderOut ? WORKSPACE_ROTATION : -WORKSPACE_ROTATION;
+ cl.setPivotX(0);
+ cl.setTranslationX(0);
+ }
}
- }
- // Accordion Effect
- if (mTransitionEffect == TransitionEffect.Accordion) {
- if (stateIsSpringLoaded) {
- cl.setVisibility(VISIBLE);
- } else if (stateIsNormal) {
- if (i == mCurrentPage) {
- cl.setVisibility(VISIBLE);
- } else {
- cl.setVisibility(INVISIBLE);
+ // Carousel Effects
+ if (mTransitionEffect == TransitionEffect.CarouselLeft || mTransitionEffect == TransitionEffect.CarouselRight) {
+ if (i < mCurrentPage) {
+ rotationY = 90.0f;
+ } else if (i > mCurrentPage) {
+ rotationY = -90.0f;
}
}
}
@@ -2306,6 +2302,15 @@ public class Workspace extends PagedView
cl.setCameraDistance(1280 * mDensity);
cl.setPivotX(cl.getMeasuredWidth() * 0.5f);
cl.setPivotY(cl.getMeasuredHeight() * 0.5f);
+ cl.setVisibility(VISIBLE);
+
+ // Stack Effect
+ if (mTransitionEffect == TransitionEffect.Stack) {
+ cl.setAlpha(1.0f);
+ if (mFadeInAdjacentScreens) {
+ setCellLayoutFadeAdjacent(cl, 0.0f);
+ }
+ }
}
// Determine the pages alpha during the state transition
@@ -2353,8 +2358,22 @@ public class Workspace extends PagedView
}
if (animated) {
+ if (DEBUG_CHANGE_STATE_ANIMATIONS) Log.d(TAG, oldState + " > " + state);
for (int index = 0; index < getChildCount(); index++) {
final int i = index;
+
+ if (DEBUG_CHANGE_STATE_ANIMATIONS) {
+ Log.d(TAG, i + " alpha: " + mOldAlphas[i] + " > " + mNewAlphas[i]);
+ Log.d(TAG, i + " translationX: " + mOldTranslationXs[i] + " > " + mNewTranslationXs[i]);
+ Log.d(TAG, i + " translationY: " + mOldTranslationYs[i] + " > " + mNewTranslationYs[i]);
+ Log.d(TAG, i + " scaleX: " + mOldScaleXs[i] + " > " + mNewScaleXs[i]);
+ Log.d(TAG, i + " scaleY: " + mOldScaleYs[i] + " > " + mNewScaleYs[i]);
+ Log.d(TAG, i + " alpha: " + mOldAlphas[i] + " > " + mNewAlphas[i]);
+ Log.d(TAG, i + " backgroundAlpha: " + mOldBackgroundAlphas[i] + " > " + mNewBackgroundAlphas[i]);
+ Log.d(TAG, i + " rotation: " + mOldRotations[i] + " > " + mNewRotations[i]);
+ Log.d(TAG, i + " rotationY: " + mOldRotationYs[i] + " > " + mNewRotationYs[i]);
+ }
+
final CellLayout cl = (CellLayout) getChildAt(i);
float currentAlpha = cl.getShortcutsAndWidgets().getAlpha();
if (mOldAlphas[i] == 0 && mNewAlphas[i] == 0) {
@@ -4016,8 +4035,6 @@ public class Workspace extends PagedView
// needed
updateChildrenLayersEnabled(false);
setupWallpaper();
-
- mIsLandscape = LauncherApplication.isScreenLandscape(mLauncher);
}
void setupWallpaper() {
@@ -4460,7 +4477,7 @@ public class Workspace extends PagedView
}
void moveToDefaultScreen(boolean animate) {
- if (!isSmall()) {
+ if (!isSmall() && !mIsSwitchingState) {
if (animate) {
snapToPage(mDefaultHomescreen);
} else {
diff --git a/src/com/cyanogenmod/trebuchet/preference/PreferencesProvider.java b/src/com/cyanogenmod/trebuchet/preference/PreferencesProvider.java
index 912d310..9f61f82 100644
--- a/src/com/cyanogenmod/trebuchet/preference/PreferencesProvider.java
+++ b/src/com/cyanogenmod/trebuchet/preference/PreferencesProvider.java
@@ -144,12 +144,18 @@ public final class PreferencesProvider {
public static boolean getVertical() {
return getString("ui_drawer_orientation", "horizontal").equals("vertical");
}
- public static boolean getJoinWidgetsApps() {
- return getBoolean("ui_drawer_widgets_join_apps", true);
- }
public static String getHiddenApps() {
return getString("ui_drawer_hidden_apps", "");
}
+ public static boolean getRemoveShortcutsOfHiddenApps() {
+ return getBoolean("ui_drawer_remove_hidden_apps_shortcuts", true);
+ }
+ public static boolean getRemoveWidgetsOfHiddenApps() {
+ return getBoolean("ui_drawer_remove_hidden_apps_widgets", true);
+ }
+ public static boolean getJoinWidgetsApps() {
+ return getBoolean("ui_drawer_widgets_join_apps", true);
+ }
public static class Scrolling {
public static AppsCustomizePagedView.TransitionEffect getTransitionEffect(String def) {
try {
diff --git a/src/com/cyanogenmod/trebuchet/widget/CustomAbsSpinner.java b/src/com/cyanogenmod/trebuchet/widget/CustomAbsSpinner.java
index 7861f50..d0653a4 100644
--- a/src/com/cyanogenmod/trebuchet/widget/CustomAbsSpinner.java
+++ b/src/com/cyanogenmod/trebuchet/widget/CustomAbsSpinner.java
@@ -27,7 +27,6 @@ import android.util.AttributeSet;
import android.util.SparseArray;
import android.view.View;
import android.view.ViewGroup;
-import android.view.animation.Interpolator;
import android.widget.ArrayAdapter;
import android.widget.SpinnerAdapter;
import com.cyanogenmod.trebuchet.R;
@@ -44,8 +43,6 @@ public abstract class CustomAbsSpinner extends CustomAdapterView<SpinnerAdapter>
int mSelectionRightPadding = 0;
int mSelectionBottomPadding = 0;
Rect mSpinnerPadding = new Rect();
- View mSelectedView = null;
- Interpolator mInterpolator;
RecycleBin mRecycler = new RecycleBin();
private DataSetObserver mDataSetObserver;
@@ -200,7 +197,7 @@ public abstract class CustomAbsSpinner extends CustomAdapterView<SpinnerAdapter>
if (view != null) {
// Put in recycler for re-measuring and/or layout
- mRecycler.add(selectedPosition, view);
+ mRecycler.add(view);
}
if (view != null) {
@@ -249,7 +246,7 @@ public abstract class CustomAbsSpinner extends CustomAdapterView<SpinnerAdapter>
@Override
protected ViewGroup.LayoutParams generateDefaultLayoutParams() {
return new ViewGroup.LayoutParams(
- ViewGroup.LayoutParams.FILL_PARENT,
+ ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
}
@@ -458,7 +455,7 @@ public abstract class CustomAbsSpinner extends CustomAdapterView<SpinnerAdapter>
mScrapHeap.put(position, v);
}
- public void add(int position, View v) {
+ public void add(View v) {
mScrapHeap.put(mScrapHeap.size(), v);
}
public View get() {
@@ -474,19 +471,14 @@ public abstract class CustomAbsSpinner extends CustomAdapterView<SpinnerAdapter>
}
View get(int position) {
- // System.out.print("Looking for " + position);
View result = mScrapHeap.get(position);
if (result != null) {
- // System.out.println(" HIT");
mScrapHeap.delete(position);
- } else {
- // System.out.println(" MISS");
}
return result;
}
View peek(int position) {
- // System.out.print("Looking for " + position);
return mScrapHeap.get(position);
}
diff --git a/src/com/cyanogenmod/trebuchet/widget/EcoGallery.java b/src/com/cyanogenmod/trebuchet/widget/EcoGallery.java
index 8c7a741..c983704 100644
--- a/src/com/cyanogenmod/trebuchet/widget/EcoGallery.java
+++ b/src/com/cyanogenmod/trebuchet/widget/EcoGallery.java
@@ -36,8 +36,6 @@ import android.view.animation.Transformation;
import android.widget.Scroller;
import com.cyanogenmod.trebuchet.R;
-import java.lang.reflect.Field;
-
public class EcoGallery extends CustomAbsSpinner implements GestureDetector.OnGestureListener {
private static final String TAG = "Gallery";
@@ -448,7 +446,7 @@ public class EcoGallery extends CustomAbsSpinner implements GestureDetector.OnGe
break;
} else {
count++;
- mRecycler.add(firstPosition + i, child);
+ mRecycler.add(child);
}
}
} else {
@@ -460,7 +458,7 @@ public class EcoGallery extends CustomAbsSpinner implements GestureDetector.OnGe
} else {
start = i;
count++;
- mRecycler.add(firstPosition + i, child);
+ mRecycler.add(child);
}
}
}