Merge "Limit when a ranking reconsidering can alert" into oc-dr1-dev

This commit is contained in:
TreeHugger Robot
2017-06-28 13:06:58 +00:00
committed by Android (Google) Code Review
3 changed files with 41 additions and 1 deletions

View File

@@ -4004,16 +4004,19 @@ public class NotificationManagerService extends SystemService {
}
int indexBefore = findNotificationRecordIndexLocked(record);
boolean interceptBefore = record.isIntercepted();
float contactAffinityBefore = record.getContactAffinity();
int visibilityBefore = record.getPackageVisibilityOverride();
recon.applyChangesLocked(record);
applyZenModeLocked(record);
mRankingHelper.sort(mNotificationList);
int indexAfter = findNotificationRecordIndexLocked(record);
boolean interceptAfter = record.isIntercepted();
float contactAffinityAfter = record.getContactAffinity();
int visibilityAfter = record.getPackageVisibilityOverride();
changed = indexBefore != indexAfter || interceptBefore != interceptAfter
|| visibilityBefore != visibilityAfter;
if (interceptBefore && !interceptAfter) {
if (interceptBefore && !interceptAfter
&& Float.compare(contactAffinityBefore, contactAffinityAfter) != 0) {
buzzBeepBlinkLocked(record);
}
}

View File

@@ -6,6 +6,7 @@
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" />
<uses-permission android:name="android.permission.MANAGE_NOTIFICATIONS" />
<application>
<activity android:name="StatusBarTest" android:label="_StatusBar">

View File

@@ -129,6 +129,42 @@ public class NotificationTestList extends TestActivity
mNM.notify(7001, n);
}
},
new Test("with zen") {
public void run()
{
mNM.setInterruptionFilter(NotificationManager.INTERRUPTION_FILTER_ALARMS);
Notification n = new Notification.Builder(NotificationTestList.this,
"default")
.setSmallIcon(R.drawable.icon2)
.setContentTitle("Default priority")
.build();
mNM.notify("default", 7004, n);
try {
Thread.sleep(8000);
} catch (InterruptedException e) {
e.printStackTrace();
}
mNM.setInterruptionFilter(NotificationManager.INTERRUPTION_FILTER_ALL);
}
},
new Test("repeated") {
public void run()
{
for (int i = 0; i < 50; i++) {
Notification n = new Notification.Builder(NotificationTestList.this,
"default")
.setSmallIcon(R.drawable.icon2)
.setContentTitle("Default priority")
.build();
mNM.notify("default", 7004, n);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
},
new Test("Post a group") {
public void run()
{