Add default option for Dialer-Settings

Bug: 167285229
Test: Manual
Change-Id: I277f7651311f1bfc51c3d1512daea397831a2b25
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index 9646504..3c2063d 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -20,10 +20,10 @@
      and they are used as key mapping to fragments. The array can only be a subset of predefined
      strings in any order. Tabs will be added in the same order as defined in the array.-->
     <string-array name="tabs_config">
-        <item>CALL_HISTORY</item>
-        <item>CONTACTS</item>
-        <item>FAVORITE</item>
-        <item>DIAL_PAD</item>
+        <item>@string/tab_config_call_history</item>
+        <item>@string/tab_config_contacts</item>
+        <item>@string/tab_config_favorites</item>
+        <item>@string/tab_config_dial_pad</item>
     </string-array>
 
     <string-array name="tabs_title">
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 977da05..fe3a700 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -62,15 +62,27 @@
     <string name="dial_a_number">Dial a number</string>
 
     <!-- Titles -->
-    <!-- Title for the favorites [CHAR LIMIT=30] -->
-    <string name="favorites_title">Favorites</string>
     <!-- Title for the call history [CHAR LIMIT=30] -->
     <string name="call_history_title">Recents</string>
     <!-- Title for the contacts [CHAR LIMIT=30] -->
     <string name="contacts_title">Contacts</string>
+    <!-- Title for the favorites [CHAR LIMIT=30] -->
+    <string name="favorites_title">Favorites</string>
     <!-- Title for the dialpad [CHAR LIMIT=30] -->
     <string name="dialpad_title">Dialpad</string>
 
+    <!-- String constants for tabs -->
+    <!-- String constant for the call history -->
+    <string name="tab_config_call_history" translatable="false">CALL_HISTORY</string>
+    <!-- String constant for the contacts -->
+    <string name="tab_config_contacts" translatable="false">CONTACTS</string>
+    <!-- String constant for the favorites -->
+    <string name="tab_config_favorites" translatable="false">FAVORITE</string>
+    <!-- String constant for the dialpad -->
+    <string name="tab_config_dial_pad" translatable="false">DIAL_PAD</string>
+    <!-- Default value for start page list preference -->
+    <string name="tab_config_default_value">@string/tab_config_call_history</string>
+
     <!-- Headers for call history -->
     <!-- Header in call log to group calls from the current day. [CHAR LIMIT=30] -->
     <string name="call_log_header_today">Today</string>
@@ -222,6 +234,8 @@
     <string name="given_name_first_title">First name</string>
     <!-- Title of family name [CHAR LIMIT=40]-->
     <string name="family_name_first_title">Last name</string>
+    <!-- Default value for sort order list preference -->
+    <string name="sort_order_default_value">@string/given_name_first_key</string>
 
     <!-- Audio route selection dialog. Placeholder resources for overriding -->
     <string name="audio_route_dialog_title">Output call audio to:</string>
diff --git a/res/xml/settings_page.xml b/res/xml/settings_page.xml
index a519faf..ce925d2 100644
--- a/res/xml/settings_page.xml
+++ b/res/xml/settings_page.xml
@@ -41,14 +41,17 @@
         app:isPreferenceVisible="@bool/config_should_show_incoming_call_hun_setting"/>
 
     <ListPreference
+        android:defaultValue="@string/tab_config_default_value"
         android:key="@string/pref_start_page_key"
         android:title="@string/pref_start_page_title"
         android:entries="@array/tabs_title"
         android:entryValues="@array/tabs_config"/>
 
     <ListPreference
+        android:defaultValue="@string/sort_order_default_value"
         android:key="@string/sort_order_key"
         android:title="@string/sort_order_title"
         android:entries="@array/contact_order_entries"
         android:entryValues="@array/contact_order_entry_values"/>
+
 </PreferenceScreen>
diff --git a/src/com/android/car/dialer/ui/TelecomActivity.java b/src/com/android/car/dialer/ui/TelecomActivity.java
index aef0553..e327458 100644
--- a/src/com/android/car/dialer/ui/TelecomActivity.java
+++ b/src/com/android/car/dialer/ui/TelecomActivity.java
@@ -329,7 +329,7 @@
 
     private int getTabFromSharedPreference() {
         String key = getResources().getString(R.string.pref_start_page_key);
-        String defaultValue = getResources().getStringArray(R.array.tabs_config)[0];
+        String defaultValue = getResources().getString(R.string.tab_config_default_value);
         SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
         return mTabFactory.getTabIndex(sharedPreferences.getString(key, defaultValue));
     }
diff --git a/src/com/android/car/dialer/ui/common/entity/ContactSortingInfo.java b/src/com/android/car/dialer/ui/common/entity/ContactSortingInfo.java
index e405183..0373640 100644
--- a/src/com/android/car/dialer/ui/common/entity/ContactSortingInfo.java
+++ b/src/com/android/car/dialer/ui/common/entity/ContactSortingInfo.java
@@ -59,8 +59,7 @@
     public static Pair<Comparator<Contact>, Integer> getSortingInfo(Context context,
             SharedPreferencesLiveData preferencesLiveData) {
         String key = preferencesLiveData.getKey();
-        String defaultValue = context.getResources().getStringArray(
-                R.array.contact_order_entry_values)[0];
+        String defaultValue = context.getResources().getString(R.string.sort_order_default_value);
         String firstNameSort = context.getResources().getString(
                 R.string.given_name_first_key);