Merge "Fix DirectReply taking too long in HUNs" into nyc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
3c37f6ed06
@@ -1441,7 +1441,11 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
|
|||||||
public void removeNotification(String key, RankingMap ranking) {
|
public void removeNotification(String key, RankingMap ranking) {
|
||||||
boolean deferRemoval = false;
|
boolean deferRemoval = false;
|
||||||
if (mHeadsUpManager.isHeadsUp(key)) {
|
if (mHeadsUpManager.isHeadsUp(key)) {
|
||||||
deferRemoval = !mHeadsUpManager.removeNotification(key);
|
// A cancel() in repsonse to a remote input shouldn't be delayed, as it makes the
|
||||||
|
// sending look longer than it takes.
|
||||||
|
boolean ignoreEarliestRemovalTime = mRemoteInputController.isSpinning(key)
|
||||||
|
&& !FORCE_REMOTE_INPUT_HISTORY;
|
||||||
|
deferRemoval = !mHeadsUpManager.removeNotification(key, ignoreEarliestRemovalTime);
|
||||||
}
|
}
|
||||||
if (key.equals(mMediaNotificationKey)) {
|
if (key.equals(mMediaNotificationKey)) {
|
||||||
clearCurrentMediaNotification();
|
clearCurrentMediaNotification();
|
||||||
@@ -2368,7 +2372,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
|
|||||||
if (wasHeadsUp) {
|
if (wasHeadsUp) {
|
||||||
if (!shouldPeek) {
|
if (!shouldPeek) {
|
||||||
// We don't want this to be interrupting anymore, lets remove it
|
// We don't want this to be interrupting anymore, lets remove it
|
||||||
mHeadsUpManager.removeNotification(key);
|
mHeadsUpManager.removeNotification(key, false /* ignoreEarliestRemovalTime */);
|
||||||
} else {
|
} else {
|
||||||
mHeadsUpManager.updateNotification(entry, alertAgain);
|
mHeadsUpManager.updateNotification(entry, alertAgain);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -264,9 +264,9 @@ public class HeadsUpManager implements ViewTreeObserver.OnComputeInternalInsetsL
|
|||||||
* @return true if the notification was removed and false if it still needs to be kept around
|
* @return true if the notification was removed and false if it still needs to be kept around
|
||||||
* for a bit since it wasn't shown long enough
|
* for a bit since it wasn't shown long enough
|
||||||
*/
|
*/
|
||||||
public boolean removeNotification(String key) {
|
public boolean removeNotification(String key, boolean ignoreEarliestRemovalTime) {
|
||||||
if (DEBUG) Log.v(TAG, "remove");
|
if (DEBUG) Log.v(TAG, "remove");
|
||||||
if (wasShownLongEnough(key)) {
|
if (wasShownLongEnough(key) || ignoreEarliestRemovalTime) {
|
||||||
releaseImmediately(key);
|
releaseImmediately(key);
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user