Merge "Fix issue where bottom scrim appears in homescreen when it shouldn't" into tm-qpr-dev
diff --git a/src/com/android/launcher3/graphics/SysUiScrim.java b/src/com/android/launcher3/graphics/SysUiScrim.java
index 11e7dc8..e983a30 100644
--- a/src/com/android/launcher3/graphics/SysUiScrim.java
+++ b/src/com/android/launcher3/graphics/SysUiScrim.java
@@ -32,11 +32,10 @@
import android.util.DisplayMetrics;
import android.util.FloatProperty;
import android.view.View;
-import android.view.WindowInsets;
import com.android.launcher3.BaseDraggingActivity;
+import com.android.launcher3.DeviceProfile;
import com.android.launcher3.R;
-import com.android.launcher3.Utilities;
import com.android.launcher3.config.FeatureFlags;
import com.android.launcher3.testing.shared.ResourceUtils;
import com.android.launcher3.util.DynamicResource;
@@ -185,21 +184,18 @@
/**
* Determines whether to draw the top and/or bottom scrim based on new insets.
+ *
+ * In order for the bottom scrim to be drawn this 3 condition should be meet at the same time:
+ * the device is in 3 button navigation, the taskbar is not present and the Hotseat is
+ * horizontal
*/
public void onInsetsChanged(Rect insets) {
+ DeviceProfile dp = mActivity.getDeviceProfile();
mDrawTopScrim = mTopScrim != null && insets.top > 0;
mDrawBottomScrim = mBottomMask != null
- && !mActivity.getDeviceProfile().isVerticalBarLayout()
- && hasBottomNavButtons();
- }
-
- private boolean hasBottomNavButtons() {
- if (Utilities.ATLEAST_Q && mActivity.getRootView() != null
- && mActivity.getRootView().getRootWindowInsets() != null) {
- WindowInsets windowInsets = mActivity.getRootView().getRootWindowInsets();
- return windowInsets.getTappableElementInsets().bottom > 0;
- }
- return true;
+ && !dp.isVerticalBarLayout()
+ && !dp.isGestureMode
+ && !dp.isTaskbarPresent;
}
@Override