Loading core/java/android/app/Notification.java +5 −1 Original line number Diff line number Diff line Loading @@ -58,6 +58,7 @@ import android.util.SparseArray; import android.view.Gravity; import android.view.NotificationHeaderView; import android.view.View; import android.view.ViewGroup; import android.widget.ProgressBar; import android.widget.RemoteViews; Loading Loading @@ -3202,11 +3203,14 @@ public class Notification implements Parcelable bindNotificationHeader(contentView); bindLargeIcon(contentView); boolean showProgress = handleProgressBar(hasProgress, contentView, ex); if (title != null) { contentView.setViewVisibility(R.id.title, View.VISIBLE); contentView.setTextViewText(R.id.title, title); contentView.setViewLayoutWidth(R.id.title, showProgress ? ViewGroup.LayoutParams.WRAP_CONTENT : ViewGroup.LayoutParams.MATCH_PARENT); } boolean showProgress = handleProgressBar(hasProgress, contentView, ex); if (text != null) { int textId = showProgress ? com.android.internal.R.id.text_line_1 : com.android.internal.R.id.text; Loading packages/SystemUI/res/layout/status_bar_expanded.xml +1 −2 Original line number Diff line number Diff line Loading @@ -53,8 +53,7 @@ android:layout_width="@dimen/notification_panel_width" android:layout_height="match_parent" android:layout_gravity="@integer/notification_panel_layout_gravity" android:layout_marginBottom="@dimen/close_handle_underlap" android:importantForAccessibility="no" /> android:layout_marginBottom="@dimen/close_handle_underlap" /> <ViewStub android:id="@+id/keyguard_user_switcher" Loading packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java +75 −1 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ import android.graphics.PointF; import android.graphics.PorterDuff; import android.graphics.PorterDuffXfermode; import android.graphics.Rect; import android.os.Bundle; import android.os.Handler; import android.util.AttributeSet; import android.util.FloatProperty; Loading @@ -47,6 +48,8 @@ import android.view.ViewConfiguration; import android.view.ViewGroup; import android.view.ViewTreeObserver; import android.view.WindowInsets; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityNodeInfo; import android.view.animation.AnimationUtils; import android.view.animation.Interpolator; import android.widget.OverScroller; Loading Loading @@ -336,6 +339,7 @@ public class NotificationStackScrollLayout extends ViewGroup private boolean mFadingOut; private boolean mParentFadingOut; private boolean mGroupExpandedForMeasure; private boolean mScrollable; private View mForcedScroll; private float mBackgroundFadeAmount = 1.0f; private static final Property<NotificationStackScrollLayout, Float> BACKGROUND_FADE = Loading Loading @@ -443,7 +447,6 @@ public class NotificationStackScrollLayout extends ViewGroup private void initView(Context context) { mScroller = new OverScroller(getContext()); setFocusable(true); setDescendantFocusability(FOCUS_AFTER_DESCENDANTS); setClipChildren(false); final ViewConfiguration configuration = ViewConfiguration.get(context); Loading Loading @@ -1728,6 +1731,15 @@ public class NotificationStackScrollLayout extends ViewGroup } } mContentHeight = height + mTopPadding; updateScrollability(); } private void updateScrollability() { boolean scrollable = getScrollRange() > 0; if (scrollable != mScrollable) { mScrollable = scrollable; setFocusable(scrollable); } } private void updateBackground() { Loading Loading @@ -3520,6 +3532,68 @@ public class NotificationStackScrollLayout extends ViewGroup mPhoneStatusBar.requestNotificationUpdate(); } /** @hide */ @Override public void onInitializeAccessibilityEventInternal(AccessibilityEvent event) { super.onInitializeAccessibilityEventInternal(event); event.setScrollable(mScrollable); event.setScrollX(mScrollX); event.setScrollY(mOwnScrollY); event.setMaxScrollX(mScrollX); event.setMaxScrollY(getScrollRange()); } @Override public void onInitializeAccessibilityNodeInfoInternal(AccessibilityNodeInfo info) { super.onInitializeAccessibilityNodeInfoInternal(info); final int scrollRange = getScrollRange(); if (scrollRange > 0) { info.setScrollable(true); if (mScrollY > 0) { info.addAction( AccessibilityNodeInfo.AccessibilityAction.ACTION_SCROLL_BACKWARD); info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_SCROLL_UP); } if (mScrollY < scrollRange) { info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_SCROLL_FORWARD); info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_SCROLL_DOWN); } } } /** @hide */ @Override public boolean performAccessibilityActionInternal(int action, Bundle arguments) { if (super.performAccessibilityActionInternal(action, arguments)) { return true; } if (!isEnabled()) { return false; } int direction = -1; switch (action) { case AccessibilityNodeInfo.ACTION_SCROLL_FORWARD: // fall through case android.R.id.accessibilityActionScrollDown: direction = 1; // fall through case AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD: // fall through case android.R.id.accessibilityActionScrollUp: final int viewportHeight = getHeight() - mPaddingBottom - mTopPadding - mPaddingTop - mBottomStackPeekSize - mBottomStackSlowDownHeight; final int targetScrollY = Math.max(0, Math.min(mOwnScrollY + direction * viewportHeight, getScrollRange())); if (targetScrollY != mOwnScrollY) { mScroller.startScroll(mScrollX, mOwnScrollY, 0, targetScrollY - mOwnScrollY); postInvalidateOnAnimation(); return true; } break; } return false; } @Override public void onGroupsChanged() { mPhoneStatusBar.requestNotificationUpdate(); Loading Loading
core/java/android/app/Notification.java +5 −1 Original line number Diff line number Diff line Loading @@ -58,6 +58,7 @@ import android.util.SparseArray; import android.view.Gravity; import android.view.NotificationHeaderView; import android.view.View; import android.view.ViewGroup; import android.widget.ProgressBar; import android.widget.RemoteViews; Loading Loading @@ -3202,11 +3203,14 @@ public class Notification implements Parcelable bindNotificationHeader(contentView); bindLargeIcon(contentView); boolean showProgress = handleProgressBar(hasProgress, contentView, ex); if (title != null) { contentView.setViewVisibility(R.id.title, View.VISIBLE); contentView.setTextViewText(R.id.title, title); contentView.setViewLayoutWidth(R.id.title, showProgress ? ViewGroup.LayoutParams.WRAP_CONTENT : ViewGroup.LayoutParams.MATCH_PARENT); } boolean showProgress = handleProgressBar(hasProgress, contentView, ex); if (text != null) { int textId = showProgress ? com.android.internal.R.id.text_line_1 : com.android.internal.R.id.text; Loading
packages/SystemUI/res/layout/status_bar_expanded.xml +1 −2 Original line number Diff line number Diff line Loading @@ -53,8 +53,7 @@ android:layout_width="@dimen/notification_panel_width" android:layout_height="match_parent" android:layout_gravity="@integer/notification_panel_layout_gravity" android:layout_marginBottom="@dimen/close_handle_underlap" android:importantForAccessibility="no" /> android:layout_marginBottom="@dimen/close_handle_underlap" /> <ViewStub android:id="@+id/keyguard_user_switcher" Loading
packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java +75 −1 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ import android.graphics.PointF; import android.graphics.PorterDuff; import android.graphics.PorterDuffXfermode; import android.graphics.Rect; import android.os.Bundle; import android.os.Handler; import android.util.AttributeSet; import android.util.FloatProperty; Loading @@ -47,6 +48,8 @@ import android.view.ViewConfiguration; import android.view.ViewGroup; import android.view.ViewTreeObserver; import android.view.WindowInsets; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityNodeInfo; import android.view.animation.AnimationUtils; import android.view.animation.Interpolator; import android.widget.OverScroller; Loading Loading @@ -336,6 +339,7 @@ public class NotificationStackScrollLayout extends ViewGroup private boolean mFadingOut; private boolean mParentFadingOut; private boolean mGroupExpandedForMeasure; private boolean mScrollable; private View mForcedScroll; private float mBackgroundFadeAmount = 1.0f; private static final Property<NotificationStackScrollLayout, Float> BACKGROUND_FADE = Loading Loading @@ -443,7 +447,6 @@ public class NotificationStackScrollLayout extends ViewGroup private void initView(Context context) { mScroller = new OverScroller(getContext()); setFocusable(true); setDescendantFocusability(FOCUS_AFTER_DESCENDANTS); setClipChildren(false); final ViewConfiguration configuration = ViewConfiguration.get(context); Loading Loading @@ -1728,6 +1731,15 @@ public class NotificationStackScrollLayout extends ViewGroup } } mContentHeight = height + mTopPadding; updateScrollability(); } private void updateScrollability() { boolean scrollable = getScrollRange() > 0; if (scrollable != mScrollable) { mScrollable = scrollable; setFocusable(scrollable); } } private void updateBackground() { Loading Loading @@ -3520,6 +3532,68 @@ public class NotificationStackScrollLayout extends ViewGroup mPhoneStatusBar.requestNotificationUpdate(); } /** @hide */ @Override public void onInitializeAccessibilityEventInternal(AccessibilityEvent event) { super.onInitializeAccessibilityEventInternal(event); event.setScrollable(mScrollable); event.setScrollX(mScrollX); event.setScrollY(mOwnScrollY); event.setMaxScrollX(mScrollX); event.setMaxScrollY(getScrollRange()); } @Override public void onInitializeAccessibilityNodeInfoInternal(AccessibilityNodeInfo info) { super.onInitializeAccessibilityNodeInfoInternal(info); final int scrollRange = getScrollRange(); if (scrollRange > 0) { info.setScrollable(true); if (mScrollY > 0) { info.addAction( AccessibilityNodeInfo.AccessibilityAction.ACTION_SCROLL_BACKWARD); info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_SCROLL_UP); } if (mScrollY < scrollRange) { info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_SCROLL_FORWARD); info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_SCROLL_DOWN); } } } /** @hide */ @Override public boolean performAccessibilityActionInternal(int action, Bundle arguments) { if (super.performAccessibilityActionInternal(action, arguments)) { return true; } if (!isEnabled()) { return false; } int direction = -1; switch (action) { case AccessibilityNodeInfo.ACTION_SCROLL_FORWARD: // fall through case android.R.id.accessibilityActionScrollDown: direction = 1; // fall through case AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD: // fall through case android.R.id.accessibilityActionScrollUp: final int viewportHeight = getHeight() - mPaddingBottom - mTopPadding - mPaddingTop - mBottomStackPeekSize - mBottomStackSlowDownHeight; final int targetScrollY = Math.max(0, Math.min(mOwnScrollY + direction * viewportHeight, getScrollRange())); if (targetScrollY != mOwnScrollY) { mScroller.startScroll(mScrollX, mOwnScrollY, 0, targetScrollY - mOwnScrollY); postInvalidateOnAnimation(); return true; } break; } return false; } @Override public void onGroupsChanged() { mPhoneStatusBar.requestNotificationUpdate(); Loading