Merge "Removing use of private SearchManager api"
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index b9d35c2..0b01e42 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -23,9 +23,9 @@
<string name="home" msgid="5921706419368316758">"Startbildschirm"</string>
<string name="uid_name" msgid="3371120195364560632">"Android Core Apps"</string>
<string name="folder_name" msgid="8551881338202938211"></string>
- <string name="chooser_wallpaper" msgid="6063168087625352235">"Hintergrund auswählen von"</string>
+ <string name="chooser_wallpaper" msgid="6063168087625352235">"Hintergrund auswählen"</string>
<string name="wallpaper_instructions" msgid="4215640646180727542">"Hintergrund festlegen"</string>
- <string name="pick_wallpaper" msgid="5630222540525626723">"Hintergrundbilder"</string>
+ <string name="pick_wallpaper" msgid="5630222540525626723">"Hintergrund-Bilder"</string>
<string name="activity_not_found" msgid="217823393239365967">"App ist nicht installiert."</string>
<string name="widgets_tab_label" msgid="9145860100000983599">"Widgets"</string>
<string name="long_press_widget_to_add" msgid="7395697462851217506">"Zum Hinzufügen Widget berühren und halten"</string>
diff --git a/res/values-sw340dp/dimens.xml b/res/values-sw340dp/dimens.xml
index 42fbb47..93de009 100644
--- a/res/values-sw340dp/dimens.xml
+++ b/res/values-sw340dp/dimens.xml
@@ -39,10 +39,4 @@
<dimen name="cell_layout_top_padding_land">8dp</dimen>
<dimen name="cell_layout_bottom_padding_port">8dp</dimen>
<dimen name="cell_layout_bottom_padding_land">8dp</dimen>
-
-<!-- Workspace cell size -->
- <dimen name="workspace_width_gap_land">0dp</dimen>
- <dimen name="workspace_width_gap_port">0dp</dimen>
- <dimen name="workspace_height_gap_land">0dp</dimen>
- <dimen name="workspace_height_gap_port">0dp</dimen>
</resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 274c72f..f15d3d8 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -150,8 +150,8 @@
<dimen name="workspace_cell_width_port">80dp</dimen>
<dimen name="workspace_cell_height_land">74dp</dimen>
<dimen name="workspace_cell_height_port">100dp</dimen>
- <dimen name="workspace_width_gap_land">-1dp</dimen>
- <dimen name="workspace_width_gap_port">-1dp</dimen>
- <dimen name="workspace_height_gap_land">-1dp</dimen>
- <dimen name="workspace_height_gap_port">-1dp</dimen>
+ <dimen name="workspace_width_gap_land">0dp</dimen>
+ <dimen name="workspace_width_gap_port">0dp</dimen>
+ <dimen name="workspace_height_gap_land">0dp</dimen>
+ <dimen name="workspace_height_gap_port">0dp</dimen>
</resources>
diff --git a/src/com/android/launcher2/AppsCustomizePagedView.java b/src/com/android/launcher2/AppsCustomizePagedView.java
index 94a6a2b..ef33272 100644
--- a/src/com/android/launcher2/AppsCustomizePagedView.java
+++ b/src/com/android/launcher2/AppsCustomizePagedView.java
@@ -525,20 +525,6 @@
}
public void onPackagesUpdated() {
- // TODO: this isn't ideal, but we actually need to delay here. This call is triggered
- // by a broadcast receiver, and in order for it to work correctly, we need to know that
- // the AppWidgetService has already received and processed the same broadcast. Since there
- // is no guarantee about ordering of broadcast receipt, we just delay here. This is a
- // workaround until we add a callback from AppWidgetService to AppWidgetHost when widget
- // packages are added, updated or removed.
- postDelayed(new Runnable() {
- public void run() {
- updatePackages();
- }
- }, 1500);
- }
-
- public void updatePackages() {
// Get the list of widgets and shortcuts
mWidgets.clear();
List<AppWidgetProviderInfo> widgets =
diff --git a/src/com/android/launcher2/Folder.java b/src/com/android/launcher2/Folder.java
index dfbe8d2..53c3046 100644
--- a/src/com/android/launcher2/Folder.java
+++ b/src/com/android/launcher2/Folder.java
@@ -923,7 +923,9 @@
private void onCloseComplete() {
DragLayer parent = (DragLayer) getParent();
- parent.removeView(this);
+ if (parent != null) {
+ parent.removeView(this);
+ }
mDragController.removeDropTarget((DropTarget) this);
clearFocus();
mFolderIcon.requestFocus();
diff --git a/src/com/android/launcher2/InstallShortcutReceiver.java b/src/com/android/launcher2/InstallShortcutReceiver.java
index fb7bf30..20a1966 100644
--- a/src/com/android/launcher2/InstallShortcutReceiver.java
+++ b/src/com/android/launcher2/InstallShortcutReceiver.java
@@ -168,6 +168,7 @@
if (intent.getAction() == null) {
intent.setAction(Intent.ACTION_VIEW);
} else if (intent.getAction().equals(Intent.ACTION_MAIN) &&
+ intent.getCategories() != null &&
intent.getCategories().contains(Intent.CATEGORY_LAUNCHER)) {
intent.addFlags(
Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
diff --git a/src/com/android/launcher2/LauncherAppWidgetHost.java b/src/com/android/launcher2/LauncherAppWidgetHost.java
index 68d4903..35c60a0 100644
--- a/src/com/android/launcher2/LauncherAppWidgetHost.java
+++ b/src/com/android/launcher2/LauncherAppWidgetHost.java
@@ -27,8 +27,12 @@
* always pick up and move widgets.
*/
public class LauncherAppWidgetHost extends AppWidgetHost {
- public LauncherAppWidgetHost(Context context, int hostId) {
- super(context, hostId);
+
+ Launcher mLauncher;
+
+ public LauncherAppWidgetHost(Launcher launcher, int hostId) {
+ super(launcher, hostId);
+ mLauncher = launcher;
}
@Override
@@ -42,4 +46,11 @@
super.stopListening();
clearViews();
}
+
+ @Override
+ protected void onProvidersChanged() {
+ // Once we get the message that widget packages are updated, we need to rebind items
+ // in AppsCustomize accordingly.
+ mLauncher.bindPackagesUpdated();
+ }
}
diff --git a/src/com/android/launcher2/SearchDropTargetBar.java b/src/com/android/launcher2/SearchDropTargetBar.java
index 77681a8..a1d36cd 100644
--- a/src/com/android/launcher2/SearchDropTargetBar.java
+++ b/src/com/android/launcher2/SearchDropTargetBar.java
@@ -144,7 +144,7 @@
if (mEnableDropDownDropTargets) {
mQSBSearchBar.setTranslationY(0);
} else {
- mDropTargetBar.setAlpha(1f);
+ mQSBSearchBar.setAlpha(1f);
}
}
mIsSearchBarHidden = false;
@@ -159,7 +159,7 @@
if (mEnableDropDownDropTargets) {
mQSBSearchBar.setTranslationY(-mBarHeight);
} else {
- mDropTargetBar.setAlpha(0f);
+ mQSBSearchBar.setAlpha(0f);
}
}
mIsSearchBarHidden = true;
diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java
index e18d8ef..174d23b 100644
--- a/src/com/android/launcher2/Workspace.java
+++ b/src/com/android/launcher2/Workspace.java
@@ -2385,7 +2385,13 @@
// Here we store the final page that will be dropped to, if the workspace in fact
// receives the drop
if (mInScrollArea) {
- mDropToLayout = mDragOverlappingLayout;
+ if (isPageMoving()) {
+ // If the user drops while the page is scrolling, we should use that page as the
+ // destination instead of the page that is being hovered over.
+ mDropToLayout = (CellLayout) getPageAt(getNextPage());
+ } else {
+ mDropToLayout = mDragOverlappingLayout;
+ }
} else {
mDropToLayout = mDragTargetLayout;
}