Loading core/res/res/values/dimens.xml +4 −0 Original line number Diff line number Diff line Loading @@ -369,6 +369,10 @@ to 0 --> <dimen name="circular_display_mask_offset">0px</dimen> <!-- Amount to reduce the size of the circular mask by (to compensate for aliasing effects). This is only used on circular displays. --> <dimen name="circular_display_mask_thickness">1px</dimen> <dimen name="lock_pattern_dot_line_width">3dp</dimen> <dimen name="lock_pattern_dot_size">12dp</dimen> <dimen name="lock_pattern_dot_size_activated">28dp</dimen> Loading core/res/res/values/symbols.xml +1 −0 Original line number Diff line number Diff line Loading @@ -419,6 +419,7 @@ <java-symbol type="dimen" name="immersive_mode_cling_width" /> <java-symbol type="dimen" name="circular_display_mask_offset" /> <java-symbol type="dimen" name="accessibility_magnification_indicator_width" /> <java-symbol type="dimen" name="circular_display_mask_thickness" /> <java-symbol type="string" name="add_account_button_label" /> <java-symbol type="string" name="addToDictionary" /> Loading services/core/java/com/android/server/wm/CircularDisplayMask.java +5 −3 Original line number Diff line number Diff line Loading @@ -50,9 +50,10 @@ class CircularDisplayMask { private int mRotation; private boolean mVisible; private boolean mDimensionsUnequal = false; private int mMaskThickness; public CircularDisplayMask(Display display, SurfaceSession session, int zOrder, int screenOffset) { int screenOffset, int maskThickness) { mScreenSize = new Point(); display.getSize(mScreenSize); if (mScreenSize.x != mScreenSize.y) { Loading Loading @@ -84,6 +85,7 @@ class CircularDisplayMask { mPaint.setAntiAlias(true); mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR)); mScreenOffset = screenOffset; mMaskThickness = maskThickness; } private void drawIfNeeded() { Loading Loading @@ -121,8 +123,8 @@ class CircularDisplayMask { int circleRadius = mScreenSize.x / 2; c.drawColor(Color.BLACK); // The radius is reduced by 1 to provide an anti aliasing effect on the display edges. c.drawCircle(circleRadius, circleRadius, circleRadius - 1, mPaint); // The radius is reduced by mMaskThickness to provide an anti aliasing effect on the display edges. c.drawCircle(circleRadius, circleRadius, circleRadius - mMaskThickness, mPaint); mSurface.unlockCanvasAndPost(c); } Loading services/core/java/com/android/server/wm/WindowManagerService.java +3 −1 Original line number Diff line number Diff line Loading @@ -5857,13 +5857,15 @@ public class WindowManagerService extends IWindowManager.Stub if (mCircularDisplayMask == null) { int screenOffset = mContext.getResources().getDimensionPixelSize( com.android.internal.R.dimen.circular_display_mask_offset); int maskThickness = mContext.getResources().getDimensionPixelSize( com.android.internal.R.dimen.circular_display_mask_thickness); mCircularDisplayMask = new CircularDisplayMask( getDefaultDisplayContentLocked().getDisplay(), mFxSession, mPolicy.windowTypeToLayerLw( WindowManager.LayoutParams.TYPE_POINTER) * TYPE_LAYER_MULTIPLIER + 10, screenOffset); * TYPE_LAYER_MULTIPLIER + 10, screenOffset, maskThickness); } mCircularDisplayMask.setVisibility(true); } else if (mCircularDisplayMask != null) { Loading Loading
core/res/res/values/dimens.xml +4 −0 Original line number Diff line number Diff line Loading @@ -369,6 +369,10 @@ to 0 --> <dimen name="circular_display_mask_offset">0px</dimen> <!-- Amount to reduce the size of the circular mask by (to compensate for aliasing effects). This is only used on circular displays. --> <dimen name="circular_display_mask_thickness">1px</dimen> <dimen name="lock_pattern_dot_line_width">3dp</dimen> <dimen name="lock_pattern_dot_size">12dp</dimen> <dimen name="lock_pattern_dot_size_activated">28dp</dimen> Loading
core/res/res/values/symbols.xml +1 −0 Original line number Diff line number Diff line Loading @@ -419,6 +419,7 @@ <java-symbol type="dimen" name="immersive_mode_cling_width" /> <java-symbol type="dimen" name="circular_display_mask_offset" /> <java-symbol type="dimen" name="accessibility_magnification_indicator_width" /> <java-symbol type="dimen" name="circular_display_mask_thickness" /> <java-symbol type="string" name="add_account_button_label" /> <java-symbol type="string" name="addToDictionary" /> Loading
services/core/java/com/android/server/wm/CircularDisplayMask.java +5 −3 Original line number Diff line number Diff line Loading @@ -50,9 +50,10 @@ class CircularDisplayMask { private int mRotation; private boolean mVisible; private boolean mDimensionsUnequal = false; private int mMaskThickness; public CircularDisplayMask(Display display, SurfaceSession session, int zOrder, int screenOffset) { int screenOffset, int maskThickness) { mScreenSize = new Point(); display.getSize(mScreenSize); if (mScreenSize.x != mScreenSize.y) { Loading Loading @@ -84,6 +85,7 @@ class CircularDisplayMask { mPaint.setAntiAlias(true); mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR)); mScreenOffset = screenOffset; mMaskThickness = maskThickness; } private void drawIfNeeded() { Loading Loading @@ -121,8 +123,8 @@ class CircularDisplayMask { int circleRadius = mScreenSize.x / 2; c.drawColor(Color.BLACK); // The radius is reduced by 1 to provide an anti aliasing effect on the display edges. c.drawCircle(circleRadius, circleRadius, circleRadius - 1, mPaint); // The radius is reduced by mMaskThickness to provide an anti aliasing effect on the display edges. c.drawCircle(circleRadius, circleRadius, circleRadius - mMaskThickness, mPaint); mSurface.unlockCanvasAndPost(c); } Loading
services/core/java/com/android/server/wm/WindowManagerService.java +3 −1 Original line number Diff line number Diff line Loading @@ -5857,13 +5857,15 @@ public class WindowManagerService extends IWindowManager.Stub if (mCircularDisplayMask == null) { int screenOffset = mContext.getResources().getDimensionPixelSize( com.android.internal.R.dimen.circular_display_mask_offset); int maskThickness = mContext.getResources().getDimensionPixelSize( com.android.internal.R.dimen.circular_display_mask_thickness); mCircularDisplayMask = new CircularDisplayMask( getDefaultDisplayContentLocked().getDisplay(), mFxSession, mPolicy.windowTypeToLayerLw( WindowManager.LayoutParams.TYPE_POINTER) * TYPE_LAYER_MULTIPLIER + 10, screenOffset); * TYPE_LAYER_MULTIPLIER + 10, screenOffset, maskThickness); } mCircularDisplayMask.setVisibility(true); } else if (mCircularDisplayMask != null) { Loading