Merge "Inline NO_SORT_BY_INTERRUPTIVENESS" into udc-qpr-dev

This commit is contained in:
Matías Hernández
2023-08-08 09:39:03 +00:00
committed by Android (Google) Code Review
3 changed files with 6 additions and 47 deletions

View File

@@ -70,10 +70,6 @@ public class SystemUiSystemPropertiesFlags {
public static final Flag OTP_REDACTION =
devFlag("persist.sysui.notification.otp_redaction");
/** Gating the removal of sorting-notifications-by-interruptiveness. */
public static final Flag NO_SORT_BY_INTERRUPTIVENESS =
releasedFlag("persist.sysui.notification.no_sort_by_interruptiveness");
/** Gating the logging of DND state change events. */
public static final Flag LOG_DND_STATE_EVENTS =
releasedFlag("persist.sysui.notification.log_dnd_state_events");

View File

@@ -25,7 +25,6 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.telecom.TelecomManager;
import com.android.internal.config.sysui.SystemUiSystemPropertiesFlags;
import com.android.internal.util.NotificationMessagingUtil;
import java.util.Comparator;
@@ -39,7 +38,6 @@ public class NotificationComparator
private final Context mContext;
private final NotificationMessagingUtil mMessagingUtil;
private final boolean mSortByInterruptiveness;
private String mDefaultPhoneApp;
public NotificationComparator(Context context) {
@@ -47,8 +45,6 @@ public class NotificationComparator
mContext.registerReceiver(mPhoneAppBroadcastReceiver,
new IntentFilter(TelecomManager.ACTION_DEFAULT_DIALER_CHANGED));
mMessagingUtil = new NotificationMessagingUtil(mContext);
mSortByInterruptiveness = !SystemUiSystemPropertiesFlags.getResolver().isEnabled(
SystemUiSystemPropertiesFlags.NotificationFlags.NO_SORT_BY_INTERRUPTIVENESS);
}
@Override
@@ -139,14 +135,6 @@ public class NotificationComparator
return -1 * Integer.compare(leftPriority, rightPriority);
}
if (mSortByInterruptiveness) {
final boolean leftInterruptive = left.isInterruptive();
final boolean rightInterruptive = right.isInterruptive();
if (leftInterruptive != rightInterruptive) {
return -1 * Boolean.compare(leftInterruptive, rightInterruptive);
}
}
// then break ties by time, most recent first
return -1 * Long.compare(left.getRankingTimeMs(), right.getRankingTimeMs());
}

View File

@@ -15,8 +15,6 @@
*/
package com.android.server.notification;
import static com.android.internal.config.sysui.SystemUiSystemPropertiesFlags.NotificationFlags.NO_SORT_BY_INTERRUPTIVENESS;
import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.assertFalse;
@@ -47,6 +45,8 @@ import android.service.notification.StatusBarNotification;
import android.telecom.TelecomManager;
import android.test.suitebuilder.annotation.SmallTest;
import androidx.test.runner.AndroidJUnit4;
import com.android.internal.config.sysui.SystemUiSystemPropertiesFlags;
import com.android.server.UiServiceTestCase;
@@ -54,7 +54,6 @@ import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
@@ -63,7 +62,7 @@ import java.util.Collections;
import java.util.List;
@SmallTest
@RunWith(Parameterized.class)
@RunWith(AndroidJUnit4.class)
public class NotificationComparatorTest extends UiServiceTestCase {
@Mock Context mMockContext;
@Mock TelecomManager mTm;
@@ -97,24 +96,9 @@ public class NotificationComparatorTest extends UiServiceTestCase {
private NotificationRecord mRecordColorized;
private NotificationRecord mRecordColorizedCall;
@Parameterized.Parameters(name = "sortByInterruptiveness={0}")
public static Boolean[] getSortByInterruptiveness() {
return new Boolean[] { true, false };
}
@Parameterized.Parameter
public boolean mSortByInterruptiveness;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
SystemUiSystemPropertiesFlags.TEST_RESOLVER = flag -> {
if (flag.mSysPropKey.equals(NO_SORT_BY_INTERRUPTIVENESS.mSysPropKey)) {
return !mSortByInterruptiveness;
}
return new SystemUiSystemPropertiesFlags.DebugResolver().isEnabled(flag);
};
int userId = UserHandle.myUserId();
final Resources res = mContext.getResources();
@@ -309,13 +293,8 @@ public class NotificationComparatorTest extends UiServiceTestCase {
expected.add(mNoMediaSessionMedia);
expected.add(mRecordCheater);
expected.add(mRecordCheaterColorized);
if (mSortByInterruptiveness) {
expected.add(mRecordMinCall);
expected.add(mRecordMinCallNonInterruptive);
} else {
expected.add(mRecordMinCallNonInterruptive);
expected.add(mRecordMinCall);
}
expected.add(mRecordMinCallNonInterruptive);
expected.add(mRecordMinCall);
List<NotificationRecord> actual = new ArrayList<>();
actual.addAll(expected);
@@ -330,11 +309,7 @@ public class NotificationComparatorTest extends UiServiceTestCase {
public void testRankingScoreOverrides() {
NotificationComparator comp = new NotificationComparator(mMockContext);
NotificationRecord recordMinCallNonInterruptive = spy(mRecordMinCallNonInterruptive);
if (mSortByInterruptiveness) {
assertTrue(comp.compare(mRecordMinCall, recordMinCallNonInterruptive) < 0);
} else {
assertTrue(comp.compare(mRecordMinCall, recordMinCallNonInterruptive) > 0);
}
assertTrue(comp.compare(mRecordMinCall, recordMinCallNonInterruptive) > 0);
when(recordMinCallNonInterruptive.getRankingScore()).thenReturn(1f);
assertTrue(comp.compare(mRecordMinCall, recordMinCallNonInterruptive) > 0);