Loading core/java/android/provider/Settings.java +10 −2 Original line number Diff line number Diff line Loading @@ -1347,11 +1347,19 @@ public final class Settings { public static final String ACTION_NOTIFICATION_SETTINGS = "android.settings.NOTIFICATION_SETTINGS"; /** * Activity Action: Show app listing settings, filtered by those that send notifications. * * @hide */ @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) public static final String ACTION_ALL_APPS_NOTIFICATION_SETTINGS = "android.settings.ALL_APPS_NOTIFICATION_SETTINGS"; /** * Activity Action: Show notification settings for a single app. * <p> * Input: {@link #EXTRA_APP_PACKAGE}, the package containing the channel to display. * Input: Optionally, {@link #EXTRA_CHANNEL_ID}, to highlight that channel. * Input: {@link #EXTRA_APP_PACKAGE}, the package to display. * <p> * Output: Nothing. */ Loading packages/SystemUI/res/layout/status_bar_notification_dismiss_all.xml→packages/SystemUI/res/layout/status_bar_notification_footer.xml +18 −3 Original line number Diff line number Diff line Loading @@ -15,13 +15,27 @@ --> <!-- Extends Framelayout --> <com.android.systemui.statusbar.DismissView <com.android.systemui.statusbar.FooterView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingEnd="8dp" android:visibility="gone"> <com.android.systemui.statusbar.DismissViewButton <FrameLayout android:id="@+id/content" android:layout_width="match_parent" android:layout_height="wrap_content" > <com.android.systemui.statusbar.FooterViewButton style="@android:style/Widget.Material.Button.Borderless" android:id="@+id/manage_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="start" android:focusable="true" android:text="@string/manage_notifications_text" android:textColor="?attr/wallpaperTextColor" android:textAllCaps="false"/> <com.android.systemui.statusbar.FooterViewButton style="@android:style/Widget.Material.Button.Borderless" android:id="@+id/dismiss_text" android:layout_width="wrap_content" Loading @@ -32,4 +46,5 @@ android:text="@string/clear_all_notifications_text" android:textColor="?attr/wallpaperTextColor" android:textAllCaps="true"/> </com.android.systemui.statusbar.DismissView> </FrameLayout> </com.android.systemui.statusbar.FooterView> packages/SystemUI/res/values/strings.xml +3 −0 Original line number Diff line number Diff line Loading @@ -1053,6 +1053,9 @@ <!-- The text to clear all notifications. [CHAR LIMIT=60] --> <string name="clear_all_notifications_text">Clear all</string> <!-- The text for the manage notifications link. [CHAR LIMIT=40] --> <string name="manage_notifications_text">Manage notifications</string> <!-- The text to show in the notifications shade when dnd is suppressing notifications. [CHAR LIMIT=100] --> <string name="dnd_suppressing_shade_text">Do Not disturb is hiding notifications</string> Loading packages/SystemUI/src/com/android/systemui/statusbar/EmptyShadeView.java +5 −0 Original line number Diff line number Diff line Loading @@ -48,6 +48,11 @@ public class EmptyShadeView extends StackScrollerDecorView { return findViewById(R.id.no_notifications); } @Override protected View findSecondaryView() { return null; } public void setTextColor(@ColorInt int color) { mEmptyText.setTextColor(color); } Loading packages/SystemUI/src/com/android/systemui/statusbar/DismissView.java→packages/SystemUI/src/com/android/systemui/statusbar/FooterView.java +24 −12 Original line number Diff line number Diff line Loading @@ -26,11 +26,12 @@ import com.android.systemui.R; import com.android.systemui.statusbar.stack.ExpandableViewState; import com.android.systemui.statusbar.stack.StackScrollState; public class DismissView extends StackScrollerDecorView { public class FooterView extends StackScrollerDecorView { private final int mClearAllTopPadding; private DismissViewButton mDismissButton; private FooterViewButton mDismissButton; private FooterViewButton mManageButton; public DismissView(Context context, AttributeSet attrs) { public FooterView(Context context, AttributeSet attrs) { super(context, attrs); mClearAllTopPadding = context.getResources().getDimensionPixelSize( R.dimen.clear_all_padding_top); Loading @@ -38,21 +39,31 @@ public class DismissView extends StackScrollerDecorView { @Override protected View findContentView() { return findViewById(R.id.content); } protected View findSecondaryView() { return findViewById(R.id.dismiss_text); } @Override protected void onFinishInflate() { super.onFinishInflate(); mDismissButton = (DismissViewButton) findContentView(); mDismissButton = (FooterViewButton) findSecondaryView(); mManageButton = findViewById(R.id.manage_text); } public void setTextColor(@ColorInt int color) { mManageButton.setTextColor(color); mDismissButton.setTextColor(color); } public void setOnButtonClickListener(OnClickListener listener) { mContent.setOnClickListener(listener); public void setManageButtonClickListener(OnClickListener listener) { mManageButton.setOnClickListener(listener); } public void setDismissButtonClickListener(OnClickListener listener) { mDismissButton.setOnClickListener(listener); } public boolean isOnEmptySpace(float touchX, float touchY) { Loading @@ -68,25 +79,26 @@ public class DismissView extends StackScrollerDecorView { mDismissButton.setText(R.string.clear_all_notifications_text); mDismissButton.setContentDescription( mContext.getString(R.string.accessibility_clear_all)); mManageButton.setText(R.string.manage_notifications_text); } public boolean isButtonVisible() { return mDismissButton.getAlpha() != 0.0f; return mManageButton.getAlpha() != 0.0f; } @Override public ExpandableViewState createNewViewState(StackScrollState stackScrollState) { return new DismissViewState(); return new FooterViewState(); } public class DismissViewState extends ExpandableViewState { public class FooterViewState extends ExpandableViewState { @Override public void applyToView(View view) { super.applyToView(view); if (view instanceof DismissView) { DismissView dismissView = (DismissView) view; if (view instanceof FooterView) { FooterView footerView = (FooterView) view; boolean visible = this.clipTopAmount < mClearAllTopPadding; dismissView.performVisibilityAnimation(visible && !dismissView.willBeGone()); footerView.performVisibilityAnimation(visible && !footerView.willBeGone()); } } } Loading Loading
core/java/android/provider/Settings.java +10 −2 Original line number Diff line number Diff line Loading @@ -1347,11 +1347,19 @@ public final class Settings { public static final String ACTION_NOTIFICATION_SETTINGS = "android.settings.NOTIFICATION_SETTINGS"; /** * Activity Action: Show app listing settings, filtered by those that send notifications. * * @hide */ @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) public static final String ACTION_ALL_APPS_NOTIFICATION_SETTINGS = "android.settings.ALL_APPS_NOTIFICATION_SETTINGS"; /** * Activity Action: Show notification settings for a single app. * <p> * Input: {@link #EXTRA_APP_PACKAGE}, the package containing the channel to display. * Input: Optionally, {@link #EXTRA_CHANNEL_ID}, to highlight that channel. * Input: {@link #EXTRA_APP_PACKAGE}, the package to display. * <p> * Output: Nothing. */ Loading
packages/SystemUI/res/layout/status_bar_notification_dismiss_all.xml→packages/SystemUI/res/layout/status_bar_notification_footer.xml +18 −3 Original line number Diff line number Diff line Loading @@ -15,13 +15,27 @@ --> <!-- Extends Framelayout --> <com.android.systemui.statusbar.DismissView <com.android.systemui.statusbar.FooterView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingEnd="8dp" android:visibility="gone"> <com.android.systemui.statusbar.DismissViewButton <FrameLayout android:id="@+id/content" android:layout_width="match_parent" android:layout_height="wrap_content" > <com.android.systemui.statusbar.FooterViewButton style="@android:style/Widget.Material.Button.Borderless" android:id="@+id/manage_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="start" android:focusable="true" android:text="@string/manage_notifications_text" android:textColor="?attr/wallpaperTextColor" android:textAllCaps="false"/> <com.android.systemui.statusbar.FooterViewButton style="@android:style/Widget.Material.Button.Borderless" android:id="@+id/dismiss_text" android:layout_width="wrap_content" Loading @@ -32,4 +46,5 @@ android:text="@string/clear_all_notifications_text" android:textColor="?attr/wallpaperTextColor" android:textAllCaps="true"/> </com.android.systemui.statusbar.DismissView> </FrameLayout> </com.android.systemui.statusbar.FooterView>
packages/SystemUI/res/values/strings.xml +3 −0 Original line number Diff line number Diff line Loading @@ -1053,6 +1053,9 @@ <!-- The text to clear all notifications. [CHAR LIMIT=60] --> <string name="clear_all_notifications_text">Clear all</string> <!-- The text for the manage notifications link. [CHAR LIMIT=40] --> <string name="manage_notifications_text">Manage notifications</string> <!-- The text to show in the notifications shade when dnd is suppressing notifications. [CHAR LIMIT=100] --> <string name="dnd_suppressing_shade_text">Do Not disturb is hiding notifications</string> Loading
packages/SystemUI/src/com/android/systemui/statusbar/EmptyShadeView.java +5 −0 Original line number Diff line number Diff line Loading @@ -48,6 +48,11 @@ public class EmptyShadeView extends StackScrollerDecorView { return findViewById(R.id.no_notifications); } @Override protected View findSecondaryView() { return null; } public void setTextColor(@ColorInt int color) { mEmptyText.setTextColor(color); } Loading
packages/SystemUI/src/com/android/systemui/statusbar/DismissView.java→packages/SystemUI/src/com/android/systemui/statusbar/FooterView.java +24 −12 Original line number Diff line number Diff line Loading @@ -26,11 +26,12 @@ import com.android.systemui.R; import com.android.systemui.statusbar.stack.ExpandableViewState; import com.android.systemui.statusbar.stack.StackScrollState; public class DismissView extends StackScrollerDecorView { public class FooterView extends StackScrollerDecorView { private final int mClearAllTopPadding; private DismissViewButton mDismissButton; private FooterViewButton mDismissButton; private FooterViewButton mManageButton; public DismissView(Context context, AttributeSet attrs) { public FooterView(Context context, AttributeSet attrs) { super(context, attrs); mClearAllTopPadding = context.getResources().getDimensionPixelSize( R.dimen.clear_all_padding_top); Loading @@ -38,21 +39,31 @@ public class DismissView extends StackScrollerDecorView { @Override protected View findContentView() { return findViewById(R.id.content); } protected View findSecondaryView() { return findViewById(R.id.dismiss_text); } @Override protected void onFinishInflate() { super.onFinishInflate(); mDismissButton = (DismissViewButton) findContentView(); mDismissButton = (FooterViewButton) findSecondaryView(); mManageButton = findViewById(R.id.manage_text); } public void setTextColor(@ColorInt int color) { mManageButton.setTextColor(color); mDismissButton.setTextColor(color); } public void setOnButtonClickListener(OnClickListener listener) { mContent.setOnClickListener(listener); public void setManageButtonClickListener(OnClickListener listener) { mManageButton.setOnClickListener(listener); } public void setDismissButtonClickListener(OnClickListener listener) { mDismissButton.setOnClickListener(listener); } public boolean isOnEmptySpace(float touchX, float touchY) { Loading @@ -68,25 +79,26 @@ public class DismissView extends StackScrollerDecorView { mDismissButton.setText(R.string.clear_all_notifications_text); mDismissButton.setContentDescription( mContext.getString(R.string.accessibility_clear_all)); mManageButton.setText(R.string.manage_notifications_text); } public boolean isButtonVisible() { return mDismissButton.getAlpha() != 0.0f; return mManageButton.getAlpha() != 0.0f; } @Override public ExpandableViewState createNewViewState(StackScrollState stackScrollState) { return new DismissViewState(); return new FooterViewState(); } public class DismissViewState extends ExpandableViewState { public class FooterViewState extends ExpandableViewState { @Override public void applyToView(View view) { super.applyToView(view); if (view instanceof DismissView) { DismissView dismissView = (DismissView) view; if (view instanceof FooterView) { FooterView footerView = (FooterView) view; boolean visible = this.clipTopAmount < mClearAllTopPadding; dismissView.performVisibilityAnimation(visible && !dismissView.willBeGone()); footerView.performVisibilityAnimation(visible && !footerView.willBeGone()); } } } Loading