Merge "Don't delete widgets that violate min size requirement" into sc-dev am: 5fc53cbc22

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

Change-Id: Ie289cb1904fe640c29c8b9532916fc95523a12d4
This commit is contained in:
Steven Ng
2021-08-04 20:28:32 +00:00
committed by Automerger Merge Worker
@@ -760,16 +760,13 @@ public class LoaderTask implements Runnable {
if (widgetProviderInfo != null if (widgetProviderInfo != null
&& (appWidgetInfo.spanX < widgetProviderInfo.minSpanX && (appWidgetInfo.spanX < widgetProviderInfo.minSpanX
|| appWidgetInfo.spanY < widgetProviderInfo.minSpanY)) { || appWidgetInfo.spanY < widgetProviderInfo.minSpanY)) {
logDeleteWidgetInfo(mApp.getInvariantDeviceProfile(), FileLog.d(TAG, "Widget " + widgetProviderInfo.getComponent()
widgetProviderInfo); + " minSizes not meet: span=" + appWidgetInfo.spanX
+ "x" + appWidgetInfo.spanY + " minSpan="
// This can happen when display size changes.
c.markDeleted("Widget removed, min sizes not met: "
+ "span=" + appWidgetInfo.spanX + "x"
+ appWidgetInfo.spanY + " minSpan="
+ widgetProviderInfo.minSpanX + "x" + widgetProviderInfo.minSpanX + "x"
+ widgetProviderInfo.minSpanY); + widgetProviderInfo.minSpanY);
continue; logWidgetInfo(mApp.getInvariantDeviceProfile(),
widgetProviderInfo);
} }
if (!c.isOnWorkspaceOrHotseat()) { if (!c.isOnWorkspaceOrHotseat()) {
c.markDeleted("Widget found where container != " + c.markDeleted("Widget found where container != " +
@@ -990,10 +987,8 @@ public class LoaderTask implements Runnable {
} }
@SuppressLint("NewApi") // Already added API check. @SuppressLint("NewApi") // Already added API check.
private static void logDeleteWidgetInfo(InvariantDeviceProfile idp, private static void logWidgetInfo(InvariantDeviceProfile idp,
LauncherAppWidgetProviderInfo widgetProviderInfo) { LauncherAppWidgetProviderInfo widgetProviderInfo) {
FileLog.d(TAG, "Deleting " + widgetProviderInfo.getComponent()
+ " due to min size constraint");
Point cellSize = new Point(); Point cellSize = new Point();
for (DeviceProfile deviceProfile : idp.supportedProfiles) { for (DeviceProfile deviceProfile : idp.supportedProfiles) {
deviceProfile.getCellSize(cellSize); deviceProfile.getCellSize(cellSize);