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

Commit 2c9195b9 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
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
parents 795a9a8c e8a60abc
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);
        }