Merge "Adapted the measuring of notification content view" into nyc-dev
This commit is contained in:
@@ -58,7 +58,7 @@
|
||||
<item name="status_bar_icon_scale_factor" format="float" type="dimen">1.0</item>
|
||||
|
||||
<!-- Height of a small notification in the status bar-->
|
||||
<dimen name="notification_min_height">84dp</dimen>
|
||||
<dimen name="notification_min_height">86dp</dimen>
|
||||
|
||||
<!-- Height of a small notification in the status bar which was used before android N -->
|
||||
<dimen name="notification_min_height_legacy">64dp</dimen>
|
||||
|
||||
@@ -251,7 +251,6 @@ public class ExpandableNotificationRow extends ActivatableNotificationView {
|
||||
!= com.android.internal.R.id.status_bar_latest_event_content;
|
||||
int headsUpheight = headsUpCustom && beforeN ? mMaxHeadsUpHeightLegacy
|
||||
: mMaxHeadsUpHeight;
|
||||
mMaxViewHeight = mNotificationMaxHeight;
|
||||
mPrivateLayout.setHeights(minHeight, headsUpheight, mNotificationMaxHeight);
|
||||
mPublicLayout.setHeights(minHeight, headsUpheight, mNotificationMaxHeight);
|
||||
}
|
||||
@@ -573,16 +572,23 @@ public class ExpandableNotificationRow extends ActivatableNotificationView {
|
||||
}
|
||||
|
||||
private void initDimens() {
|
||||
mNotificationMinHeightLegacy = getResources().getDimensionPixelSize(
|
||||
R.dimen.notification_min_height_legacy);
|
||||
mNotificationMinHeight = getResources().getDimensionPixelSize(
|
||||
R.dimen.notification_min_height);
|
||||
mNotificationMaxHeight = getResources().getDimensionPixelSize(
|
||||
R.dimen.notification_max_height);
|
||||
mMaxHeadsUpHeightLegacy = getResources().getDimensionPixelSize(
|
||||
mNotificationMinHeightLegacy = getFontScaledHeight(R.dimen.notification_min_height_legacy);
|
||||
mNotificationMinHeight = getFontScaledHeight(R.dimen.notification_min_height);
|
||||
mNotificationMaxHeight = getFontScaledHeight(R.dimen.notification_max_height);
|
||||
mMaxHeadsUpHeightLegacy = getFontScaledHeight(
|
||||
R.dimen.notification_max_heads_up_height_legacy);
|
||||
mMaxHeadsUpHeight = getResources().getDimensionPixelSize(
|
||||
R.dimen.notification_max_heads_up_height);
|
||||
mMaxHeadsUpHeight = getFontScaledHeight(R.dimen.notification_max_heads_up_height);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param dimenId the dimen to look up
|
||||
* @return the font scaled dimen as if it were in sp but doesn't shrink sizes below dp
|
||||
*/
|
||||
private int getFontScaledHeight(int dimenId) {
|
||||
int dimensionPixelSize = getResources().getDimensionPixelSize(dimenId);
|
||||
float factor = Math.max(1.0f, getResources().getDisplayMetrics().scaledDensity /
|
||||
getResources().getDisplayMetrics().density);
|
||||
return (int) (dimensionPixelSize * factor);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -592,7 +598,6 @@ public class ExpandableNotificationRow extends ActivatableNotificationView {
|
||||
public void reset() {
|
||||
super.reset();
|
||||
final boolean wasExpanded = isExpanded();
|
||||
mMaxViewHeight = 0;
|
||||
mExpandable = false;
|
||||
mHasUserChangedExpansion = false;
|
||||
mUserLocked = false;
|
||||
|
||||
@@ -24,7 +24,6 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.FrameLayout;
|
||||
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.statusbar.stack.NotificationStackScrollLayout;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -35,7 +34,6 @@ import java.util.ArrayList;
|
||||
public abstract class ExpandableView extends FrameLayout {
|
||||
|
||||
protected OnHeightChangedListener mOnHeightChangedListener;
|
||||
protected int mMaxViewHeight;
|
||||
private int mActualHeight;
|
||||
protected int mClipTopAmount;
|
||||
private boolean mActualHeightInitialized;
|
||||
@@ -49,8 +47,6 @@ public abstract class ExpandableView extends FrameLayout {
|
||||
|
||||
public ExpandableView(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
mMaxViewHeight = getResources().getDimensionPixelSize(
|
||||
R.dimen.notification_max_height);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -144,11 +144,11 @@ public class NotificationContentView extends FrameLayout {
|
||||
}
|
||||
if (mContractedChild != null) {
|
||||
int heightSpec;
|
||||
int size = Math.min(maxSize, mSmallHeight);
|
||||
if (shouldContractedBeFixedSize()) {
|
||||
int size = Math.min(maxSize, mSmallHeight);
|
||||
heightSpec = MeasureSpec.makeMeasureSpec(size, MeasureSpec.EXACTLY);
|
||||
} else {
|
||||
heightSpec = MeasureSpec.makeMeasureSpec(maxSize, MeasureSpec.AT_MOST);
|
||||
heightSpec = MeasureSpec.makeMeasureSpec(size, MeasureSpec.AT_MOST);
|
||||
}
|
||||
mContractedChild.measure(widthMeasureSpec, heightSpec);
|
||||
int measuredHeight = mContractedChild.getMeasuredHeight();
|
||||
|
||||
Reference in New Issue
Block a user