Update Dialer to v10 RC45.

This release was created following the instructions at:
go/dialer-aosp-release

Subsequent dialer releases will follow as O bugs are
fixed, until we reach our final RC.

Version: 10
Candidate: RC45
Branch: dialer-android_release_branch/153304843.1
dialer-android_20170416.00/dialer-android_20170416.00_RC45

This release contains the following bug fixes since RC39:
Bug: 38131932 38302993 38347350 38368993 38395481
62100344

Test: make, on device
Change-Id: Ib4af5dcc58c684d51ea1f4628b301e40184b81b3
diff --git a/java/com/android/incallui/InCallPresenter.java b/java/com/android/incallui/InCallPresenter.java
index 9c8120c..2d6d83c 100644
--- a/java/com/android/incallui/InCallPresenter.java
+++ b/java/com/android/incallui/InCallPresenter.java
@@ -24,6 +24,7 @@
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
 import android.support.annotation.VisibleForTesting;
+import android.support.v4.os.UserManagerCompat;
 import android.telecom.Call.Details;
 import android.telecom.DisconnectCause;
 import android.telecom.PhoneAccount;
@@ -37,6 +38,7 @@
 import com.android.contacts.common.compat.CallCompat;
 import com.android.dialer.blocking.FilteredNumberAsyncQueryHandler;
 import com.android.dialer.blocking.FilteredNumberAsyncQueryHandler.OnCheckBlockedListener;
+import com.android.dialer.blocking.FilteredNumberCompat;
 import com.android.dialer.blocking.FilteredNumbersUtil;
 import com.android.dialer.common.LogUtil;
 import com.android.dialer.enrichedcall.EnrichedCallComponent;
@@ -309,7 +311,8 @@
       StatusBarNotifier statusBarNotifier,
       ExternalCallNotifier externalCallNotifier,
       ContactInfoCache contactInfoCache,
-      ProximitySensor proximitySensor) {
+      ProximitySensor proximitySensor,
+      FilteredNumberAsyncQueryHandler filteredNumberQueryHandler) {
     if (mServiceConnected) {
       Log.i(this, "New service connection replacing existing one.");
       if (context != mContext || callList != mCallList) {
@@ -354,7 +357,7 @@
 
     VideoPauseController.getInstance().setUp(this);
 
-    mFilteredQueryHandler = new FilteredNumberAsyncQueryHandler(context);
+    mFilteredQueryHandler = filteredNumberQueryHandler;
     mContext
         .getSystemService(TelephonyManager.class)
         .listen(mPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE);
@@ -519,6 +522,12 @@
     if (call.getState() != android.telecom.Call.STATE_RINGING) {
       return false;
     }
+    if (!UserManagerCompat.isUserUnlocked(mContext)) {
+      LogUtil.i(
+          "InCallPresenter.shouldAttemptBlocking",
+          "not attempting to block incoming call because user is locked");
+      return false;
+    }
     if (TelecomCallUtil.isEmergencyCall(call)) {
       Log.i(this, "Not attempting to block incoming emergency call");
       return false;
@@ -530,6 +539,12 @@
     if (call.getDetails().hasProperty(CallCompat.Details.PROPERTY_IS_EXTERNAL_CALL)) {
       return false;
     }
+    if (FilteredNumberCompat.useNewFiltering(mContext)) {
+      LogUtil.i(
+          "InCallPresenter.shouldAttemptBlocking",
+          "not attempting to block incoming call because framework blocking is in use");
+      return false;
+    }
     return true;
   }