From f735c738ea01ff894a8fea329db9464f53dc2a54 Mon Sep 17 00:00:00 2001 From: Steven Ng Date: Wed, 19 May 2021 21:34:06 +0100 Subject: [PATCH] Remove work profile badge from widget previews Test: Check work profile badge no longer shown on work widget in the full and bottom widgets pickers. Bug: 177675123 Change-Id: I0e5e32e18df832c1919749404094d68805c30556 --- res/layout/widget_cell_content.xml | 8 --- .../launcher3/WidgetPreviewLoader.java | 49 ------------------- .../android/launcher3/widget/WidgetCell.java | 14 ------ 3 files changed, 71 deletions(-) diff --git a/res/layout/widget_cell_content.xml b/res/layout/widget_cell_content.xml index 0f6fc6cdb7..b27b50560e 100644 --- a/res/layout/widget_cell_content.xml +++ b/res/layout/widget_cell_content.xml @@ -33,14 +33,6 @@ android:layout_height="match_parent" android:importantForAccessibility="no" android:layout_gravity="fill"/> - - diff --git a/src/com/android/launcher3/WidgetPreviewLoader.java b/src/com/android/launcher3/WidgetPreviewLoader.java index 75d25d7aa3..8b7a750cc7 100644 --- a/src/com/android/launcher3/WidgetPreviewLoader.java +++ b/src/com/android/launcher3/WidgetPreviewLoader.java @@ -21,9 +21,7 @@ import android.graphics.Color; import android.graphics.Paint; import android.graphics.PorterDuff; import android.graphics.PorterDuffXfermode; -import android.graphics.Rect; import android.graphics.RectF; -import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.os.AsyncTask; import android.os.CancellationSignal; @@ -35,9 +33,7 @@ import android.util.LongSparseArray; import android.util.Pair; import androidx.annotation.Nullable; -import androidx.annotation.UiThread; -import com.android.launcher3.icons.FastBitmapDrawable; import com.android.launcher3.icons.GraphicsUtils; import com.android.launcher3.icons.IconCache; import com.android.launcher3.icons.LauncherIcons; @@ -93,51 +89,6 @@ public class WidgetPreviewLoader { mDb = new CacheDb(context); } - /** - * Returns a drawable that can be used as a badge for the user or null. - */ - @UiThread - public Drawable getBadgeForUser(UserHandle user, int badgeSize) { - if (mMyUser.equals(user)) { - return null; - } - - Bitmap badgeBitmap = getUserBadge(user, badgeSize); - FastBitmapDrawable d = new FastBitmapDrawable(badgeBitmap); - d.setFilterBitmap(true); - d.setBounds(0, 0, badgeBitmap.getWidth(), badgeBitmap.getHeight()); - return d; - } - - private Bitmap getUserBadge(UserHandle user, int badgeSize) { - synchronized (mUserBadges) { - Bitmap badgeBitmap = mUserBadges.get(user); - if (badgeBitmap != null) { - return badgeBitmap; - } - - final Resources res = mContext.getResources(); - badgeBitmap = Bitmap.createBitmap(badgeSize, badgeSize, Bitmap.Config.ARGB_8888); - - Drawable drawable = mContext.getPackageManager().getUserBadgedDrawableForDensity( - new BitmapDrawable(res, badgeBitmap), user, - new Rect(0, 0, badgeSize, badgeSize), - 0); - if (drawable instanceof BitmapDrawable) { - badgeBitmap = ((BitmapDrawable) drawable).getBitmap(); - } else { - badgeBitmap.eraseColor(Color.TRANSPARENT); - Canvas c = new Canvas(badgeBitmap); - drawable.setBounds(0, 0, badgeSize, badgeSize); - drawable.draw(c); - c.setBitmap(null); - } - - mUserBadges.put(user, badgeBitmap); - return badgeBitmap; - } - } - /** * Generates the widget preview on {@link AsyncTask#THREAD_POOL_EXECUTOR}. Must be * called on UI thread diff --git a/src/com/android/launcher3/widget/WidgetCell.java b/src/com/android/launcher3/widget/WidgetCell.java index 3fcd3f7b03..f7993dc408 100644 --- a/src/com/android/launcher3/widget/WidgetCell.java +++ b/src/com/android/launcher3/widget/WidgetCell.java @@ -33,7 +33,6 @@ import android.view.View.OnLayoutChangeListener; import android.view.ViewPropertyAnimator; import android.view.accessibility.AccessibilityNodeInfo; import android.widget.FrameLayout; -import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.RemoteViews; import android.widget.TextView; @@ -45,7 +44,6 @@ import com.android.launcher3.CheckLongPressHelper; import com.android.launcher3.DeviceProfile; import com.android.launcher3.R; import com.android.launcher3.WidgetPreviewLoader; -import com.android.launcher3.icons.BaseIconFactory; import com.android.launcher3.icons.FastBitmapDrawable; import com.android.launcher3.icons.RoundDrawableWrapper; import com.android.launcher3.model.WidgetItem; @@ -80,7 +78,6 @@ public class WidgetCell extends LinearLayout implements OnLayoutChangeListener { private FrameLayout mWidgetImageContainer; private WidgetImageView mWidgetImage; - private ImageView mWidgetBadge; private TextView mWidgetName; private TextView mWidgetDims; private TextView mWidgetDescription; @@ -136,7 +133,6 @@ public class WidgetCell extends LinearLayout implements OnLayoutChangeListener { mWidgetImageContainer = findViewById(R.id.widget_preview_container); mWidgetImage = findViewById(R.id.widget_preview); - mWidgetBadge = findViewById(R.id.widget_badge); mWidgetName = findViewById(R.id.widget_name); mWidgetDims = findViewById(R.id.widget_dims); mWidgetDescription = findViewById(R.id.widget_description); @@ -161,7 +157,6 @@ public class WidgetCell extends LinearLayout implements OnLayoutChangeListener { mWidgetImage.animate().cancel(); mWidgetImage.setDrawable(null); mWidgetImage.setVisibility(View.VISIBLE); - mWidgetBadge.setImageDrawable(null); mWidgetName.setText(null); mWidgetDims.setText(null); mWidgetDescription.setText(null); @@ -294,15 +289,6 @@ public class WidgetCell extends LinearLayout implements OnLayoutChangeListener { mAppWidgetHostViewPreview = null; } } - Drawable badge = mWidgetPreviewLoader.getBadgeForUser(mItem.user, - BaseIconFactory.getBadgeSizeForIconSize( - mActivity.getDeviceProfile().allAppsIconSizePx)); - if (badge == null) { - mWidgetBadge.setVisibility(View.GONE); - } else { - mWidgetBadge.setVisibility(View.VISIBLE); - mWidgetBadge.setImageDrawable(badge); - } if (mAnimatePreview) { mWidgetImageContainer.setAlpha(0f); ViewPropertyAnimator anim = mWidgetImageContainer.animate();