diff options
author | Jon Miranda <jonmiranda@google.com> | 2018-02-13 16:18:19 -0800 |
---|---|---|
committer | Jon Miranda <jonmiranda@google.com> | 2018-02-13 16:18:19 -0800 |
commit | 84e2436220c5141748daea201ee367f22d258c89 (patch) | |
tree | cff99628de1d6365c2e0e9159424e94339e21e30 /src | |
parent | 62388becd07f19d7857024969b35af666eb6c5d7 (diff) | |
download | android_packages_apps_Trebuchet-84e2436220c5141748daea201ee367f22d258c89.tar.gz android_packages_apps_Trebuchet-84e2436220c5141748daea201ee367f22d258c89.tar.bz2 android_packages_apps_Trebuchet-84e2436220c5141748daea201ee367f22d258c89.zip |
Update widget full sheet / bottom sheet to have top rounded corners.
Bug: 71775241
Change-Id: I11b5adc555f48f44cf8167e8699cae1dfe164736
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/launcher3/views/TopRoundedCornerView.java | 62 | ||||
-rw-r--r-- | src/com/android/launcher3/widget/WidgetsFullSheet.java | 1 |
2 files changed, 63 insertions, 0 deletions
diff --git a/src/com/android/launcher3/views/TopRoundedCornerView.java b/src/com/android/launcher3/views/TopRoundedCornerView.java new file mode 100644 index 000000000..ba223c498 --- /dev/null +++ b/src/com/android/launcher3/views/TopRoundedCornerView.java @@ -0,0 +1,62 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.android.launcher3.views; + +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.Path; +import android.graphics.RectF; +import android.util.AttributeSet; +import android.widget.FrameLayout; + +import com.android.launcher3.R; + +/** + * View with top rounded corners. + */ +public class TopRoundedCornerView extends FrameLayout { + + private final RectF mRect = new RectF(); + private final Path mClipPath = new Path(); + private float[] mRadii; + + public TopRoundedCornerView(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + + int radius = getResources().getDimensionPixelSize(R.dimen.bg_round_rect_radius); + mRadii = new float[] {radius, radius, radius, radius, 0, 0, 0, 0}; + } + + public TopRoundedCornerView(Context context, AttributeSet attrs) { + this(context, attrs, 0); + } + + @Override + public void draw(Canvas canvas) { + canvas.save(); + canvas.clipPath(mClipPath); + super.draw(canvas); + canvas.restore(); + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + mRect.set(0, 0, getMeasuredWidth(), getMeasuredHeight()); + mClipPath.reset(); + mClipPath.addRoundRect(mRect, mRadii, Path.Direction.CW); + } +} diff --git a/src/com/android/launcher3/widget/WidgetsFullSheet.java b/src/com/android/launcher3/widget/WidgetsFullSheet.java index d62a90964..e461afc20 100644 --- a/src/com/android/launcher3/widget/WidgetsFullSheet.java +++ b/src/com/android/launcher3/widget/WidgetsFullSheet.java @@ -115,6 +115,7 @@ public class WidgetsFullSheet extends BaseWidgetSheet mGradientView.setVisibility(View.INVISIBLE); widthUsed = 0; } else { + mGradientView.setVisibility(View.VISIBLE); Rect padding = mLauncher.getDeviceProfile().workspacePadding; widthUsed = Math.max(padding.left + padding.right, 2 * (mInsets.left + mInsets.right)); |