Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/row/FooterView.java +15 −29 Original line number Diff line number Diff line Loading @@ -17,8 +17,6 @@ package com.android.systemui.statusbar.notification.row; import android.annotation.ColorInt; import android.annotation.DrawableRes; import android.annotation.StringRes; import android.content.Context; import android.content.res.ColorStateList; import android.content.res.Configuration; Loading Loading @@ -50,8 +48,8 @@ public class FooterView extends StackScrollerDecorView { // Footer label private TextView mSeenNotifsFooterTextView; private @StringRes int mSeenNotifsFilteredText; private int mUnlockIconSize; private String mSeenNotifsFilteredText; private Drawable mSeenNotifsFilteredIcon; public FooterView(Context context, AttributeSet attrs) { super(context, attrs); Loading Loading @@ -87,30 +85,12 @@ public class FooterView extends StackScrollerDecorView { mManageButton = findViewById(R.id.manage_text); mSeenNotifsFooterTextView = findViewById(R.id.unlock_prompt_footer); updateResources(); updateText(); updateContent(); updateColors(); } public void setFooterLabelTextAndIcon(@StringRes int text, @DrawableRes int icon) { mSeenNotifsFilteredText = text; if (mSeenNotifsFilteredText != 0) { mSeenNotifsFooterTextView.setText(mSeenNotifsFilteredText); } else { mSeenNotifsFooterTextView.setText(null); } Drawable drawable; if (icon == 0) { drawable = null; } else { drawable = getResources().getDrawable(icon); drawable.setBounds(0, 0, mUnlockIconSize, mUnlockIconSize); } mSeenNotifsFooterTextView.setCompoundDrawablesRelative(drawable, null, null, null); updateFooterVisibilityMode(); } private void updateFooterVisibilityMode() { if (mSeenNotifsFilteredText != 0) { public void setFooterLabelVisible(boolean isVisible) { if (isVisible) { mManageButton.setVisibility(View.GONE); mClearAllButton.setVisibility(View.GONE); mSeenNotifsFooterTextView.setVisibility(View.VISIBLE); Loading Loading @@ -141,10 +121,10 @@ public class FooterView extends StackScrollerDecorView { return; } mShowHistory = showHistory; updateText(); updateContent(); } private void updateText() { private void updateContent() { if (mShowHistory) { mManageButton.setText(mManageNotificationHistoryText); mManageButton.setContentDescription(mManageNotificationHistoryText); Loading @@ -152,6 +132,9 @@ public class FooterView extends StackScrollerDecorView { mManageButton.setText(mManageNotificationText); mManageButton.setContentDescription(mManageNotificationText); } mSeenNotifsFooterTextView.setText(mSeenNotifsFilteredText); mSeenNotifsFooterTextView .setCompoundDrawablesRelative(mSeenNotifsFilteredIcon, null, null, null); } public boolean isHistoryShown() { Loading @@ -166,7 +149,7 @@ public class FooterView extends StackScrollerDecorView { mClearAllButton.setContentDescription( mContext.getString(R.string.accessibility_clear_all)); updateResources(); updateText(); updateContent(); } /** Loading @@ -190,8 +173,11 @@ public class FooterView extends StackScrollerDecorView { mManageNotificationText = getContext().getString(R.string.manage_notifications_text); mManageNotificationHistoryText = getContext() .getString(R.string.manage_notifications_history_text); mUnlockIconSize = getResources() int unlockIconSize = getResources() .getDimensionPixelSize(R.dimen.notifications_unseen_footer_icon_size); mSeenNotifsFilteredText = getContext().getString(R.string.unlock_to_see_notif_text); mSeenNotifsFilteredIcon = getContext().getDrawable(R.drawable.ic_friction_lock_closed); mSeenNotifsFilteredIcon.setBounds(0, 0, unlockIconSize, unlockIconSize); } @Override Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java +1 −7 Original line number Diff line number Diff line Loading @@ -4746,13 +4746,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable mFooterView.setVisible(visible, animate); mFooterView.setSecondaryVisible(showDismissView, animate); mFooterView.showHistory(showHistory); if (mHasFilteredOutSeenNotifications) { mFooterView.setFooterLabelTextAndIcon( R.string.unlock_to_see_notif_text, R.drawable.ic_friction_lock_closed); } else { mFooterView.setFooterLabelTextAndIcon(0, 0); } mFooterView.setFooterLabelVisible(mHasFilteredOutSeenNotifications); } @ShadeViewRefactor(RefactorComponent.SHADE_VIEW) Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/FooterViewTest.java +13 −6 Original line number Diff line number Diff line Loading @@ -24,12 +24,12 @@ import static junit.framework.Assert.assertTrue; import static org.mockito.Mockito.mock; import android.testing.AndroidTestingRunner; import android.view.LayoutInflater; import android.view.View; import android.widget.TextView; import androidx.test.filters.SmallTest; import androidx.test.runner.AndroidJUnit4; import com.android.systemui.R; import com.android.systemui.SysuiTestCase; Loading @@ -39,7 +39,7 @@ import org.junit.Test; import org.junit.runner.RunWith; @SmallTest @RunWith(AndroidJUnit4.class) @RunWith(AndroidTestingRunner.class) public class FooterViewTest extends SysuiTestCase { FooterView mView; Loading Loading @@ -102,14 +102,21 @@ public class FooterViewTest extends SysuiTestCase { } @Test public void testSetFooterLabelTextAndIcon() { mView.setFooterLabelTextAndIcon( R.string.unlock_to_see_notif_text, R.drawable.ic_friction_lock_closed); public void testSetFooterLabelVisible() { mView.setFooterLabelVisible(true); assertThat(mView.findViewById(R.id.manage_text).getVisibility()).isEqualTo(View.GONE); assertThat(mView.findSecondaryView().getVisibility()).isEqualTo(View.GONE); assertThat(mView.findViewById(R.id.unlock_prompt_footer).getVisibility()) .isEqualTo(View.VISIBLE); } @Test public void testSetFooterLabelInvisible() { mView.setFooterLabelVisible(false); assertThat(mView.findViewById(R.id.manage_text).getVisibility()).isEqualTo(View.VISIBLE); assertThat(mView.findSecondaryView().getVisibility()).isEqualTo(View.VISIBLE); assertThat(mView.findViewById(R.id.unlock_prompt_footer).getVisibility()) .isEqualTo(View.GONE); } } Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/row/FooterView.java +15 −29 Original line number Diff line number Diff line Loading @@ -17,8 +17,6 @@ package com.android.systemui.statusbar.notification.row; import android.annotation.ColorInt; import android.annotation.DrawableRes; import android.annotation.StringRes; import android.content.Context; import android.content.res.ColorStateList; import android.content.res.Configuration; Loading Loading @@ -50,8 +48,8 @@ public class FooterView extends StackScrollerDecorView { // Footer label private TextView mSeenNotifsFooterTextView; private @StringRes int mSeenNotifsFilteredText; private int mUnlockIconSize; private String mSeenNotifsFilteredText; private Drawable mSeenNotifsFilteredIcon; public FooterView(Context context, AttributeSet attrs) { super(context, attrs); Loading Loading @@ -87,30 +85,12 @@ public class FooterView extends StackScrollerDecorView { mManageButton = findViewById(R.id.manage_text); mSeenNotifsFooterTextView = findViewById(R.id.unlock_prompt_footer); updateResources(); updateText(); updateContent(); updateColors(); } public void setFooterLabelTextAndIcon(@StringRes int text, @DrawableRes int icon) { mSeenNotifsFilteredText = text; if (mSeenNotifsFilteredText != 0) { mSeenNotifsFooterTextView.setText(mSeenNotifsFilteredText); } else { mSeenNotifsFooterTextView.setText(null); } Drawable drawable; if (icon == 0) { drawable = null; } else { drawable = getResources().getDrawable(icon); drawable.setBounds(0, 0, mUnlockIconSize, mUnlockIconSize); } mSeenNotifsFooterTextView.setCompoundDrawablesRelative(drawable, null, null, null); updateFooterVisibilityMode(); } private void updateFooterVisibilityMode() { if (mSeenNotifsFilteredText != 0) { public void setFooterLabelVisible(boolean isVisible) { if (isVisible) { mManageButton.setVisibility(View.GONE); mClearAllButton.setVisibility(View.GONE); mSeenNotifsFooterTextView.setVisibility(View.VISIBLE); Loading Loading @@ -141,10 +121,10 @@ public class FooterView extends StackScrollerDecorView { return; } mShowHistory = showHistory; updateText(); updateContent(); } private void updateText() { private void updateContent() { if (mShowHistory) { mManageButton.setText(mManageNotificationHistoryText); mManageButton.setContentDescription(mManageNotificationHistoryText); Loading @@ -152,6 +132,9 @@ public class FooterView extends StackScrollerDecorView { mManageButton.setText(mManageNotificationText); mManageButton.setContentDescription(mManageNotificationText); } mSeenNotifsFooterTextView.setText(mSeenNotifsFilteredText); mSeenNotifsFooterTextView .setCompoundDrawablesRelative(mSeenNotifsFilteredIcon, null, null, null); } public boolean isHistoryShown() { Loading @@ -166,7 +149,7 @@ public class FooterView extends StackScrollerDecorView { mClearAllButton.setContentDescription( mContext.getString(R.string.accessibility_clear_all)); updateResources(); updateText(); updateContent(); } /** Loading @@ -190,8 +173,11 @@ public class FooterView extends StackScrollerDecorView { mManageNotificationText = getContext().getString(R.string.manage_notifications_text); mManageNotificationHistoryText = getContext() .getString(R.string.manage_notifications_history_text); mUnlockIconSize = getResources() int unlockIconSize = getResources() .getDimensionPixelSize(R.dimen.notifications_unseen_footer_icon_size); mSeenNotifsFilteredText = getContext().getString(R.string.unlock_to_see_notif_text); mSeenNotifsFilteredIcon = getContext().getDrawable(R.drawable.ic_friction_lock_closed); mSeenNotifsFilteredIcon.setBounds(0, 0, unlockIconSize, unlockIconSize); } @Override Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java +1 −7 Original line number Diff line number Diff line Loading @@ -4746,13 +4746,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable mFooterView.setVisible(visible, animate); mFooterView.setSecondaryVisible(showDismissView, animate); mFooterView.showHistory(showHistory); if (mHasFilteredOutSeenNotifications) { mFooterView.setFooterLabelTextAndIcon( R.string.unlock_to_see_notif_text, R.drawable.ic_friction_lock_closed); } else { mFooterView.setFooterLabelTextAndIcon(0, 0); } mFooterView.setFooterLabelVisible(mHasFilteredOutSeenNotifications); } @ShadeViewRefactor(RefactorComponent.SHADE_VIEW) Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/FooterViewTest.java +13 −6 Original line number Diff line number Diff line Loading @@ -24,12 +24,12 @@ import static junit.framework.Assert.assertTrue; import static org.mockito.Mockito.mock; import android.testing.AndroidTestingRunner; import android.view.LayoutInflater; import android.view.View; import android.widget.TextView; import androidx.test.filters.SmallTest; import androidx.test.runner.AndroidJUnit4; import com.android.systemui.R; import com.android.systemui.SysuiTestCase; Loading @@ -39,7 +39,7 @@ import org.junit.Test; import org.junit.runner.RunWith; @SmallTest @RunWith(AndroidJUnit4.class) @RunWith(AndroidTestingRunner.class) public class FooterViewTest extends SysuiTestCase { FooterView mView; Loading Loading @@ -102,14 +102,21 @@ public class FooterViewTest extends SysuiTestCase { } @Test public void testSetFooterLabelTextAndIcon() { mView.setFooterLabelTextAndIcon( R.string.unlock_to_see_notif_text, R.drawable.ic_friction_lock_closed); public void testSetFooterLabelVisible() { mView.setFooterLabelVisible(true); assertThat(mView.findViewById(R.id.manage_text).getVisibility()).isEqualTo(View.GONE); assertThat(mView.findSecondaryView().getVisibility()).isEqualTo(View.GONE); assertThat(mView.findViewById(R.id.unlock_prompt_footer).getVisibility()) .isEqualTo(View.VISIBLE); } @Test public void testSetFooterLabelInvisible() { mView.setFooterLabelVisible(false); assertThat(mView.findViewById(R.id.manage_text).getVisibility()).isEqualTo(View.VISIBLE); assertThat(mView.findSecondaryView().getVisibility()).isEqualTo(View.VISIBLE); assertThat(mView.findViewById(R.id.unlock_prompt_footer).getVisibility()) .isEqualTo(View.GONE); } }