summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--proguard.flags2
-rw-r--r--res/values-ar/strings.xml2
-rw-r--r--res/values-bg/strings.xml2
-rw-r--r--res/values-ca/strings.xml2
-rw-r--r--res/values-cs/strings.xml2
-rw-r--r--res/values-da/strings.xml2
-rw-r--r--res/values-de/strings.xml2
-rw-r--r--res/values-el/strings.xml4
-rw-r--r--res/values-en-rGB/strings.xml2
-rw-r--r--res/values-es-rUS/strings.xml4
-rw-r--r--res/values-es/strings.xml2
-rw-r--r--res/values-fa/strings.xml2
-rw-r--r--res/values-fi/strings.xml2
-rw-r--r--res/values-fr/strings.xml2
-rw-r--r--res/values-hr/strings.xml2
-rw-r--r--res/values-hu/strings.xml2
-rw-r--r--res/values-in/strings.xml2
-rw-r--r--res/values-it/strings.xml4
-rw-r--r--res/values-iw/strings.xml2
-rw-r--r--res/values-ja/strings.xml2
-rw-r--r--res/values-ko/strings.xml4
-rw-r--r--res/values-lt/strings.xml2
-rw-r--r--res/values-lv/strings.xml2
-rw-r--r--res/values-nb/strings.xml2
-rw-r--r--res/values-nl/strings.xml4
-rw-r--r--res/values-pl/strings.xml2
-rw-r--r--res/values-pt-rPT/strings.xml2
-rw-r--r--res/values-pt/strings.xml2
-rw-r--r--res/values-rm/strings.xml2
-rw-r--r--res/values-ro/strings.xml2
-rw-r--r--res/values-ru/strings.xml2
-rw-r--r--res/values-sk/strings.xml2
-rw-r--r--res/values-sl/strings.xml2
-rw-r--r--res/values-sr/strings.xml2
-rw-r--r--res/values-sv/strings.xml2
-rw-r--r--res/values-th/strings.xml2
-rw-r--r--res/values-tl/strings.xml2
-rw-r--r--res/values-tr/strings.xml6
-rw-r--r--res/values-uk/strings.xml2
-rw-r--r--res/values-vi/strings.xml2
-rw-r--r--res/values-zh-rCN/strings.xml2
-rw-r--r--res/values-zh-rTW/strings.xml2
-rw-r--r--src/com/android/launcher2/AppWidgetResizeFrame.java26
-rw-r--r--src/com/android/launcher2/BubbleTextView.java54
-rw-r--r--src/com/android/launcher2/CellLayout.java68
-rw-r--r--src/com/android/launcher2/CellLayoutChildren.java97
-rw-r--r--src/com/android/launcher2/DragLayer.java168
-rw-r--r--src/com/android/launcher2/Workspace.java9
48 files changed, 234 insertions, 286 deletions
diff --git a/proguard.flags b/proguard.flags
index 19c8fd599..94dd2609b 100644
--- a/proguard.flags
+++ b/proguard.flags
@@ -20,7 +20,7 @@
public void setHoverAlpha(float);
}
--keep class com.android.launcher2.CellLayout$LayoutParams {
+-keep class com.android.launcher2.DragLayer$LayoutParams {
public void setWidth(int);
public int getWidth();
public void setHeight(int);
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 38b14f542..93e6c7daf 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"تطبيقاتي"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"لم يتم العثور على ألعاب"</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"ليس لديك أي تطبيقات تم تنزيلها."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"تعذر إسقاط العنصر على هذه الشاشة الرئيسية"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"تحديد أداة للإنشاء"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"اسم المجلد"</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 3ffcb8f01..099c5c0f8 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Моите приложения"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"Няма намерени игри."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"Нямате изтеглени приложения."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"Елементът не можа да се премести на началния екран"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Избор на създаващо приспособление"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Име на папка"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 9e344add4..9ccfed33c 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Les meves aplicacions"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"No s\'ha trobat cap joc."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"No has baixat cap aplicació."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"No s\'ha pogut trasll. l\'element a la pant. d\'inici"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Selecciona un widget per crear-lo"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Nom de la carpeta"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 088fdb271..1b3563dc5 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Moje aplikace"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"Nenalezeny žádné hry."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"Nemáte žádné stažené aplikace."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"Na tuto plochu nelze položku přetáhnout"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Vyberte widget"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Název složky"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 2de2efa1c..dc4a9f4f9 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Mine apps"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"Ingen spil."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"Du har ingen downloadede applikationer."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"Kunne ikke slippe elementet på denne startskærm"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Vælg widget for at oprette"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Mappenavn"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index ed8f4001a..2de98960d 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Meine Apps"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"Keine Spiele gefunden."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"Keine heruntergeladenen Anwendungen vorhanden"</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"Element wurde nicht auf Startbildschirm abgelegt."</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Widget für Erstellung auswählen"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Ordnername"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index ef96d1676..8a8353a0f 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -33,14 +33,12 @@
<string name="wallpapers_tab_label" msgid="1617804870364119879">"Ταπετσαρίες"</string>
<string name="applications_tab_label" msgid="2991364240020736760">"Συντομεύσεις εφαρμογών"</string>
<string name="wallpapers_temp_tab_text" msgid="1660218201190495279">"Αυτή θα είναι η καρτέλα ταπετσαριών"</string>
- <string name="all_apps_tab_all" msgid="2942727589595027258">"Όλες"</string>
+ <string name="all_apps_tab_all" msgid="2942727589595027258">"Κάθε ηλικία"</string>
<string name="all_apps_tab_apps" msgid="5468972551904071712">"Εφαρμογές"</string>
<string name="all_apps_tab_games" msgid="1855736784923494918">"Παιχνίδια"</string>
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Οι εφαρμογές μου"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"Δεν βρέθηκαν παιχνίδια."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"Δεν υπάρχουν εφαρμογές από λήψη."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"Δεν έγινε η απόθ. του στοιχείου στην αρχική οθόνη"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Επιλογή γραφ. στοιχείου δημιουργίας"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Όνομα φακέλου"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 20eb083da..1f75e2fbb 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"My apps"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"No games found."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"You have no downloaded applications."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"Could not drop item onto this home screen"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Select widget to create"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Folder name"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index ed490e205..3f1d80fd3 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Mis aplicaciones"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"No se encontraron juegos."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"No has descargado ninguna aplicación."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"No se pudo colocar el elemento en esta pantalla principal"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Seleccionar widget para crear"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Nombre de carpeta"</string>
@@ -86,7 +84,7 @@
<string name="permlab_install_shortcut" msgid="1201690825493376489">"instalar accesos directos"</string>
<string name="permdesc_install_shortcut" msgid="7429365847558984148">"Permite a una aplicación agregar accesos directos sin intervención del usuario."</string>
<string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"desinstalar papel tapiz"</string>
- <string name="permdesc_uninstall_shortcut" msgid="959972195916090900">"Permite a una aplicación eliminar accesos directos sin intervención del usuario."</string>
+ <string name="permdesc_uninstall_shortcut" msgid="959972195916090900">"Permite a una aplicación suprimir accesos directos sin intervención del usuario."</string>
<string name="permlab_read_settings" msgid="3452408290738106747">"leer configuración y accesos directos de la página principal"</string>
<string name="permdesc_read_settings" msgid="8377434937176025492">"Permite a una aplicación leer la configuración y los accesos directos de la página principal."</string>
<string name="permlab_write_settings" msgid="1360567537236705628">"escribir configuración y accesos directos de la página principal"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index d1c5fc8b4..7c59b1fc3 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Mis aplicaciones"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"No hay juegos."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"No tienes aplicaciones descargadas."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"No se puede soltar el elemento en este escritorio."</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Seleccionar widget"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Nombre de carpeta"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index a7163109f..007eb4e1b 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"برنامه های من"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"هیچ بازی پیدا نشد."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"شما هیچ برنامه کاربردی دانلود شده ای ندارید."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"نمی توان موردی در این صفحه اصلی انداخت"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"انتخاب ابزارک جهت ایجاد"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"نام پوشه"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 71e165635..4879b3d59 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Omat sovellukset"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"Ei pelejä."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"Ei ladattuja sovelluksia."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"Kohdetta ei voi lisätä etusivulle"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Valitse luotava widget"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Kansion nimi"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 244357b8b..f12a61e36 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Mes applications"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"Aucun jeu n\'a été trouvé."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"Vous n\'avez téléchargé aucune application."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"Impossible de déposer l\'élément sur l\'écran d\'accueil."</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Sélectionner le widget à créer"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Nom du dossier"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index e81536a99..39b682a0f 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Moje aplikacije"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"Igre nisu pronađene."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"Nemate preuzetih aplikacija"</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"Nije bilo moguće spustiti stavku na početni zaslon"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Odabir widgeta za stvaranje"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Naziv mape"</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index bb9950d4c..289a74290 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Saját alkalmazások"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"Nincsenek játékok."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"Nincsenek letöltött alkalmazásai."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"Nem lehet elhelyezni az elemet ezen a főoldalon"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"A létrehozandó modul kiválasztása"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Mappa neve"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 0d6dfeff9..fab3dc355 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Apl saya"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"Tidak ditemukan permainan."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"Anda tidak memiliki aplikasi yang diunduh."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"Tidak dapat menaruh item pada layar utama ini"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Pilih widget untuk membuat"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Nama map"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 9a2e5119e..36e655d54 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Le mie applicazioni"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"Nessun gioco trovato."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"Non hai applicazioni scaricate."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"Impossibile rilasciare elemento in schermata Home"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Seleziona il widget da creare"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Nome cartella"</string>
@@ -58,7 +56,7 @@
<string name="add_clock" msgid="2337943840175865746">"Orologio"</string>
<string name="add_photo_frame" msgid="3154058437359487954">"Cornice immagini"</string>
<string name="out_of_space" msgid="8365249326091984698">"Spazio nella schermata Home esaurito."</string>
- <string name="shortcut_installed" msgid="7071557296331322355">"Scorciatoia \"<xliff:g id="NAME">%s</xliff:g>\" creata."</string>
+ <string name="shortcut_installed" msgid="7071557296331322355">"Scoriciatoia \"<xliff:g id="NAME">%s</xliff:g>\" creata."</string>
<string name="shortcut_uninstalled" msgid="2129499669449749995">"La scorciatoia \"<xliff:g id="NAME">%s</xliff:g>\" è stata rimossa."</string>
<string name="shortcut_duplicate" msgid="4757756326465060694">"Scorciatoia \"<xliff:g id="NAME">%s</xliff:g>\" già presente."</string>
<string name="title_select_shortcut" msgid="2858897527672831763">"Seleziona scorciatoia"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index e8da8f5b1..1c0498286 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"היישומים שלי"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"לא נמצאו משחקים."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"לא הורדת יישומים."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"אין אפשרות להניח פריט במסך בית זה"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"בחר widget כדי ליצור"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"שם תיקיה"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 5b7d1f429..fa6120a05 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"マイアプリ"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"ゲームなし"</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"ダウンロードしたアプリケーションはありません。"</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"このホーム画面にアイテムをドロップできませんでした"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"作成するウィジェットを選択"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"フォルダ名"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index e9f1984e9..1d7f74c0c 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -33,14 +33,12 @@
<string name="wallpapers_tab_label" msgid="1617804870364119879">"배경화면"</string>
<string name="applications_tab_label" msgid="2991364240020736760">"앱 바로가기"</string>
<string name="wallpapers_temp_tab_text" msgid="1660218201190495279">"배경화면 탭이 됩니다."</string>
- <string name="all_apps_tab_all" msgid="2942727589595027258">"전체"</string>
+ <string name="all_apps_tab_all" msgid="2942727589595027258">"모두"</string>
<string name="all_apps_tab_apps" msgid="5468972551904071712">"애플리케이션"</string>
<string name="all_apps_tab_games" msgid="1855736784923494918">"게임"</string>
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"내 애플리케이션"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"게임이 없습니다."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"다운로드한 애플리케이션이 없습니다."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"홈 화면에 항목을 드롭할 수 없습니다."</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"만들 위젯 선택"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"폴더 이름"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 72b6854d3..0665b102f 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Mano programos"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"Nerasta žaidimų."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"Neturite atsisiųstų programų."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"Nepavyko pašalinti elemento šiame pagr. ekrane"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Pasirinkti norimą sukurti valdiklį"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Aplanko pavadinimas"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index bd4c38f0b..4419feb38 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Manas lietotnes"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"Nav nevienas spēles."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"Nav ielādēta neviena lietojumprogramma."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"Nevarēja nomest vienumu šajā sākumekrānā."</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Atlasīt izveidojamo logrīku"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Mapes nosaukums"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 5a39539da..6b72eff8b 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Mine programmer"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"Finner ingen spill."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"Du har ingen nedlastede programmer."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"Kunne ikke slippe elementet på denne startskjermen"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Velg modul for oppretting"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Mappenavn"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 29000f6f4..8fcebfd1c 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -36,11 +36,9 @@
<string name="all_apps_tab_all" msgid="2942727589595027258">"Alle"</string>
<string name="all_apps_tab_apps" msgid="5468972551904071712">"Toepassingen"</string>
<string name="all_apps_tab_games" msgid="1855736784923494918">"Games"</string>
- <string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Mijn apps"</string>
+ <string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Mijn toepassingen"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"Geen games gevonden."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"U heeft geen gedownloade toepassingen."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"Kan item niet neerzetten op dit startscherm"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Widget selecteren om te maken"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Mapnaam"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 3b842b04b..6f23d941a 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Moje aplikacje"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"Nie znaleziono gier."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"Nie masz żadnych pobranych aplikacji."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"Nie można upuścić elementu na ekranie głównym"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Wybierz widżet do utworzenia"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Nazwa folderu"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 2c844c2e0..7fcc34368 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"As minhas aplicações"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"Sem jogos."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"Não existem aplicações transferidas."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"Não foi possível largar o item neste ecrã inicial"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Seleccionar widget a criar"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Nome da pasta"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index c5789f216..6cd4bb19d 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Meus aplicativos"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"Nenhum jogo encontrado."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"Você não tem nenhum aplicativo transferido."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"Não foi possível soltar o item nesta tela inicial"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Selecione um widget para criar"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Nome da pasta"</string>
diff --git a/res/values-rm/strings.xml b/res/values-rm/strings.xml
index 1b5729b7e..d9509e480 100644
--- a/res/values-rm/strings.xml
+++ b/res/values-rm/strings.xml
@@ -51,8 +51,6 @@
<skip />
<!-- no translation found for all_apps_no_downloads (2284720393234453761) -->
<skip />
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<!-- no translation found for external_drop_widget_error (4976816434597126575) -->
<skip />
<!-- no translation found for external_drop_widget_pick_title (4481311720134376218) -->
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 70a32e6dd..9dc235b5b 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Aplicaţiile mele"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"Nu s-au găsit jocuri."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"Nu aveţi aplicaţii descărcate."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"Impos. de plasat elem. pe acest ecran de pornire"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Selectaţi obiectul widget"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Nume dosar"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 84d7823e5..d1b70155e 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Мои приложения"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"Игр не найдено."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"У вас нет загруженных приложений."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"Не удается скопировать элемент на главный экран"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Выберите виджет"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Название папки"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index eb3b68a01..1aae289f0 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Moje aplikácie"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"Nenašli sa žiadne hry."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"Nemáte žiadne prevzaté aplikácie."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"Položku sa nepodarilo pretiahnuť na túto plochu"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Vyberte miniaplikáciu"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Názov priečinka"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index ba1005c1c..5c05dc103 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Moji programi"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"Ni najdenih iger."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"Ni prenesenih programov."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"Elementa ni bilo mogoče postaviti na ta začetni zaslon"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Izberite želeni pripomoček"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Ime mape"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index e7fad57fa..8e19bcf9e 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Моје апликације"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"Нису пронађене игре."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"Немате ниједну преузету апликацију."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"Ставка није пребачена на овај почетни екран"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Изаберите виџет за креирање"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Име директоријума"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 0701e5694..394f712d1 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Mina appar"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"Inga spel hittades."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"Du har inte hämtat några appar."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"Objektet kunde inte släppas på den här startsidan"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Välj en widget att skapa"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Mappnamn"</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index fe488eeb7..df8d839f2 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"แอปพลิเคชันของฉัน"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"ไม่พบเกม"</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"คุณไม่ได้ดาวน์โหลดแอปพลิเคชันไว้"</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"ไม่สามารถวางรายการลงในหน้าจอหลักนี้ได้"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"เลือกวิดเจ็ตที่จะสร้าง"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"ชื่อโฟลเดอร์"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index c7df24404..579f3d449 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Aking mga app"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"Walang nakitang mga laro."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"Wala kang mga na-download na application."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"Hindi ma-drop ang item sa homescreen na ito"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Pumili ng widget na lilikhain"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Pangalan ng folder"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 7292ebeee..511193f54 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -39,15 +39,13 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Uygulamalarım"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"Oyun bulunamadı."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"İndirilmiş uygulamanız yok."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"Öğe bu ana ekrana bırakılamadı"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Oluşturulacak widget\'i seç"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Klasör adı"</string>
<string name="rename_folder_title" msgid="4544573104191526550">"Klasörü yeniden adlandır"</string>
<string name="rename_action" msgid="6016003384693240896">"Tamam"</string>
<string name="cancel_action" msgid="3811860427489435048">"İptal"</string>
- <string name="menu_item_add_item" msgid="6233177331075781114">"Ana Sayfaya ekle"</string>
+ <string name="menu_item_add_item" msgid="6233177331075781114">"Ana ekrana ekle"</string>
<string name="group_applications" msgid="4118484163419674240">"Uygulamalar"</string>
<string name="group_shortcuts" msgid="9133529424900391877">"Kısayollar"</string>
<string name="group_folder" msgid="5143593791798929193">"Yeni klasör"</string>
@@ -57,7 +55,7 @@
<string name="add_folder" msgid="3521088587367839879">"Klasör"</string>
<string name="add_clock" msgid="2337943840175865746">"Saat"</string>
<string name="add_photo_frame" msgid="3154058437359487954">"Resim çerçevesi"</string>
- <string name="out_of_space" msgid="8365249326091984698">"Bu Ana Sayfada yer yok."</string>
+ <string name="out_of_space" msgid="8365249326091984698">"Bu Ana ekranda başka yer yok."</string>
<string name="shortcut_installed" msgid="7071557296331322355">"\"<xliff:g id="NAME">%s</xliff:g>\" kısayolu oluşturuldu."</string>
<string name="shortcut_uninstalled" msgid="2129499669449749995">"\"<xliff:g id="NAME">%s</xliff:g>\" kısayolu kaldırıldı."</string>
<string name="shortcut_duplicate" msgid="4757756326465060694">"\"<xliff:g id="NAME">%s</xliff:g>\" kısayolu zaten var."</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 126d50c4f..eb06bc450 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Мої програми"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"Ігор не знайдено."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"У вас немає завантажених програм."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"Неможливо помістити елемент на цей головний екран"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Вибрати віджет для створення"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Назва папки"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 5e3941e41..9be377413 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"Ứng dụng của tôi"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"Không tìm thấy trò chơi."</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"Bạn không có ứng dụng nào được tải xuống."</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"Không thể thả mục vào màn hình chính này"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"Chọn tiện ích để tạo"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"Tên thư mục"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 3f8b626e7..73111758f 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"我的应用程序"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"未找到游戏。"</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"您没有下载任何应用程序。"</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"无法将该项放到主屏幕上"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"选择窗口小部件进行创建"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"文件夹名称"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 7184ac958..aa08c2206 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -39,8 +39,6 @@
<string name="all_apps_tab_downloaded" msgid="1488049110598641387">"我的應用程式"</string>
<string name="all_apps_no_games" msgid="5293893733372793696">"找不到遊戲。"</string>
<string name="all_apps_no_downloads" msgid="2284720393234453761">"您沒有下載任何應用程式。"</string>
- <!-- no translation found for market (2652226429823445833) -->
- <skip />
<string name="external_drop_widget_error" msgid="4976816434597126575">"無法將項目拖放至主螢幕上"</string>
<string name="external_drop_widget_pick_title" msgid="4481311720134376218">"選取要建立的小工具"</string>
<string name="rename_folder_label" msgid="5646236631298452787">"資料夾名稱"</string>
diff --git a/src/com/android/launcher2/AppWidgetResizeFrame.java b/src/com/android/launcher2/AppWidgetResizeFrame.java
index 2b2662f42..d975ed931 100644
--- a/src/com/android/launcher2/AppWidgetResizeFrame.java
+++ b/src/com/android/launcher2/AppWidgetResizeFrame.java
@@ -18,6 +18,8 @@ public class AppWidgetResizeFrame extends FrameLayout {
private ItemInfo mItemInfo;
private LauncherAppWidgetHostView mWidgetView;
private CellLayout mCellLayout;
+ private DragLayer mDragLayer;
+ private Workspace mWorkspace;
private ImageView mLeftHandle;
private ImageView mRightHandle;
private ImageView mTopHandle;
@@ -57,7 +59,7 @@ public class AppWidgetResizeFrame extends FrameLayout {
public static final int BOTTOM = 3;
public AppWidgetResizeFrame(Context context, ItemInfo itemInfo,
- LauncherAppWidgetHostView widgetView, CellLayout cellLayout) {
+ LauncherAppWidgetHostView widgetView, CellLayout cellLayout, DragLayer dragLayer) {
super(context);
mContext = context;
@@ -65,6 +67,8 @@ public class AppWidgetResizeFrame extends FrameLayout {
mCellLayout = cellLayout;
mWidgetView = widgetView;
mResizeMode = widgetView.getAppWidgetInfo().resizeMode;
+ mDragLayer = dragLayer;
+ mWorkspace = (Workspace) dragLayer.findViewById(R.id.workspace);
final AppWidgetProviderInfo info = widgetView.getAppWidgetInfo();
int[] result = mCellLayout.rectToCell(info.minWidth, info.minHeight, null);
@@ -150,7 +154,7 @@ public class AppWidgetResizeFrame extends FrameLayout {
mDeltaX = Math.max(-mBaselineX, deltaX);
mDeltaX = Math.min(mBaselineWidth - 2 * mTouchTargetWidth, mDeltaX);
} else if (mRightBorderActive) {
- mDeltaX = Math.min(mCellLayout.getWidth() - (mBaselineX + mBaselineWidth), deltaX);
+ mDeltaX = Math.min(mDragLayer.getWidth() - (mBaselineX + mBaselineWidth), deltaX);
mDeltaX = Math.max(-mBaselineWidth + 2 * mTouchTargetWidth, mDeltaX);
}
@@ -158,7 +162,7 @@ public class AppWidgetResizeFrame extends FrameLayout {
mDeltaY = Math.max(-mBaselineY, deltaY);
mDeltaY = Math.min(mBaselineHeight - 2 * mTouchTargetWidth, mDeltaY);
} else if (mBottomBorderActive) {
- mDeltaY = Math.min(mCellLayout.getHeight() - (mBaselineY + mBaselineHeight), deltaY);
+ mDeltaY = Math.min(mDragLayer.getHeight() - (mBaselineY + mBaselineHeight), deltaY);
mDeltaY = Math.max(-mBaselineHeight + 2 * mTouchTargetWidth, mDeltaY);
}
}
@@ -168,7 +172,8 @@ public class AppWidgetResizeFrame extends FrameLayout {
*/
public void visualizeResizeForDelta(int deltaX, int deltaY) {
updateDeltas(deltaX, deltaY);
- CellLayout.LayoutParams lp = (CellLayout.LayoutParams) getLayoutParams();
+ DragLayer.LayoutParams lp = (DragLayer.LayoutParams) getLayoutParams();
+
if (mLeftBorderActive) {
lp.x = mBaselineX + mDeltaX;
lp.width = mBaselineWidth - mDeltaX;
@@ -261,6 +266,7 @@ public class AppWidgetResizeFrame extends FrameLayout {
// Update the cells occupied by this widget
mCellLayout.markCellsAsOccupiedForView(mWidgetView);
+ mWidgetView.requestLayout();
}
/**
@@ -284,20 +290,22 @@ public class AppWidgetResizeFrame extends FrameLayout {
}
public void snapToWidget(boolean animate) {
- final CellLayout.LayoutParams lp = (CellLayout.LayoutParams) getLayoutParams();
+ final DragLayer.LayoutParams lp = (DragLayer.LayoutParams) getLayoutParams();
+ int xOffset = mCellLayout.getLeft() - mWorkspace.getScrollX();
+ int yOffset = mCellLayout.getTop() - mWorkspace.getScrollY();
int newWidth = mWidgetView.getWidth() + 2 * mBackgroundPadding;
int newHeight = mWidgetView.getHeight() + 2 * mBackgroundPadding;
- int newX = mWidgetView.getLeft() - mBackgroundPadding;
- int newY = mWidgetView.getTop() - mBackgroundPadding;
+ int newX = mWidgetView.getLeft() - mBackgroundPadding + xOffset;
+ int newY = mWidgetView.getTop() - mBackgroundPadding + yOffset;
// We need to make sure the frame stays within the bounds of the CellLayout
if (newY < 0) {
newHeight -= -newY;
newY = 0;
}
- if (newY + newHeight > mCellLayout.getHeight()) {
- newHeight -= newY + newHeight - mCellLayout.getHeight();
+ if (newY + newHeight > mDragLayer.getHeight()) {
+ newHeight -= newY + newHeight - mDragLayer.getHeight();
}
if (!animate) {
diff --git a/src/com/android/launcher2/BubbleTextView.java b/src/com/android/launcher2/BubbleTextView.java
index a8db330b3..f18a24197 100644
--- a/src/com/android/launcher2/BubbleTextView.java
+++ b/src/com/android/launcher2/BubbleTextView.java
@@ -126,23 +126,13 @@ public class BubbleTextView extends TextView implements VisibilityChangedBroadca
return who == mBackground || super.verifyDrawable(who);
}
- private void invalidatePressedOrFocusedBackground() {
- int padding = HolographicOutlineHelper.MAX_OUTER_BLUR_RADIUS / 2;
- View parent = (View) getParent();
- if (parent != null) {
- parent.invalidate(getLeft() - padding, getTop() - padding,
- getRight() + padding, getBottom() + padding);
- }
- invalidate();
- }
-
@Override
protected void drawableStateChanged() {
if (isPressed()) {
// In this case, we have already created the pressed outline on ACTION_DOWN,
// so we just need to do an invalidate to trigger draw
if (!mDidInvalidateForPressedState) {
- invalidatePressedOrFocusedBackground();
+ setCellLayoutPressedOrFocusedIcon();
}
} else {
// Otherwise, either clear the pressed/focused background, or create a background
@@ -161,11 +151,11 @@ public class BubbleTextView extends TextView implements VisibilityChangedBroadca
mTempCanvas, mFocusedGlowColor, mFocusedOutlineColor);
}
mStayPressed = false;
- invalidatePressedOrFocusedBackground();
+ setCellLayoutPressedOrFocusedIcon();
}
final boolean backgroundEmptyNow = mPressedOrFocusedBackground == null;
if (!backgroundEmptyBefore && backgroundEmptyNow) {
- invalidatePressedOrFocusedBackground();
+ setCellLayoutPressedOrFocusedIcon();
}
}
@@ -196,7 +186,7 @@ public class BubbleTextView extends TextView implements VisibilityChangedBroadca
destCanvas.save();
destCanvas.translate(-getScrollX() + padding / 2, -getScrollY() + padding / 2);
destCanvas.clipRect(clipRect, Op.REPLACE);
- drawImpl(destCanvas, true);
+ draw(destCanvas);
destCanvas.restore();
}
@@ -269,35 +259,25 @@ public class BubbleTextView extends TextView implements VisibilityChangedBroadca
if (!stayPressed) {
mPressedOrFocusedBackground = null;
}
- invalidatePressedOrFocusedBackground();
+ setCellLayoutPressedOrFocusedIcon();
}
- @Override
- public void draw(Canvas canvas) {
- drawImpl(canvas, false);
+ void setCellLayoutPressedOrFocusedIcon() {
+ CellLayoutChildren parent = (CellLayoutChildren) getParent();
+ CellLayout cellLayout = (CellLayout) parent.getParent();
+ cellLayout.setPressedOrFocusedIcon((mPressedOrFocusedBackground != null) ? this : null);
}
- private void drawImpl(Canvas canvas, boolean preventRecursion) {
- // If the View is focused but the focused background hasn't been created yet, create it now
- if (!preventRecursion && isFocused() && mPressedOrFocusedBackground == null) {
- mPressedOrFocusedBackground = createGlowingOutline(
- mTempCanvas, mFocusedGlowColor, mFocusedOutlineColor);
- }
+ Bitmap getPressedOrFocusedBackground() {
+ return mPressedOrFocusedBackground;
+ }
- if (mPressedOrFocusedBackground != null && (isPressed() || isFocused() || mStayPressed)) {
- // The blue glow can extend outside of our clip region, so we first temporarily expand
- // the canvas's clip region
- canvas.save(Canvas.CLIP_SAVE_FLAG);
- int padding = HolographicOutlineHelper.MAX_OUTER_BLUR_RADIUS / 2;
- canvas.clipRect(-padding + mScrollX, -padding + mScrollY,
- getWidth() + padding + mScrollX, getHeight() + padding + mScrollY,
- Region.Op.REPLACE);
- // draw blue glow
- canvas.drawBitmap(mPressedOrFocusedBackground,
- mScrollX - padding, mScrollY - padding, mTempPaint);
- canvas.restore();
- }
+ int getPressedOrFocusedBackgroundPadding() {
+ return HolographicOutlineHelper.MAX_OUTER_BLUR_RADIUS / 2;
+ }
+ @Override
+ public void draw(Canvas canvas) {
final Drawable background = mBackground;
if (background != null) {
final int scrollX = mScrollX;
diff --git a/src/com/android/launcher2/CellLayout.java b/src/com/android/launcher2/CellLayout.java
index c1c12b5ed..825878af5 100644
--- a/src/com/android/launcher2/CellLayout.java
+++ b/src/com/android/launcher2/CellLayout.java
@@ -113,6 +113,8 @@ public class CellLayout extends ViewGroup {
private int mDragOutlineCurrent = 0;
private final Paint mDragOutlinePaint = new Paint();
+ private BubbleTextView mPressedOrFocusedIcon;
+
private Drawable mCrosshairsDrawable = null;
private InterruptibleInOutAnimator mCrosshairsAnimator = null;
private float mCrosshairsVisibility = 0.0f;
@@ -267,6 +269,27 @@ public class CellLayout extends ViewGroup {
addView(mChildren);
}
+ private void invalidateBubbleTextView(BubbleTextView icon) {
+ final int padding = icon.getPressedOrFocusedBackgroundPadding();
+ invalidate(icon.getLeft() - padding,
+ icon.getTop() - padding,
+ icon.getRight() + padding,
+ icon.getBottom() + padding);
+ }
+
+ void setPressedOrFocusedIcon(BubbleTextView icon) {
+ // We draw the pressed or focused BubbleTextView's background in CellLayout because it
+ // requires an expanded clip rect (due to the glow's blur radius)
+ BubbleTextView oldIcon = mPressedOrFocusedIcon;
+ mPressedOrFocusedIcon = icon;
+ if (oldIcon != null) {
+ invalidateBubbleTextView(oldIcon);
+ }
+ if (mPressedOrFocusedIcon != null) {
+ invalidateBubbleTextView(mPressedOrFocusedIcon);
+ }
+ }
+
public CellLayoutChildren getChildrenLayout() {
if (getChildCount() > 0) {
return (CellLayoutChildren) getChildAt(0);
@@ -457,6 +480,19 @@ public class CellLayout extends ViewGroup {
canvas.drawBitmap(b, p.x, p.y, paint);
}
}
+
+ // We draw the pressed or focused BubbleTextView's background in CellLayout because it
+ // requires an expanded clip rect (due to the glow's blur radius)
+ if (mPressedOrFocusedIcon != null) {
+ final int padding = mPressedOrFocusedIcon.getPressedOrFocusedBackgroundPadding();
+ final Bitmap b = mPressedOrFocusedIcon.getPressedOrFocusedBackground();
+ if (b != null) {
+ canvas.drawBitmap(b,
+ mPressedOrFocusedIcon.getLeft() - padding,
+ mPressedOrFocusedIcon.getTop() - padding,
+ null);
+ }
+ }
}
@Override
@@ -1551,38 +1587,6 @@ out: for (int i = x; i < x + spanX - 1 && x < xCount; i++) {
}
}
- public void setWidth(int width) {
- this.width = width;
- }
-
- public int getWidth() {
- return width;
- }
-
- public void setHeight(int height) {
- this.height = height;
- }
-
- public int getHeight() {
- return height;
- }
-
- public void setX(int x) {
- this.x = x;
- }
-
- public int getX() {
- return x;
- }
-
- public void setY(int y) {
- this.y = y;
- }
-
- public int getY() {
- return y;
- }
-
public String toString() {
return "(" + this.cellX + ", " + this.cellY + ")";
}
diff --git a/src/com/android/launcher2/CellLayoutChildren.java b/src/com/android/launcher2/CellLayoutChildren.java
index 04996f359..11b2f9e70 100644
--- a/src/com/android/launcher2/CellLayoutChildren.java
+++ b/src/com/android/launcher2/CellLayoutChildren.java
@@ -43,12 +43,6 @@ public class CellLayoutChildren extends ViewGroup {
private int mWidthGap;
private int mHeightGap;
- // Variables relating to resizing widgets
- private final ArrayList<AppWidgetResizeFrame> mResizeFrames =
- new ArrayList<AppWidgetResizeFrame>();
- private AppWidgetResizeFrame mCurrentResizeFrame;
- private int mXDown, mYDown;
-
public CellLayoutChildren(Context context) {
super(context);
mWallpaperManager = WallpaperManager.getInstance(context);
@@ -176,95 +170,4 @@ public class CellLayoutChildren extends ViewGroup {
protected void setChildrenDrawnWithCacheEnabled(boolean enabled) {
super.setChildrenDrawnWithCacheEnabled(enabled);
}
-
- public void clearAllResizeFrames() {
- for (AppWidgetResizeFrame frame: mResizeFrames) {
- removeView(frame);
- }
- mResizeFrames.clear();
- }
-
- public boolean hasResizeFrames() {
- return mResizeFrames.size() > 0;
- }
-
- public boolean isWidgetBeingResized() {
- return mCurrentResizeFrame != null;
- }
-
- private boolean handleTouchDown(MotionEvent ev) {
- Rect hitRect = new Rect();
-
- int x = (int) ev.getX();
- int y = (int) ev.getY();
-
- for (AppWidgetResizeFrame child: mResizeFrames) {
- child.getHitRect(hitRect);
- if (hitRect.contains(x, y)) {
- if (child.beginResizeIfPointInRegion(x - child.getLeft(), y - child.getTop())) {
- mCurrentResizeFrame = child;
- mXDown = x;
- mYDown = y;
- requestDisallowInterceptTouchEvent(true);
- return true;
- }
- }
- }
- return false;
- }
-
- @Override
- public boolean onInterceptTouchEvent(MotionEvent ev) {
- if (ev.getAction() == MotionEvent.ACTION_DOWN) {
- if (handleTouchDown(ev)) {
- return true;
- }
- }
- return false;
- }
-
- @Override
- public boolean onTouchEvent(MotionEvent ev) {
- boolean handled = false;
- int action = ev.getAction();
-
- int x = (int) ev.getX();
- int y = (int) ev.getY();
-
- if (ev.getAction() == MotionEvent.ACTION_DOWN) {
- if (ev.getAction() == MotionEvent.ACTION_DOWN) {
- if (handleTouchDown(ev)) {
- return true;
- }
- }
- }
-
- if (mCurrentResizeFrame != null) {
- handled = true;
- switch (action) {
- case MotionEvent.ACTION_MOVE:
- mCurrentResizeFrame.visualizeResizeForDelta(x - mXDown, y - mYDown);
- break;
- case MotionEvent.ACTION_CANCEL:
- case MotionEvent.ACTION_UP:
- mCurrentResizeFrame.commitResizeForDelta(x - mXDown, y - mYDown);
- mCurrentResizeFrame = null;
- }
- }
- return handled;
- }
-
- public void addResizeFrame(ItemInfo itemInfo, LauncherAppWidgetHostView widget,
- CellLayout cellLayout) {
- AppWidgetResizeFrame resizeFrame = new AppWidgetResizeFrame(getContext(),
- itemInfo, widget, cellLayout);
-
- CellLayout.LayoutParams lp = new CellLayout.LayoutParams(-1, -1, -1, -1);
- lp.isLockedToGrid = false;
-
- addView(resizeFrame, lp);
- mResizeFrames.add(resizeFrame);
-
- resizeFrame.snapToWidget(false);
- }
}
diff --git a/src/com/android/launcher2/DragLayer.java b/src/com/android/launcher2/DragLayer.java
index eb539450f..c2b710ec7 100644
--- a/src/com/android/launcher2/DragLayer.java
+++ b/src/com/android/launcher2/DragLayer.java
@@ -16,10 +16,11 @@
package com.android.launcher2;
-import com.android.launcher.R;
+import java.util.ArrayList;
import android.content.Context;
import android.graphics.Bitmap;
+import android.graphics.Rect;
import android.util.AttributeSet;
import android.view.KeyEvent;
import android.view.MotionEvent;
@@ -27,6 +28,8 @@ import android.view.View;
import android.widget.FrameLayout;
import android.widget.ImageView;
+import com.android.launcher.R;
+
/**
* A ViewGroup that coordinates dragging across its descendants
*/
@@ -34,6 +37,12 @@ public class DragLayer extends FrameLayout {
private DragController mDragController;
private int[] mTmpXY = new int[2];
+ // Variables relating to resizing widgets
+ private final ArrayList<AppWidgetResizeFrame> mResizeFrames =
+ new ArrayList<AppWidgetResizeFrame>();
+ private AppWidgetResizeFrame mCurrentResizeFrame;
+ private int mXDown, mYDown;
+
/**
* Used to create a new DragLayer from XML.
*
@@ -56,31 +65,66 @@ public class DragLayer extends FrameLayout {
return mDragController.dispatchKeyEvent(event) || super.dispatchKeyEvent(event);
}
+ private boolean handleTouchDown(MotionEvent ev) {
+ Rect hitRect = new Rect();
+ int x = (int) ev.getX();
+ int y = (int) ev.getY();
+
+ for (AppWidgetResizeFrame child: mResizeFrames) {
+ child.getHitRect(hitRect);
+ if (hitRect.contains(x, y)) {
+ if (child.beginResizeIfPointInRegion(x - child.getLeft(), y - child.getTop())) {
+ mCurrentResizeFrame = child;
+ mXDown = x;
+ mYDown = y;
+ requestDisallowInterceptTouchEvent(true);
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
- // If the current CellLayoutChildren has a resize frame, we need to detect if any touch
- // event has occurred which doesn't result in resizing a widget. In this case, we
- // dismiss any visible resize frames.
- final Workspace w = (Workspace) findViewById(R.id.workspace);
- if (w != null) {
- final CellLayout currentPage = (CellLayout) w.getChildAt(w.getCurrentPage());
- final CellLayoutChildren childrenLayout = currentPage.getChildrenLayout();
-
- if (childrenLayout.hasResizeFrames() && !childrenLayout.isWidgetBeingResized()) {
- post(new Runnable() {
- public void run() {
- if (!childrenLayout.isWidgetBeingResized()) {
- childrenLayout.clearAllResizeFrames();
- }
- }
- });
+ if (ev.getAction() == MotionEvent.ACTION_DOWN) {
+ if (handleTouchDown(ev)) {
+ return true;
}
}
+ clearAllResizeFrames();
return mDragController.onInterceptTouchEvent(ev);
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
+ boolean handled = false;
+ int action = ev.getAction();
+
+ int x = (int) ev.getX();
+ int y = (int) ev.getY();
+
+ if (ev.getAction() == MotionEvent.ACTION_DOWN) {
+ if (ev.getAction() == MotionEvent.ACTION_DOWN) {
+ if (handleTouchDown(ev)) {
+ return true;
+ }
+ }
+ }
+
+ if (mCurrentResizeFrame != null) {
+ handled = true;
+ switch (action) {
+ case MotionEvent.ACTION_MOVE:
+ mCurrentResizeFrame.visualizeResizeForDelta(x - mXDown, y - mYDown);
+ break;
+ case MotionEvent.ACTION_CANCEL:
+ case MotionEvent.ACTION_UP:
+ mCurrentResizeFrame.commitResizeForDelta(x - mXDown, y - mYDown);
+ mCurrentResizeFrame = null;
+ }
+ }
+ if (handled) return true;
return mDragController.onTouchEvent(ev);
}
@@ -103,4 +147,94 @@ public class DragLayer extends FrameLayout {
v.getLocationOnScreen(mTmpXY);
return createDragView(mDragController.getViewBitmap(v), mTmpXY[0], mTmpXY[1]);
}
+
+ public static class LayoutParams extends FrameLayout.LayoutParams {
+ public int x, y;
+ public boolean customPosition = false;
+
+ /**
+ * {@inheritDoc}
+ */
+ public LayoutParams(int width, int height) {
+ super(width, height);
+ }
+
+ public void setWidth(int width) {
+ this.width = width;
+ }
+
+ public int getWidth() {
+ return width;
+ }
+
+ public void setHeight(int height) {
+ this.height = height;
+ }
+
+ public int getHeight() {
+ return height;
+ }
+
+ public void setX(int x) {
+ this.x = x;
+ }
+
+ public int getX() {
+ return x;
+ }
+
+ public void setY(int y) {
+ this.y = y;
+ }
+
+ public int getY() {
+ return y;
+ }
+ }
+
+ protected void onLayout(boolean changed, int l, int t, int r, int b) {
+ super.onLayout(changed, l, t, r, b);
+ int count = getChildCount();
+ for (int i = 0; i < count; i++) {
+ View child = getChildAt(i);
+ final FrameLayout.LayoutParams flp = (FrameLayout.LayoutParams) child.getLayoutParams();
+ if (flp instanceof LayoutParams) {
+ final LayoutParams lp = (LayoutParams) flp;
+ if (lp.customPosition) {
+ child.layout(lp.x, lp.y, lp.x + lp.width, lp.y + lp.height);
+ }
+ }
+ }
+ }
+
+ public void clearAllResizeFrames() {
+ if (mResizeFrames.size() > 0) {
+ for (AppWidgetResizeFrame frame: mResizeFrames) {
+ removeView(frame);
+ }
+ mResizeFrames.clear();
+ }
+ }
+
+ public boolean hasResizeFrames() {
+ return mResizeFrames.size() > 0;
+ }
+
+ public boolean isWidgetBeingResized() {
+ return mCurrentResizeFrame != null;
+ }
+
+ public void addResizeFrame(ItemInfo itemInfo, LauncherAppWidgetHostView widget,
+ CellLayout cellLayout) {
+ AppWidgetResizeFrame resizeFrame = new AppWidgetResizeFrame(getContext(),
+ itemInfo, widget, cellLayout, this);
+
+ LayoutParams lp = new LayoutParams(-1, -1);
+ lp.customPosition = true;
+
+ addView(resizeFrame, lp);
+ mResizeFrames.add(resizeFrame);
+
+ resizeFrame.snapToWidget(false);
+ }
}
diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java
index e7865d26f..b5c1074ab 100644
--- a/src/com/android/launcher2/Workspace.java
+++ b/src/com/android/launcher2/Workspace.java
@@ -1800,8 +1800,8 @@ public class Workspace extends SmoothPagedView
}
public void exitWidgetResizeMode() {
- final CellLayout currentLayout = (CellLayout) getChildAt(getCurrentPage());
- currentLayout.getChildrenLayout().clearAllResizeFrames();
+ DragLayer dragLayer = (DragLayer) mLauncher.findViewById(R.id.drag_layer);
+ dragLayer.clearAllResizeFrames();
}
void unshrink(boolean animated) {
@@ -2353,7 +2353,6 @@ public class Workspace extends SmoothPagedView
mTargetCell[0], mTargetCell[1], mDragInfo.spanX, mDragInfo.spanY));
if (cell instanceof LauncherAppWidgetHostView) {
- final CellLayoutChildren children = dropTargetLayout.getChildrenLayout();
final CellLayout cellLayout = dropTargetLayout;
// We post this call so that the widget has a chance to be placed
// in its final location
@@ -2363,7 +2362,9 @@ public class Workspace extends SmoothPagedView
if (pinfo.resizeMode != AppWidgetProviderInfo.RESIZE_NONE) {
post(new Runnable() {
public void run() {
- children.addResizeFrame(info, hostView,
+ DragLayer dragLayer = (DragLayer)
+ mLauncher.findViewById(R.id.drag_layer);
+ dragLayer.addResizeFrame(info, hostView,
cellLayout);
}
});