Guard against crashes in <M devices for getDefaultDialerPackage call.

Since TelecomManager was hidden in L, calls to getDefaultDialerPackage
will crash. Furthermore, default dialer was not even a concept in
Android <M so return false for the isDefaultDialer check.

Bug: 25776171
Change-Id: I05c9f55b69bdbe1e07cf44886dbff29d99f36bbb
diff --git a/src/com/android/dialer/compat/DialerCompatUtils.java b/src/com/android/dialer/compat/DialerCompatUtils.java
index 678ffb0..cda51c6 100644
--- a/src/com/android/dialer/compat/DialerCompatUtils.java
+++ b/src/com/android/dialer/compat/DialerCompatUtils.java
@@ -30,4 +30,15 @@
         return SdkVersionOverride.getSdkVersion(Build.VERSION_CODES.LOLLIPOP)
                 >= Build.VERSION_CODES.M;
     }
+
+    /**
+     * Determines if this version is compatible with a default dialer. Can also force the version to
+     * be lower through SdkVersionOverride.
+     *
+     * @return {@code true} if default dialer is a feature on this device, {@code false} otherwise.
+     */
+    public static boolean isDefaultDialerCompatible() {
+        return SdkVersionOverride.getSdkVersion(Build.VERSION_CODES.LOLLIPOP)
+                >= Build.VERSION_CODES.M;
+    }
 }
\ No newline at end of file
diff --git a/src/com/android/dialer/util/TelecomUtil.java b/src/com/android/dialer/util/TelecomUtil.java
index 1230577..a0c8334 100644
--- a/src/com/android/dialer/util/TelecomUtil.java
+++ b/src/com/android/dialer/util/TelecomUtil.java
@@ -28,6 +28,8 @@
 import android.text.TextUtils;
 import android.util.Log;
 
+import com.android.dialer.compat.DialerCompatUtils;
+
 import java.util.ArrayList;
 import java.util.List;
 
@@ -187,6 +189,10 @@
     }
 
     public static boolean isDefaultDialer(Context context) {
+        if (!DialerCompatUtils.isDefaultDialerCompatible()) {
+            return false;
+        }
+
         final boolean result = TextUtils.equals(context.getPackageName(),
                 getTelecomManager(context).getDefaultDialerPackage());
         if (result) {