Merge "Fix issue where bottom scrim appears in homescreen when it shouldn't" into tm-qpr-dev am: aa6f00af01

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/21409546

Change-Id: Ib982fecabf6465fb2a7771af3914a90fbbdcb6d4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Sebastián Franco
2023-02-15 02:32:30 +00:00
committed by Automerger Merge Worker
@@ -32,11 +32,10 @@ import android.graphics.drawable.Drawable;
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 @@ public class SysUiScrim implements View.OnAttachStateChangeListener {
/**
* 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