Improved talkback fingerprint enrollment flow

Bug: 21565901
Change-Id: If25468574afd25b1a7d19278710045083ba1d4f7
diff --git a/src/com/android/settings/fingerprint/FingerprintEnrollBase.java b/src/com/android/settings/fingerprint/FingerprintEnrollBase.java
index 9ef372a..6e6fe4b 100644
--- a/src/com/android/settings/fingerprint/FingerprintEnrollBase.java
+++ b/src/com/android/settings/fingerprint/FingerprintEnrollBase.java
@@ -22,9 +22,11 @@
 import android.graphics.Color;
 import android.hardware.fingerprint.FingerprintManager;
 import android.os.Bundle;
+import android.text.TextUtils;
 import android.view.View;
 import android.view.WindowManager;
 import android.widget.Button;
+import android.widget.TextView;
 
 import com.android.settings.ChooseLockSettingsHelper;
 import com.android.settings.R;
@@ -93,8 +95,22 @@
         return (SetupWizardLayout) findViewById(R.id.setup_wizard_layout);
     }
 
+    protected void setHeaderText(int resId, boolean force) {
+        TextView layoutTitle = (TextView) getSetupWizardLayout().findViewById(
+                R.id.suw_layout_title);
+        CharSequence previousTitle = layoutTitle.getText();
+        CharSequence title = getText(resId);
+        if (previousTitle != title || force) {
+            if (!TextUtils.isEmpty(previousTitle)) {
+                layoutTitle.setAccessibilityLiveRegion(View.ACCESSIBILITY_LIVE_REGION_POLITE);
+            }
+            getSetupWizardLayout().setHeaderText(title);
+            setTitle(title);
+        }
+    }
+
     protected void setHeaderText(int resId) {
-        getSetupWizardLayout().setHeaderText(getText(resId));
+        setHeaderText(resId, false /* force */);
     }
 
     protected Button getNextButton() {
diff --git a/src/com/android/settings/fingerprint/FingerprintEnrollEnrolling.java b/src/com/android/settings/fingerprint/FingerprintEnrollEnrolling.java
index 49c5e82..80584f7 100644
--- a/src/com/android/settings/fingerprint/FingerprintEnrollEnrolling.java
+++ b/src/com/android/settings/fingerprint/FingerprintEnrollEnrolling.java
@@ -227,7 +227,8 @@
             mStartMessage.setVisibility(View.VISIBLE);
             mRepeatMessage.setVisibility(View.INVISIBLE);
         } else {
-            setHeaderText(R.string.security_settings_fingerprint_enroll_repeat_title);
+            setHeaderText(R.string.security_settings_fingerprint_enroll_repeat_title,
+                    true /* force */);
             mStartMessage.setVisibility(View.INVISIBLE);
             mRepeatMessage.setVisibility(View.VISIBLE);
         }