Ensure the EXTRA_SHOW_TAB is checked for all new intents.

onNewIntent is only called when the activity is already active so when
an intent is sent to start the DialtactsActivity on a specific tab when
the DialtactsActivity is not already active, the code to switch to the
specific tab is not called. Move this code to onResume() instead.

Bug: 21120186
Change-Id: I735eae22ca5de54f4c17688777b4309616f2c691
diff --git a/src/com/android/dialer/DialtactsActivity.java b/src/com/android/dialer/DialtactsActivity.java
index b8a1d4d..ba1b8d1 100644
--- a/src/com/android/dialer/DialtactsActivity.java
+++ b/src/com/android/dialer/DialtactsActivity.java
@@ -545,6 +545,14 @@
         prepareVoiceSearchButton();
         mDialerDatabaseHelper.startSmartDialUpdateThread();
         mFloatingActionButtonController.align(getFabAlignment(), false /* animate */);
+
+        if (getIntent().hasExtra(EXTRA_SHOW_TAB)) {
+            int index = getIntent().getIntExtra(EXTRA_SHOW_TAB, ListsFragment.TAB_INDEX_SPEED_DIAL);
+            if (index < mListsFragment.getTabCount()) {
+                mListsFragment.showTab(index);
+            }
+        }
+
         Trace.endSection();
     }
 
@@ -906,11 +914,6 @@
         mStateSaved = false;
         displayFragment(newIntent);
 
-        if (newIntent.hasExtra(EXTRA_SHOW_TAB)) {
-            mListsFragment.showTab(
-                    getIntent().getIntExtra(EXTRA_SHOW_TAB, mListsFragment.TAB_INDEX_SPEED_DIAL));
-        }
-
         invalidateOptionsMenu();
     }
 
diff --git a/src/com/android/dialer/list/ListsFragment.java b/src/com/android/dialer/list/ListsFragment.java
index e45da0c..33c9776 100644
--- a/src/com/android/dialer/list/ListsFragment.java
+++ b/src/com/android/dialer/list/ListsFragment.java
@@ -347,6 +347,10 @@
         return mRemoveView;
     }
 
+    public int getTabCount() {
+        return mViewPagerAdapter.getCount();
+    }
+
     private int getRtlPosition(int position) {
         if (DialerUtils.isRtl()) {
             return mViewPagerAdapter.getCount() - 1 - position;