Merge "Fixing crash when drawing prediction bar divider." into ub-launcher3-burnaby
diff --git a/res/layout/user_folder.xml b/res/layout/user_folder.xml
index d75d6cd..67b69ca 100644
--- a/res/layout/user_folder.xml
+++ b/res/layout/user_folder.xml
@@ -38,6 +38,9 @@
android:id="@+id/folder_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:paddingLeft="4dp"
+ android:paddingRight="4dp"
+ android:paddingTop="4dp"
launcher:pageIndicator="@+id/folder_page_indicator" />
</FrameLayout>
diff --git a/res/layout/widget_cell.xml b/res/layout/widget_cell.xml
index a85f0aa..500cf10 100644
--- a/res/layout/widget_cell.xml
+++ b/res/layout/widget_cell.xml
@@ -44,7 +44,7 @@
android:ellipsize="end"
android:fadingEdge="horizontal"
android:textColor="@color/widgets_view_item_text_color"
- android:textSize="16sp"
+ android:textSize="14sp"
android:textAlignment="viewStart"
android:fontFamily="sans-serif-condensed"
android:shadowRadius="2.0"
@@ -61,7 +61,7 @@
android:layout_weight="0"
android:gravity="start"
android:textColor="@color/widgets_view_item_text_color"
- android:textSize="16sp"
+ android:textSize="14sp"
android:textAlignment="viewStart"
android:fontFamily="sans-serif-condensed"
android:shadowRadius="2.0"
diff --git a/res/layout/widgets_list_row_view.xml b/res/layout/widgets_list_row_view.xml
index be62ee9..dc1bcce 100644
--- a/res/layout/widgets_list_row_view.xml
+++ b/res/layout/widgets_list_row_view.xml
@@ -41,7 +41,7 @@
android:paddingTop="@dimen/widget_section_vertical_padding"
android:singleLine="true"
android:textColor="@color/widgets_view_section_text_color"
- android:textSize="20sp"
+ android:textSize="16sp"
launcher:customShadows="false"
launcher:deferShadowGeneration="true"
launcher:iconDisplay="widget_section"
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index b5acfbd..5e1f3de 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -118,4 +118,5 @@
<!-- Sizes for managed profile badges -->
<dimen name="profile_badge_size">24dp</dimen>
<dimen name="profile_badge_margin">4dp</dimen>
+ <dimen name="profile_badge_minimum_top">2dp</dimen>
</resources>
diff --git a/src/com/android/launcher3/FolderPagedView.java b/src/com/android/launcher3/FolderPagedView.java
index 94c016d..de30b60 100644
--- a/src/com/android/launcher3/FolderPagedView.java
+++ b/src/com/android/launcher3/FolderPagedView.java
@@ -237,13 +237,13 @@
page.setInvertIfRtl(true);
page.setGridSize(mGridCountX, mGridCountY);
- LayoutParams lp = generateDefaultLayoutParams();
- lp.isFullScreenPage = true;
- addView(page, -1, lp);
+ addView(page, -1, generateDefaultLayoutParams());
return page;
}
public void setFixedSize(int width, int height) {
+ width -= (getPaddingLeft() + getPaddingRight());
+ height -= (getPaddingTop() + getPaddingBottom());
for (int i = getChildCount() - 1; i >= 0; i --) {
((CellLayout) getChildAt(i)).setFixedSize(width, height);
}
@@ -339,11 +339,13 @@
}
public int getDesiredWidth() {
- return getPageCount() > 0 ? getPageAt(0).getDesiredWidth() : 0;
+ return getPageCount() > 0 ?
+ (getPageAt(0).getDesiredWidth() + getPaddingLeft() + getPaddingRight()) : 0;
}
public int getDesiredHeight() {
- return getPageCount() > 0 ? getPageAt(0).getDesiredHeight() : 0;
+ return getPageCount() > 0 ?
+ (getPageAt(0).getDesiredHeight() + getPaddingTop() + getPaddingBottom()) : 0;
}
public int getItemCount() {
diff --git a/src/com/android/launcher3/PagedView.java b/src/com/android/launcher3/PagedView.java
index 2ed490b..554a975 100644
--- a/src/com/android/launcher3/PagedView.java
+++ b/src/com/android/launcher3/PagedView.java
@@ -912,7 +912,8 @@
pageGap = getPaddingRight();
}
- childLeft += childWidth + pageGap;
+ childLeft += childWidth + pageGap
+ + (lp.isFullScreenPage ? 0 : (getPaddingLeft() + getPaddingRight()));
}
}
diff --git a/src/com/android/launcher3/WidgetPreviewLoader.java b/src/com/android/launcher3/WidgetPreviewLoader.java
index 93bfeaf..fe09fb6 100644
--- a/src/com/android/launcher3/WidgetPreviewLoader.java
+++ b/src/com/android/launcher3/WidgetPreviewLoader.java
@@ -444,7 +444,7 @@
} catch (Resources.NotFoundException e) { }
c.setBitmap(null);
}
- return mManager.getBadgeBitmap(info, preview);
+ return mManager.getBadgeBitmap(info, preview, Math.min(preview.getHeight(), previewHeight));
}
private Bitmap generateShortcutPreview(
diff --git a/src/com/android/launcher3/compat/AppWidgetManagerCompat.java b/src/com/android/launcher3/compat/AppWidgetManagerCompat.java
index e41a66f..7aa36d4 100644
--- a/src/com/android/launcher3/compat/AppWidgetManagerCompat.java
+++ b/src/com/android/launcher3/compat/AppWidgetManagerCompat.java
@@ -78,6 +78,7 @@
public abstract Drawable loadIcon(LauncherAppWidgetProviderInfo info, IconCache cache);
- public abstract Bitmap getBadgeBitmap(LauncherAppWidgetProviderInfo info, Bitmap bitmap);
+ public abstract Bitmap getBadgeBitmap(LauncherAppWidgetProviderInfo info, Bitmap bitmap,
+ int imageHeight);
}
diff --git a/src/com/android/launcher3/compat/AppWidgetManagerCompatV16.java b/src/com/android/launcher3/compat/AppWidgetManagerCompatV16.java
index 8cecb96..a64c705 100644
--- a/src/com/android/launcher3/compat/AppWidgetManagerCompatV16.java
+++ b/src/com/android/launcher3/compat/AppWidgetManagerCompatV16.java
@@ -87,7 +87,7 @@
}
@Override
- public Bitmap getBadgeBitmap(LauncherAppWidgetProviderInfo info, Bitmap bitmap) {
+ public Bitmap getBadgeBitmap(LauncherAppWidgetProviderInfo info, Bitmap bitmap, int imageHeight) {
return bitmap;
}
}
diff --git a/src/com/android/launcher3/compat/AppWidgetManagerCompatVL.java b/src/com/android/launcher3/compat/AppWidgetManagerCompatVL.java
index 6c3e092..96ace84 100644
--- a/src/com/android/launcher3/compat/AppWidgetManagerCompatVL.java
+++ b/src/com/android/launcher3/compat/AppWidgetManagerCompatVL.java
@@ -108,7 +108,7 @@
}
@Override
- public Bitmap getBadgeBitmap(LauncherAppWidgetProviderInfo info, Bitmap bitmap) {
+ public Bitmap getBadgeBitmap(LauncherAppWidgetProviderInfo info, Bitmap bitmap, int imageHeight) {
if (info.isCustomWidget || info.getProfile().equals(android.os.Process.myUserHandle())) {
return bitmap;
}
@@ -117,9 +117,10 @@
final Resources res = mContext.getResources();
final int badgeSize = res.getDimensionPixelSize(R.dimen.profile_badge_size);
final int badgeMargin = res.getDimensionPixelSize(R.dimen.profile_badge_margin);
+ final int badgeMinTop = res.getDimensionPixelSize(R.dimen.profile_badge_minimum_top);
final Rect badgeLocation = new Rect(0, 0, badgeSize, badgeSize);
- final int top = bitmap.getHeight() - badgeSize - badgeMargin;
+ final int top = Math.max(imageHeight - badgeSize - badgeMargin, badgeMinTop);
if (res.getConfiguration().getLayoutDirection() == View.LAYOUT_DIRECTION_RTL) {
badgeLocation.offset(badgeMargin, top);
} else {
diff --git a/src/com/android/launcher3/widget/WidgetCell.java b/src/com/android/launcher3/widget/WidgetCell.java
index 7ca4df9..aade85f 100644
--- a/src/com/android/launcher3/widget/WidgetCell.java
+++ b/src/com/android/launcher3/widget/WidgetCell.java
@@ -62,7 +62,7 @@
private ImageView mWidgetImage;
private TextView mWidgetName;
private TextView mWidgetDims;
- private final Rect mOriginalImagePadding = new Rect();
+ private final Rect mOrigImgPadding = new Rect();
private String mDimensionsFormatString;
private boolean mIsAppWidget;
@@ -102,10 +102,10 @@
super.onFinishInflate();
mWidgetImage = (ImageView) findViewById(R.id.widget_preview);
- mOriginalImagePadding.left = mWidgetImage.getPaddingLeft();
- mOriginalImagePadding.top = mWidgetImage.getPaddingTop();
- mOriginalImagePadding.right = mWidgetImage.getPaddingRight();
- mOriginalImagePadding.bottom = mWidgetImage.getPaddingBottom();
+ mOrigImgPadding.left = mWidgetImage.getPaddingLeft();
+ mOrigImgPadding.top = mWidgetImage.getPaddingTop();
+ mOrigImgPadding.right = mWidgetImage.getPaddingRight();
+ mOrigImgPadding.bottom = mWidgetImage.getPaddingBottom();
mWidgetName = ((TextView) findViewById(R.id.widget_name));
mWidgetDims = ((TextView) findViewById(R.id.widget_dims));
@@ -164,6 +164,7 @@
public int[] getPreviewSize() {
int[] maxSize = new int[2];
+
maxSize[0] = mPresetPreviewSize;
maxSize[1] = mPresetPreviewSize;
return maxSize;
@@ -171,25 +172,21 @@
public void applyPreview(Bitmap bitmap) {
FastBitmapDrawable preview = new FastBitmapDrawable(bitmap);
- if (DEBUG) {
- Log.d(TAG, String.format("[tag=%s] applyPreview preview: %s",
- getTagToString(), preview));
- }
+
if (preview != null) {
mWidgetImage.setImageDrawable(preview);
+
if (mIsAppWidget) {
// center horizontally
int[] imageSize = getPreviewSize();
int centerAmount = (imageSize[0] - preview.getIntrinsicWidth()) / 2;
- mWidgetImage.setPadding(mOriginalImagePadding.left + centerAmount,
- mOriginalImagePadding.top,
- mOriginalImagePadding.right,
- mOriginalImagePadding.bottom);
+ mWidgetImage.setPadding(mOrigImgPadding.left + centerAmount,
+ mOrigImgPadding.top,
+ mOrigImgPadding.right,
+ mOrigImgPadding.bottom);
}
mWidgetImage.setAlpha(0f);
mWidgetImage.animate().alpha(1.0f).setDuration(FADE_IN_DURATION_MS);
- // TODO(hyunyoungs): figure out why this has to be called explicitly.
- mWidgetImage.requestLayout();
}
}
@@ -202,11 +199,6 @@
Log.d(TAG, String.format("[tag=%s] ensurePreview (%d, %d):",
getTagToString(), size[0], size[1]));
}
-
- if (size[0] <= 0 || size[1] <= 0) {
- addOnLayoutChangeListener(this);
- return;
- }
Bitmap[] immediateResult = new Bitmap[1];
mActiveRequest = mWidgetPreviewLoader.getPreview(mInfo, size[0], size[1], this,
immediateResult);
diff --git a/src/com/android/launcher3/widget/WidgetImageView.java b/src/com/android/launcher3/widget/WidgetImageView.java
index 75167bc..f1eaf64 100644
--- a/src/com/android/launcher3/widget/WidgetImageView.java
+++ b/src/com/android/launcher3/widget/WidgetImageView.java
@@ -22,18 +22,11 @@
import android.widget.ImageView;
public class WidgetImageView extends ImageView {
- public boolean mAllowRequestLayout = true;
public WidgetImageView(Context context, AttributeSet attrs) {
super(context, attrs);
}
- public void requestLayout() {
- if (mAllowRequestLayout) {
- super.requestLayout();
- }
- }
-
@Override
protected void onDraw(Canvas canvas) {
canvas.save();
diff --git a/src/com/android/launcher3/widget/WidgetsListAdapter.java b/src/com/android/launcher3/widget/WidgetsListAdapter.java
index 84884c4..2dbe7a5 100644
--- a/src/com/android/launcher3/widget/WidgetsListAdapter.java
+++ b/src/com/android/launcher3/widget/WidgetsListAdapter.java
@@ -151,8 +151,8 @@
widget.setTag(pasi);
widget.applyFromResolveInfo(mLauncher.getPackageManager(), info, mWidgetPreviewLoader);
}
- widget.setVisibility(View.VISIBLE);
widget.ensurePreview();
+ widget.setVisibility(View.VISIBLE);
}
}