Don't draw bottom scrim in fully gestural mode

The scrim exists primarily to protect nav bar buttons which
don't exist in this mode.

Change-Id: Ic6de7d54f27f135eecb116ac09714c91c05b88da
This commit is contained in:
Tony Wickham
2020-03-20 12:50:04 -07:00
parent 925639d881
commit 81feb2c547
@@ -40,12 +40,14 @@ import android.graphics.drawable.Drawable;
import android.util.DisplayMetrics;
import android.util.FloatProperty;
import android.view.View;
import android.view.WindowInsets;
import androidx.core.graphics.ColorUtils;
import com.android.launcher3.CellLayout;
import com.android.launcher3.R;
import com.android.launcher3.ResourceUtils;
import com.android.launcher3.Utilities;
import com.android.launcher3.Workspace;
import com.android.launcher3.uioverrides.WallpaperColorInfo;
import com.android.launcher3.util.Themes;
@@ -198,9 +200,22 @@ public class WorkspaceAndHotseatScrim extends Scrim {
* Determines whether to draw the top and/or bottom scrim based on new insets.
*/
public void onInsetsChanged(Rect insets, boolean allowSysuiScrims) {
mDrawTopScrim = allowSysuiScrims && mTopScrim != null && insets.top > 0;
mDrawBottomScrim = allowSysuiScrims && mBottomMask != null
&& !mLauncher.getDeviceProfile().isVerticalBarLayout();
mDrawTopScrim = allowSysuiScrims
&& mTopScrim != null
&& insets.top > 0;
mDrawBottomScrim = allowSysuiScrims
&& mBottomMask != null
&& !mLauncher.getDeviceProfile().isVerticalBarLayout()
&& hasBottomNavButtons();
}
private boolean hasBottomNavButtons() {
if (Utilities.ATLEAST_Q && mLauncher.getRootView() != null
&& mLauncher.getRootView().getRootWindowInsets() != null) {
WindowInsets windowInsets = mLauncher.getRootView().getRootWindowInsets();
return windowInsets.getTappableElementInsets().bottom > 0;
}
return true;
}
@Override