summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/values-fr/cm_strings.xml1
-rw-r--r--res/values-pt/cm_strings.xml1
-rw-r--r--res/values-sv/cm_arrays.xml30
-rw-r--r--res/values-sv/cm_strings.xml147
-rw-r--r--src/com/cyanogenmod/trebuchet/LauncherModel.java64
-rw-r--r--src/com/cyanogenmod/trebuchet/LauncherProvider.java32
6 files changed, 242 insertions, 33 deletions
diff --git a/res/values-fr/cm_strings.xml b/res/values-fr/cm_strings.xml
index e6dc7a7a2..ab7e3a3a7 100644
--- a/res/values-fr/cm_strings.xml
+++ b/res/values-fr/cm_strings.xml
@@ -142,4 +142,5 @@
<string name="effects_carousel_right">Carrousel à droite</string>
<string name="live_folder_cling_title">Dossier dynamique</string>
<string name="live_folder_cling_create_folder">Les dossiers dynamiques autorisent les développeurs d\'applications à créer des dossiers avec du contenu dynamique. Le contenu de ces dossiers peut être supprimé par un appui long sur une seule entrée. Contrairement aux dossiers classiques, les éléments peuvent être insérés seulement par l\'application qui a créé le dossier</string>
+ <string name="conversations_title">Conversations</string>
</resources>
diff --git a/res/values-pt/cm_strings.xml b/res/values-pt/cm_strings.xml
index 2bd051d44..e984f45cb 100644
--- a/res/values-pt/cm_strings.xml
+++ b/res/values-pt/cm_strings.xml
@@ -143,4 +143,5 @@
<string name="dialog_pick_iconpack_title">Escolhe o pacote de ícones</string>
<string name="default_iconpack_title">Padrão</string>
<string name="no_iconpacks_summary">Nenhum pacote de ícones instalado</string>
+ <string name="conversations_title">Conversas</string>
</resources> \ No newline at end of file
diff --git a/res/values-sv/cm_arrays.xml b/res/values-sv/cm_arrays.xml
new file mode 100644
index 000000000..d8ba5a02c
--- /dev/null
+++ b/res/values-sv/cm_arrays.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2012-2013 The CyanogenMod Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string-array name="preferences_interface_homescreen_indicator_position_entries">
+ <item>Över docka</item>
+ <item>Överst</item>
+ <item>Nederst</item>
+ </string-array>
+ <string-array name="preferences_interface_drawer_indicator_position_entries">
+ <item>Överst/Vänster</item>
+ <item>Nederst/Höger</item>
+ </string-array>
+ <string-array name="preferences_interface_drawer_orientation_entries">
+ <item>Horisontell</item>
+ <item>Vertikal</item>
+ </string-array>
+</resources>
diff --git a/res/values-sv/cm_strings.xml b/res/values-sv/cm_strings.xml
new file mode 100644
index 000000000..f2172577b
--- /dev/null
+++ b/res/values-sv/cm_strings.xml
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2013 The CyanogenMod Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<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">Meny</string>
+ <string name="cancel_target_label">Avbryt</string>
+ <string name="edit_target_label">Ändra</string>
+ <string name="menu_lock_workspace">Lås hemskärm</string>
+ <string name="menu_unlock_workspace">Lås upp hemskärm</string>
+ <string name="menu_preferences">Trebuchetinställningar</string>
+ <string name="menu_apps_sort_title">Namn</string>
+ <string name="menu_apps_sort_install_date">Installationsdatum</string>
+ <string name="menu_apps_filter_system">Förinstallerade</string>
+ <string name="menu_apps_filter_downloaded">Hämtade</string>
+ <string name="menu_hidden_apps_delete">Återställ</string>
+ <string name="all_apps_sort_cling_title">Sortera dina appar</string>
+ <string name="all_apps_sort_cling_add_item">Tryck på och håll ned Apparfliken för att välja sorteringsläge</string>
+ <string name="hidden_apps_title">Gömda appar</string>
+ <string name="workspace_locked">Hemskärmen är låst, lås upp den i inställningarna för att arrangera om</string>
+ <string name="preferences_title">Inställningar</string>
+ <string name="preferences_interface_title">Gränssnitt</string>
+ <string name="preferences_application_title">Om</string>
+ <string name="preferences_interface_homescreen_title">Hemskärm</string>
+ <string name="preferences_interface_homescreen_summary">Skärmar och bakgrundsbild</string>
+ <string name="preferences_interface_homescreen_general_category">Allmänt</string>
+ <string name="preferences_interface_homescreen_general_screens_title">Hemskärmar</string>
+ <string name="preferences_interface_homescreen_general_screens_summary">Antalet skärmar på hemskärmen</string>
+ <string name="preferences_interface_homescreen_general_default_screen_title">Standardskärm</string>
+ <string name="preferences_interface_homescreen_general_default_screen_summary">Välj standardhemskärm</string>
+ <string name="preferences_interface_homescreen_general_search_title">Sökfält</string>
+ <string name="preferences_interface_homescreen_general_search_summary">Aktivera bestående sökfält</string>
+ <string name="preferences_interface_homescreen_general_grid_title">Rutnätsstorlek</string>
+ <string name="preferences_interface_homescreen_general_grid_summary">Välj antalet rader/kolumner på hemskärmen</string>
+ <string name="preferences_interface_homescreen_general_grid_rows_title">Rader</string>
+ <string name="preferences_interface_homescreen_general_grid_columns_title">Kolumner</string>
+ <string name="preferences_interface_homescreen_general_stretch_screens_title">Sträck ut skärmar</string>
+ <string name="preferences_interface_homescreen_general_stretch_screens_summary">Expandera hemskärmarna för att fylla skärmstorleken</string>
+ <string name="preferences_interface_homescreen_general_hide_icon_labels_title">Dölj ikonetiketter</string>
+ <string name="preferences_interface_homescreen_general_hide_icon_labels_summary">Göm ikonetiketter på hemskärmen</string>
+ <string name="preferences_interface_homescreen_scrolling_category">Bläddring</string>
+ <string name="preferences_interface_homescreen_scrolling_transition_effect_title">Övergångseffekt</string>
+ <string name="preferences_interface_homescreen_scrolling_transition_effect_summary">Bläddringseffekt när du bläddrar mellan hemskärmar</string>
+ <string name="preferences_interface_homescreen_scrolling_scroll_wallpaper_title">Bläddra bakgrundsbild</string>
+ <string name="preferences_interface_homescreen_scrolling_scroll_wallpaper_summary">Bläddra bakgrundsbild när du bläddrar mellan hemskärmar</string>
+ <string name="preferences_interface_homescreen_scrolling_wallpaper_hack_title">Snabbrendera bakgrundsbild</string>
+ <string name="preferences_interface_homescreen_scrolling_wallpaper_hack_summary">Använd ett hack som gör bläddringen jämnare över statiska bakgrundsbilder</string>
+ <string name="preferences_interface_homescreen_scrolling_wallpaper_size_title">Bakgrundsbildsstorlek</string>
+ <string name="preferences_interface_homescreen_scrolling_wallpaper_size_summary">Hur många skärmar bred bakgrundsbilden bör vara</string>
+ <string name="preferences_interface_homescreen_scrolling_fade_adjacent_screens_title">Tona sidoskärmar</string>
+ <string name="preferences_interface_homescreen_scrolling_fade_adjacent_screens_summary">Tonar sidoskärmarna när du bläddrar mellan hemskärmar</string>
+ <string name="preferences_interface_homescreen_scrolling_show_outlines_title">Visa ramar</string>
+ <string name="preferences_interface_homescreen_scrolling_show_outlines_summary">Visa skärmramar när du bläddrar mellan hemskärmar</string>
+ <string name="preferences_interface_homescreen_indicator_category">Indikator</string>
+ <string name="preferences_interface_homescreen_indicator_enable_title">Visa sidindikator</string>
+ <string name="preferences_interface_homescreen_indicator_enable_summary">Visa indikator för nuvarande sida på skärmen</string>
+ <string name="preferences_interface_homescreen_indicator_fade_title">Tona indikator</string>
+ <string name="preferences_interface_homescreen_indicator_fade_summary">Tona bort indikatorn efter att hemskärmen har växlats</string>
+ <string name="preferences_interface_homescreen_indicator_position_title">Indikatorposition</string>
+ <string name="preferences_interface_homescreen_indicator_position_summary">Välj var indikatorn ska visas på skärmen</string>
+ <string name="preferences_interface_drawer_title">Applåda</string>
+ <string name="preferences_interface_drawer_summary">Behållare för appar och widgets</string>
+ <string name="preferences_interface_drawer_orientation_title">Orientering</string>
+ <string name="preferences_interface_drawer_orientation_summary">Välj åt vilket håll lådan bläddras</string>
+ <string name="preferences_interface_drawer_apps_category">Appar</string>
+ <string name="preferences_interface_drawer_hidden_apps_title">Gömda appar</string>
+ <string name="preferences_interface_drawer_hidden_apps_summary">Dölj appar från lådan</string>
+ <string name="preferences_interface_drawer_hidden_apps_shortcuts_title">Gömda appar (genvägar)</string>
+ <string name="preferences_interface_drawer_hidden_apps_shortcuts_summary">Ta bort dolda appars genvägar från hemskärmen</string>
+ <string name="preferences_interface_drawer_hidden_apps_widgets_title">Gömda appar (widgetar)</string>
+ <string name="preferences_interface_drawer_hidden_apps_widgets_summary">Ta bort dolda appars widgetar från hemskärmen</string>
+ <string name="preferences_interface_drawer_widgets_category">Widgetar</string>
+ <string name="preferences_interface_drawer_widgets_join_apps_title">Slå samman med Appar</string>
+ <string name="preferences_interface_drawer_widgets_join_apps_summary">Bläddra från appar till widgetar utan att ändra flik</string>
+ <string name="preferences_interface_drawer_scrolling_category">Bläddring</string>
+ <string name="preferences_interface_drawer_scrolling_transition_effect_title">Övergångseffekt</string>
+ <string name="preferences_interface_drawer_scrolling_transition_effect_summary">Bläddringseffekt när du bläddrar mellan sidor</string>
+ <string name="preferences_interface_drawer_scrolling_fade_adjacent_screens_title">Tona sidor</string>
+ <string name="preferences_interface_drawer_scrolling_fade_adjacent_screens_summary">Tona bort sidor när du bläddrar mellan sidor</string>
+ <string name="preferences_interface_drawer_indicator_category">Indikator</string>
+ <string name="preferences_interface_drawer_indicator_enable_title">Visa sidindikator</string>
+ <string name="preferences_interface_drawer_indicator_enable_summary">Visa indikator för nuvarande sida på skärmen</string>
+ <string name="preferences_interface_drawer_indicator_fade_title">Tona indikator</string>
+ <string name="preferences_interface_drawer_indicator_fade_summary">Tona bort indikatorn efter att sidan har växlats</string>
+ <string name="preferences_interface_drawer_indicator_position_title">Indikatorposition</string>
+ <string name="preferences_interface_drawer_indicator_position_summary">Välj var indikatorn ska visas på skärmen</string>
+ <string name="preferences_interface_dock_title">Docka</string>
+ <string name="preferences_interface_dock_enabled_title">Visa docka</string>
+ <string name="preferences_interface_dock_enabled_summary">Visa dockan under nedanför hemskärmen</string>
+ <string name="preferences_interface_dock_pages_title">Sidor</string>
+ <string name="preferences_interface_dock_pages_summary">Antal sidor i dockan</string>
+ <string name="preferences_interface_dock_default_page_title">Standardsida</string>
+ <string name="preferences_interface_dock_default_page_summary">Välj standardsida</string>
+ <string name="preferences_interface_dock_icons_title">Ikoner</string>
+ <string name="preferences_interface_dock_icons_summary">Antal ikoner/kolumner i dockan</string>
+ <string name="preferences_interface_dock_hide_icon_labels_title">Dölj ikonetiketter</string>
+ <string name="preferences_interface_dock_hide_icon_labels_summary">Dölj ikonetiketter i dockan</string>
+ <string name="preferences_interface_dock_icon_scale_title">Ikonstorlek</string>
+ <string name="preferences_interface_dock_icon_scale_summary">Storlek på ikoner i dockan</string>
+ <string name="preferences_interface_dock_divider_title">Visa avdelare</string>
+ <string name="preferences_interface_dock_divider_summary">Visa avdelare mellan hemskärm och dockan</string>
+ <string name="preferences_interface_icons_title">Ikoner</string>
+ <string name="preferences_interface_general_title">Allmänt</string>
+ <string name="preferences_interface_general_orientation_title">Autorotera skärmen</string>
+ <string name="preferences_interface_general_lock_workspace_title">Lås hemskärm</string>
+ <string name="preferences_interface_general_lock_workspace_summary">Lås genvägarnas och mapparnas positioner på hemskärmen, i dockan och applådan</string>
+ <string name="preferences_interface_general_fullscreen_title">Helskärmsläge</string>
+ <string name="preferences_interface_general_fullscreen_summary">Dölj aviseringsfältet för att expandera hemskärmen</string>
+ <string name="folder_empty_contents_title">Inga föremål funna</string>
+ <string name="preferences_interface_general_iconpack_title">Ikonpaket</string>
+ <string name="preferences_interface_general_iconpack_summary">Ikonpaket ersätter standardikonerna för appar</string>
+ <string name="dialog_pick_iconpack_title">Välj ikonpaket</string>
+ <string name="default_iconpack_title">Standard</string>
+ <string name="no_iconpacks_summary">Inga ikonpaket installerade</string>
+ <string name="effects_tablet">Surfplatta</string>
+ <string name="effects_zoom_in">Zooma in</string>
+ <string name="effects_zoom_out">Zooma ut</string>
+ <string name="effects_rotate_up">Rotera uppåt</string>
+ <string name="effects_rotate_down">Rotera nedåt</string>
+ <string name="effects_cylinder_in">Cylinder, insida</string>
+ <string name="effects_cylinder_out">Cylinder, utsida</string>
+ <string name="effects_cube_in">Kub, insida</string>
+ <string name="effects_cube_out">Kub, utsida</string>
+ <string name="effects_spin">Snurra</string>
+ <string name="effects_flip">Vänd</string>
+ <string name="effects_stack">Stapla</string>
+ <string name="effects_accordion">Dragspel</string>
+ <string name="effects_carousel_left">Karusell, vänster</string>
+ <string name="effects_carousel_right">Karusell, höger</string>
+ <string name="live_folder_cling_title">Levande mappar</string>
+ <string name="live_folder_cling_create_folder">Levande mappar möjliggör för utvecklare att skapa mappar med dynamiskt innehåll.
+ Mappinnehåll kan tas bort genom ett långtryck på en enskild post. Till skillnad från vanliga mappar kan föremål endast läggas till genom
+ applikationen som skapar mappen</string>
+ <string name="conversations_title">Konversationer</string>
+</resources>
diff --git a/src/com/cyanogenmod/trebuchet/LauncherModel.java b/src/com/cyanogenmod/trebuchet/LauncherModel.java
index 51fac6f7a..5d6d902ee 100644
--- a/src/com/cyanogenmod/trebuchet/LauncherModel.java
+++ b/src/com/cyanogenmod/trebuchet/LauncherModel.java
@@ -1028,6 +1028,38 @@ public class LauncherModel extends BroadcastReceiver {
return false;
}
+ // check & update map of what's occupied; used to discard overlapping/invalid items
+ public boolean checkItemPlacement(ItemInfo occupied[][][], ItemInfo item) {
+ int containerIndex = item.screen;
+ if (item.container == LauncherSettings.Favorites.CONTAINER_HOTSEAT) {
+ containerIndex += Launcher.MAX_WORKSPACE_SCREEN_COUNT;
+ } else if (item.container != LauncherSettings.Favorites.CONTAINER_DESKTOP) {
+ // Skip further checking if it is not the hotseat or workspace container
+ return true;
+ }
+
+ // Check if any workspace icons overlap with each other
+ for (int x = item.cellX; x < (item.cellX+item.spanX); x++) {
+ for (int y = item.cellY; y < (item.cellY+item.spanY); y++) {
+ if (occupied[containerIndex][x][y] != null) {
+ Log.e(TAG, "Error loading shortcut " + item
+ + " into cell (" + containerIndex + "-" + item.screen + ":"
+ + x + "," + y
+ + ") occupied by "
+ + occupied[containerIndex][x][y]);
+ return false;
+ }
+ }
+ }
+ for (int x = item.cellX; x < (item.cellX+item.spanX); x++) {
+ for (int y = item.cellY; y < (item.cellY+item.spanY); y++) {
+ occupied[containerIndex][x][y] = item;
+ }
+ }
+
+ return true;
+ }
+
/**
* Runnable for the thread that loads the contents of the launcher:
* - workspace icons
@@ -1267,38 +1299,6 @@ public class LauncherModel extends BroadcastReceiver {
}
}
- // check & update map of what's occupied; used to discard overlapping/invalid items
- private boolean checkItemPlacement(ItemInfo occupied[][][], ItemInfo item) {
- int containerIndex = item.screen;
- if (item.container == LauncherSettings.Favorites.CONTAINER_HOTSEAT) {
- containerIndex += Launcher.MAX_WORKSPACE_SCREEN_COUNT;
- } else if (item.container != LauncherSettings.Favorites.CONTAINER_DESKTOP) {
- // Skip further checking if it is not the hotseat or workspace container
- return true;
- }
-
- // Check if any workspace icons overlap with each other
- for (int x = item.cellX; x < (item.cellX+item.spanX); x++) {
- for (int y = item.cellY; y < (item.cellY+item.spanY); y++) {
- if (occupied[containerIndex][x][y] != null) {
- Log.e(TAG, "Error loading shortcut " + item
- + " into cell (" + containerIndex + "-" + item.screen + ":"
- + x + "," + y
- + ") occupied by "
- + occupied[containerIndex][x][y]);
- return false;
- }
- }
- }
- for (int x = item.cellX; x < (item.cellX+item.spanX); x++) {
- for (int y = item.cellY; y < (item.cellY+item.spanY); y++) {
- occupied[containerIndex][x][y] = item;
- }
- }
-
- return true;
- }
-
private void loadWorkspace() {
final long t = DEBUG_LOADERS ? SystemClock.uptimeMillis() : 0;
diff --git a/src/com/cyanogenmod/trebuchet/LauncherProvider.java b/src/com/cyanogenmod/trebuchet/LauncherProvider.java
index 260a16a6b..d7b17d279 100644
--- a/src/com/cyanogenmod/trebuchet/LauncherProvider.java
+++ b/src/com/cyanogenmod/trebuchet/LauncherProvider.java
@@ -74,7 +74,7 @@ public class LauncherProvider extends ContentProvider {
"DEFAULT_WORKSPACE_RESOURCE_ID";
private static final String ACTION_APPWIDGET_DEFAULT_WORKSPACE_CONFIGURE =
- "com.cyanogenmod.trebuchet.action.APPWIDGET_DEFAULT_WORKSPACE_CONFIGURE";
+ "com.android.launcher.action.APPWIDGET_DEFAULT_WORKSPACE_CONFIGURE";
/**
* {@link Uri} triggered at any registered {@link android.database.ContentObserver} when
@@ -615,6 +615,15 @@ public class LauncherProvider extends ContentProvider {
final int depth = parser.getDepth();
+ LauncherApplication app = ((LauncherApplication) mContext);
+ int cellCountX = app.getResources().getInteger(R.integer.target_cell_count_x);
+ int cellCountY = app.getResources().getInteger(R.integer.target_cell_count_y);
+ int hotseatCellCount = app.getResources().getInteger(R.integer.hotseat_cell_count);
+ final ItemInfo occupied[][][] =
+ new ItemInfo[Launcher.MAX_SCREEN_COUNT][Math.max(
+ cellCountX, hotseatCellCount)]
+ [Math.max(cellCountY, hotseatCellCount)];
+
int type;
while (((type = parser.next()) != XmlPullParser.END_TAG ||
parser.getDepth() > depth) && type != XmlPullParser.END_DOCUMENT) {
@@ -643,6 +652,27 @@ public class LauncherProvider extends ContentProvider {
values.put(LauncherSettings.Favorites.CELLX, x);
values.put(LauncherSettings.Favorites.CELLY, y);
+ ItemInfo info = new ItemInfo();
+ info.container = container;
+ info.cellX = values.getAsInteger(LauncherSettings.Favorites.CELLX);
+ info.cellY = values.getAsInteger(LauncherSettings.Favorites.CELLY);
+ info.screen = values.getAsInteger(LauncherSettings.Favorites.SCREEN);
+
+ if (values.containsKey(LauncherSettings.Favorites.SPANX)) {
+ info.spanX = values.getAsInteger(LauncherSettings.Favorites.SPANX);
+ } else {
+ info.spanX = 1;
+ }
+ if (values.containsKey(LauncherSettings.Favorites.SPANY)) {
+ info.spanY = values.getAsInteger(LauncherSettings.Favorites.SPANY);
+ } else {
+ info.spanY = 1;
+ }
+
+ if (!app.getModel().checkItemPlacement(occupied, info)) {
+ continue;
+ }
+
if (TAG_FAVORITE.equals(name)) {
long id = addAppShortcut(db, values, a, packageManager, intent);
added = id >= 0;