Merge "Fix uiservicestests" into udc-dev

This commit is contained in:
Julia Reynolds
2023-03-29 13:11:13 +00:00
committed by Android (Google) Code Review
9 changed files with 114 additions and 102 deletions

View File

@@ -32,6 +32,7 @@
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.OBSERVE_ROLE_HOLDERS" />
<uses-permission android:name="android.permission.GET_INTENT_SENDER_INTENT"/>
<uses-permission android:name="android.permission.READ_DEVICE_CONFIG" />
<uses-permission android:name="android.permission.WRITE_DEVICE_CONFIG" />
<uses-permission android:name="android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" />

View File

@@ -16,8 +16,10 @@ package com.android.server;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;
import android.content.Intent;
import android.content.pm.PackageManagerInternal;
import android.net.Uri;
import android.os.Build;
@@ -44,8 +46,8 @@ public class UiServiceTestCase {
protected static final String PKG_R = "com.example.r";
@Rule
public final TestableContext mContext =
new TestableContext(InstrumentationRegistry.getContext(), null);
public TestableContext mContext =
spy(new TestableContext(InstrumentationRegistry.getContext(), null));
protected TestableContext getContext() {
return mContext;
@@ -81,6 +83,11 @@ public class UiServiceTestCase {
LocalServices.addService(UriGrantsManagerInternal.class, mUgmInternal);
when(mUgmInternal.checkGrantUriPermission(
anyInt(), anyString(), any(Uri.class), anyInt(), anyInt())).thenReturn(-1);
Mockito.doReturn(new Intent()).when(mContext).registerReceiverAsUser(
any(), any(), any(), any(), any());
Mockito.doReturn(new Intent()).when(mContext).registerReceiver(any(), any());
Mockito.doNothing().when(mContext).unregisterReceiver(any());
}
@After

View File

@@ -130,13 +130,18 @@ public class ManagedServicesTest extends UiServiceTestCase {
private ArrayMap<Integer, ArrayMap<Integer, String>> mExpectedPrimary;
private ArrayMap<Integer, ArrayMap<Integer, String>> mExpectedSecondary;
private UserHandle mUser;
private String mPkg;
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
getContext().setMockPackageManager(mPm);
getContext().addMockSystemService(Context.USER_SERVICE, mUm);
getContext().addMockSystemService(DEVICE_POLICY_SERVICE, mDpm);
mContext.setMockPackageManager(mPm);
mContext.addMockSystemService(Context.USER_SERVICE, mUm);
mContext.addMockSystemService(DEVICE_POLICY_SERVICE, mDpm);
mUser = mContext.getUser();
mPkg = mContext.getPackageName();
List<UserInfo> users = new ArrayList<>();
users.add(mZero);
@@ -861,8 +866,8 @@ public class ManagedServicesTest extends UiServiceTestCase {
ApplicationInfo ai = new ApplicationInfo();
ai.targetSdkVersion = Build.VERSION_CODES.CUR_DEVELOPMENT;
when(context.getPackageName()).thenReturn(mContext.getPackageName());
when(context.getUserId()).thenReturn(mContext.getUserId());
when(context.getPackageName()).thenReturn(mPkg);
when(context.getUserId()).thenReturn(mUser.getIdentifier());
when(context.getPackageManager()).thenReturn(pm);
when(pm.getApplicationInfo(anyString(), anyInt())).thenReturn(ai);
@@ -891,8 +896,8 @@ public class ManagedServicesTest extends UiServiceTestCase {
ApplicationInfo ai = new ApplicationInfo();
ai.targetSdkVersion = Build.VERSION_CODES.CUR_DEVELOPMENT;
when(context.getPackageName()).thenReturn(mContext.getPackageName());
when(context.getUserId()).thenReturn(mContext.getUserId());
when(context.getPackageName()).thenReturn(mPkg);
when(context.getUserId()).thenReturn(mUser.getIdentifier());
when(context.getPackageManager()).thenReturn(pm);
when(pm.getApplicationInfo(anyString(), anyInt())).thenReturn(ai);
@@ -921,8 +926,8 @@ public class ManagedServicesTest extends UiServiceTestCase {
ApplicationInfo ai = new ApplicationInfo();
ai.targetSdkVersion = Build.VERSION_CODES.CUR_DEVELOPMENT;
when(context.getPackageName()).thenReturn(mContext.getPackageName());
when(context.getUserId()).thenReturn(mContext.getUserId());
when(context.getPackageName()).thenReturn(mPkg);
when(context.getUserId()).thenReturn(mUser.getIdentifier());
when(context.getPackageManager()).thenReturn(pm);
when(pm.getApplicationInfo(anyString(), anyInt())).thenReturn(ai);
@@ -951,8 +956,8 @@ public class ManagedServicesTest extends UiServiceTestCase {
ApplicationInfo ai = new ApplicationInfo();
ai.targetSdkVersion = Build.VERSION_CODES.CUR_DEVELOPMENT;
when(context.getPackageName()).thenReturn(mContext.getPackageName());
when(context.getUserId()).thenReturn(mContext.getUserId());
when(context.getPackageName()).thenReturn(mPkg);
when(context.getUserId()).thenReturn(mUser.getIdentifier());
when(context.getPackageManager()).thenReturn(pm);
when(pm.getApplicationInfo(anyString(), anyInt())).thenReturn(ai);
@@ -981,8 +986,8 @@ public class ManagedServicesTest extends UiServiceTestCase {
ApplicationInfo ai = new ApplicationInfo();
ai.targetSdkVersion = Build.VERSION_CODES.CUR_DEVELOPMENT;
when(context.getPackageName()).thenReturn(mContext.getPackageName());
when(context.getUserId()).thenReturn(mContext.getUserId());
when(context.getPackageName()).thenReturn(mPkg);
when(context.getUserId()).thenReturn(mUser.getIdentifier());
when(context.getPackageManager()).thenReturn(pm);
when(pm.getApplicationInfo(anyString(), anyInt())).thenReturn(ai);
@@ -1011,8 +1016,8 @@ public class ManagedServicesTest extends UiServiceTestCase {
ApplicationInfo ai = new ApplicationInfo();
ai.targetSdkVersion = Build.VERSION_CODES.CUR_DEVELOPMENT;
when(context.getPackageName()).thenReturn(mContext.getPackageName());
when(context.getUserId()).thenReturn(mContext.getUserId());
when(context.getPackageName()).thenReturn(mPkg);
when(context.getUserId()).thenReturn(mUser.getIdentifier());
when(context.getPackageManager()).thenReturn(pm);
when(pm.getApplicationInfo(anyString(), anyInt())).thenReturn(ai);
@@ -1437,8 +1442,8 @@ public class ManagedServicesTest extends UiServiceTestCase {
ApplicationInfo ai = new ApplicationInfo();
ai.targetSdkVersion = Build.VERSION_CODES.CUR_DEVELOPMENT;
when(context.getPackageName()).thenReturn(mContext.getPackageName());
when(context.getUserId()).thenReturn(mContext.getUserId());
when(context.getPackageName()).thenReturn(mPkg);
when(context.getUserId()).thenReturn(mUser.getIdentifier());
when(context.getPackageManager()).thenReturn(pm);
when(pm.getApplicationInfo(anyString(), anyInt())).thenReturn(ai);
@@ -1464,8 +1469,8 @@ public class ManagedServicesTest extends UiServiceTestCase {
ApplicationInfo ai = new ApplicationInfo();
ai.targetSdkVersion = Build.VERSION_CODES.CUR_DEVELOPMENT;
when(context.getPackageName()).thenReturn(mContext.getPackageName());
when(context.getUserId()).thenReturn(mContext.getUserId());
when(context.getPackageName()).thenReturn(mPkg);
when(context.getUserId()).thenReturn(mUser.getIdentifier());
when(context.getPackageManager()).thenReturn(pm);
when(pm.getApplicationInfo(anyString(), anyInt())).thenReturn(ai);
@@ -1492,8 +1497,8 @@ public class ManagedServicesTest extends UiServiceTestCase {
ApplicationInfo ai = new ApplicationInfo();
ai.targetSdkVersion = Build.VERSION_CODES.CUR_DEVELOPMENT;
when(context.getPackageName()).thenReturn(mContext.getPackageName());
when(context.getUserId()).thenReturn(mContext.getUserId());
when(context.getPackageName()).thenReturn(mPkg);
when(context.getUserId()).thenReturn(mUser.getIdentifier());
when(context.getPackageManager()).thenReturn(pm);
when(pm.getApplicationInfo(anyString(), anyInt())).thenReturn(ai);
@@ -1522,8 +1527,8 @@ public class ManagedServicesTest extends UiServiceTestCase {
ApplicationInfo ai = new ApplicationInfo();
ai.targetSdkVersion = Build.VERSION_CODES.CUR_DEVELOPMENT;
when(context.getPackageName()).thenReturn(mContext.getPackageName());
when(context.getUserId()).thenReturn(mContext.getUserId());
when(context.getPackageName()).thenReturn(mPkg);
when(context.getUserId()).thenReturn(mUser.getIdentifier());
when(context.getPackageManager()).thenReturn(pm);
when(pm.getApplicationInfo(anyString(), anyInt())).thenReturn(ai);
@@ -1552,8 +1557,8 @@ public class ManagedServicesTest extends UiServiceTestCase {
ApplicationInfo ai = new ApplicationInfo();
ai.targetSdkVersion = Build.VERSION_CODES.CUR_DEVELOPMENT;
when(context.getPackageName()).thenReturn(mContext.getPackageName());
when(context.getUserId()).thenReturn(mContext.getUserId());
when(context.getPackageName()).thenReturn(mPkg);
when(context.getUserId()).thenReturn(mUser.getIdentifier());
when(context.getPackageManager()).thenReturn(pm);
when(pm.getApplicationInfo(anyString(), anyInt())).thenReturn(ai);
@@ -1791,8 +1796,8 @@ public class ManagedServicesTest extends UiServiceTestCase {
ApplicationInfo ai = new ApplicationInfo();
ai.targetSdkVersion = Build.VERSION_CODES.CUR_DEVELOPMENT;
when(context.getPackageName()).thenReturn(mContext.getPackageName());
when(context.getUserId()).thenReturn(mContext.getUserId());
when(context.getPackageName()).thenReturn(mPkg);
when(context.getUserId()).thenReturn(mUser.getIdentifier());
when(context.getPackageManager()).thenReturn(pm);
when(pm.getApplicationInfo(anyString(), anyInt())).thenReturn(ai);
@@ -1837,8 +1842,8 @@ public class ManagedServicesTest extends UiServiceTestCase {
ApplicationInfo ai = new ApplicationInfo();
ai.targetSdkVersion = Build.VERSION_CODES.CUR_DEVELOPMENT;
when(context.getPackageName()).thenReturn(mContext.getPackageName());
when(context.getUserId()).thenReturn(mContext.getUserId());
when(context.getPackageName()).thenReturn(mPkg);
when(context.getUserId()).thenReturn(mUser.getIdentifier());
when(context.getPackageManager()).thenReturn(pm);
when(pm.getApplicationInfo(anyString(), anyInt())).thenReturn(ai);
@@ -1880,8 +1885,8 @@ public class ManagedServicesTest extends UiServiceTestCase {
ApplicationInfo ai = new ApplicationInfo();
ai.targetSdkVersion = Build.VERSION_CODES.CUR_DEVELOPMENT;
when(context.getPackageName()).thenReturn(mContext.getPackageName());
when(context.getUserId()).thenReturn(mContext.getUserId());
when(context.getPackageName()).thenReturn(mPkg);
when(context.getUserId()).thenReturn(mUser.getIdentifier());
when(context.getPackageManager()).thenReturn(pm);
when(pm.getApplicationInfo(anyString(), anyInt())).thenReturn(ai);

View File

@@ -33,9 +33,11 @@ import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Person;
import android.content.ContentResolver;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.graphics.Color;
import android.os.Build;
import android.os.UserHandle;
@@ -63,7 +65,7 @@ import java.util.List;
@SmallTest
@RunWith(Parameterized.class)
public class NotificationComparatorTest extends UiServiceTestCase {
@Mock Context mContext;
@Mock Context mMockContext;
@Mock TelecomManager mTm;
@Mock RankingHandler handler;
@Mock PackageManager mPm;
@@ -115,32 +117,35 @@ public class NotificationComparatorTest extends UiServiceTestCase {
int userId = UserHandle.myUserId();
when(mContext.getResources()).thenReturn(getContext().getResources());
when(mContext.getTheme()).thenReturn(getContext().getTheme());
when(mContext.getContentResolver()).thenReturn(getContext().getContentResolver());
when(mContext.getPackageManager()).thenReturn(mPm);
when(mContext.getSystemService(eq(Context.TELECOM_SERVICE))).thenReturn(mTm);
when(mContext.getSystemService(Vibrator.class)).thenReturn(mVibrator);
when(mContext.getString(anyInt())).thenCallRealMethod();
when(mContext.getColor(anyInt())).thenCallRealMethod();
final Resources res = mContext.getResources();
when(mMockContext.getResources()).thenReturn(res);
final Resources.Theme theme = mContext.getTheme();
when(mMockContext.getTheme()).thenReturn(theme);
final ContentResolver cr = mContext.getContentResolver();
when(mMockContext.getContentResolver()).thenReturn(cr);
when(mMockContext.getPackageManager()).thenReturn(mPm);
when(mMockContext.getSystemService(eq(mMockContext.TELECOM_SERVICE))).thenReturn(mTm);
when(mMockContext.getSystemService(Vibrator.class)).thenReturn(mVibrator);
when(mMockContext.getString(anyInt())).thenCallRealMethod();
when(mMockContext.getColor(anyInt())).thenCallRealMethod();
when(mTm.getDefaultDialerPackage()).thenReturn(callPkg);
final ApplicationInfo legacy = new ApplicationInfo();
legacy.targetSdkVersion = Build.VERSION_CODES.N_MR1;
try {
when(mPm.getApplicationInfoAsUser(anyString(), anyInt(), anyInt())).thenReturn(legacy);
when(mContext.getApplicationInfo()).thenReturn(legacy);
when(mMockContext.getApplicationInfo()).thenReturn(legacy);
} catch (PackageManager.NameNotFoundException e) {
// let's hope not
}
smsPkg = Settings.Secure.getString(mContext.getContentResolver(),
smsPkg = Settings.Secure.getString(mMockContext.getContentResolver(),
Settings.Secure.SMS_DEFAULT_APPLICATION);
Notification nonInterruptiveNotif = new Notification.Builder(mContext, TEST_CHANNEL_ID)
Notification nonInterruptiveNotif = new Notification.Builder(mMockContext, TEST_CHANNEL_ID)
.setCategory(Notification.CATEGORY_CALL)
.setFlag(Notification.FLAG_FOREGROUND_SERVICE, true)
.build();
mRecordMinCallNonInterruptive = new NotificationRecord(mContext,
mRecordMinCallNonInterruptive = new NotificationRecord(mMockContext,
new StatusBarNotification(callPkg,
callPkg, 1, "mRecordMinCallNonInterruptive", callUid, callUid,
nonInterruptiveNotif,
@@ -148,134 +153,134 @@ public class NotificationComparatorTest extends UiServiceTestCase {
mRecordMinCallNonInterruptive.setSystemImportance(NotificationManager.IMPORTANCE_MIN);
mRecordMinCallNonInterruptive.setInterruptive(false);
Notification n1 = new Notification.Builder(mContext, TEST_CHANNEL_ID)
Notification n1 = new Notification.Builder(mMockContext, TEST_CHANNEL_ID)
.setCategory(Notification.CATEGORY_CALL)
.setFlag(Notification.FLAG_FOREGROUND_SERVICE, true)
.build();
mRecordMinCall = new NotificationRecord(mContext, new StatusBarNotification(callPkg,
mRecordMinCall = new NotificationRecord(mMockContext, new StatusBarNotification(callPkg,
callPkg, 1, "minCall", callUid, callUid, n1,
new UserHandle(userId), "", 2000), getDefaultChannel());
mRecordMinCall.setSystemImportance(NotificationManager.IMPORTANCE_MIN);
mRecordMinCall.setInterruptive(true);
Notification n2 = new Notification.Builder(mContext, TEST_CHANNEL_ID)
Notification n2 = new Notification.Builder(mMockContext, TEST_CHANNEL_ID)
.setCategory(Notification.CATEGORY_CALL)
.setFlag(Notification.FLAG_FOREGROUND_SERVICE, true)
.build();
mRecordHighCall = new NotificationRecord(mContext, new StatusBarNotification(callPkg,
mRecordHighCall = new NotificationRecord(mMockContext, new StatusBarNotification(callPkg,
callPkg, 1, "highcall", callUid, callUid, n2,
new UserHandle(userId), "", 1999), getDefaultChannel());
mRecordHighCall.setSystemImportance(NotificationManager.IMPORTANCE_HIGH);
Notification nHighCallStyle = new Notification.Builder(mContext, TEST_CHANNEL_ID)
Notification nHighCallStyle = new Notification.Builder(mMockContext, TEST_CHANNEL_ID)
.setStyle(Notification.CallStyle.forOngoingCall(
new Person.Builder().setName("caller").build(),
mock(PendingIntent.class)
))
.setFlag(Notification.FLAG_FOREGROUND_SERVICE, true)
.build();
mRecordHighCallStyle = new NotificationRecord(mContext, new StatusBarNotification(callPkg,
callPkg, 1, "highCallStyle", callUid, callUid, nHighCallStyle,
mRecordHighCallStyle = new NotificationRecord(mMockContext, new StatusBarNotification(
callPkg, callPkg, 1, "highCallStyle", callUid, callUid, nHighCallStyle,
new UserHandle(userId), "", 2000), getDefaultChannel());
mRecordHighCallStyle.setSystemImportance(NotificationManager.IMPORTANCE_HIGH);
mRecordHighCallStyle.setInterruptive(true);
Notification n4 = new Notification.Builder(mContext, TEST_CHANNEL_ID)
Notification n4 = new Notification.Builder(mMockContext, TEST_CHANNEL_ID)
.setStyle(new Notification.MessagingStyle("sender!")).build();
mRecordInlineReply = new NotificationRecord(mContext, new StatusBarNotification(pkg2,
mRecordInlineReply = new NotificationRecord(mMockContext, new StatusBarNotification(pkg2,
pkg2, 1, "inlinereply", uid2, uid2, n4, new UserHandle(userId),
"", 1599), getDefaultChannel());
mRecordInlineReply.setSystemImportance(NotificationManager.IMPORTANCE_HIGH);
mRecordInlineReply.setPackagePriority(Notification.PRIORITY_MAX);
if (smsPkg != null) {
Notification n5 = new Notification.Builder(mContext, TEST_CHANNEL_ID)
Notification n5 = new Notification.Builder(mMockContext, TEST_CHANNEL_ID)
.setCategory(Notification.CATEGORY_MESSAGE).build();
mRecordSms = new NotificationRecord(mContext, new StatusBarNotification(smsPkg,
mRecordSms = new NotificationRecord(mMockContext, new StatusBarNotification(smsPkg,
smsPkg, 1, "sms", smsUid, smsUid, n5, new UserHandle(userId),
"", 1299), getDefaultChannel());
mRecordSms.setSystemImportance(NotificationManager.IMPORTANCE_DEFAULT);
}
Notification n6 = new Notification.Builder(mContext, TEST_CHANNEL_ID).build();
mRecordStarredContact = new NotificationRecord(mContext, new StatusBarNotification(pkg2,
Notification n6 = new Notification.Builder(mMockContext, TEST_CHANNEL_ID).build();
mRecordStarredContact = new NotificationRecord(mMockContext, new StatusBarNotification(pkg2,
pkg2, 1, "starred", uid2, uid2, n6, new UserHandle(userId),
"", 1259), getDefaultChannel());
mRecordStarredContact.setContactAffinity(ValidateNotificationPeople.STARRED_CONTACT);
mRecordStarredContact.setSystemImportance(NotificationManager.IMPORTANCE_DEFAULT);
Notification n7 = new Notification.Builder(mContext, TEST_CHANNEL_ID).build();
mRecordContact = new NotificationRecord(mContext, new StatusBarNotification(pkg2,
Notification n7 = new Notification.Builder(mMockContext, TEST_CHANNEL_ID).build();
mRecordContact = new NotificationRecord(mMockContext, new StatusBarNotification(pkg2,
pkg2, 1, "contact", uid2, uid2, n7, new UserHandle(userId),
"", 1259), getDefaultChannel());
mRecordContact.setContactAffinity(ValidateNotificationPeople.VALID_CONTACT);
mRecordContact.setSystemImportance(NotificationManager.IMPORTANCE_DEFAULT);
Notification nSystemMax = new Notification.Builder(mContext, TEST_CHANNEL_ID).build();
mRecordSystemMax = new NotificationRecord(mContext, new StatusBarNotification(sysPkg,
Notification nSystemMax = new Notification.Builder(mMockContext, TEST_CHANNEL_ID).build();
mRecordSystemMax = new NotificationRecord(mMockContext, new StatusBarNotification(sysPkg,
sysPkg, 1, "systemmax", uid2, uid2, nSystemMax, new UserHandle(userId),
"", 1244), getDefaultChannel());
mRecordSystemMax.setSystemImportance(NotificationManager.IMPORTANCE_HIGH);
Notification n8 = new Notification.Builder(mContext, TEST_CHANNEL_ID).build();
mRecordUrgent = new NotificationRecord(mContext, new StatusBarNotification(pkg2,
Notification n8 = new Notification.Builder(mMockContext, TEST_CHANNEL_ID).build();
mRecordUrgent = new NotificationRecord(mMockContext, new StatusBarNotification(pkg2,
pkg2, 1, "urgent", uid2, uid2, n8, new UserHandle(userId),
"", 1258), getDefaultChannel());
mRecordUrgent.setSystemImportance(NotificationManager.IMPORTANCE_HIGH);
Notification n9 = new Notification.Builder(mContext, TEST_CHANNEL_ID)
Notification n9 = new Notification.Builder(mMockContext, TEST_CHANNEL_ID)
.setCategory(Notification.CATEGORY_MESSAGE)
.setFlag(Notification.FLAG_ONGOING_EVENT
|Notification.FLAG_FOREGROUND_SERVICE, true)
.build();
mRecordCheater = new NotificationRecord(mContext, new StatusBarNotification(pkg2,
mRecordCheater = new NotificationRecord(mMockContext, new StatusBarNotification(pkg2,
pkg2, 1, "cheater", uid2, uid2, n9, new UserHandle(userId),
"", 9258), getDefaultChannel());
mRecordCheater.setSystemImportance(NotificationManager.IMPORTANCE_LOW);
mRecordCheater.setPackagePriority(Notification.PRIORITY_MAX);
Notification n10 = new Notification.Builder(mContext, TEST_CHANNEL_ID)
Notification n10 = new Notification.Builder(mMockContext, TEST_CHANNEL_ID)
.setStyle(new Notification.InboxStyle().setSummaryText("message!")).build();
mRecordEmail = new NotificationRecord(mContext, new StatusBarNotification(pkg2,
mRecordEmail = new NotificationRecord(mMockContext, new StatusBarNotification(pkg2,
pkg2, 1, "email", uid2, uid2, n10, new UserHandle(userId),
"", 1599), getDefaultChannel());
mRecordEmail.setSystemImportance(NotificationManager.IMPORTANCE_HIGH);
Notification n11 = new Notification.Builder(mContext, TEST_CHANNEL_ID)
Notification n11 = new Notification.Builder(mMockContext, TEST_CHANNEL_ID)
.setCategory(Notification.CATEGORY_MESSAGE)
.setColorized(true).setColor(Color.WHITE)
.build();
mRecordCheaterColorized = new NotificationRecord(mContext, new StatusBarNotification(pkg2,
pkg2, 1, "cheaterColorized", uid2, uid2, n11, new UserHandle(userId),
"", 9258), getDefaultChannel());
mRecordCheaterColorized = new NotificationRecord(mMockContext,
new StatusBarNotification(pkg2,pkg2, 1, "cheaterColorized", uid2, uid2, n11,
new UserHandle(userId), "", 9258), getDefaultChannel());
mRecordCheaterColorized.setSystemImportance(NotificationManager.IMPORTANCE_LOW);
Notification n12 = new Notification.Builder(mContext, TEST_CHANNEL_ID)
Notification n12 = new Notification.Builder(mMockContext, TEST_CHANNEL_ID)
.setCategory(Notification.CATEGORY_MESSAGE)
.setColorized(true).setColor(Color.WHITE)
.setStyle(new Notification.MediaStyle())
.build();
mNoMediaSessionMedia = new NotificationRecord(mContext, new StatusBarNotification(
mNoMediaSessionMedia = new NotificationRecord(mMockContext, new StatusBarNotification(
pkg2, pkg2, 1, "media", uid2, uid2, n12, new UserHandle(userId),
"", 9258), getDefaultChannel());
mNoMediaSessionMedia.setSystemImportance(NotificationManager.IMPORTANCE_DEFAULT);
Notification n13 = new Notification.Builder(mContext, TEST_CHANNEL_ID)
Notification n13 = new Notification.Builder(mMockContext, TEST_CHANNEL_ID)
.setFlag(Notification.FLAG_FOREGROUND_SERVICE, true)
.setColorized(true).setColor(Color.WHITE)
.build();
mRecordColorized = new NotificationRecord(mContext, new StatusBarNotification(pkg2,
mRecordColorized = new NotificationRecord(mMockContext, new StatusBarNotification(pkg2,
pkg2, 1, "colorized", uid2, uid2, n13,
new UserHandle(userId), "", 1999), getDefaultChannel());
mRecordColorized.setSystemImportance(NotificationManager.IMPORTANCE_HIGH);
Notification n14 = new Notification.Builder(mContext, TEST_CHANNEL_ID)
Notification n14 = new Notification.Builder(mMockContext, TEST_CHANNEL_ID)
.setCategory(Notification.CATEGORY_CALL)
.setColorized(true).setColor(Color.WHITE)
.setFlag(Notification.FLAG_FOREGROUND_SERVICE, true)
.build();
mRecordColorizedCall = new NotificationRecord(mContext, new StatusBarNotification(callPkg,
callPkg, 1, "colorizedCall", callUid, callUid, n14,
mRecordColorizedCall = new NotificationRecord(mMockContext, new StatusBarNotification(
callPkg, callPkg, 1, "colorizedCall", callUid, callUid, n14,
new UserHandle(userId), "", 1999), getDefaultChannel());
mRecordColorizedCall.setSystemImportance(NotificationManager.IMPORTANCE_HIGH);
}
@@ -316,14 +321,14 @@ public class NotificationComparatorTest extends UiServiceTestCase {
actual.addAll(expected);
Collections.shuffle(actual);
Collections.sort(actual, new NotificationComparator(mContext));
Collections.sort(actual, new NotificationComparator(mMockContext));
assertThat(actual).containsExactlyElementsIn(expected).inOrder();
}
@Test
public void testRankingScoreOverrides() {
NotificationComparator comp = new NotificationComparator(mContext);
NotificationComparator comp = new NotificationComparator(mMockContext);
NotificationRecord recordMinCallNonInterruptive = spy(mRecordMinCallNonInterruptive);
if (mSortByInterruptiveness) {
assertTrue(comp.compare(mRecordMinCall, recordMinCallNonInterruptive) < 0);
@@ -339,7 +344,7 @@ public class NotificationComparatorTest extends UiServiceTestCase {
@Test
public void testMessaging() {
NotificationComparator comp = new NotificationComparator(mContext);
NotificationComparator comp = new NotificationComparator(mMockContext);
assertTrue(comp.isImportantMessaging(mRecordInlineReply));
if (mRecordSms != null) {
assertTrue(comp.isImportantMessaging(mRecordSms));
@@ -350,7 +355,7 @@ public class NotificationComparatorTest extends UiServiceTestCase {
@Test
public void testPeople() {
NotificationComparator comp = new NotificationComparator(mContext);
NotificationComparator comp = new NotificationComparator(mMockContext);
assertTrue(comp.isImportantPeople(mRecordStarredContact));
assertTrue(comp.isImportantPeople(mRecordContact));
}

View File

@@ -30,6 +30,7 @@ import android.app.NotificationHistory.HistoricalNotification;
import android.content.Context;
import android.graphics.drawable.Icon;
import android.os.Handler;
import android.os.UserHandle;
import android.util.AtomicFile;
import androidx.test.InstrumentationRegistry;
@@ -56,8 +57,6 @@ public class NotificationHistoryDatabaseTest extends UiServiceTestCase {
File mRootDir;
@Mock
Handler mFileWriteHandler;
@Mock
Context mContext;
NotificationHistoryDatabase mDataBase;
@@ -92,10 +91,8 @@ public class NotificationHistoryDatabaseTest extends UiServiceTestCase {
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
when(mContext.getUser()).thenReturn(getContext().getUser());
when(mContext.getPackageName()).thenReturn(getContext().getPackageName());
mRootDir = new File(mContext.getFilesDir(), "NotificationHistoryDatabaseTest");
final File fileDir = mContext.getFilesDir();
mRootDir = new File(fileDir, "NotificationHistoryDatabaseTest");
mDataBase = new NotificationHistoryDatabase(mFileWriteHandler, mRootDir);
mDataBase.init();

View File

@@ -307,7 +307,6 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
@Mock
private PermissionHelper mPermissionHelper;
private NotificationChannelLoggerFake mLogger = new NotificationChannelLoggerFake();
private TestableContext mContext = spy(getContext());
private final String PKG = mContext.getPackageName();
private TestableLooper mTestableLooper;
@Mock
@@ -578,9 +577,6 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
ArgumentCaptor<IntentFilter> intentFilterCaptor =
ArgumentCaptor.forClass(IntentFilter.class);
Mockito.doReturn(new Intent()).when(mContext).registerReceiverAsUser(
any(), any(), any(), any(), any());
Mockito.doReturn(new Intent()).when(mContext).registerReceiver(any(), any());
verify(mContext, atLeastOnce()).registerReceiverAsUser(broadcastReceiverCaptor.capture(),
any(), intentFilterCaptor.capture(), any(), any());
verify(mContext, atLeastOnce()).registerReceiver(broadcastReceiverCaptor.capture(),

View File

@@ -55,6 +55,7 @@ import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.ShortcutInfo;
import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.drawable.Icon;
import android.media.AudioAttributes;
@@ -126,7 +127,8 @@ public class NotificationRecordTest extends UiServiceTestCase {
MockitoAnnotations.initMocks(this);
when(mMockContext.getSystemService(eq(Vibrator.class))).thenReturn(mVibrator);
when(mMockContext.getResources()).thenReturn(getContext().getResources());
final Resources res = mContext.getResources();
when(mMockContext.getResources()).thenReturn(res);
when(mMockContext.getPackageManager()).thenReturn(mPm);
when(mMockContext.getContentResolver()).thenReturn(mContentResolver);
ApplicationInfo appInfo = new ApplicationInfo();

View File

@@ -67,7 +67,6 @@ import java.util.List;
public class NotificationShellCmdTest extends UiServiceTestCase {
private final Binder mBinder = new Binder();
private final ShellCallback mCallback = new ShellCallback();
private final TestableContext mTestableContext = spy(getContext());
@Mock
NotificationManagerService mMockService;
@Mock
@@ -82,7 +81,7 @@ public class NotificationShellCmdTest extends UiServiceTestCase {
mTestableLooper = TestableLooper.get(this);
mResultReceiver = new ResultReceiver(new Handler(mTestableLooper.getLooper()));
when(mMockService.getContext()).thenReturn(mTestableContext);
when(mMockService.getContext()).thenReturn(mContext);
when(mMockService.getBinderService()).thenReturn(mMockBinderService);
}
@@ -116,9 +115,10 @@ public class NotificationShellCmdTest extends UiServiceTestCase {
Notification captureNotification(String aTag) throws Exception {
ArgumentCaptor<Notification> notificationCaptor =
ArgumentCaptor.forClass(Notification.class);
final String pkg = getContext().getPackageName();
verify(mMockBinderService).enqueueNotificationWithTag(
eq(getContext().getPackageName()),
eq(getContext().getPackageName()),
eq(pkg),
eq(pkg),
eq(aTag),
eq(NotificationShellCmd.NOTIFICATION_ID),
notificationCaptor.capture(),

View File

@@ -153,7 +153,6 @@ public class ZenModeHelperTest extends UiServiceTestCase {
private Resources mResources;
private TestableLooper mTestableLooper;
private ZenModeHelper mZenModeHelperSpy;
private Context mContext;
private ContentResolver mContentResolver;
@Mock AppOpsManager mAppOps;
private WrappedSysUiStatsEvent.WrappedBuilderFactory mStatsEventBuilderFactory;
@@ -163,9 +162,9 @@ public class ZenModeHelperTest extends UiServiceTestCase {
MockitoAnnotations.initMocks(this);
mTestableLooper = TestableLooper.get(this);
mContext = spy(getContext());
mContentResolver = mContext.getContentResolver();
mResources = spy(mContext.getResources());
String pkg = mContext.getPackageName();
try {
when(mResources.getXml(R.xml.default_zen_mode_config)).thenReturn(
getDefaultConfigParser());
@@ -190,7 +189,7 @@ public class ZenModeHelperTest extends UiServiceTestCase {
when(mPackageManager.getPackageUidAsUser(eq(CUSTOM_PKG_NAME), anyInt()))
.thenReturn(CUSTOM_PKG_UID);
when(mPackageManager.getPackagesForUid(anyInt())).thenReturn(
new String[] {getContext().getPackageName()});
new String[] {pkg});
mZenModeHelperSpy.mPm = mPackageManager;
}