Disable call blocking after emergency call.
+ Record the time at which an emergency call is disconnected.
+ Use utility to check if last emergency call was within threshold
(eg. 48 hours) and don't attempt to block call if so.
Bug: 24418319
Change-Id: I69e13f9c9617a567d7b5d807aee21578fa5606c2
diff --git a/InCallUI/src/com/android/incallui/InCallPresenter.java b/InCallUI/src/com/android/incallui/InCallPresenter.java
index 59876c2..0e2edd2 100644
--- a/InCallUI/src/com/android/incallui/InCallPresenter.java
+++ b/InCallUI/src/com/android/incallui/InCallPresenter.java
@@ -50,6 +50,7 @@
import com.android.dialer.calllog.CallLogAsyncTaskUtil.OnCallLogQueryFinishedListener;
import com.android.dialer.database.FilteredNumberAsyncQueryHandler;
import com.android.dialer.database.FilteredNumberAsyncQueryHandler.OnCheckBlockedListener;
+import com.android.dialer.filterednumber.FilteredNumbersUtil;
import com.android.incallui.util.TelecomCallUtil;
import com.android.incalluibind.ObjectFactory;
import com.google.common.base.Preconditions;
@@ -491,6 +492,7 @@
public void onCallAdded(final android.telecom.Call call) {
// Check if call should be blocked.
if (!TelecomCallUtil.isEmergencyCall(call)
+ && !FilteredNumbersUtil.hasRecentEmergencyCall(mContext)
&& call.getState() == android.telecom.Call.STATE_RINGING) {
maybeBlockCall(call);
} else {
@@ -654,6 +656,10 @@
if (isActivityStarted()) {
mInCallActivity.dismissKeyguard(false);
}
+
+ if (call.isEmergencyCall()) {
+ FilteredNumbersUtil.recordLastEmergencyCallTime(mContext);
+ }
}
/**