diff options
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 & 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); } } } |