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

Commit b269cc51 authored by Steven Ng's avatar Steven Ng
Browse files

Don't delete widgets that violate min size requirement

Test: Manual
Bug: 194766124
Change-Id: I4713e65e27da23d833bb60fb556ae8924a63e305
parent 4a17e661
Loading
Loading
Loading
Loading
+6 −11
Original line number Diff line number Diff line
@@ -760,16 +760,13 @@ public class LoaderTask implements Runnable {
                                if (widgetProviderInfo != null
                                        && (appWidgetInfo.spanX < widgetProviderInfo.minSpanX
                                        || appWidgetInfo.spanY < widgetProviderInfo.minSpanY)) {
                                    logDeleteWidgetInfo(mApp.getInvariantDeviceProfile(),
                                            widgetProviderInfo);

                                    // This can happen when display size changes.
                                    c.markDeleted("Widget removed, min sizes not met: "
                                            + "span=" + appWidgetInfo.spanX + "x"
                                            + appWidgetInfo.spanY + " minSpan="
                                    FileLog.d(TAG, "Widget " + widgetProviderInfo.getComponent()
                                            + " minSizes not meet: span=" + appWidgetInfo.spanX
                                            + "x" + appWidgetInfo.spanY + " minSpan="
                                            + widgetProviderInfo.minSpanX + "x"
                                            + widgetProviderInfo.minSpanY);
                                    continue;
                                    logWidgetInfo(mApp.getInvariantDeviceProfile(),
                                            widgetProviderInfo);
                                }
                                if (!c.isOnWorkspaceOrHotseat()) {
                                    c.markDeleted("Widget found where container != " +
@@ -990,10 +987,8 @@ public class LoaderTask implements Runnable {
    }

    @SuppressLint("NewApi") // Already added API check.
    private static void logDeleteWidgetInfo(InvariantDeviceProfile idp,
    private static void logWidgetInfo(InvariantDeviceProfile idp,
            LauncherAppWidgetProviderInfo widgetProviderInfo) {
        FileLog.d(TAG, "Deleting " + widgetProviderInfo.getComponent()
                + " due to min size constraint");
        Point cellSize = new Point();
        for (DeviceProfile deviceProfile : idp.supportedProfiles) {
            deviceProfile.getCellSize(cellSize);