Fixing some small issues.
- Adding All Apps pressed state (5375824)
- Ensuring the drop targets are single line (5375563)
- Adding some checks in kb focus logic to appease some frantic monkeys (4508638)
- Removing some unused assets
Change-Id: I46702ee25c638849c716f0d8428f68c2b06c1c2e
diff --git a/res/drawable-hdpi/ic_allapps_pressed.png b/res/drawable-hdpi/ic_allapps_pressed.png
new file mode 100644
index 0000000..6d87bbb
--- /dev/null
+++ b/res/drawable-hdpi/ic_allapps_pressed.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_launcher_appwidget.png b/res/drawable-hdpi/ic_launcher_appwidget.png
deleted file mode 100644
index 13513e0..0000000
--- a/res/drawable-hdpi/ic_launcher_appwidget.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/pressed_application_background.9.png b/res/drawable-hdpi/pressed_application_background.9.png
deleted file mode 100644
index 3a59f25..0000000
--- a/res/drawable-hdpi/pressed_application_background.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/preview_bg.9.png b/res/drawable-hdpi/preview_bg.9.png
deleted file mode 100644
index 5fa2ed8..0000000
--- a/res/drawable-hdpi/preview_bg.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/preview_bg_focus.9.png b/res/drawable-hdpi/preview_bg_focus.9.png
deleted file mode 100644
index bbf67f7..0000000
--- a/res/drawable-hdpi/preview_bg_focus.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/preview_bg_press.9.png b/res/drawable-hdpi/preview_bg_press.9.png
deleted file mode 100644
index 6d0b022..0000000
--- a/res/drawable-hdpi/preview_bg_press.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/apps_hotseat_button.png b/res/drawable-mdpi/apps_hotseat_button.png
deleted file mode 100644
index 62f119d..0000000
--- a/res/drawable-mdpi/apps_hotseat_button.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_allapps_pressed.png b/res/drawable-mdpi/ic_allapps_pressed.png
new file mode 100644
index 0000000..5c2076f
--- /dev/null
+++ b/res/drawable-mdpi/ic_allapps_pressed.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_launcher_appwidget.png b/res/drawable-mdpi/ic_launcher_appwidget.png
deleted file mode 100644
index 72dbfdf..0000000
--- a/res/drawable-mdpi/ic_launcher_appwidget.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/pressed_application_background.9.png b/res/drawable-mdpi/pressed_application_background.9.png
deleted file mode 100644
index 7d5da3d..0000000
--- a/res/drawable-mdpi/pressed_application_background.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/preview_bg.9.png b/res/drawable-mdpi/preview_bg.9.png
deleted file mode 100644
index d96e885..0000000
--- a/res/drawable-mdpi/preview_bg.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/preview_bg_focus.9.png b/res/drawable-mdpi/preview_bg_focus.9.png
deleted file mode 100644
index 19e82a7..0000000
--- a/res/drawable-mdpi/preview_bg_focus.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/preview_bg_press.9.png b/res/drawable-mdpi/preview_bg_press.9.png
deleted file mode 100644
index f938090..0000000
--- a/res/drawable-mdpi/preview_bg_press.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/apps_hotseat_button.png b/res/drawable-xhdpi/apps_hotseat_button.png
deleted file mode 100644
index 932dac7..0000000
--- a/res/drawable-xhdpi/apps_hotseat_button.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_allapps_pressed.png b/res/drawable-xhdpi/ic_allapps_pressed.png
new file mode 100644
index 0000000..72ff3b9
--- /dev/null
+++ b/res/drawable-xhdpi/ic_allapps_pressed.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_launcher_appwidget.png b/res/drawable-xhdpi/ic_launcher_appwidget.png
deleted file mode 100644
index 997504a..0000000
--- a/res/drawable-xhdpi/ic_launcher_appwidget.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/pressed_application_background.9.png b/res/drawable-xhdpi/pressed_application_background.9.png
deleted file mode 100644
index 05e240a..0000000
--- a/res/drawable-xhdpi/pressed_application_background.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/preview_bg.9.png b/res/drawable-xhdpi/preview_bg.9.png
deleted file mode 100644
index 11cbcb5..0000000
--- a/res/drawable-xhdpi/preview_bg.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/preview_bg_focus.9.png b/res/drawable-xhdpi/preview_bg_focus.9.png
deleted file mode 100644
index 698c465..0000000
--- a/res/drawable-xhdpi/preview_bg_focus.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/preview_bg_press.9.png b/res/drawable-xhdpi/preview_bg_press.9.png
deleted file mode 100644
index 78e7510..0000000
--- a/res/drawable-xhdpi/preview_bg_press.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/preview_background.xml b/res/drawable/all_apps_button_icon.xml
similarity index 66%
rename from res/drawable/preview_background.xml
rename to res/drawable/all_apps_button_icon.xml
index 0054aa0..7c69cad 100644
--- a/res/drawable/preview_background.xml
+++ b/res/drawable/all_apps_button_icon.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2009 The Android Open Source Project
+<!-- Copyright (C) 2011 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -15,8 +15,7 @@
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_pressed="true" android:drawable="@drawable/preview_bg_press" />
- <item android:state_focused="true" android:state_window_focused="true" android:drawable="@drawable/preview_bg_focus" />
- <item android:state_focused="true" android:state_window_focused="false" android:drawable="@drawable/preview_bg" />
- <item android:drawable="@drawable/preview_bg" />
+ <item android:state_focused="true" android:drawable="@drawable/ic_allapps_pressed" />
+ <item android:state_pressed="true" android:drawable="@drawable/ic_allapps_pressed" />
+ <item android:drawable="@drawable/ic_allapps" />
</selector>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 19a05a0..de438be 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -146,6 +146,8 @@
<item name="android:paddingRight">25dp</item>
<item name="android:textColor">#FFFFFFFF</item>
<item name="android:textSize">16sp</item>
+ <item name="android:singleLine">true</item>
+ <item name="android:ellipsize">end</item>
<item name="android:shadowColor">#FF000000</item>
<item name="android:shadowDx">0.0</item>
<item name="android:shadowDy">1.0</item>
diff --git a/src/com/android/launcher2/FocusHelper.java b/src/com/android/launcher2/FocusHelper.java
index f97492b..f030739 100644
--- a/src/com/android/launcher2/FocusHelper.java
+++ b/src/com/android/launcher2/FocusHelper.java
@@ -278,30 +278,36 @@
final ViewGroup container = (ViewGroup) parentLayout.getParent();
final TabHost tabHost = findTabHostParent(container);
final TabWidget tabs = (TabWidget) tabHost.findViewById(com.android.internal.R.id.tabs);
- final int widgetIndex = parent.indexOfChild(v);
+ final int iconIndex = parent.indexOfChild(v);
final int widgetCount = parent.getChildCount();
final int pageIndex = container.indexOfChild(parentLayout);
final int pageCount = container.getChildCount();
final int cellCountX = parentLayout.getCellCountX();
final int cellCountY = parentLayout.getCellCountY();
- final int x = widgetIndex % cellCountX;
- final int y = widgetIndex / cellCountX;
+ final int x = iconIndex % cellCountX;
+ final int y = iconIndex / cellCountX;
final int action = e.getAction();
final boolean handleKeyEvent = (action != KeyEvent.ACTION_UP);
PagedViewCellLayoutChildren newParent = null;
+ // Side pages do not always load synchronously, so check before focusing child siblings
+ // willy-nilly
+ View child = null;
boolean wasHandled = false;
switch (keyCode) {
case KeyEvent.KEYCODE_DPAD_LEFT:
if (handleKeyEvent) {
// Select the previous icon or the last icon on the previous page
- if (widgetIndex > 0) {
- parent.getChildAt(widgetIndex - 1).requestFocus();
+ if (iconIndex > 0) {
+ parent.getChildAt(iconIndex - 1).requestFocus();
} else {
if (pageIndex > 0) {
newParent = getPagedViewCellLayoutChildrenForIndex(container,
pageIndex - 1);
- newParent.getChildAt(newParent.getChildCount() - 1).requestFocus();
+ if (newParent != null) {
+ child = newParent.getChildAt(newParent.getChildCount() - 1);
+ if (child != null) child.requestFocus();
+ }
}
}
}
@@ -310,13 +316,16 @@
case KeyEvent.KEYCODE_DPAD_RIGHT:
if (handleKeyEvent) {
// Select the next icon or the first icon on the next page
- if (widgetIndex < (widgetCount - 1)) {
- parent.getChildAt(widgetIndex + 1).requestFocus();
+ if (iconIndex < (widgetCount - 1)) {
+ parent.getChildAt(iconIndex + 1).requestFocus();
} else {
if (pageIndex < (pageCount - 1)) {
newParent = getPagedViewCellLayoutChildrenForIndex(container,
pageIndex + 1);
- newParent.getChildAt(0).requestFocus();
+ if (newParent != null) {
+ child = newParent.getChildAt(0);
+ if (child != null) child.requestFocus();
+ }
}
}
}
@@ -326,8 +335,8 @@
if (handleKeyEvent) {
// Select the closest icon in the previous row, otherwise select the tab bar
if (y > 0) {
- int newWidgetIndex = ((y - 1) * cellCountX) + x;
- parent.getChildAt(newWidgetIndex).requestFocus();
+ int newiconIndex = ((y - 1) * cellCountX) + x;
+ parent.getChildAt(newiconIndex).requestFocus();
} else {
tabs.requestFocus();
}
@@ -338,8 +347,8 @@
if (handleKeyEvent) {
// Select the closest icon in the previous row, otherwise do nothing
if (y < (cellCountY - 1)) {
- int newWidgetIndex = Math.min(widgetCount - 1, ((y + 1) * cellCountX) + x);
- parent.getChildAt(newWidgetIndex).requestFocus();
+ int newiconIndex = Math.min(widgetCount - 1, ((y + 1) * cellCountX) + x);
+ parent.getChildAt(newiconIndex).requestFocus();
}
}
wasHandled = true;
@@ -360,7 +369,10 @@
if (pageIndex > 0) {
newParent = getPagedViewCellLayoutChildrenForIndex(container,
pageIndex - 1);
- newParent.getChildAt(0).requestFocus();
+ if (newParent != null) {
+ child = newParent.getChildAt(0);
+ if (child != null) child.requestFocus();
+ }
} else {
parent.getChildAt(0).requestFocus();
}
@@ -374,7 +386,10 @@
if (pageIndex < (pageCount - 1)) {
newParent = getPagedViewCellLayoutChildrenForIndex(container,
pageIndex + 1);
- newParent.getChildAt(0).requestFocus();
+ if (newParent != null) {
+ child = newParent.getChildAt(0);
+ if (child != null) child.requestFocus();
+ }
} else {
parent.getChildAt(widgetCount - 1).requestFocus();
}
diff --git a/src/com/android/launcher2/Hotseat.java b/src/com/android/launcher2/Hotseat.java
index f6ce059..b9be6dc 100644
--- a/src/com/android/launcher2/Hotseat.java
+++ b/src/com/android/launcher2/Hotseat.java
@@ -100,7 +100,7 @@
BubbleTextView allAppsButton = (BubbleTextView)
inflater.inflate(R.layout.application, mContent, false);
allAppsButton.setCompoundDrawablesWithIntrinsicBounds(null,
- context.getResources().getDrawable(R.drawable.ic_allapps), null, null);
+ context.getResources().getDrawable(R.drawable.all_apps_button_icon), null, null);
// allAppsButton.setText(context.getString(R.string.all_apps_button_label));
allAppsButton.setContentDescription(context.getString(R.string.all_apps_button_label));
allAppsButton.setOnClickListener(new View.OnClickListener() {
diff --git a/src/com/android/launcher2/PagedView.java b/src/com/android/launcher2/PagedView.java
index d7e9e06..8bc38c2 100644
--- a/src/com/android/launcher2/PagedView.java
+++ b/src/com/android/launcher2/PagedView.java
@@ -1664,18 +1664,6 @@
*/
public abstract void syncPageItems(int page, boolean immediate);
- protected void postInvalidatePageData(final boolean clearViews) {
- post(new Runnable() {
- // post the call to avoid a call to requestLayout from a layout pass
- public void run() {
- if (clearViews) {
- removeAllViews();
- }
- invalidatePageData();
- }
- });
- }
-
protected void invalidatePageData() {
invalidatePageData(-1, false);
}