private String getTalkBackText() {
    // Format: OTP/verification code (digit-by-digit) followed by account name.
    // If there's no OTP, then it should say "get code" followed by account name.
    Context ctx = getContext();
    StringBuilder message = new StringBuilder();
    CharSequence pinText = ((TextView) findViewById(R.id.pin_value)).getText();
    if (ctx.getString(R.string.empty_pin).equals(pinText.toString())){
      message = message.append(ctx.getString(R.string.counter_pin));
    } else {
      for (int i = 0; i < pinText.length(); i++) {
        if (message.length() > 0) {
          message.append(' ');
        }
        message.append(pinText.charAt(i));
      }
    }
    
    CharSequence userText = ((TextView) findViewById(R.id.current_user)).getText();
    if (message.length() > 0) {
      message.append(' ');
    }
    message.append(userText);
    return message.toString();
  }
Gets the text to be read back by an on-screen reader (e.g., TalkBack) for this row.
java/com/google/android/apps/authenticator/UserRowView.java