Fixing issue where landscape delete button is not centered. (Bug 6493651)
Change-Id: I782351da2daf511a79e5c9f1d3cef90bec2ca6d1
diff --git a/src/com/android/launcher2/ButtonDropTarget.java b/src/com/android/launcher2/ButtonDropTarget.java
index e9f8ce8..1c9fa5f 100644
--- a/src/com/android/launcher2/ButtonDropTarget.java
+++ b/src/com/android/launcher2/ButtonDropTarget.java
@@ -20,6 +20,7 @@
import android.content.res.Resources;
import android.graphics.PointF;
import android.graphics.Rect;
+import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.widget.TextView;
@@ -68,6 +69,16 @@
mSearchDropTargetBar = searchDropTargetBar;
}
+ protected Drawable getCurrentDrawable() {
+ Drawable[] drawables = getCompoundDrawables();
+ for (int i = 0; i < drawables.length; ++i) {
+ if (drawables[i] != null) {
+ return drawables[i];
+ }
+ }
+ return null;
+ }
+
public void onDrop(DragObject d) {
}
diff --git a/src/com/android/launcher2/DeleteDropTarget.java b/src/com/android/launcher2/DeleteDropTarget.java
index eb831f6..1edc2ab 100644
--- a/src/com/android/launcher2/DeleteDropTarget.java
+++ b/src/com/android/launcher2/DeleteDropTarget.java
@@ -25,6 +25,7 @@
import android.content.res.Resources;
import android.graphics.PointF;
import android.graphics.Rect;
+import android.graphics.drawable.Drawable;
import android.graphics.drawable.TransitionDrawable;
import android.util.AttributeSet;
import android.view.View;
@@ -76,7 +77,7 @@
// The current drawable is set to either the remove drawable or the uninstall drawable
// and is initially set to the remove drawable, as set in the layout xml.
- mCurrentDrawable = (TransitionDrawable) getCompoundDrawables()[0];
+ mCurrentDrawable = (TransitionDrawable) getCurrentDrawable();
// Remove the text in the Phone UI in landscape
int orientation = getResources().getConfiguration().orientation;
@@ -157,7 +158,7 @@
} else {
setCompoundDrawablesWithIntrinsicBounds(mRemoveDrawable, null, null, null);
}
- mCurrentDrawable = (TransitionDrawable) getCompoundDrawables()[0];
+ mCurrentDrawable = (TransitionDrawable) getCurrentDrawable();
mActive = isVisible;
resetHoverColor();
diff --git a/src/com/android/launcher2/InfoDropTarget.java b/src/com/android/launcher2/InfoDropTarget.java
index 134f4cb..d6bf5f2 100644
--- a/src/com/android/launcher2/InfoDropTarget.java
+++ b/src/com/android/launcher2/InfoDropTarget.java
@@ -16,7 +16,6 @@
package com.android.launcher2;
-import android.appwidget.AppWidgetProviderInfo;
import android.content.ComponentName;
import android.content.Context;
import android.content.res.ColorStateList;
@@ -51,7 +50,7 @@
// Get the hover color
Resources r = getResources();
mHoverColor = r.getColor(R.color.info_target_hover_tint);
- mDrawable = (TransitionDrawable) getCompoundDrawables()[0];
+ mDrawable = (TransitionDrawable) getCurrentDrawable();
mDrawable.setCrossFadeEnabled(true);
// Remove the text in the Phone UI in landscape