Search in sources :

Example 26 with NotificationHeaderView

use of android.view.NotificationHeaderView in project android_frameworks_base by AOSPA.

the class HeaderTransformState method initFrom.

@Override
public void initFrom(View view) {
    super.initFrom(view);
    if (view instanceof NotificationHeaderView) {
        NotificationHeaderView header = (NotificationHeaderView) view;
        mExpandButton = header.getExpandButton();
        mWorkProfileState = TransformState.obtain();
        mWorkProfileIcon = header.getWorkProfileIcon();
        mWorkProfileState.initFrom(mWorkProfileIcon);
    }
}
Also used : NotificationHeaderView(android.view.NotificationHeaderView)

Example 27 with NotificationHeaderView

use of android.view.NotificationHeaderView in project android_frameworks_base by AOSPA.

the class HeaderTransformState method transformViewFrom.

@Override
public void transformViewFrom(TransformState otherState, float transformationAmount) {
    // but the expand button, so lets fade just that one and transform the work profile icon.
    if (!(mTransformedView instanceof NotificationHeaderView)) {
        return;
    }
    NotificationHeaderView header = (NotificationHeaderView) mTransformedView;
    header.setVisibility(View.VISIBLE);
    header.setAlpha(1.0f);
    int childCount = header.getChildCount();
    for (int i = 0; i < childCount; i++) {
        View headerChild = header.getChildAt(i);
        if (headerChild.getVisibility() == View.GONE) {
            continue;
        }
        if (headerChild == mExpandButton) {
            CrossFadeHelper.fadeIn(mExpandButton, transformationAmount);
        } else {
            headerChild.setVisibility(View.VISIBLE);
            if (headerChild == mWorkProfileIcon) {
                mWorkProfileState.transformViewFullyFrom(((HeaderTransformState) otherState).mWorkProfileState, transformationAmount);
            }
        }
    }
    return;
}
Also used : NotificationHeaderView(android.view.NotificationHeaderView) View(android.view.View) NotificationHeaderView(android.view.NotificationHeaderView)

Example 28 with NotificationHeaderView

use of android.view.NotificationHeaderView in project platform_frameworks_base by android.

the class NotificationContentView method updateContractedHeaderWidth.

private boolean updateContractedHeaderWidth() {
    // We need to update the expanded and the collapsed header to have exactly the same with to
    // have the expand buttons laid out at the same location.
    NotificationHeaderView contractedHeader = mContractedWrapper.getNotificationHeader();
    if (contractedHeader != null) {
        if (mExpandedChild != null && mExpandedWrapper.getNotificationHeader() != null) {
            NotificationHeaderView expandedHeader = mExpandedWrapper.getNotificationHeader();
            int expandedSize = expandedHeader.getMeasuredWidth() - expandedHeader.getPaddingEnd();
            int collapsedSize = contractedHeader.getMeasuredWidth() - expandedHeader.getPaddingEnd();
            if (expandedSize != collapsedSize) {
                int paddingEnd = contractedHeader.getMeasuredWidth() - expandedSize;
                contractedHeader.setPadding(contractedHeader.isLayoutRtl() ? paddingEnd : contractedHeader.getPaddingLeft(), contractedHeader.getPaddingTop(), contractedHeader.isLayoutRtl() ? contractedHeader.getPaddingLeft() : paddingEnd, contractedHeader.getPaddingBottom());
                contractedHeader.setShowWorkBadgeAtEnd(true);
                return true;
            }
        } else {
            int paddingEnd = mNotificationContentMarginEnd;
            if (contractedHeader.getPaddingEnd() != paddingEnd) {
                contractedHeader.setPadding(contractedHeader.isLayoutRtl() ? paddingEnd : contractedHeader.getPaddingLeft(), contractedHeader.getPaddingTop(), contractedHeader.isLayoutRtl() ? contractedHeader.getPaddingLeft() : paddingEnd, contractedHeader.getPaddingBottom());
                contractedHeader.setShowWorkBadgeAtEnd(false);
                return true;
            }
        }
    }
    return false;
}
Also used : NotificationHeaderView(android.view.NotificationHeaderView)

Example 29 with NotificationHeaderView

use of android.view.NotificationHeaderView in project platform_frameworks_base by android.

the class NotificationContentView method focusExpandButtonIfNecessary.

private void focusExpandButtonIfNecessary() {
    if (mFocusOnVisibilityChange) {
        NotificationHeaderView header = getVisibleNotificationHeader();
        if (header != null) {
            ImageView expandButton = header.getExpandButton();
            if (expandButton != null) {
                expandButton.requestAccessibilityFocus();
            }
        }
        mFocusOnVisibilityChange = false;
    }
}
Also used : NotificationHeaderView(android.view.NotificationHeaderView) ImageView(android.widget.ImageView)

Example 30 with NotificationHeaderView

use of android.view.NotificationHeaderView in project platform_frameworks_base by android.

the class HeaderTransformState method initFrom.

@Override
public void initFrom(View view) {
    super.initFrom(view);
    if (view instanceof NotificationHeaderView) {
        NotificationHeaderView header = (NotificationHeaderView) view;
        mExpandButton = header.getExpandButton();
        mWorkProfileState = TransformState.obtain();
        mWorkProfileIcon = header.getWorkProfileIcon();
        mWorkProfileState.initFrom(mWorkProfileIcon);
    }
}
Also used : NotificationHeaderView(android.view.NotificationHeaderView)

Aggregations

NotificationHeaderView (android.view.NotificationHeaderView)55 View (android.view.View)30 ImageView (android.widget.ImageView)10 TextView (android.widget.TextView)10 Notification (android.app.Notification)5 StatusBarNotification (android.service.notification.StatusBarNotification)5 RemoteViews (android.widget.RemoteViews)5 HybridNotificationView (com.android.systemui.statusbar.notification.HybridNotificationView)5 NotificationPanelView (com.android.systemui.statusbar.phone.NotificationPanelView)5