Improve talkback usability of SIM import dialog.

Test
Manual: navigated SIM import dialog with talkback enabled

Bug 31781331

Change-Id: Ie58866469f816fae586ae1fa1878c905daea0d60
diff --git a/res/layout/fragment_sim_import.xml b/res/layout/fragment_sim_import.xml
index 9e2f493..6b8c3fe 100644
--- a/res/layout/fragment_sim_import.xml
+++ b/res/layout/fragment_sim_import.xml
@@ -26,6 +26,7 @@
         android:background="?attr/colorPrimary"
         android:elevation="4dp"
         android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
+        app:navigationContentDescription="@string/sim_import_cancel_content_description"
         app:navigationIcon="@drawable/ic_close_dk"
         app:title="@string/sim_import_title_none_selected">
 
diff --git a/res/values/strings.xml b/res/values/strings.xml
index d170127..2c911c9 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1812,4 +1812,11 @@
     <!-- Toast shown on settings screen when importing from SIM completes with an error -->
     <string name="sim_import_failed_toast">Failed to import SIM contacts</string>
 
+    <!-- Title of SIM import dialog for accessibility; this isn't displayed but is announced
+     by talkback when the window is shown -->
+    <string name="sim_import_dialog_title">Select contacts to import</string>
+
+    <!-- Content description of the cancel navigation icon shown in SIM import dialog toolbar -->
+    <string name="sim_import_cancel_content_description">Cancel import</string>
+
 </resources>
diff --git a/src/com/android/contacts/SimImportFragment.java b/src/com/android/contacts/SimImportFragment.java
index a9dcf97..7421df4 100644
--- a/src/com/android/contacts/SimImportFragment.java
+++ b/src/com/android/contacts/SimImportFragment.java
@@ -15,6 +15,7 @@
  */
 package com.android.contacts;
 
+import android.app.Dialog;
 import android.app.DialogFragment;
 import android.app.LoaderManager;
 import android.content.AsyncTaskLoader;
@@ -74,7 +75,7 @@
     @Override
     public void onCreate(final Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        setStyle(STYLE_NO_TITLE, R.style.PeopleThemeAppCompat_FullScreenDialog);
+        setStyle(STYLE_NORMAL, R.style.PeopleThemeAppCompat_FullScreenDialog);
         mPreferences = new ContactsPreferences(getContext());
         mAccountTypeManager = AccountTypeManager.getInstance(getActivity());
         mAdapter = new SimContactAdapter(getActivity());
@@ -89,6 +90,15 @@
     }
 
     @Override
+    public Dialog onCreateDialog(Bundle savedInstanceState) {
+        Dialog dialog = super.onCreateDialog(savedInstanceState);
+        // Set the title for accessibility. It isn't displayed but will get announced when the
+        // window is shown
+        dialog.setTitle(R.string.sim_import_dialog_title);
+        return dialog;
+    }
+
+    @Override
     public void onActivityCreated(Bundle savedInstanceState) {
         super.onActivityCreated(savedInstanceState);
         getLoaderManager().initLoader(0, null, this);
@@ -248,6 +258,11 @@
             ContactListItemView contactView = (ContactListItemView) itemView;
             bindNameAndViewId(contactView, cursor);
             bindPhoto(contactView, partition, cursor);
+
+            // For accessibility. Tapping the item checks this so we don't need it to be separately
+            // clickable
+            contactView.getCheckBox().setFocusable(false);
+            contactView.getCheckBox().setClickable(false);
         }
 
         public void setContacts(ArrayList<SimContact> contacts) {