import com.android.internal.statusbar.StatusBarIcon;
import com.android.internal.statusbar.StatusBarIconList;
import com.android.internal.util.LegacyNotificationUtil;
-import com.android.internal.widget.SizeAdaptiveLayout;
import com.android.systemui.R;
import com.android.systemui.RecentsComponent;
import com.android.systemui.SearchPanelView;
for (int i = n-1; i >= 0; i--) {
NotificationData.Entry entry = mNotificationData.get(i);
if (mOnKeyguard) {
- entry.row.setSystemExpanded(false);
+ entry.row.setExpansionDisabled(true);
} else {
+ entry.row.setExpansionDisabled(false);
if (!entry.row.isUserLocked()) {
boolean top = (i == n-1);
- entry.row.setSystemExpanded(top || entry.row.isUserExpanded());
+ entry.row.setSystemExpanded(top);
}
}
entry.row.setDimmed(mOnKeyguard);
final boolean userChangedExpansion = oldEntry.row.hasUserChangedExpansion();
if (userChangedExpansion) {
boolean userExpanded = oldEntry.row.isUserExpanded();
- newEntry.row.applyExpansionToLayout(userExpanded);
newEntry.row.setUserExpanded(userExpanded);
+ newEntry.row.applyExpansionToLayout();
}
}
package com.android.systemui.statusbar;
import android.content.Context;
-import android.graphics.Canvas;
import android.util.AttributeSet;
-import android.util.Log;
import android.view.View;
import android.view.accessibility.AccessibilityEvent;
* user expansion.
*/
private boolean mIsSystemExpanded;
+
+ /**
+ * Whether the notification expansion is disabled. This is the case on Keyguard.
+ */
+ private boolean mExpansionDisabled;
+
private NotificationContentView mPublicLayout;
private NotificationContentView mPrivateLayout;
private int mMaxExpandHeight;
*/
public void setSystemExpanded(boolean expand) {
mIsSystemExpanded = expand;
- applyExpansionToLayout(expand);
+ applyExpansionToLayout();
+ }
+
+ /**
+ * @param expansionDisabled whether to prevent notification expansion
+ */
+ public void setExpansionDisabled(boolean expansionDisabled) {
+ mExpansionDisabled = expansionDisabled;
+ applyExpansionToLayout();
}
/**
* Apply an expansion state to the layout.
- *
- * @param expand should the layout be in the expanded state
*/
- public void applyExpansionToLayout(boolean expand) {
+ public void applyExpansionToLayout() {
+ boolean expand = isExpanded();
if (expand && mExpandable) {
setActualHeight(mMaxExpandHeight);
} else {
* @return whether the view state is currently expanded.
*/
private boolean isExpanded() {
- return !hasUserChangedExpansion() && isSystemExpanded() || isUserExpanded();
+ return !mExpansionDisabled
+ && (!hasUserChangedExpansion() && isSystemExpanded() || isUserExpanded());
}
@Override
boolean updateExpandHeight = mMaxExpandHeight == 0;
mMaxExpandHeight = mPrivateLayout.getMaxHeight();
if (updateExpandHeight) {
- applyExpansionToLayout(isExpanded());
+ applyExpansionToLayout();
}
}