Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b46428fc authored by Steven Ng's avatar Steven Ng Committed by Android (Google) Code Review
Browse files

Merge "Remove work profile badge from widget previews" into sc-dev

parents 444b2489 f735c738
Loading
Loading
Loading
Loading
+0 −8
Original line number Original line Diff line number Diff line
@@ -33,14 +33,6 @@
            android:layout_height="match_parent"
            android:layout_height="match_parent"
            android:importantForAccessibility="no"
            android:importantForAccessibility="no"
            android:layout_gravity="fill"/>
            android:layout_gravity="fill"/>

        <ImageView
            android:id="@+id/widget_badge"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:importantForAccessibility="no"
            android:layout_gravity="end|bottom"
            android:layout_margin="@dimen/profile_badge_margin"/>
    </com.android.launcher3.widget.WidgetCellPreview>
    </com.android.launcher3.widget.WidgetCellPreview>


    <!-- The name of the widget. -->
    <!-- The name of the widget. -->
+0 −49
Original line number Original line Diff line number Diff line
@@ -21,9 +21,7 @@ import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint;
import android.graphics.PorterDuff;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffXfermode;
import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.RectF;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.Drawable;
import android.os.AsyncTask;
import android.os.AsyncTask;
import android.os.CancellationSignal;
import android.os.CancellationSignal;
@@ -35,9 +33,7 @@ import android.util.LongSparseArray;
import android.util.Pair;
import android.util.Pair;


import androidx.annotation.Nullable;
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.GraphicsUtils;
import com.android.launcher3.icons.IconCache;
import com.android.launcher3.icons.IconCache;
import com.android.launcher3.icons.LauncherIcons;
import com.android.launcher3.icons.LauncherIcons;
@@ -93,51 +89,6 @@ public class WidgetPreviewLoader {
        mDb = new CacheDb(context);
        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
     * Generates the widget preview on {@link AsyncTask#THREAD_POOL_EXECUTOR}. Must be
     * called on UI thread
     * called on UI thread
+0 −14
Original line number Original line Diff line number Diff line
@@ -33,7 +33,6 @@ import android.view.View.OnLayoutChangeListener;
import android.view.ViewPropertyAnimator;
import android.view.ViewPropertyAnimator;
import android.view.accessibility.AccessibilityNodeInfo;
import android.view.accessibility.AccessibilityNodeInfo;
import android.widget.FrameLayout;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.LinearLayout;
import android.widget.RemoteViews;
import android.widget.RemoteViews;
import android.widget.TextView;
import android.widget.TextView;
@@ -45,7 +44,6 @@ import com.android.launcher3.CheckLongPressHelper;
import com.android.launcher3.DeviceProfile;
import com.android.launcher3.DeviceProfile;
import com.android.launcher3.R;
import com.android.launcher3.R;
import com.android.launcher3.WidgetPreviewLoader;
import com.android.launcher3.WidgetPreviewLoader;
import com.android.launcher3.icons.BaseIconFactory;
import com.android.launcher3.icons.FastBitmapDrawable;
import com.android.launcher3.icons.FastBitmapDrawable;
import com.android.launcher3.icons.RoundDrawableWrapper;
import com.android.launcher3.icons.RoundDrawableWrapper;
import com.android.launcher3.model.WidgetItem;
import com.android.launcher3.model.WidgetItem;
@@ -80,7 +78,6 @@ public class WidgetCell extends LinearLayout implements OnLayoutChangeListener {


    private FrameLayout mWidgetImageContainer;
    private FrameLayout mWidgetImageContainer;
    private WidgetImageView mWidgetImage;
    private WidgetImageView mWidgetImage;
    private ImageView mWidgetBadge;
    private TextView mWidgetName;
    private TextView mWidgetName;
    private TextView mWidgetDims;
    private TextView mWidgetDims;
    private TextView mWidgetDescription;
    private TextView mWidgetDescription;
@@ -136,7 +133,6 @@ public class WidgetCell extends LinearLayout implements OnLayoutChangeListener {


        mWidgetImageContainer = findViewById(R.id.widget_preview_container);
        mWidgetImageContainer = findViewById(R.id.widget_preview_container);
        mWidgetImage = findViewById(R.id.widget_preview);
        mWidgetImage = findViewById(R.id.widget_preview);
        mWidgetBadge = findViewById(R.id.widget_badge);
        mWidgetName = findViewById(R.id.widget_name);
        mWidgetName = findViewById(R.id.widget_name);
        mWidgetDims = findViewById(R.id.widget_dims);
        mWidgetDims = findViewById(R.id.widget_dims);
        mWidgetDescription = findViewById(R.id.widget_description);
        mWidgetDescription = findViewById(R.id.widget_description);
@@ -161,7 +157,6 @@ public class WidgetCell extends LinearLayout implements OnLayoutChangeListener {
        mWidgetImage.animate().cancel();
        mWidgetImage.animate().cancel();
        mWidgetImage.setDrawable(null);
        mWidgetImage.setDrawable(null);
        mWidgetImage.setVisibility(View.VISIBLE);
        mWidgetImage.setVisibility(View.VISIBLE);
        mWidgetBadge.setImageDrawable(null);
        mWidgetName.setText(null);
        mWidgetName.setText(null);
        mWidgetDims.setText(null);
        mWidgetDims.setText(null);
        mWidgetDescription.setText(null);
        mWidgetDescription.setText(null);
@@ -294,15 +289,6 @@ public class WidgetCell extends LinearLayout implements OnLayoutChangeListener {
                mAppWidgetHostViewPreview = null;
                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) {
        if (mAnimatePreview) {
            mWidgetImageContainer.setAlpha(0f);
            mWidgetImageContainer.setAlpha(0f);
            ViewPropertyAnimator anim = mWidgetImageContainer.animate();
            ViewPropertyAnimator anim = mWidgetImageContainer.animate();