From 6e23f1dfc13fe4366592b500dfccd59fb63eb959 Mon Sep 17 00:00:00 2001 From: Suphon Thanakornpakapong Date: Wed, 11 May 2022 10:16:15 +0700 Subject: [PATCH] Fix crashes below R --- lawnchair/res/values-v30/config.xml | 4 ++++ .../src/com/android/launcher3/uioverrides/ApiWrapper.java | 6 +++++- .../uioverrides/plugins/PluginManagerWrapper.java | 4 +++- .../src/com/android/quickstep/util/VibratorWrapper.java | 8 ++++++-- src/com/android/launcher3/MainProcessInitializer.java | 1 + 5 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 lawnchair/res/values-v30/config.xml diff --git a/lawnchair/res/values-v30/config.xml b/lawnchair/res/values-v30/config.xml new file mode 100644 index 0000000000..b2e1d3ce7f --- /dev/null +++ b/lawnchair/res/values-v30/config.xml @@ -0,0 +1,4 @@ + + + com.android.launcher3.model.QuickstepModelDelegate + \ No newline at end of file diff --git a/quickstep/src/com/android/launcher3/uioverrides/ApiWrapper.java b/quickstep/src/com/android/launcher3/uioverrides/ApiWrapper.java index 061e85d9a9..afb06f1fe0 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/ApiWrapper.java +++ b/quickstep/src/com/android/launcher3/uioverrides/ApiWrapper.java @@ -48,7 +48,11 @@ public class ApiWrapper { * Returns a unique ID representing the display */ public static String getUniqueId(Display display) { - return display.getUniqueId(); + try { + return display.getUniqueId(); + } catch (Throwable t) { + return "" + display.getDisplayId(); + } } /** diff --git a/quickstep/src/com/android/launcher3/uioverrides/plugins/PluginManagerWrapper.java b/quickstep/src/com/android/launcher3/uioverrides/plugins/PluginManagerWrapper.java index df0ac7ce22..8268e594e3 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/plugins/PluginManagerWrapper.java +++ b/quickstep/src/com/android/launcher3/uioverrides/plugins/PluginManagerWrapper.java @@ -24,6 +24,8 @@ import android.content.Context; import android.content.Intent; import android.content.pm.ResolveInfo; +import androidx.core.content.ContextCompat; + import com.android.launcher3.Utilities; import com.android.launcher3.util.MainThreadInitializedObject; import com.android.systemui.plugins.Plugin; @@ -61,7 +63,7 @@ public class PluginManagerWrapper { new PluginInstance.VersionChecker(), privilegedPlugins, Utilities.IS_DEBUG_DEVICE); PluginActionManager.Factory instanceManagerFactory = new PluginActionManager.Factory( - c, c.getPackageManager(), c.getMainExecutor(), MODEL_EXECUTOR, + c, c.getPackageManager(), ContextCompat.getMainExecutor(c), MODEL_EXECUTOR, c.getSystemService(NotificationManager.class), mPluginEnabler, privilegedPlugins, instanceFactory); diff --git a/quickstep/src/com/android/quickstep/util/VibratorWrapper.java b/quickstep/src/com/android/quickstep/util/VibratorWrapper.java index 211bd08b33..abf9e162e4 100644 --- a/quickstep/src/com/android/quickstep/util/VibratorWrapper.java +++ b/quickstep/src/com/android/quickstep/util/VibratorWrapper.java @@ -15,7 +15,6 @@ */ package com.android.quickstep.util; -import static android.os.VibrationEffect.createPredefined; import static android.provider.Settings.System.HAPTIC_FEEDBACK_ENABLED; import static com.android.launcher3.util.Executors.MAIN_EXECUTOR; @@ -52,7 +51,7 @@ public class VibratorWrapper { public static final VibrationEffect EFFECT_CLICK = createPredefined(VibrationEffect.EFFECT_CLICK); public static final VibrationEffect EFFECT_TEXTURE_TICK = - VibrationEffect.createPredefined(VibrationEffect.EFFECT_TEXTURE_TICK); + createPredefined(VibrationEffect.EFFECT_TEXTURE_TICK); /** * Haptic when entering overview. @@ -113,4 +112,9 @@ public class VibratorWrapper { }); } } + + private static VibrationEffect createPredefined(int effectId) { + if (!Utilities.ATLEAST_Q) return null; + return VibrationEffect.createPredefined(effectId); + } } diff --git a/src/com/android/launcher3/MainProcessInitializer.java b/src/com/android/launcher3/MainProcessInitializer.java index 472519436a..48fd606ea1 100644 --- a/src/com/android/launcher3/MainProcessInitializer.java +++ b/src/com/android/launcher3/MainProcessInitializer.java @@ -39,6 +39,7 @@ public class MainProcessInitializer implements ResourceBasedOverride { private static final String TAG = "MainProcessInitializer"; public static void initialize(Context context) { + if (true) return; try { Unseal.unseal(); Log.i(TAG, "Unseal success!");