Merge "Merge "Revert "Make notification effects for automotive configurable."" into qt-dev am: 094171bccc" into qt-dev-plus-aosp
This commit is contained in:
committed by
Android (Google) Code Review
commit
c687e2c1a3
@@ -745,10 +745,6 @@
|
||||
|
||||
<!-- XXXXXX END OF RESOURCES USING WRONG NAMING CONVENTION -->
|
||||
|
||||
<!-- If this is true, notification effects will be played by the notification server.
|
||||
When false, car notification effects will be handled elsewhere. -->
|
||||
<bool name="config_enableServerNotificationEffectsForAutomotive">false</bool>
|
||||
|
||||
<!-- If this is true, the screen will come on when you unplug usb/power/whatever. -->
|
||||
<bool name="config_unplugTurnsOnScreen">false</bool>
|
||||
|
||||
|
||||
@@ -1910,7 +1910,6 @@
|
||||
<java-symbol type="array" name="config_testLocationProviders" />
|
||||
<java-symbol type="array" name="config_defaultNotificationVibePattern" />
|
||||
<java-symbol type="array" name="config_notificationFallbackVibePattern" />
|
||||
<java-symbol type="bool" name="config_enableServerNotificationEffectsForAutomotive" />
|
||||
<java-symbol type="bool" name="config_useAttentionLight" />
|
||||
<java-symbol type="bool" name="config_adaptive_sleep_available" />
|
||||
<java-symbol type="bool" name="config_animateScreenLights" />
|
||||
|
||||
@@ -455,7 +455,6 @@ public class NotificationManagerService extends SystemService {
|
||||
private int mAutoGroupAtCount;
|
||||
private boolean mIsTelevision;
|
||||
private boolean mIsAutomotive;
|
||||
private boolean mNotificationEffectsEnabledForAutomotive;
|
||||
|
||||
private MetricsLogger mMetricsLogger;
|
||||
private TriPredicate<String, Integer, String> mAllowedManagedServicePackages;
|
||||
@@ -1687,8 +1686,6 @@ public class NotificationManagerService extends SystemService {
|
||||
|
||||
mIsAutomotive =
|
||||
mPackageManagerClient.hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE, 0);
|
||||
mNotificationEffectsEnabledForAutomotive =
|
||||
resources.getBoolean(R.bool.config_enableServerNotificationEffectsForAutomotive);
|
||||
|
||||
mPreferencesHelper.lockChannelsForOEM(getContext().getResources().getStringArray(
|
||||
com.android.internal.R.array.config_nonBlockableNotificationPackages));
|
||||
@@ -5563,9 +5560,6 @@ public class NotificationManagerService extends SystemService {
|
||||
@VisibleForTesting
|
||||
@GuardedBy("mNotificationLock")
|
||||
void buzzBeepBlinkLocked(NotificationRecord record) {
|
||||
if (mIsAutomotive && !mNotificationEffectsEnabledForAutomotive) {
|
||||
return;
|
||||
}
|
||||
boolean buzz = false;
|
||||
boolean beep = false;
|
||||
boolean blink = false;
|
||||
|
||||
@@ -48,8 +48,8 @@ import android.app.Notification;
|
||||
import android.app.Notification.Builder;
|
||||
import android.app.NotificationChannel;
|
||||
import android.app.NotificationManager;
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.res.Resources;
|
||||
import android.graphics.Color;
|
||||
import android.media.AudioAttributes;
|
||||
import android.media.AudioManager;
|
||||
@@ -63,7 +63,6 @@ import android.provider.Settings;
|
||||
import android.service.notification.NotificationListenerService;
|
||||
import android.service.notification.StatusBarNotification;
|
||||
import android.test.suitebuilder.annotation.SmallTest;
|
||||
import android.testing.TestableContext;
|
||||
import android.view.accessibility.AccessibilityEvent;
|
||||
import android.view.accessibility.AccessibilityManager;
|
||||
import android.view.accessibility.IAccessibilityManager;
|
||||
@@ -71,7 +70,6 @@ import android.view.accessibility.IAccessibilityManagerClient;
|
||||
|
||||
import androidx.test.runner.AndroidJUnit4;
|
||||
|
||||
import com.android.internal.R;
|
||||
import com.android.internal.util.IntPair;
|
||||
import com.android.server.UiServiceTestCase;
|
||||
import com.android.server.lights.Light;
|
||||
@@ -88,7 +86,6 @@ import org.mockito.MockitoAnnotations;
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class BuzzBeepBlinkTest extends UiServiceTestCase {
|
||||
|
||||
private TestableContext mContext = spy(getContext());
|
||||
@Mock AudioManager mAudioManager;
|
||||
@Mock Vibrator mVibrator;
|
||||
@Mock android.media.IRingtonePlayer mRingtonePlayer;
|
||||
@@ -99,8 +96,6 @@ public class BuzzBeepBlinkTest extends UiServiceTestCase {
|
||||
NotificationUsageStats mUsageStats;
|
||||
@Mock
|
||||
IAccessibilityManager mAccessibilityService;
|
||||
@Mock
|
||||
Resources mResources;
|
||||
|
||||
private NotificationManagerService mService;
|
||||
private String mPkg = "com.android.server.notification";
|
||||
@@ -150,7 +145,7 @@ public class BuzzBeepBlinkTest extends UiServiceTestCase {
|
||||
verify(mAccessibilityService).addClient(any(IAccessibilityManagerClient.class), anyInt());
|
||||
assertTrue(accessibilityManager.isEnabled());
|
||||
|
||||
mService = spy(new NotificationManagerService(mContext));
|
||||
mService = spy(new NotificationManagerService(getContext()));
|
||||
mService.setAudioManager(mAudioManager);
|
||||
mService.setVibrator(mVibrator);
|
||||
mService.setSystemReady(true);
|
||||
@@ -280,7 +275,7 @@ public class BuzzBeepBlinkTest extends UiServiceTestCase {
|
||||
boolean isLeanback) {
|
||||
NotificationChannel channel =
|
||||
new NotificationChannel("test", "test", IMPORTANCE_HIGH);
|
||||
final Builder builder = new Builder(mContext)
|
||||
final Builder builder = new Builder(getContext())
|
||||
.setContentTitle("foo")
|
||||
.setSmallIcon(android.R.drawable.sym_def_app_icon)
|
||||
.setPriority(Notification.PRIORITY_HIGH)
|
||||
@@ -326,14 +321,15 @@ public class BuzzBeepBlinkTest extends UiServiceTestCase {
|
||||
n.flags |= Notification.FLAG_INSISTENT;
|
||||
}
|
||||
|
||||
PackageManager packageManager = spy(mContext.getPackageManager());
|
||||
when(mContext.getPackageManager()).thenReturn(packageManager);
|
||||
Context context = spy(getContext());
|
||||
PackageManager packageManager = spy(context.getPackageManager());
|
||||
when(context.getPackageManager()).thenReturn(packageManager);
|
||||
when(packageManager.hasSystemFeature(PackageManager.FEATURE_LEANBACK))
|
||||
.thenReturn(isLeanback);
|
||||
|
||||
StatusBarNotification sbn = new StatusBarNotification(mPkg, mPkg, id, mTag, mUid,
|
||||
mPid, n, mUser, null, System.currentTimeMillis());
|
||||
NotificationRecord r = new NotificationRecord(mContext, sbn, channel);
|
||||
NotificationRecord r = new NotificationRecord(context, sbn, channel);
|
||||
mService.addNotification(r);
|
||||
return r;
|
||||
}
|
||||
@@ -459,25 +455,7 @@ public class BuzzBeepBlinkTest extends UiServiceTestCase {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNoBeepForAutomotiveIfEffectsDisabled() throws Exception {
|
||||
when(mContext.getResources()).thenReturn(mResources);
|
||||
when(mResources.getBoolean(R.bool.config_enableServerNotificationEffectsForAutomotive))
|
||||
.thenReturn(false);
|
||||
mService.setIsAutomotive(true);
|
||||
|
||||
NotificationRecord r = getBeepyNotification();
|
||||
|
||||
mService.buzzBeepBlinkLocked(r);
|
||||
|
||||
verifyNeverBeep();
|
||||
assertFalse(r.isInterruptive());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNoBeepForImportanceDefaultInAutomotiveIfEffectsEnabled() throws Exception {
|
||||
when(mContext.getResources()).thenReturn(mResources);
|
||||
when(mResources.getBoolean(R.bool.config_enableServerNotificationEffectsForAutomotive))
|
||||
.thenReturn(true);
|
||||
public void testNoBeepForImportanceDefaultInAutomotive() throws Exception {
|
||||
mService.setIsAutomotive(true);
|
||||
|
||||
NotificationRecord r = getBeepyNotification();
|
||||
@@ -490,10 +468,7 @@ public class BuzzBeepBlinkTest extends UiServiceTestCase {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBeepForImportanceHighInAutomotiveIfEffectsEnabled() throws Exception {
|
||||
when(mContext.getResources()).thenReturn(mResources);
|
||||
when(mResources.getBoolean(R.bool.config_enableServerNotificationEffectsForAutomotive))
|
||||
.thenReturn(true);
|
||||
public void testBeepForImportanceHighInAutomotive() throws Exception {
|
||||
mService.setIsAutomotive(true);
|
||||
|
||||
NotificationRecord r = getBeepyNotification();
|
||||
@@ -1040,12 +1015,12 @@ public class BuzzBeepBlinkTest extends UiServiceTestCase {
|
||||
public void testEmptyUriSoundTreatedAsNoSound() throws Exception {
|
||||
NotificationChannel channel = new NotificationChannel("test", "test", IMPORTANCE_HIGH);
|
||||
channel.setSound(Uri.EMPTY, null);
|
||||
final Notification n = new Builder(mContext, "test")
|
||||
final Notification n = new Builder(getContext(), "test")
|
||||
.setSmallIcon(android.R.drawable.sym_def_app_icon).build();
|
||||
|
||||
StatusBarNotification sbn = new StatusBarNotification(mPkg, mPkg, 0, mTag, mUid,
|
||||
mPid, n, mUser, null, System.currentTimeMillis());
|
||||
NotificationRecord r = new NotificationRecord(mContext, sbn, channel);
|
||||
NotificationRecord r = new NotificationRecord(getContext(), sbn, channel);
|
||||
mService.addNotification(r);
|
||||
|
||||
mService.buzzBeepBlinkLocked(r);
|
||||
@@ -1094,13 +1069,13 @@ public class BuzzBeepBlinkTest extends UiServiceTestCase {
|
||||
|
||||
@Test
|
||||
public void testCrossUserSoundMuted() throws Exception {
|
||||
final Notification n = new Builder(mContext, "test")
|
||||
final Notification n = new Builder(getContext(), "test")
|
||||
.setSmallIcon(android.R.drawable.sym_def_app_icon).build();
|
||||
|
||||
int userId = mUser.getIdentifier() + 1;
|
||||
StatusBarNotification sbn = new StatusBarNotification(mPkg, mPkg, 0, mTag, mUid,
|
||||
mPid, n, UserHandle.of(userId), null, System.currentTimeMillis());
|
||||
NotificationRecord r = new NotificationRecord(mContext, sbn,
|
||||
NotificationRecord r = new NotificationRecord(getContext(), sbn,
|
||||
new NotificationChannel("test", "test", IMPORTANCE_HIGH));
|
||||
|
||||
mService.buzzBeepBlinkLocked(r);
|
||||
|
||||
Reference in New Issue
Block a user