Promotion of atel.lnx.2.0-00052.

CRs      Change ID                                   Subject
--------------------------------------------------------------------------------------------------------------
1092416   I2222b8b529baa70edf49b2cfa26d4bb8981e2d09   Dialer: The call contact name still show after deleting
1103354   I252b6cfbf4b4b7a947a4ea6de497445cbf911dc0   Dialer: Fix FC due to StringIndexOutOfBoundsException of
1113931   I64678f8f4d0c10b9fadd61357ed2140eb9bbdf7e   Dialer: lock screen appear before incoming call screen

Change-Id: I5baf90a517d7b276df5da80c39cbe339938b619f
CRs-Fixed: 1113931, 1103354, 1092416
diff --git a/InCallUI/src/com/android/incallui/InCallPresenter.java b/InCallUI/src/com/android/incallui/InCallPresenter.java
index 5a5d0cb..2a1ecab 100644
--- a/InCallUI/src/com/android/incallui/InCallPresenter.java
+++ b/InCallUI/src/com/android/incallui/InCallPresenter.java
@@ -729,7 +729,9 @@
         if (CallList.getInstance().isDsdaEnabled() && (mInCallActivity != null)) {
             mInCallActivity.updateDsdaTab();
         }
-        wakeUpScreen();
+        if (isActivityStarted()) {
+            wakeUpScreen();
+        }
     }
 
     @Override
diff --git a/src/com/android/dialer/calllog/CallLogFragment.java b/src/com/android/dialer/calllog/CallLogFragment.java
index 96551a4..ae24b8d 100644
--- a/src/com/android/dialer/calllog/CallLogFragment.java
+++ b/src/com/android/dialer/calllog/CallLogFragment.java
@@ -444,7 +444,10 @@
             if (!menuVisible) {
                 updateOnTransition();
             } else if (isResumed()) {
-                refreshData();
+                if (mRefreshDataRequired) {
+                    refreshData();
+                    mAdapter.onResume();
+                }
             }
         }
     }
diff --git a/src/com/android/dialer/calllog/MSimCallLogFragment.java b/src/com/android/dialer/calllog/MSimCallLogFragment.java
index 1eefe53..436145d 100644
--- a/src/com/android/dialer/calllog/MSimCallLogFragment.java
+++ b/src/com/android/dialer/calllog/MSimCallLogFragment.java
@@ -489,7 +489,10 @@
             if (!menuVisible) {
                 updateOnTransition(false /* onEntry */);
             } else if (isResumed()) {
-                refreshData();
+                if (mRefreshDataRequired) {
+                    refreshData();
+                    mAdapter.onResume();
+                }
             }
         }
     }
diff --git a/src/com/android/dialer/dialpad/SmartDialNameMatcher.java b/src/com/android/dialer/dialpad/SmartDialNameMatcher.java
index f82dbf8..1c18206 100644
--- a/src/com/android/dialer/dialpad/SmartDialNameMatcher.java
+++ b/src/com/android/dialer/dialpad/SmartDialNameMatcher.java
@@ -476,7 +476,7 @@
         for (int i = 0; i < indexs.length; i = i + 2) {
             int start = indexs[i];
             int end = indexs[i + 1];
-            if (start >= 0 && end >= 0) {
+            if (start >= 0 && end >= 0 && start < builder.length() - 1 && end < builder.length()) {
                 matchList.add(new SmartDialMatchPosition(start, end + 1));
             } else {
                 Log.d(TAG, "Invalid index, start is:" + start + " end is:"