From 6d6672ffd1b6d918e64d951f8f1fd1cc441b363f Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Fri, 5 Feb 2016 14:18:21 -0500 Subject: [PATCH] Fix external status bar icon sizes Bug: 26850030 Change-Id: I6de129aa1b6c73b0c1ad5373e59c2ad398b2dc7a --- .../statusbar/phone/StatusBarIconController.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java index 9996b75678930..45aae2dd61f05 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java @@ -30,12 +30,12 @@ import android.os.UserHandle; import android.text.TextUtils; import android.util.ArraySet; import android.util.TypedValue; +import android.view.Gravity; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; - import com.android.internal.statusbar.StatusBarIcon; import com.android.systemui.BatteryMeterView; import com.android.systemui.FontSizeUtils; @@ -226,12 +226,25 @@ public class StatusBarIconController extends StatusBarIconList implements Tunabl public void setExternalIcon(String slot) { int viewIndex = getViewIndex(getSlotIndex(slot)); + int height = mContext.getResources().getDimensionPixelSize( + R.dimen.status_bar_icon_drawing_size); ImageView imageView = (ImageView) mStatusIcons.getChildAt(viewIndex); imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); imageView.setAdjustViewBounds(true); + setHeightAndCenter(imageView, height); imageView = (ImageView) mStatusIconsKeyguard.getChildAt(viewIndex); imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); imageView.setAdjustViewBounds(true); + setHeightAndCenter(imageView, height); + } + + private void setHeightAndCenter(ImageView imageView, int height) { + ViewGroup.LayoutParams params = imageView.getLayoutParams(); + params.height = height; + if (params instanceof LinearLayout.LayoutParams) { + ((LinearLayout.LayoutParams) params).gravity = Gravity.CENTER_VERTICAL; + } + imageView.setLayoutParams(params); } public void setIcon(String slot, StatusBarIcon icon) {