Loading packages/SystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java +1 −1 Original line number Diff line number Diff line Loading @@ -346,7 +346,7 @@ public class CarStatusBar extends StatusBar implements * changes. */ @Override protected void onDensityOrFontScaleChanged() { public void onDensityOrFontScaleChanged() { super.onDensityOrFontScaleChanged(); mController.onDensityOrFontScaleChanged(); Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/ConfigurationControllerImpl.java +3 −16 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.systemui.statusbar.phone; import android.content.Context; import android.content.om.IOverlayManager; import android.content.pm.ActivityInfo; import android.content.res.Configuration; import android.os.RemoteException; import android.os.ServiceManager; Loading @@ -32,22 +33,14 @@ public class ConfigurationControllerImpl implements ConfigurationController, ConfigurationChangedReceiver { private final ArrayList<ConfigurationListener> mListeners = new ArrayList<>(); private final IOverlayManager mOverlayManager; private final Configuration mLastConfig = new Configuration(); private int mDensity; private float mFontScale; private Map mActiveOverlays; public ConfigurationControllerImpl(Context context) { Configuration currentConfig = context.getResources().getConfiguration(); mOverlayManager = IOverlayManager.Stub.asInterface( ServiceManager.getService(Context.OVERLAY_SERVICE)); mFontScale = currentConfig.fontScale; mDensity = currentConfig.densityDpi; try { mActiveOverlays = mOverlayManager.getAllOverlays(UserHandle.getCallingUserId()); } catch (RemoteException e) { mActiveOverlays = new HashMap(); } } @Override Loading @@ -72,19 +65,13 @@ public class ConfigurationControllerImpl implements ConfigurationController, mFontScale = fontScale; } try { Map activeOverlays = mOverlayManager.getAllOverlays(UserHandle.getCallingUserId()); if (!mActiveOverlays.equals(activeOverlays)) { mActiveOverlays = activeOverlays; if ((mLastConfig.updateFrom(newConfig) & ActivityInfo.CONFIG_ASSETS_PATHS) != 0) { listeners.forEach(l -> { if (mListeners.contains(l)) { l.onOverlayChanged(); } }); } } catch (RemoteException e) { e.rethrowAsRuntimeException(); } } @Override Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java +31 −1 Original line number Diff line number Diff line Loading @@ -22,23 +22,31 @@ import android.content.res.Configuration; import android.content.res.Resources; import android.content.res.TypedArray; import android.graphics.Color; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.util.TypedValue; import android.view.View; import android.view.ViewGroup; import android.view.ViewTreeObserver; import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.TextView; import com.android.internal.statusbar.StatusBarIcon; import com.android.settingslib.Utils; import com.android.systemui.BatteryMeterView; import com.android.systemui.Dependency; import com.android.systemui.Interpolators; import com.android.systemui.R; import com.android.systemui.qs.QSPanel; import com.android.systemui.statusbar.phone.StatusBarIconController.IconManager; import com.android.systemui.statusbar.phone.StatusBarIconController.TintedIconManager; import com.android.systemui.statusbar.policy.BatteryController; import com.android.systemui.statusbar.policy.BatteryController.BatteryStateChangeCallback; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.ConfigurationController.ConfigurationListener; import com.android.systemui.statusbar.policy.DarkIconDispatcher.DarkReceiver; import com.android.systemui.statusbar.policy.KeyguardUserSwitcher; import com.android.systemui.statusbar.policy.UserInfoController; import com.android.systemui.statusbar.policy.UserInfoController.OnUserInfoChangedListener; Loading @@ -48,7 +56,7 @@ import com.android.systemui.statusbar.policy.UserSwitcherController; * The header group on Keyguard. */ public class KeyguardStatusBarView extends RelativeLayout implements BatteryStateChangeCallback, OnUserInfoChangedListener { implements BatteryStateChangeCallback, OnUserInfoChangedListener, ConfigurationListener { private boolean mBatteryCharging; private boolean mKeyguardUserSwitcherShowing; Loading @@ -67,6 +75,7 @@ public class KeyguardStatusBarView extends RelativeLayout private int mSystemIconsSwitcherHiddenExpandedMargin; private int mSystemIconsBaseMargin; private View mSystemIconsContainer; private TintedIconManager mIconManager; public KeyguardStatusBarView(Context context, AttributeSet attrs) { super(context, attrs); Loading Loading @@ -207,12 +216,18 @@ public class KeyguardStatusBarView extends RelativeLayout mUserSwitcherController = Dependency.get(UserSwitcherController.class); mMultiUserSwitch.setUserSwitcherController(mUserSwitcherController); userInfoController.reloadUserInfo(); Dependency.get(ConfigurationController.class).addCallback(this); mIconManager = new TintedIconManager(findViewById(R.id.statusIcons)); Dependency.get(StatusBarIconController.class).addIconGroup(mIconManager); onOverlayChanged(); } @Override protected void onDetachedFromWindow() { super.onDetachedFromWindow(); Dependency.get(UserInfoController.class).removeCallback(this); Dependency.get(StatusBarIconController.class).removeIconGroup(mIconManager); Dependency.get(ConfigurationController.class).removeCallback(this); } @Override Loading Loading @@ -321,5 +336,20 @@ public class KeyguardStatusBarView extends RelativeLayout @ColorInt int textColor = Utils.getColorAttr(mContext, R.attr.bgProtectTextColor); mCarrierLabel.setTextColor(textColor); mBatteryView.setFillColor(textColor); mIconManager.setTint(textColor); float intensity = textColor == Color.WHITE ? 0 : 1; Rect tintArea = new Rect(0, 0, 0, 0); applyDarkness(R.id.signal_cluster, tintArea, intensity, textColor); applyDarkness(R.id.battery, tintArea, intensity, textColor); applyDarkness(R.id.clock, tintArea, intensity, textColor); } private void applyDarkness(int id, Rect tintArea, float intensity, int color) { View v = findViewById(id); if (v instanceof DarkReceiver) { ((DarkReceiver) v).onDarkChanged(tintArea, intensity, color); } } } packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +5 −29 Original line number Diff line number Diff line Loading @@ -267,7 +267,7 @@ public class StatusBar extends SystemUI implements DemoMode, ActivatableNotificationView.OnActivatedListener, ExpandableNotificationRow.ExpansionLogger, NotificationData.Environment, ExpandableNotificationRow.OnExpandClickListener, InflationCallback, ColorExtractor.OnColorsChangedListener { ColorExtractor.OnColorsChangedListener, ConfigurationListener { public static final boolean MULTIUSER_DEBUG = false; public static final boolean ENABLE_REMOTE_INPUT = Loading Loading @@ -431,7 +431,6 @@ public class StatusBar extends SystemUI implements DemoMode, Object mQueueLock = new Object(); protected StatusBarIconController mIconController; private IconManager mIconManager; // expanded notifications protected NotificationPanelView mNotificationPanel; // the sliding/resizing panel within the notification window Loading Loading @@ -732,7 +731,6 @@ public class StatusBar extends SystemUI implements DemoMode, private LogMaker mStatusBarStateLog; private LockscreenGestureLogger mLockscreenGestureLogger = new LockscreenGestureLogger(); private NotificationIconAreaController mNotificationIconAreaController; private ConfigurationListener mConfigurationListener; private boolean mReinflateNotificationsOnUserSwitched; private HashMap<String, Entry> mPendingNotifications = new HashMap<>(); private boolean mClearAllEnabled; Loading Loading @@ -971,23 +969,7 @@ public class StatusBar extends SystemUI implements DemoMode, Dependency.get(ActivityStarterDelegate.class).setActivityStarterImpl(this); mConfigurationListener = new ConfigurationListener() { @Override public void onConfigChanged(Configuration newConfig) { StatusBar.this.onConfigurationChanged(newConfig); } @Override public void onDensityOrFontScaleChanged() { StatusBar.this.onDensityOrFontScaleChanged(); } @Override public void onOverlayChanged() { StatusBar.this.onOverlayChanged(); } }; Dependency.get(ConfigurationController.class).addCallback(mConfigurationListener); Dependency.get(ConfigurationController.class).addCallback(this); // Make sure that we're using the correct theme onOverlayChanged(); Loading Loading @@ -1039,8 +1021,6 @@ public class StatusBar extends SystemUI implements DemoMode, .replace(R.id.status_bar_container, new CollapsedStatusBarFragment(), CollapsedStatusBarFragment.TAG) .commit(); mIconManager = new IconManager(mKeyguardStatusBar.findViewById(R.id.statusIcons)); Dependency.get(StatusBarIconController.class).addIconGroup(mIconManager); mIconController = Dependency.get(StatusBarIconController.class); mHeadsUpManager = new HeadsUpManager(context, mStatusBarWindow, mGroupManager); Loading Loading @@ -1286,7 +1266,7 @@ public class StatusBar extends SystemUI implements DemoMode, mNotificationShelf.setStatusBarState(mState); } protected void onDensityOrFontScaleChanged() { public void onDensityOrFontScaleChanged() { // start old BaseStatusBar.onDensityOrFontScaleChanged(). if (!KeyguardUpdateMonitor.getInstance(mContext).isSwitchingUser()) { updateNotificationsOnDensityOrFontScaleChanged(); Loading @@ -1313,7 +1293,7 @@ public class StatusBar extends SystemUI implements DemoMode, reevaluateStyles(); } protected void onOverlayChanged() { public void onOverlayChanged() { final boolean usingDarkTheme = isUsingDarkTheme(); if (DEBUG) { Log.d(TAG, "Updating theme because overlay changed. Is theme dark? " + usingDarkTheme); Loading @@ -1334,10 +1314,6 @@ public class StatusBar extends SystemUI implements DemoMode, .setStatusBarKeyguardViewManager(mStatusBarKeyguardViewManager); mKeyguardIndicationController.setVisible(mState == StatusBarState.KEYGUARD); mKeyguardIndicationController.setDozing(mDozing); // Top status bar with system icons and clock mKeyguardStatusBar.onOverlayChanged(); mIconManager.onOverlayChanged(); } protected void reevaluateStyles() { Loading Loading @@ -4054,7 +4030,7 @@ public class StatusBar extends SystemUI implements DemoMode, } Dependency.get(ActivityStarterDelegate.class).setActivityStarterImpl(null); mDeviceProvisionedController.removeCallback(mUserSetupObserver); Dependency.get(ConfigurationController.class).removeCallback(mConfigurationListener); Dependency.get(ConfigurationController.class).removeCallback(this); } private boolean mDemoModeAllowed; Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java +25 −11 Original line number Diff line number Diff line Loading @@ -111,6 +111,31 @@ public interface StatusBarIconController { } } public static class TintedIconManager extends IconManager { private int mColor; public TintedIconManager(ViewGroup group) { super(group); } @Override protected void onIconAdded(int index, String slot, boolean blocked, StatusBarIcon icon) { StatusBarIconView v = addIcon(index, slot, blocked, icon); v.setStaticDrawableColor(mColor); } public void setTint(int color) { mColor = color; for (int i = 0; i < mGroup.getChildCount(); i++) { View child = mGroup.getChildAt(i); if (child instanceof StatusBarIconView) { StatusBarIconView icon = (StatusBarIconView) child; icon.setStaticDrawableColor(mColor); } } } } /** * Turns info from StatusBarIconController into ImageViews in a ViewGroup. */ Loading Loading @@ -168,17 +193,6 @@ public interface StatusBarIconController { } } protected void onOverlayChanged() { @ColorInt int iconColor = Utils.getColorAttr(mContext, R.attr.bgProtectTextColor); for (int i = 0; i < mGroup.getChildCount(); i++) { View child = mGroup.getChildAt(i); if (child instanceof StatusBarIconView) { StatusBarIconView icon = (StatusBarIconView) child; icon.setStaticDrawableColor(iconColor); } } } private void setHeightAndCenter(ImageView imageView, int height) { ViewGroup.LayoutParams params = imageView.getLayoutParams(); params.height = height; Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java +1 −1 Original line number Diff line number Diff line Loading @@ -346,7 +346,7 @@ public class CarStatusBar extends StatusBar implements * changes. */ @Override protected void onDensityOrFontScaleChanged() { public void onDensityOrFontScaleChanged() { super.onDensityOrFontScaleChanged(); mController.onDensityOrFontScaleChanged(); Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/ConfigurationControllerImpl.java +3 −16 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.systemui.statusbar.phone; import android.content.Context; import android.content.om.IOverlayManager; import android.content.pm.ActivityInfo; import android.content.res.Configuration; import android.os.RemoteException; import android.os.ServiceManager; Loading @@ -32,22 +33,14 @@ public class ConfigurationControllerImpl implements ConfigurationController, ConfigurationChangedReceiver { private final ArrayList<ConfigurationListener> mListeners = new ArrayList<>(); private final IOverlayManager mOverlayManager; private final Configuration mLastConfig = new Configuration(); private int mDensity; private float mFontScale; private Map mActiveOverlays; public ConfigurationControllerImpl(Context context) { Configuration currentConfig = context.getResources().getConfiguration(); mOverlayManager = IOverlayManager.Stub.asInterface( ServiceManager.getService(Context.OVERLAY_SERVICE)); mFontScale = currentConfig.fontScale; mDensity = currentConfig.densityDpi; try { mActiveOverlays = mOverlayManager.getAllOverlays(UserHandle.getCallingUserId()); } catch (RemoteException e) { mActiveOverlays = new HashMap(); } } @Override Loading @@ -72,19 +65,13 @@ public class ConfigurationControllerImpl implements ConfigurationController, mFontScale = fontScale; } try { Map activeOverlays = mOverlayManager.getAllOverlays(UserHandle.getCallingUserId()); if (!mActiveOverlays.equals(activeOverlays)) { mActiveOverlays = activeOverlays; if ((mLastConfig.updateFrom(newConfig) & ActivityInfo.CONFIG_ASSETS_PATHS) != 0) { listeners.forEach(l -> { if (mListeners.contains(l)) { l.onOverlayChanged(); } }); } } catch (RemoteException e) { e.rethrowAsRuntimeException(); } } @Override Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java +31 −1 Original line number Diff line number Diff line Loading @@ -22,23 +22,31 @@ import android.content.res.Configuration; import android.content.res.Resources; import android.content.res.TypedArray; import android.graphics.Color; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.util.TypedValue; import android.view.View; import android.view.ViewGroup; import android.view.ViewTreeObserver; import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.TextView; import com.android.internal.statusbar.StatusBarIcon; import com.android.settingslib.Utils; import com.android.systemui.BatteryMeterView; import com.android.systemui.Dependency; import com.android.systemui.Interpolators; import com.android.systemui.R; import com.android.systemui.qs.QSPanel; import com.android.systemui.statusbar.phone.StatusBarIconController.IconManager; import com.android.systemui.statusbar.phone.StatusBarIconController.TintedIconManager; import com.android.systemui.statusbar.policy.BatteryController; import com.android.systemui.statusbar.policy.BatteryController.BatteryStateChangeCallback; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.ConfigurationController.ConfigurationListener; import com.android.systemui.statusbar.policy.DarkIconDispatcher.DarkReceiver; import com.android.systemui.statusbar.policy.KeyguardUserSwitcher; import com.android.systemui.statusbar.policy.UserInfoController; import com.android.systemui.statusbar.policy.UserInfoController.OnUserInfoChangedListener; Loading @@ -48,7 +56,7 @@ import com.android.systemui.statusbar.policy.UserSwitcherController; * The header group on Keyguard. */ public class KeyguardStatusBarView extends RelativeLayout implements BatteryStateChangeCallback, OnUserInfoChangedListener { implements BatteryStateChangeCallback, OnUserInfoChangedListener, ConfigurationListener { private boolean mBatteryCharging; private boolean mKeyguardUserSwitcherShowing; Loading @@ -67,6 +75,7 @@ public class KeyguardStatusBarView extends RelativeLayout private int mSystemIconsSwitcherHiddenExpandedMargin; private int mSystemIconsBaseMargin; private View mSystemIconsContainer; private TintedIconManager mIconManager; public KeyguardStatusBarView(Context context, AttributeSet attrs) { super(context, attrs); Loading Loading @@ -207,12 +216,18 @@ public class KeyguardStatusBarView extends RelativeLayout mUserSwitcherController = Dependency.get(UserSwitcherController.class); mMultiUserSwitch.setUserSwitcherController(mUserSwitcherController); userInfoController.reloadUserInfo(); Dependency.get(ConfigurationController.class).addCallback(this); mIconManager = new TintedIconManager(findViewById(R.id.statusIcons)); Dependency.get(StatusBarIconController.class).addIconGroup(mIconManager); onOverlayChanged(); } @Override protected void onDetachedFromWindow() { super.onDetachedFromWindow(); Dependency.get(UserInfoController.class).removeCallback(this); Dependency.get(StatusBarIconController.class).removeIconGroup(mIconManager); Dependency.get(ConfigurationController.class).removeCallback(this); } @Override Loading Loading @@ -321,5 +336,20 @@ public class KeyguardStatusBarView extends RelativeLayout @ColorInt int textColor = Utils.getColorAttr(mContext, R.attr.bgProtectTextColor); mCarrierLabel.setTextColor(textColor); mBatteryView.setFillColor(textColor); mIconManager.setTint(textColor); float intensity = textColor == Color.WHITE ? 0 : 1; Rect tintArea = new Rect(0, 0, 0, 0); applyDarkness(R.id.signal_cluster, tintArea, intensity, textColor); applyDarkness(R.id.battery, tintArea, intensity, textColor); applyDarkness(R.id.clock, tintArea, intensity, textColor); } private void applyDarkness(int id, Rect tintArea, float intensity, int color) { View v = findViewById(id); if (v instanceof DarkReceiver) { ((DarkReceiver) v).onDarkChanged(tintArea, intensity, color); } } }
packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +5 −29 Original line number Diff line number Diff line Loading @@ -267,7 +267,7 @@ public class StatusBar extends SystemUI implements DemoMode, ActivatableNotificationView.OnActivatedListener, ExpandableNotificationRow.ExpansionLogger, NotificationData.Environment, ExpandableNotificationRow.OnExpandClickListener, InflationCallback, ColorExtractor.OnColorsChangedListener { ColorExtractor.OnColorsChangedListener, ConfigurationListener { public static final boolean MULTIUSER_DEBUG = false; public static final boolean ENABLE_REMOTE_INPUT = Loading Loading @@ -431,7 +431,6 @@ public class StatusBar extends SystemUI implements DemoMode, Object mQueueLock = new Object(); protected StatusBarIconController mIconController; private IconManager mIconManager; // expanded notifications protected NotificationPanelView mNotificationPanel; // the sliding/resizing panel within the notification window Loading Loading @@ -732,7 +731,6 @@ public class StatusBar extends SystemUI implements DemoMode, private LogMaker mStatusBarStateLog; private LockscreenGestureLogger mLockscreenGestureLogger = new LockscreenGestureLogger(); private NotificationIconAreaController mNotificationIconAreaController; private ConfigurationListener mConfigurationListener; private boolean mReinflateNotificationsOnUserSwitched; private HashMap<String, Entry> mPendingNotifications = new HashMap<>(); private boolean mClearAllEnabled; Loading Loading @@ -971,23 +969,7 @@ public class StatusBar extends SystemUI implements DemoMode, Dependency.get(ActivityStarterDelegate.class).setActivityStarterImpl(this); mConfigurationListener = new ConfigurationListener() { @Override public void onConfigChanged(Configuration newConfig) { StatusBar.this.onConfigurationChanged(newConfig); } @Override public void onDensityOrFontScaleChanged() { StatusBar.this.onDensityOrFontScaleChanged(); } @Override public void onOverlayChanged() { StatusBar.this.onOverlayChanged(); } }; Dependency.get(ConfigurationController.class).addCallback(mConfigurationListener); Dependency.get(ConfigurationController.class).addCallback(this); // Make sure that we're using the correct theme onOverlayChanged(); Loading Loading @@ -1039,8 +1021,6 @@ public class StatusBar extends SystemUI implements DemoMode, .replace(R.id.status_bar_container, new CollapsedStatusBarFragment(), CollapsedStatusBarFragment.TAG) .commit(); mIconManager = new IconManager(mKeyguardStatusBar.findViewById(R.id.statusIcons)); Dependency.get(StatusBarIconController.class).addIconGroup(mIconManager); mIconController = Dependency.get(StatusBarIconController.class); mHeadsUpManager = new HeadsUpManager(context, mStatusBarWindow, mGroupManager); Loading Loading @@ -1286,7 +1266,7 @@ public class StatusBar extends SystemUI implements DemoMode, mNotificationShelf.setStatusBarState(mState); } protected void onDensityOrFontScaleChanged() { public void onDensityOrFontScaleChanged() { // start old BaseStatusBar.onDensityOrFontScaleChanged(). if (!KeyguardUpdateMonitor.getInstance(mContext).isSwitchingUser()) { updateNotificationsOnDensityOrFontScaleChanged(); Loading @@ -1313,7 +1293,7 @@ public class StatusBar extends SystemUI implements DemoMode, reevaluateStyles(); } protected void onOverlayChanged() { public void onOverlayChanged() { final boolean usingDarkTheme = isUsingDarkTheme(); if (DEBUG) { Log.d(TAG, "Updating theme because overlay changed. Is theme dark? " + usingDarkTheme); Loading @@ -1334,10 +1314,6 @@ public class StatusBar extends SystemUI implements DemoMode, .setStatusBarKeyguardViewManager(mStatusBarKeyguardViewManager); mKeyguardIndicationController.setVisible(mState == StatusBarState.KEYGUARD); mKeyguardIndicationController.setDozing(mDozing); // Top status bar with system icons and clock mKeyguardStatusBar.onOverlayChanged(); mIconManager.onOverlayChanged(); } protected void reevaluateStyles() { Loading Loading @@ -4054,7 +4030,7 @@ public class StatusBar extends SystemUI implements DemoMode, } Dependency.get(ActivityStarterDelegate.class).setActivityStarterImpl(null); mDeviceProvisionedController.removeCallback(mUserSetupObserver); Dependency.get(ConfigurationController.class).removeCallback(mConfigurationListener); Dependency.get(ConfigurationController.class).removeCallback(this); } private boolean mDemoModeAllowed; Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java +25 −11 Original line number Diff line number Diff line Loading @@ -111,6 +111,31 @@ public interface StatusBarIconController { } } public static class TintedIconManager extends IconManager { private int mColor; public TintedIconManager(ViewGroup group) { super(group); } @Override protected void onIconAdded(int index, String slot, boolean blocked, StatusBarIcon icon) { StatusBarIconView v = addIcon(index, slot, blocked, icon); v.setStaticDrawableColor(mColor); } public void setTint(int color) { mColor = color; for (int i = 0; i < mGroup.getChildCount(); i++) { View child = mGroup.getChildAt(i); if (child instanceof StatusBarIconView) { StatusBarIconView icon = (StatusBarIconView) child; icon.setStaticDrawableColor(mColor); } } } } /** * Turns info from StatusBarIconController into ImageViews in a ViewGroup. */ Loading Loading @@ -168,17 +193,6 @@ public interface StatusBarIconController { } } protected void onOverlayChanged() { @ColorInt int iconColor = Utils.getColorAttr(mContext, R.attr.bgProtectTextColor); for (int i = 0; i < mGroup.getChildCount(); i++) { View child = mGroup.getChildAt(i); if (child instanceof StatusBarIconView) { StatusBarIconView icon = (StatusBarIconView) child; icon.setStaticDrawableColor(iconColor); } } } private void setHeightAndCenter(ImageView imageView, int height) { ViewGroup.LayoutParams params = imageView.getLayoutParams(); params.height = height; Loading