diff options
author | Matt Pietal <mpietal@google.com> | 2021-01-05 14:32:20 -0500 |
---|---|---|
committer | Matt Pietal <mpietal@google.com> | 2021-01-05 14:32:20 -0500 |
commit | c5abc7738bb2e1dadd3d5f398bc459a492bdebfe (patch) | |
tree | df17254a4686031007d4dab4b33f6fa200ec76dc /packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java | |
parent | bf36a7f543a793e1e4cd8ca505990bcf8a8a4f17 (diff) |
Keyguard slice views - fix alignment
Some icons use slight insets by default, which causes alignment issues
with left/right aligned keyguard slice content. Access the wrapped
drawable to remove the inset.
Fixes: 175953174
Test: manual (go/hsv to check alignment)
Change-Id: Iaf5115d771e7aa6bf4f8f6a7434d0a2a0d05da21
Diffstat (limited to 'packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java')
-rw-r--r-- | packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java index 3cbab8e66fdb..fb97a30f93fb 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java @@ -26,6 +26,7 @@ import android.content.Context; import android.content.res.Resources; import android.graphics.Color; import android.graphics.drawable.Drawable; +import android.graphics.drawable.InsetDrawable; import android.graphics.text.LineBreaker; import android.net.Uri; import android.os.Trace; @@ -239,6 +240,12 @@ public class KeyguardSliceView extends LinearLayout { final int iconSize = mHasHeader ? mIconSizeWithHeader : mIconSize; iconDrawable = icon.getIcon().loadDrawable(mContext); if (iconDrawable != null) { + if ((iconDrawable instanceof InsetDrawable) + && mLockScreenMode == KeyguardUpdateMonitor.LOCK_SCREEN_MODE_LAYOUT_1) { + // System icons (DnD) use insets which are fine for centered slice content + // but will cause a slight indent for left/right-aligned slice views + iconDrawable = ((InsetDrawable) iconDrawable).getDrawable(); + } final int width = (int) (iconDrawable.getIntrinsicWidth() / (float) iconDrawable.getIntrinsicHeight() * iconSize); iconDrawable.setBounds(0, 0, Math.max(width, 1), iconSize); |