Fix bad string in EncryptionInterstitial

The string contains "Talkback", but it should grab one of
the installed Accessibility services so it works on 3rd party
devices.

Fixes bug 17881324

Change-Id: Iee2d8d4ce93c851badc59b5ef21462213f530a96
diff --git a/res/values/strings.xml b/res/values/strings.xml
index e73825e..0a139d5 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -5971,12 +5971,12 @@
    <string name="encrypt_talkback_dialog_require_password">Require password?</string>
 
    <!-- Message for encryption dialog telling the user that Talkback and other accessibility services will be disabled. -->
-   <string name="encrypt_talkback_dialog_message_pin">When you enter your PIN to start this device, accessibility services like Talkback won\'t yet be available.</string>
+   <string name="encrypt_talkback_dialog_message_pin">When you enter your PIN to start this device, accessibility services like <xliff:g id="service" example="TalkBack">%1$s</xliff:g> won\'t yet be available.</string>
 
    <!-- Message for encryption dialog telling the user that Talkback and other accessibility services will be disabled. -->
-   <string name="encrypt_talkback_dialog_message_pattern">When you enter your pattern to start this device, accessibility services like Talkback won\'t yet be available.</string>
+   <string name="encrypt_talkback_dialog_message_pattern">When you enter your pattern to start this device, accessibility services like <xliff:g id="service" example="TalkBack">%1$s</xliff:g> won\'t yet be available.</string>
 
    <!-- Message for encryption dialog telling the user that Talkback and other accessibility services will be disabled. -->
-   <string name="encrypt_talkback_dialog_message_password">When you enter your password to start this device, accessibility services like Talkback won\'t yet be available.</string>
+   <string name="encrypt_talkback_dialog_message_password">When you enter your password to start this device, accessibility services like <xliff:g id="service" example="TalkBack">%1$s</xliff:g> won\'t yet be available.</string>
 
 </resources>
diff --git a/src/com/android/settings/EncryptionInterstitial.java b/src/com/android/settings/EncryptionInterstitial.java
index 2433f26..e836aed 100644
--- a/src/com/android/settings/EncryptionInterstitial.java
+++ b/src/com/android/settings/EncryptionInterstitial.java
@@ -21,6 +21,9 @@
 import com.android.settings.SettingsActivity;
 import com.android.settings.SettingsPreferenceFragment;
 
+import java.util.List;
+
+import android.accessibilityservice.AccessibilityServiceInfo;
 import android.app.AlertDialog;
 import android.app.Dialog;
 import android.app.admin.DevicePolicyManager;
@@ -158,9 +161,23 @@
                             messageId = R.string.encrypt_talkback_dialog_message_password;
                             break;
                     }
+
+
+                    List<AccessibilityServiceInfo> list =
+                            AccessibilityManager.getInstance(getActivity())
+                            .getEnabledAccessibilityServiceList(
+                                    AccessibilityServiceInfo.FEEDBACK_ALL_MASK);
+                    final CharSequence exampleAccessibility;
+                    if (list.isEmpty()) {
+                        // This should never happen.  But we shouldn't crash
+                        exampleAccessibility = "";
+                    } else {
+                        exampleAccessibility = list.get(0).getResolveInfo()
+                                .loadLabel(getPackageManager());
+                    }
                     return new AlertDialog.Builder(getActivity())
                         .setTitle(titleId)
-                        .setMessage(messageId)
+                        .setMessage(getString(messageId, exampleAccessibility))
                         .setCancelable(true)
                         .setPositiveButton(android.R.string.ok, this)
                         .setNegativeButton(android.R.string.cancel, this)