From cddb7fe98a0bcd1fe6b257890ca9384ce73721c7 Mon Sep 17 00:00:00 2001 From: Suphon Thanakornpakapong Date: Wed, 13 Oct 2021 09:27:49 +0700 Subject: [PATCH] Fix crashes below R --- .../shared/system/QuickStepContract.java | 7 +++++++ lawnchair/src/app/lawnchair/LawnchairApp.kt | 2 ++ .../launcher3/model/QuickstepModelDelegate.java | 3 +-- .../com/android/quickstep/views/RecentsView.java | 16 ++++++++++++---- .../widget/picker/WidgetsFullSheet.java | 11 ++++++++++- 5 files changed, 32 insertions(+), 7 deletions(-) diff --git a/SystemUIShared/src/com/android/systemui/shared/system/QuickStepContract.java b/SystemUIShared/src/com/android/systemui/shared/system/QuickStepContract.java index 7a4c84780f..4580242259 100644 --- a/SystemUIShared/src/com/android/systemui/shared/system/QuickStepContract.java +++ b/SystemUIShared/src/com/android/systemui/shared/system/QuickStepContract.java @@ -269,6 +269,7 @@ public class QuickStepContract { return mode == NAV_BAR_MODE_3BUTTON; } + public static boolean sRecentsDisabled = false; public static boolean sHasCustomCornerRadius = false; public static float sCustomCornerRadius = 0f; @@ -278,6 +279,9 @@ public class QuickStepContract { * scaling, this means that we don't have to reload them on config changes. */ public static float getWindowCornerRadius(Resources resources) { + if (sRecentsDisabled) { + return 0; + } if (sHasCustomCornerRadius) { return sCustomCornerRadius; } @@ -288,6 +292,9 @@ public class QuickStepContract { * If live rounded corners are supported on windows. */ public static boolean supportsRoundedCornersOnWindows(Resources resources) { + if (sRecentsDisabled) { + return false; + } return ScreenDecorationsUtils.supportsRoundedCornersOnWindows(resources); } } diff --git a/lawnchair/src/app/lawnchair/LawnchairApp.kt b/lawnchair/src/app/lawnchair/LawnchairApp.kt index 13b7d43870..0dbcf0fa45 100644 --- a/lawnchair/src/app/lawnchair/LawnchairApp.kt +++ b/lawnchair/src/app/lawnchair/LawnchairApp.kt @@ -30,6 +30,7 @@ import app.lawnchair.util.restartLauncher import com.android.launcher3.InvariantDeviceProfile import com.android.launcher3.Utilities import com.android.quickstep.RecentsActivity +import com.android.systemui.shared.system.QuickStepContract import java.io.File class LawnchairApp : Application() { @@ -43,6 +44,7 @@ class LawnchairApp : Application() { override fun onCreate() { super.onCreate() instance = this + QuickStepContract.sRecentsDisabled = !recentsEnabled } fun onLauncherAppStateCreated() { diff --git a/quickstep/src/com/android/launcher3/model/QuickstepModelDelegate.java b/quickstep/src/com/android/launcher3/model/QuickstepModelDelegate.java index 743e8ff356..5400ee1669 100644 --- a/quickstep/src/com/android/launcher3/model/QuickstepModelDelegate.java +++ b/quickstep/src/com/android/launcher3/model/QuickstepModelDelegate.java @@ -194,7 +194,7 @@ public class QuickstepModelDelegate extends ModelDelegate implements OnIDPChange @WorkerThread private void recreatePredictors() { destroyPredictors(); - if (!mActive) { + if (!Utilities.ATLEAST_Q || !mActive) { return; } Context context = mApp.getContext(); @@ -203,7 +203,6 @@ public class QuickstepModelDelegate extends ModelDelegate implements OnIDPChange return; } - if (!Utilities.ATLEAST_Q) return; int usagePerm = mApp.getContext().checkCallingOrSelfPermission(Manifest.permission.PACKAGE_USAGE_STATS); if (usagePerm != PackageManager.PERMISSION_GRANTED) return; diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index e30007dffc..f8a845ff73 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -171,6 +171,8 @@ import java.util.ArrayList; import java.util.List; import java.util.function.Consumer; +import app.lawnchair.LawnchairApp; +import app.lawnchair.LawnchairAppKt; import app.lawnchair.util.OverScrollerCompat; /** @@ -788,8 +790,10 @@ public abstract class RecentsView