fix: Ignore generatedPreviews flags on Vanilla Ice Cream and above

This is always enabled on correct AOSP implementations, crashes should be handled by OEM
This commit is contained in:
Pun Butrach
2025-12-05 22:51:06 +07:00
parent e58cf687a2
commit f831a3bf4e
3 changed files with 5 additions and 4 deletions

View File

@@ -55,7 +55,7 @@ public class WidgetItem extends ComponentKey {
spanX = Math.min(info.spanX, idp.numColumns); spanX = Math.min(info.spanX, idp.numColumns);
spanY = Math.min(info.spanY, idp.numRows); spanY = Math.min(info.spanY, idp.numRows);
if (BuildCompat.isAtLeastV() && Flags.enableGeneratedPreviews()) { if (BuildCompat.isAtLeastV()) {
generatedPreviews = new SparseArray<>(3); generatedPreviews = new SparseArray<>(3);
for (int widgetCategory : new int[] { for (int widgetCategory : new int[] {
WIDGET_CATEGORY_HOME_SCREEN, WIDGET_CATEGORY_HOME_SCREEN,
@@ -120,7 +120,7 @@ public class WidgetItem extends ComponentKey {
* category. * category.
*/ */
public boolean hasGeneratedPreview(int widgetCategory) { public boolean hasGeneratedPreview(int widgetCategory) {
if (!Flags.enableGeneratedPreviews() || generatedPreviews == null) { if (!Utilities.ATLEAST_V || generatedPreviews == null) {
return false; return false;
} }
return generatedPreviews.contains(widgetCategory) return generatedPreviews.contains(widgetCategory)

View File

@@ -56,6 +56,7 @@ import com.android.launcher3.Flags;
import com.android.launcher3.Launcher; import com.android.launcher3.Launcher;
import com.android.launcher3.LauncherAppState; import com.android.launcher3.LauncherAppState;
import com.android.launcher3.R; import com.android.launcher3.R;
import com.android.launcher3.Utilities;
import com.android.launcher3.anim.AnimatedPropertySetter; import com.android.launcher3.anim.AnimatedPropertySetter;
import com.android.launcher3.icons.FastBitmapDrawable; import com.android.launcher3.icons.FastBitmapDrawable;
import com.android.launcher3.icons.RoundDrawableWrapper; import com.android.launcher3.icons.RoundDrawableWrapper;
@@ -292,7 +293,7 @@ public class WidgetCell extends LinearLayout {
mAppWidgetHostViewPreview = createAppWidgetHostView(context); mAppWidgetHostViewPreview = createAppWidgetHostView(context);
setAppWidgetHostViewPreview(mAppWidgetHostViewPreview, item.widgetInfo, setAppWidgetHostViewPreview(mAppWidgetHostViewPreview, item.widgetInfo,
mRemoteViewsPreview); mRemoteViewsPreview);
} else if (Flags.enableGeneratedPreviews() } else if (Utilities.ATLEAST_V
&& item.hasGeneratedPreview(WIDGET_CATEGORY_HOME_SCREEN)) { && item.hasGeneratedPreview(WIDGET_CATEGORY_HOME_SCREEN)) {
mAppWidgetHostViewPreview = createAppWidgetHostView(context); mAppWidgetHostViewPreview = createAppWidgetHostView(context);
setAppWidgetHostViewPreview(mAppWidgetHostViewPreview, item.widgetInfo, setAppWidgetHostViewPreview(mAppWidgetHostViewPreview, item.widgetInfo,

View File

@@ -33,6 +33,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi; import androidx.annotation.RequiresApi;
import com.android.launcher3.Utilities;
import com.android.launcher3.logging.FileLog; import com.android.launcher3.logging.FileLog;
import com.android.launcher3.model.data.LauncherAppWidgetInfo; import com.android.launcher3.model.data.LauncherAppWidgetInfo;
import com.android.launcher3.pm.UserCache; import com.android.launcher3.pm.UserCache;
@@ -162,7 +163,6 @@ public class WidgetManagerHelper {
@RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM) @RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM)
public RemoteViews loadGeneratedPreview(@NonNull AppWidgetProviderInfo info, public RemoteViews loadGeneratedPreview(@NonNull AppWidgetProviderInfo info,
int widgetCategory) { int widgetCategory) {
if (!Flags.generatedPreviews()) return null;
return mAppWidgetManager.getWidgetPreview(info.provider, info.getProfile(), widgetCategory); return mAppWidgetManager.getWidgetPreview(info.provider, info.getProfile(), widgetCategory);
} }