Merge changes I2c9eb095,I66f8faba

* changes:
  Check for null column before getting contact_id
  Remove experiment flag "enable_dual_alphabets_on_t9".
diff --git a/java/com/android/dialer/database/DialerDatabaseHelper.java b/java/com/android/dialer/database/DialerDatabaseHelper.java
index cb07615..8431a90 100644
--- a/java/com/android/dialer/database/DialerDatabaseHelper.java
+++ b/java/com/android/dialer/database/DialerDatabaseHelper.java
@@ -374,7 +374,12 @@
       }
 
       do {
-        Long deleteContactId = deletedContactCursor.getLong(DeleteContactQuery.DELETED_CONTACT_ID);
+        if (deletedContactCursor.isNull(DeleteContactQuery.DELETED_CONTACT_ID)) {
+          LogUtil.i("DialerDatabaseHelper.removeDeletedContacts", "null contact id, skipping row");
+          continue;
+        }
+
+        long deleteContactId = deletedContactCursor.getLong(DeleteContactQuery.DELETED_CONTACT_ID);
 
         Selection smartDialSelection =
             Selection.column(SmartDialDbColumns.CONTACT_ID).is("=", deleteContactId);
diff --git a/java/com/android/dialer/dialpadview/DialpadCharMappings.java b/java/com/android/dialer/dialpadview/DialpadCharMappings.java
index 0bb28ae..15793a5 100644
--- a/java/com/android/dialer/dialpadview/DialpadCharMappings.java
+++ b/java/com/android/dialer/dialpadview/DialpadCharMappings.java
@@ -18,16 +18,12 @@
 
 import android.content.Context;
 import android.support.annotation.NonNull;
-import android.support.annotation.VisibleForTesting;
 import android.support.v4.util.SimpleArrayMap;
 import com.android.dialer.common.Assert;
 import com.android.dialer.compat.CompatUtils;
-import com.android.dialer.configprovider.ConfigProviderBindings;
 
 /** A class containing character mappings for the dialpad. */
 public class DialpadCharMappings {
-  @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
-  public static final String FLAG_ENABLE_DUAL_ALPHABETS = "enable_dual_alphabets_on_t9";
 
   /** The character mapping for the Latin alphabet (the default mapping) */
   private static class Latin {
@@ -134,17 +130,10 @@
 
   /**
    * Returns the character-key map of the ISO 639-2 language code of the 1st language preference or
-   * null if
-   *
-   * <ul>
-   *   <li>no character-key map for the language code is defined, or
-   *   <li>the support for dual alphabets is disabled.
-   * </ul>
+   * null if no character-key map for the language code is defined.
    */
   public static SimpleArrayMap<Character, Character> getCharToKeyMap(@NonNull Context context) {
-    return isDualAlphabetsEnabled(context)
-        ? CHAR_TO_KEY_MAPS.get(CompatUtils.getLocale(context).getISO3Language())
-        : null;
+    return CHAR_TO_KEY_MAPS.get(CompatUtils.getLocale(context).getISO3Language());
   }
 
   /**
@@ -171,17 +160,10 @@
 
   /**
    * Returns the key-characters map of the given ISO 639-2 language code of the 1st language
-   * preference or null if
-   *
-   * <ul>
-   *   <li>no key-characters map for the language code is defined, or
-   *   <li>the support for dual alphabets is disabled.
-   * </ul>
+   * preference or null if no key-characters map for the language code is defined.
    */
-  public static String[] getKeyToCharsMap(@NonNull Context context) {
-    return isDualAlphabetsEnabled(context)
-        ? KEY_TO_CHAR_MAPS.get(CompatUtils.getLocale(context).getISO3Language())
-        : null;
+  static String[] getKeyToCharsMap(@NonNull Context context) {
+    return KEY_TO_CHAR_MAPS.get(CompatUtils.getLocale(context).getISO3Language());
   }
 
   /** Returns the default key-characters map (the one that uses the Latin alphabet). */
@@ -189,10 +171,6 @@
     return Latin.KEY_TO_CHARS;
   }
 
-  private static boolean isDualAlphabetsEnabled(Context context) {
-    return ConfigProviderBindings.get(context).getBoolean(FLAG_ENABLE_DUAL_ALPHABETS, false);
-  }
-
   /**
    * Given a array representing a key-characters map, return its reverse map.
    *
diff --git a/java/com/android/dialer/smartdial/map/CompositeSmartDialMap.java b/java/com/android/dialer/smartdial/map/CompositeSmartDialMap.java
index df32d4c..112cb19 100644
--- a/java/com/android/dialer/smartdial/map/CompositeSmartDialMap.java
+++ b/java/com/android/dialer/smartdial/map/CompositeSmartDialMap.java
@@ -20,7 +20,6 @@
 import android.support.annotation.VisibleForTesting;
 import android.support.v4.util.SimpleArrayMap;
 import com.android.dialer.compat.CompatUtils;
-import com.android.dialer.configprovider.ConfigProviderBindings;
 import com.google.common.base.Optional;
 
 /**
@@ -35,8 +34,6 @@
  */
 @SuppressWarnings("Guava")
 public class CompositeSmartDialMap {
-  @VisibleForTesting
-  public static final String FLAG_ENABLE_DUAL_ALPHABETS = "enable_dual_alphabets_on_t9";
 
   private static final SmartDialMap DEFAULT_MAP = LatinSmartDialMap.getInstance();
 
@@ -160,10 +157,6 @@
 
   @VisibleForTesting
   static Optional<SmartDialMap> getExtraMap(Context context) {
-    if (!ConfigProviderBindings.get(context).getBoolean(FLAG_ENABLE_DUAL_ALPHABETS, false)) {
-      return Optional.absent();
-    }
-
     String languageCode = CompatUtils.getLocale(context).getISO3Language();
     return EXTRA_MAPS.containsKey(languageCode)
         ? Optional.of(EXTRA_MAPS.get(languageCode))