blob: 1c6ca871340e83c4b26b66c3c2d17a0fd88a4216 [file] [log] [blame]
package com.android.launcher3;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.util.AttributeSet;
public class LauncherRootView extends InsettableFrameLayout {
private final Paint mOpaquePaint;
private boolean mDrawRightInsetBar;
public LauncherRootView(Context context, AttributeSet attrs) {
super(context, attrs);
mOpaquePaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mOpaquePaint.setColor(Color.BLACK);
mOpaquePaint.setStyle(Paint.Style.FILL);
}
@Override
protected boolean fitSystemWindows(Rect insets) {
setInsets(insets);
mDrawRightInsetBar = mInsets.right > 0 && LauncherAppState
.getInstance().getInvariantDeviceProfile().isRightInsetOpaque;
return true; // I'll take it from here
}
@Override
protected void dispatchDraw(Canvas canvas) {
super.dispatchDraw(canvas);
// If the right inset is opaque, draw a black rectangle to ensure that is stays opaque.
if (mDrawRightInsetBar) {
int width = getWidth();
canvas.drawRect(width - mInsets.right, 0, width, getHeight(), mOpaquePaint);
}
}
}