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

Commit 6dcc74b1 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Don't use double padding in DeferredAppWidgetHostView if that would...

Merge "Don't use double padding in DeferredAppWidgetHostView if that would result in negative width" into tm-dev am: 2c9195b9

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/17691951



Change-Id: I995da17585c9e30c8e769ae28509314bc823d8e4
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 9c46ee63 2c9195b9
Loading
Loading
Loading
Loading
+7 −22
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@

package com.android.launcher3.widget;

import android.annotation.SuppressLint;
import android.appwidget.AppWidgetProviderInfo;
import android.content.Context;
import android.graphics.Canvas;
@@ -31,9 +30,6 @@ import android.widget.RemoteViews;

import com.android.launcher3.R;

import java.io.PrintWriter;
import java.io.StringWriter;

/**
 * A widget host views created while the host has not bind to the system service.
 */
@@ -73,34 +69,23 @@ public class DeferredAppWidgetHostView extends LauncherAppWidgetHostView {
            return;
        }

        // Use double padding so that there is extra space between background and text
        // Use double padding so that there is extra space between background and text if possible.
        int availableWidth = getMeasuredWidth() - 2 * (getPaddingLeft() + getPaddingRight());
        if (availableWidth <= 0) {
            availableWidth = getMeasuredWidth() - (getPaddingLeft() + getPaddingRight());
        }
        if (mSetupTextLayout != null && mSetupTextLayout.getText().equals(info.label)
                && mSetupTextLayout.getWidth() == availableWidth) {
            return;
        }
        try {
        mSetupTextLayout = new StaticLayout(info.label, mPaint, availableWidth,
                Layout.Alignment.ALIGN_CENTER, 1, 0, true);
        } catch (IllegalArgumentException e) {
            @SuppressLint("DrawAllocation") StringWriter stringWriter = new StringWriter();
            @SuppressLint("DrawAllocation") PrintWriter printWriter = new PrintWriter(stringWriter);
            mActivity.getDeviceProfile().dump(/*prefix=*/"", printWriter);
            printWriter.flush();
            String message = "b/203530620 "
                    + "- availableWidth: " + availableWidth
                    + ", getMeasuredWidth: " + getMeasuredWidth()
                    + ", getPaddingLeft: " + getPaddingLeft()
                    + ", getPaddingRight: " + getPaddingRight()
                    + ", deviceProfile: " + stringWriter.toString();
            throw new IllegalArgumentException(message, e);
        }
    }

    @Override
    protected void onDraw(Canvas canvas) {
        if (mSetupTextLayout != null) {
            canvas.translate(getPaddingLeft() * 2,
            canvas.translate((getWidth() - mSetupTextLayout.getWidth()) / 2,
                    (getHeight() - mSetupTextLayout.getHeight()) / 2);
            mSetupTextLayout.draw(canvas);
        }