Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5f6feb7a authored by Alison Cichowlas's avatar Alison Cichowlas
Browse files

[RONs] Fix bad demote layout when Snooze is turned on.

In prod builds, Snooze does not appear as a menu item (it's a button
in the corner) even if enabled. Snooze menu item was sneaking in when
inline demote was enabled; this change returns to current prod behavior
for snooze.

Bug: 406518507
Test: atest SystemUiTests
Flag: com.android.systemui.permission_helper_inline_ui_rich_ongoing
Change-Id: I71d17b3ae1e2f99957508bfb58fca17a6b02a232
parent a29e2f50
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -19,6 +19,8 @@ import static android.view.HapticFeedbackConstants.CLOCK_TICK;

import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertFalse;
import static junit.framework.Assert.assertNotNull;
import static junit.framework.Assert.assertNull;
import static junit.framework.Assert.assertTrue;

import static org.mockito.Mockito.doNothing;
@@ -29,6 +31,7 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import android.platform.test.annotations.DisableFlags;
import android.platform.test.annotations.EnableFlags;
import android.provider.Settings;
import android.testing.TestableLooper;
import android.testing.TestableLooper.RunWithLooper;
@@ -438,4 +441,20 @@ public class NotificationMenuRowTest extends LeakCheckedTest {
                row.isSnappingToDismiss());
        verify(mView, times(4)).performHapticFeedback(CLOCK_TICK);
    }

    @Test
    @EnableFlags(Flags.FLAG_PERMISSION_HELPER_INLINE_UI_RICH_ONGOING)
    public void testProhibitInlineSnooze() {
        NotificationMenuRowPlugin.MenuItem snoozeItem =
                NotificationMenuRow.createSnoozeItem(mContext);
        assertNull(snoozeItem.getMenuView());
    }

    @Test
    @DisableFlags(Flags.FLAG_PERMISSION_HELPER_INLINE_UI_RICH_ONGOING)
    public void testAllowInlineSnooze() {
        NotificationMenuRowPlugin.MenuItem snoozeItem =
                NotificationMenuRow.createSnoozeItem(mContext);
        assertNotNull(snoozeItem.getMenuView());
    }
}
+8 −2
Original line number Diff line number Diff line
@@ -688,13 +688,19 @@ public class NotificationMenuRow implements NotificationMenuRowPlugin, View.OnCl
        }
    }

    static MenuItem createSnoozeItem(Context context) {
    @VisibleForTesting static MenuItem createSnoozeItem(Context context) {
        Resources res = context.getResources();
        NotificationSnooze content = (NotificationSnooze) LayoutInflater.from(context)
                .inflate(R.layout.notification_snooze, null, false);
        String snoozeDescription = res.getString(R.string.notification_menu_snooze_description);
        int snoozeId;
        if (Flags.permissionHelperInlineUiRichOngoing()) {
            snoozeId = NotificationMenuItem.OMIT_FROM_SWIPE_MENU;
        } else {
            snoozeId = R.drawable.ic_snooze;
        }
        MenuItem snooze = new NotificationMenuItem(context, snoozeDescription, content,
                R.drawable.ic_snooze);
                snoozeId);
        return snooze;
    }