Loading packages/SystemUI/plugin/src/com/android/systemui/plugins/statusbar/NotificationMenuRowPlugin.java +3 −0 Original line number Diff line number Diff line Loading @@ -96,4 +96,7 @@ public interface NotificationMenuRowPlugin extends Plugin { public default boolean useDefaultMenuItems() { return false; } public default void onConfigurationChanged() { } } packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java +8 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import android.animation.ValueAnimator.AnimatorUpdateListener; import android.annotation.Nullable; import android.content.Context; import android.content.res.Resources; import android.content.res.Configuration; import android.graphics.drawable.AnimatedVectorDrawable; import android.graphics.drawable.AnimationDrawable; import android.graphics.drawable.ColorDrawable; Loading Loading @@ -836,6 +837,13 @@ public class ExpandableNotificationRow extends ActivatableNotificationView onNotificationUpdated(); } @Override public void onConfigurationChanged(Configuration newConfig) { if (mMenuRow.getMenuView() != null) { mMenuRow.onConfigurationChanged(); } } public void setContentBackground(int customBackgroundColor, boolean animate, NotificationContentView notificationContentView) { if (getShowingLayout() == notificationContentView) { Loading packages/SystemUI/src/com/android/systemui/statusbar/NotificationMenuRow.java +16 −10 Original line number Diff line number Diff line Loading @@ -165,6 +165,17 @@ public class NotificationMenuRow implements NotificationMenuRowPlugin, View.OnCl createMenuViews(); } @Override public void onConfigurationChanged() { mParent.post(new Runnable() { @Override public void run() { mIconsPlaced = false; // Force icons to be re-placed setMenuLocation(); } }); } private void createMenuViews() { // Filter the menu items based on the notification if (mParent != null && mParent.getStatusBarNotification() != null) { Loading Loading @@ -459,22 +470,17 @@ public class NotificationMenuRow implements NotificationMenuRowPlugin, View.OnCl private void setMenuLocation() { boolean showOnLeft = mTranslation > 0; if ((mIconsPlaced && showOnLeft == mOnLeft) || mSnapping || mParent == null) { if ((mIconsPlaced && showOnLeft == mOnLeft) || mSnapping || !mMenuContainer.isAttachedToWindow()) { // Do nothing return; } final boolean isRtl = mParent.isLayoutRtl(); final int count = mMenuContainer.getChildCount(); final int width = mParent.getWidth(); for (int i = 0; i < count; i++) { final View v = mMenuContainer.getChildAt(i); final float left = isRtl ? -(width - mHorizSpaceForIcon * (i + 1)) : i * mHorizSpaceForIcon; final float right = isRtl ? -i * mHorizSpaceForIcon : width - (mHorizSpaceForIcon * (i + 1)); v.setTranslationX(showOnLeft ? left : right); final float left = i * mHorizSpaceForIcon; final float right = mParent.getWidth() - (mHorizSpaceForIcon * (i + 1)); v.setX(showOnLeft ? left : right); } mOnLeft = showOnLeft; mIconsPlaced = true; Loading Loading
packages/SystemUI/plugin/src/com/android/systemui/plugins/statusbar/NotificationMenuRowPlugin.java +3 −0 Original line number Diff line number Diff line Loading @@ -96,4 +96,7 @@ public interface NotificationMenuRowPlugin extends Plugin { public default boolean useDefaultMenuItems() { return false; } public default void onConfigurationChanged() { } }
packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java +8 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import android.animation.ValueAnimator.AnimatorUpdateListener; import android.annotation.Nullable; import android.content.Context; import android.content.res.Resources; import android.content.res.Configuration; import android.graphics.drawable.AnimatedVectorDrawable; import android.graphics.drawable.AnimationDrawable; import android.graphics.drawable.ColorDrawable; Loading Loading @@ -836,6 +837,13 @@ public class ExpandableNotificationRow extends ActivatableNotificationView onNotificationUpdated(); } @Override public void onConfigurationChanged(Configuration newConfig) { if (mMenuRow.getMenuView() != null) { mMenuRow.onConfigurationChanged(); } } public void setContentBackground(int customBackgroundColor, boolean animate, NotificationContentView notificationContentView) { if (getShowingLayout() == notificationContentView) { Loading
packages/SystemUI/src/com/android/systemui/statusbar/NotificationMenuRow.java +16 −10 Original line number Diff line number Diff line Loading @@ -165,6 +165,17 @@ public class NotificationMenuRow implements NotificationMenuRowPlugin, View.OnCl createMenuViews(); } @Override public void onConfigurationChanged() { mParent.post(new Runnable() { @Override public void run() { mIconsPlaced = false; // Force icons to be re-placed setMenuLocation(); } }); } private void createMenuViews() { // Filter the menu items based on the notification if (mParent != null && mParent.getStatusBarNotification() != null) { Loading Loading @@ -459,22 +470,17 @@ public class NotificationMenuRow implements NotificationMenuRowPlugin, View.OnCl private void setMenuLocation() { boolean showOnLeft = mTranslation > 0; if ((mIconsPlaced && showOnLeft == mOnLeft) || mSnapping || mParent == null) { if ((mIconsPlaced && showOnLeft == mOnLeft) || mSnapping || !mMenuContainer.isAttachedToWindow()) { // Do nothing return; } final boolean isRtl = mParent.isLayoutRtl(); final int count = mMenuContainer.getChildCount(); final int width = mParent.getWidth(); for (int i = 0; i < count; i++) { final View v = mMenuContainer.getChildAt(i); final float left = isRtl ? -(width - mHorizSpaceForIcon * (i + 1)) : i * mHorizSpaceForIcon; final float right = isRtl ? -i * mHorizSpaceForIcon : width - (mHorizSpaceForIcon * (i + 1)); v.setTranslationX(showOnLeft ? left : right); final float left = i * mHorizSpaceForIcon; final float right = mParent.getWidth() - (mHorizSpaceForIcon * (i + 1)); v.setX(showOnLeft ? left : right); } mOnLeft = showOnLeft; mIconsPlaced = true; Loading