Merge "Adapted the measuring of notification content view" into nyc-dev

This commit is contained in:
Selim Cinek
2016-02-19 23:03:58 +00:00
committed by Android (Google) Code Review
4 changed files with 19 additions and 18 deletions

View File

@@ -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>

View File

@@ -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;

View File

@@ -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

View File

@@ -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();