Merge "Fix uiservicestests" into udc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
9dfeef8caa
@@ -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" />
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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(),
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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(),
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user