Loading src/com/android/launcher3/model/LoaderTask.java +52 −0 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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; Loading Loading @@ -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" Loading Loading @@ -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) { Loading Loading
src/com/android/launcher3/model/LoaderTask.java +52 −0 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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; Loading Loading @@ -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" Loading Loading @@ -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) { Loading