mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-20 11:18:21 +00:00
Log widget dimensions before deleting a widget violating min size
Test: N/A Bug: 191223844 Change-Id: Id909ee19be1a1c7d70a09643422d9ed62a2d82a9
This commit is contained in:
@@ -28,6 +28,7 @@ import static com.android.launcher3.util.Executors.MODEL_EXECUTOR;
|
||||
import static com.android.launcher3.util.PackageManagerHelper.hasShortcutsPermission;
|
||||
import static com.android.launcher3.util.PackageManagerHelper.isSystemApp;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.appwidget.AppWidgetProviderInfo;
|
||||
import android.content.ComponentName;
|
||||
import android.content.ContentResolver;
|
||||
@@ -40,6 +41,7 @@ import android.content.pm.PackageInstaller;
|
||||
import android.content.pm.PackageInstaller.SessionInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.ShortcutInfo;
|
||||
import android.graphics.Point;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.os.UserHandle;
|
||||
@@ -50,6 +52,8 @@ import android.util.Log;
|
||||
import android.util.LongSparseArray;
|
||||
import android.util.TimingLogger;
|
||||
|
||||
import com.android.launcher3.DeviceProfile;
|
||||
import com.android.launcher3.InvariantDeviceProfile;
|
||||
import com.android.launcher3.LauncherAppState;
|
||||
import com.android.launcher3.LauncherModel;
|
||||
import com.android.launcher3.LauncherSettings;
|
||||
@@ -754,6 +758,9 @@ 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"
|
||||
@@ -980,6 +987,51 @@ public class LoaderTask implements Runnable {
|
||||
&& (provider.provider.getPackageName() != null);
|
||||
}
|
||||
|
||||
@SuppressLint("NewApi") // Already added API check.
|
||||
private static void logDeleteWidgetInfo(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);
|
||||
FileLog.d(TAG, "DeviceProfile available width: " + deviceProfile.availableWidthPx
|
||||
+ ", available height: " + deviceProfile.availableHeightPx
|
||||
+ ", cellLayoutBorderSpacingPx: " + deviceProfile.cellLayoutBorderSpacingPx
|
||||
+ ", cellSize: " + cellSize);
|
||||
}
|
||||
|
||||
StringBuilder widgetDimension = new StringBuilder();
|
||||
widgetDimension.append("Widget dimensions:\n")
|
||||
.append("minResizeWidth: ")
|
||||
.append(widgetProviderInfo.minResizeWidth)
|
||||
.append("\n")
|
||||
.append("minResizeHeight: ")
|
||||
.append(widgetProviderInfo.minResizeHeight)
|
||||
.append("\n")
|
||||
.append("defaultWidth: ")
|
||||
.append(widgetProviderInfo.minWidth)
|
||||
.append("\n")
|
||||
.append("defaultHeight: ")
|
||||
.append(widgetProviderInfo.minHeight)
|
||||
.append("\n");
|
||||
if (Utilities.ATLEAST_S) {
|
||||
widgetDimension.append("targetCellWidth: ")
|
||||
.append(widgetProviderInfo.targetCellWidth)
|
||||
.append("\n")
|
||||
.append("targetCellHeight: ")
|
||||
.append(widgetProviderInfo.targetCellHeight)
|
||||
.append("\n")
|
||||
.append("maxResizeWidth: ")
|
||||
.append(widgetProviderInfo.maxResizeWidth)
|
||||
.append("\n")
|
||||
.append("maxResizeHeight: ")
|
||||
.append(widgetProviderInfo.maxResizeHeight)
|
||||
.append("\n");
|
||||
}
|
||||
FileLog.d(TAG, widgetDimension.toString());
|
||||
}
|
||||
|
||||
private static void logASplit(final TimingLogger logger, final String label) {
|
||||
logger.addSplit(label);
|
||||
if (DEBUG) {
|
||||
|
||||
Reference in New Issue
Block a user