Loading core/java/android/widget/flags/notification_widget_flags.aconfig +0 −7 Original line number Diff line number Diff line package: "android.widget.flags" container: "system" flag { name: "notif_linearlayout_optimized" namespace: "systemui" description: "Enables notification specific LinearLayout optimization" bug: "316110233" } flag { name: "call_style_set_data_async" namespace: "systemui" Loading core/java/com/android/internal/widget/NotificationOptimizedLinearLayout.java +3 −16 Original line number Diff line number Diff line Loading @@ -16,8 +16,6 @@ package com.android.internal.widget; import static android.widget.flags.Flags.notifLinearlayoutOptimized; import android.annotation.NonNull; import android.annotation.Nullable; import android.content.Context; Loading Loading @@ -87,8 +85,7 @@ public class NotificationOptimizedLinearLayout extends LinearLayout { @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { final View weightedChildView = getSingleWeightedChild(); mShouldUseOptimizedLayout = isUseOptimizedLinearLayoutFlagEnabled() && weightedChildView != null mShouldUseOptimizedLayout = weightedChildView != null && isOptimizationPossible(widthMeasureSpec, heightMeasureSpec); if (mShouldUseOptimizedLayout) { Loading @@ -98,14 +95,6 @@ public class NotificationOptimizedLinearLayout extends LinearLayout { } } private boolean isUseOptimizedLinearLayoutFlagEnabled() { final boolean enabled = notifLinearlayoutOptimized(); if (!enabled) { logSkipOptimizedOnMeasure("enableNotifLinearlayoutOptimized flag is off."); } return enabled; } /** * Checks if optimizations can be safely applied to this LinearLayout during layout * calculations. Optimizations might be disabled in the following cases: Loading Loading @@ -215,8 +204,7 @@ public class NotificationOptimizedLinearLayout extends LinearLayout { for (int i = 0; i < activeChildren.size(); i++) { final View child = activeChildren.get(i); if (child.getLayoutParams() instanceof LayoutParams) { final LayoutParams lp = (LayoutParams) child.getLayoutParams(); if (child.getLayoutParams() instanceof LayoutParams lp) { int childBaseline = -1; if (lp.height != LayoutParams.MATCH_PARENT) { Loading Loading @@ -254,8 +242,7 @@ public class NotificationOptimizedLinearLayout extends LinearLayout { View singleWeightedChild = null; for (int i = 0; i < activeChildren.size(); i++) { final View child = activeChildren.get(i); if (child.getLayoutParams() instanceof LayoutParams) { final LayoutParams lp = (LayoutParams) child.getLayoutParams(); if (child.getLayoutParams() instanceof LayoutParams lp) { if ((!isVertical && lp.width == ViewGroup.LayoutParams.MATCH_PARENT) || (isVertical && lp.height == ViewGroup.LayoutParams.MATCH_PARENT)) { logSkipOptimizedOnMeasure( Loading core/tests/coretests/src/com/android/internal/widget/NotificationOptimizedLinearLayoutComparisonTest.java +0 −7 Original line number Diff line number Diff line Loading @@ -23,16 +23,12 @@ import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT; import static org.junit.Assert.assertEquals; import android.content.Context; import android.platform.test.annotations.EnableFlags; import android.platform.test.annotations.Presubmit; import android.platform.test.flag.junit.SetFlagsRule; import android.view.Gravity; import android.view.View; import android.view.View.MeasureSpec; import android.view.ViewGroup; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.flags.Flags; import androidx.test.InstrumentationRegistry; import androidx.test.ext.junit.runners.AndroidJUnit4; Loading @@ -54,7 +50,6 @@ import java.util.List; */ @LargeTest @RunWith(AndroidJUnit4.class) @EnableFlags(Flags.FLAG_NOTIF_LINEARLAYOUT_OPTIMIZED) @Presubmit public class NotificationOptimizedLinearLayoutComparisonTest { Loading @@ -75,8 +70,6 @@ public class NotificationOptimizedLinearLayoutComparisonTest { private static final int[] LAYOUT_PARAMS = {MATCH_PARENT, WRAP_CONTENT, 0, 50}; private static final int[] CHILD_WEIGHTS = {0, 1}; private static final int[] CHILD_MARGINS = {0, 10, -10}; @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(); private Context mContext; Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotifRemoteViewsFactoryContainer.kt +1 −4 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ package com.android.systemui.statusbar.notification.row import android.widget.flags.Flags.notifLinearlayoutOptimized import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.Flags import com.android.systemui.statusbar.notification.row.icon.NotificationRowIconViewInflaterFactory Loading @@ -42,9 +41,7 @@ constructor( if (featureFlags.isEnabled(Flags.BIGPICTURE_NOTIFICATION_LAZY_LOADING)) { add(bigPictureLayoutInflaterFactory) } if (notifLinearlayoutOptimized()) { add(optimizedLinearLayoutFactory) } add(notificationViewFlipperFactory.get()) if (android.app.Flags.notificationsRedesignAppIcons()) { add(notificationRowIconViewInflaterFactory) Loading Loading
core/java/android/widget/flags/notification_widget_flags.aconfig +0 −7 Original line number Diff line number Diff line package: "android.widget.flags" container: "system" flag { name: "notif_linearlayout_optimized" namespace: "systemui" description: "Enables notification specific LinearLayout optimization" bug: "316110233" } flag { name: "call_style_set_data_async" namespace: "systemui" Loading
core/java/com/android/internal/widget/NotificationOptimizedLinearLayout.java +3 −16 Original line number Diff line number Diff line Loading @@ -16,8 +16,6 @@ package com.android.internal.widget; import static android.widget.flags.Flags.notifLinearlayoutOptimized; import android.annotation.NonNull; import android.annotation.Nullable; import android.content.Context; Loading Loading @@ -87,8 +85,7 @@ public class NotificationOptimizedLinearLayout extends LinearLayout { @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { final View weightedChildView = getSingleWeightedChild(); mShouldUseOptimizedLayout = isUseOptimizedLinearLayoutFlagEnabled() && weightedChildView != null mShouldUseOptimizedLayout = weightedChildView != null && isOptimizationPossible(widthMeasureSpec, heightMeasureSpec); if (mShouldUseOptimizedLayout) { Loading @@ -98,14 +95,6 @@ public class NotificationOptimizedLinearLayout extends LinearLayout { } } private boolean isUseOptimizedLinearLayoutFlagEnabled() { final boolean enabled = notifLinearlayoutOptimized(); if (!enabled) { logSkipOptimizedOnMeasure("enableNotifLinearlayoutOptimized flag is off."); } return enabled; } /** * Checks if optimizations can be safely applied to this LinearLayout during layout * calculations. Optimizations might be disabled in the following cases: Loading Loading @@ -215,8 +204,7 @@ public class NotificationOptimizedLinearLayout extends LinearLayout { for (int i = 0; i < activeChildren.size(); i++) { final View child = activeChildren.get(i); if (child.getLayoutParams() instanceof LayoutParams) { final LayoutParams lp = (LayoutParams) child.getLayoutParams(); if (child.getLayoutParams() instanceof LayoutParams lp) { int childBaseline = -1; if (lp.height != LayoutParams.MATCH_PARENT) { Loading Loading @@ -254,8 +242,7 @@ public class NotificationOptimizedLinearLayout extends LinearLayout { View singleWeightedChild = null; for (int i = 0; i < activeChildren.size(); i++) { final View child = activeChildren.get(i); if (child.getLayoutParams() instanceof LayoutParams) { final LayoutParams lp = (LayoutParams) child.getLayoutParams(); if (child.getLayoutParams() instanceof LayoutParams lp) { if ((!isVertical && lp.width == ViewGroup.LayoutParams.MATCH_PARENT) || (isVertical && lp.height == ViewGroup.LayoutParams.MATCH_PARENT)) { logSkipOptimizedOnMeasure( Loading
core/tests/coretests/src/com/android/internal/widget/NotificationOptimizedLinearLayoutComparisonTest.java +0 −7 Original line number Diff line number Diff line Loading @@ -23,16 +23,12 @@ import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT; import static org.junit.Assert.assertEquals; import android.content.Context; import android.platform.test.annotations.EnableFlags; import android.platform.test.annotations.Presubmit; import android.platform.test.flag.junit.SetFlagsRule; import android.view.Gravity; import android.view.View; import android.view.View.MeasureSpec; import android.view.ViewGroup; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.flags.Flags; import androidx.test.InstrumentationRegistry; import androidx.test.ext.junit.runners.AndroidJUnit4; Loading @@ -54,7 +50,6 @@ import java.util.List; */ @LargeTest @RunWith(AndroidJUnit4.class) @EnableFlags(Flags.FLAG_NOTIF_LINEARLAYOUT_OPTIMIZED) @Presubmit public class NotificationOptimizedLinearLayoutComparisonTest { Loading @@ -75,8 +70,6 @@ public class NotificationOptimizedLinearLayoutComparisonTest { private static final int[] LAYOUT_PARAMS = {MATCH_PARENT, WRAP_CONTENT, 0, 50}; private static final int[] CHILD_WEIGHTS = {0, 1}; private static final int[] CHILD_MARGINS = {0, 10, -10}; @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(); private Context mContext; Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotifRemoteViewsFactoryContainer.kt +1 −4 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ package com.android.systemui.statusbar.notification.row import android.widget.flags.Flags.notifLinearlayoutOptimized import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.Flags import com.android.systemui.statusbar.notification.row.icon.NotificationRowIconViewInflaterFactory Loading @@ -42,9 +41,7 @@ constructor( if (featureFlags.isEnabled(Flags.BIGPICTURE_NOTIFICATION_LAZY_LOADING)) { add(bigPictureLayoutInflaterFactory) } if (notifLinearlayoutOptimized()) { add(optimizedLinearLayoutFactory) } add(notificationViewFlipperFactory.get()) if (android.app.Flags.notificationsRedesignAppIcons()) { add(notificationRowIconViewInflaterFactory) Loading