Companion device mgr doesn't always exist
E.g. on tvs. Test: runtest systemui-notification Change-Id: I1f1fd3cc5d361d3854eef5e5726816b50f5d7eb6 Fixes: 37276184
This commit is contained in:
@@ -4663,8 +4663,11 @@ public class NotificationManagerService extends SystemService {
|
||||
|
||||
boolean hasCompanionDevice(ManagedServiceInfo info) {
|
||||
if (mCompanionManager == null) {
|
||||
mCompanionManager = ICompanionDeviceManager.Stub.asInterface(
|
||||
ServiceManager.getService(Context.COMPANION_DEVICE_SERVICE));
|
||||
mCompanionManager = getCompanionManager();
|
||||
}
|
||||
// Companion mgr doesn't exist on all device types
|
||||
if (mCompanionManager == null) {
|
||||
return false;
|
||||
}
|
||||
long identity = Binder.clearCallingIdentity();
|
||||
try {
|
||||
@@ -4685,6 +4688,11 @@ public class NotificationManagerService extends SystemService {
|
||||
return false;
|
||||
}
|
||||
|
||||
protected ICompanionDeviceManager getCompanionManager() {
|
||||
return ICompanionDeviceManager.Stub.asInterface(
|
||||
ServiceManager.getService(Context.COMPANION_DEVICE_SERVICE));
|
||||
}
|
||||
|
||||
private boolean isVisibleToListener(StatusBarNotification sbn, ManagedServiceInfo listener) {
|
||||
if (!listener.enabledAndUserMatches(sbn.getUserId())) {
|
||||
return false;
|
||||
|
||||
@@ -19,6 +19,7 @@ package com.android.server.notification;
|
||||
import static android.app.NotificationManager.IMPORTANCE_LOW;
|
||||
|
||||
import static junit.framework.Assert.assertEquals;
|
||||
import static junit.framework.Assert.assertFalse;
|
||||
import static junit.framework.Assert.assertTrue;
|
||||
import static junit.framework.Assert.fail;
|
||||
|
||||
@@ -99,6 +100,11 @@ public class NotificationManagerServiceTest {
|
||||
protected boolean isCallerSystem() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ICompanionDeviceManager getCompanionManager() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Before
|
||||
@@ -644,4 +650,13 @@ public class NotificationManagerServiceTest {
|
||||
new IllegalArgumentException());
|
||||
mNotificationManagerService.hasCompanionDevice(mListener);
|
||||
}
|
||||
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void testHasCompanionDevice_noService() throws Exception {
|
||||
mNotificationManagerService = new TestableNotificationManagerService(mContext);
|
||||
|
||||
assertFalse(mNotificationManagerService.hasCompanionDevice(mListener));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user