Adjust notification dots
- Use consistent bounds for folders as other icons, to ensure dot has a consistent placement (moved right+up a bit) - Strengthen the ambient shadow to improve contrast - Increased blur size and opacity - Use a dark gray rather than black for dots on dark folders Bug: 73331123 Change-Id: I888f4645d3a48465af93f5003dda8f8b7c3129f3
This commit is contained in:
parent
82c114ca9c
commit
05d98c246b
|
@ -33,6 +33,7 @@
|
|||
<attr name="workspaceKeyShadowColor" format="color" />
|
||||
<attr name="workspaceStatusBarScrim" format="reference" />
|
||||
<attr name="widgetsTheme" format="reference" />
|
||||
<attr name="folderBadgeColor" format="color" />
|
||||
|
||||
<!-- BubbleTextView specific attributes. -->
|
||||
<declare-styleable name="BubbleTextView">
|
||||
|
|
|
@ -42,6 +42,7 @@
|
|||
<item name="workspaceKeyShadowColor">#44000000</item>
|
||||
<item name="workspaceStatusBarScrim">@drawable/workspace_bg</item>
|
||||
<item name="widgetsTheme">@style/WidgetContainerTheme</item>
|
||||
<item name="folderBadgeColor">?android:attr/colorPrimary</item>
|
||||
</style>
|
||||
|
||||
<style name="LauncherTheme" parent="@style/BaseLauncherThemeWithCustomAttrs"></style>
|
||||
|
@ -70,6 +71,7 @@
|
|||
<item name="popupColorSecondary">#424242</item> <!-- Gray 800 -->
|
||||
<item name="popupColorTertiary">#757575</item> <!-- Gray 600 -->
|
||||
<item name="widgetsTheme">@style/WidgetContainerTheme.Dark</item>
|
||||
<item name="folderBadgeColor">#FF464646</item>
|
||||
<item name="isMainColorDark">true</item>
|
||||
</style>
|
||||
|
||||
|
|
|
@ -386,10 +386,14 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver,
|
|||
}
|
||||
|
||||
public void getIconBounds(Rect outBounds) {
|
||||
int top = getPaddingTop();
|
||||
int left = (getWidth() - mIconSize) / 2;
|
||||
int right = left + mIconSize;
|
||||
int bottom = top + mIconSize;
|
||||
getIconBounds(this, outBounds, mIconSize);
|
||||
}
|
||||
|
||||
public static void getIconBounds(View iconView, Rect outBounds, int iconSize) {
|
||||
int top = iconView.getPaddingTop();
|
||||
int left = (iconView.getWidth() - iconSize) / 2;
|
||||
int right = left + iconSize;
|
||||
int bottom = top + iconSize;
|
||||
outBounds.set(left, top, right, bottom);
|
||||
}
|
||||
|
||||
|
|
|
@ -60,6 +60,7 @@ public class BadgeRenderer {
|
|||
|
||||
int size = (int) (DOT_SCALE * mDotCenterOffset);
|
||||
ShadowGenerator.Builder builder = new ShadowGenerator.Builder(Color.TRANSPARENT);
|
||||
builder.ambientShadowAlpha = 88;
|
||||
mBackgroundWithShadow = builder.setupBlurForSize(size).createPill(size, size);
|
||||
mCircleRadius = builder.radius;
|
||||
|
||||
|
|
|
@ -25,7 +25,6 @@ import android.content.Context;
|
|||
import android.graphics.Canvas;
|
||||
import android.graphics.Point;
|
||||
import android.graphics.Rect;
|
||||
import android.graphics.Region;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Parcelable;
|
||||
import android.support.annotation.NonNull;
|
||||
|
@ -490,10 +489,7 @@ public class FolderIcon extends FrameLayout implements FolderListener {
|
|||
|
||||
public void drawBadge(Canvas canvas) {
|
||||
if ((mBadgeInfo != null && mBadgeInfo.hasBadge()) || mBadgeScale > 0) {
|
||||
int offsetX = mBackground.getOffsetX();
|
||||
int offsetY = mBackground.getOffsetY();
|
||||
int previewSize = (int) (mBackground.previewSize * mBackground.mScale);
|
||||
mTempBounds.set(offsetX, offsetY, offsetX + previewSize, offsetY + previewSize);
|
||||
BubbleTextView.getIconBounds(this, mTempBounds, mLauncher.getDeviceProfile().iconSizePx);
|
||||
|
||||
// If we are animating to the accepting state, animate the badge out.
|
||||
float badgeScale = Math.max(0, mBadgeScale - mBackground.getScaleProgress());
|
||||
|
|
|
@ -38,6 +38,7 @@ import com.android.launcher3.CellLayout;
|
|||
import com.android.launcher3.DeviceProfile;
|
||||
import com.android.launcher3.Launcher;
|
||||
import com.android.launcher3.LauncherAnimUtils;
|
||||
import com.android.launcher3.R;
|
||||
import com.android.launcher3.util.Themes;
|
||||
|
||||
/**
|
||||
|
@ -70,6 +71,7 @@ public class PreviewBackground {
|
|||
float mScale = 1f;
|
||||
private float mColorMultiplier = 1f;
|
||||
private int mBgColor;
|
||||
private int mBadgeColor;
|
||||
private float mStrokeWidth;
|
||||
private int mStrokeAlpha = MAX_BG_OPACITY;
|
||||
private int mShadowAlpha = 255;
|
||||
|
@ -132,6 +134,7 @@ public class PreviewBackground {
|
|||
int availableSpaceX, int topPadding) {
|
||||
mInvalidateDelegate = invalidateDelegate;
|
||||
mBgColor = Themes.getAttrColor(launcher, android.R.attr.colorPrimary);
|
||||
mBadgeColor = Themes.getAttrColor(launcher, R.attr.folderBadgeColor);
|
||||
|
||||
DeviceProfile grid = launcher.getDeviceProfile();
|
||||
previewSize = grid.folderIconSizePx;
|
||||
|
@ -198,7 +201,7 @@ public class PreviewBackground {
|
|||
}
|
||||
|
||||
public int getBadgeColor() {
|
||||
return mBgColor;
|
||||
return mBadgeColor;
|
||||
}
|
||||
|
||||
public void drawBackground(Canvas canvas) {
|
||||
|
|
|
@ -120,7 +120,7 @@ public class ShadowGenerator {
|
|||
}
|
||||
|
||||
public Builder setupBlurForSize(int height) {
|
||||
shadowBlur = height * 1f / 32;
|
||||
shadowBlur = height * 1f / 24;
|
||||
keyShadowDistance = height * 1f / 16;
|
||||
return this;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue